Portfolio

Laporan Rekomendasi Peningkatan Keamanan & Infrastruktur

Aplikasi Ujian Berbasis Web - SMK Negeri 1 Padaherang

Danz (Telegram : @BrigadeCyber) 09 Desember 2025

1. Ringkasan Eksekutif

SMK Negeri 1 Padaherang menggunakan aplikasi ujian berbasis web (Firebase) yang diakses oleh 1.500 siswa secara serentak. Audit ini menemukan potensi risiko pada konfigurasi keamanan dan kendala infrastruktur.

Poin Penting

  • Konfigurasi Firebase Visible: firebaseConfig terlihat di client-side (By Design), menuntut Security Rules yang ketat.
  • Potensi Kerentanan: Rules longgar bisa memicu kebocoran data atau resource exhaustion.
  • Bottleneck Infrastruktur: Akses serentak 1.500 siswa menyebabkan kegagalan login akibat beban jaringan & aplikasi.

Laporan ini memberikan rekomendasi pada Penguatan Firebase, Peningkatan Infrastruktur, dan Perbaikan SOP.

2. Latar Belakang

Konteks

  • Jumlah Siswa: ± 1.500 orang
  • Pola: Akses serentak via Wi-Fi sekolah saat ujian.
  • Platform: Firebase Web App (`*.web.app`) + Firestore/Auth/Storage.

Masalah

  • Kesulitan login saat mulai ujian (traffic spike).
  • Kekhawatiran eksposur `apiKey` & `firebaseConfig`.
  • Risiko tagihan membengkak (resource exhaustion).

3. Gambaran Teknis

3.1 Arsitektur Aplikasi

Frontend JS Bundle (Vue/React) @ Firebase Hosting
Backend Firebase Auth, Firestore (Data), Storage (File)
Akses Client Browser via Wi-Fi Sekolah -> Internet

4. Temuan Utama

4.1 Eksposur firebaseConfig / apiKey

Medium Severity

Konfigurasi Firebase terlihat di file JavaScript (DevTools → Sources). Ini wajar (by design) untuk aplikasi Firebase, namun menimbulkan risiko jika tidak dibarengi Security Rules.

const firebaseConfig = {
  apiKey: "...",           // Public identifier
  authDomain: "...",       // Bukan secret password
  projectId: "..."
};

Implikasi: Pihak luar bisa mengirim request ke project. Jika Rules longgar, data bisa diambil massal.

4.2 Potensi Kerentanan Security Rules

High Risk

Risiko terbesar adalah jika Rules diset allow read, write: if true;. Kerahasiaan soal, jawaban siswa, dan integritas nilai terancam.

  • Confidentiality: Kebocoran soal/nilai.
  • Integrity: Manipulasi nilai.
  • Availability: Resource exhaustion (biaya mahal/quota habis).

4.3 Kinerja Akses Serentak (1.500 User)

Operational Risk

Bottleneck terjadi pada jaringan lokal (Wi-Fi/Router) dan Internet Gateway saat 1.500 siswa login & download soal bersamaan.

5. Rekomendasi Perbaikan

5.1 Aplikasi & Keamanan

Perketat Rules

Audit Firestore Rules. Terapkan RBAC (Role Based Access Control). Siswa hanya baca soal mereka & tulis jawaban mereka.

App Check

Aktifkan Firebase App Check untuk menolak request dari script asing (curl/bot).

Optimasi & PWA

Gunakan Service Worker (PWA) untuk cache asset. Implementasi limit query dan autosave interval (jangan real-time per detik).

5.2 Infrastruktur Jaringan

Access Point

Tambah AP: Target 1 AP menangani 20-40 device. Total kebutuhan sekitar 30-40 unit AP untuk 1.500 siswa.

Router Bisnis

Upgrade Router: Gunakan Mikrotik/pfSense kelas bisnis yang sanggup me-manage ribuan koneksi concurrent.

Manajemen Trafik

Blokir Sosmed: Blokir YouTube/IG/TikTok di SSID Ujian. Prioritaskan traffic ke domain Firebase ujian.

5.3 Prosedur Operasional

Pre-Login Strategy

Wajib Login Awal: Instruksikan siswa login 15-30 menit sebelum ujian mulai untuk menyebar beban traffic initial load.

Jadwal Gelombang

Staggered Start: Jangan instruksikan "klik mulai" di detik yang sama. Beri jeda antar kelas/ruangan.

6. Rencana Implementasi

1

Tahap 1: Quick Wins (0-3 Bulan)

Audit Security Rules, Aktifkan App Check, SOP Pre-login, Konfigurasi Blokir di Router.

2

Tahap 2: Stabilisasi (3-6 Bulan)

Optimasi Bundle JS, Kurangi API Calls, Tambah AP, Mulai Riset PWA.

3

Tahap 3: Jangka Panjang (6-12 Bulan)

Full PWA (Offline First), Server Lokal (Hybrid), Advanced Monitoring.