Konfigurasi Safe Exam Browser (SEB)
Apa itu SEB?
Safe Exam Browser (SEB) adalah browser khusus yang mengunci komputer peserta ujian sehingga hanya bisa mengakses aplikasi ujian. SEB mencegah:
- Membuka browser/aplikasi lain
- Copy-paste dari/ke luar SEB
- Screenshot/screen recording
- Akses ke taskbar/dock
- Keyboard shortcut (Alt+Tab, Ctrl+Alt+Del, dll)
Mengaktifkan SEB
SEB adalah fitur opsional. Untuk mengaktifkannya, pastikan SEB_ENABLED=true di file .env:
SEB_ENABLED=true
SEB_KEY=<kunci-seb-dari-tim-pengelola>
Atau saat instalasi, isi field SEB di Config Wizard.
Cara Kerja
Saat SEB diaktifkan, Nginx akan memvalidasi header X-SafeExamBrowser-RequestHash di setiap request. Request tanpa header yang valid akan ditolak dengan HTTP 403.
Peserta buka SEB → SEB kirim hash → Nginx validasi → Allow/Deny
Flow Detail
- Admin konfigurasi SEB client dengan URL ujian dan SEB key
- Peserta membuka SEB di komputer ujian
- SEB menghitung hash dari URL + SEB key
- Hash dikirim sebagai header di setiap HTTP request
- Nginx memvalidasi hash dengan key yang tersimpan di server
- Jika cocok → request diteruskan ke PHP-FPM
- Jika tidak cocok → HTTP 403 Forbidden
Konfigurasi SEB Client
Download SEB
- Windows: safeexambrowser.org/download
- macOS: safeexambrowser.org/download
Setting yang Direkomendasikan
| Setting | Nilai |
|---|---|
| Start URL | https://ujian.fk.example.ac.id |
| Browser Exam Key | Sesuai SEB_KEY di server |
| Allow Quit | Yes (dengan password admin) |
| Allow Reload | Yes |
| Show Taskbar | No |
| Enable URL Filter | Yes (hanya domain ujian) |
| Allow Spell Check | No |
Export Konfigurasi
- Buat file
.sebdi SEB Configuration Tool - Set semua parameter di atas
- Export dan distribusikan ke semua PC ujian
- Test di 1 PC sebelum ujian
Troubleshooting SEB
Peserta tidak bisa akses (403)
Penyebab umum:
- SEB key di client tidak sama dengan di server
- Peserta membuka URL lewat browser biasa (bukan SEB)
- SEB belum diaktifkan di server (
SEB_ENABLED=false)
Solusi:
- Verifikasi SEB key:
grep SEB_KEY /etc/examtool.env - Pastikan key sama persis di SEB client dan server
- Pastikan
SEB_ENABLED=true - Restart nginx:
systemctl restart nginx
SEB crash/freeze
- Pastikan versi SEB terbaru
- Cek spesifikasi minimum PC (RAM ≥ 4GB)
- Disable antivirus sementara (kadang interfere dengan SEB)
- Gunakan mode kiosk yang sesuai OS
Disable SEB Sementara
Jika ada masalah mendesak saat ujian:
# Edit .env
nano /etc/examtool.env
# Ubah SEB_ENABLED=true menjadi SEB_ENABLED=false
# Reconfigure
examtool reconfigure
Peringatan: Menonaktifkan SEB berarti peserta bisa mengakses ujian dari browser biasa. Gunakan hanya dalam keadaan darurat.
Best Practices SEB
- Uji coba H-1: Selalu test SEB di lab ujian sehari sebelumnya
- Siapkan backup plan: Jika SEB bermasalah, siapkan prosedur untuk disable cepat
- Satu versi SEB: Gunakan versi SEB yang sama di semua PC
- Network policy: Blok semua traffic kecuali ke server ujian di switch/router lab
- Password quit: Set password quit SEB agar peserta tidak bisa keluar sendiri