Laporan Rekomendasi Peningkatan Keamanan & Infrastruktur
Aplikasi Ujian Berbasis Web - SMK Negeri 1 Padaherang
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:
firebaseConfigterlihat 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
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 RiskBottleneck 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
Tahap 1: Quick Wins (0-3 Bulan)
Audit Security Rules, Aktifkan App Check, SOP Pre-login, Konfigurasi Blokir di Router.
Tahap 2: Stabilisasi (3-6 Bulan)
Optimasi Bundle JS, Kurangi API Calls, Tambah AP, Mulai Riset PWA.
Tahap 3: Jangka Panjang (6-12 Bulan)
Full PWA (Offline First), Server Lokal (Hybrid), Advanced Monitoring.