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

  1. Admin konfigurasi SEB client dengan URL ujian dan SEB key
  2. Peserta membuka SEB di komputer ujian
  3. SEB menghitung hash dari URL + SEB key
  4. Hash dikirim sebagai header di setiap HTTP request
  5. Nginx memvalidasi hash dengan key yang tersimpan di server
  6. Jika cocok → request diteruskan ke PHP-FPM
  7. Jika tidak cocok → HTTP 403 Forbidden

Konfigurasi SEB Client

Download SEB

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

  1. Buat file .seb di SEB Configuration Tool
  2. Set semua parameter di atas
  3. Export dan distribusikan ke semua PC ujian
  4. 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:

  1. Verifikasi SEB key: grep SEB_KEY /etc/examtool.env
  2. Pastikan key sama persis di SEB client dan server
  3. Pastikan SEB_ENABLED=true
  4. 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

  1. Uji coba H-1: Selalu test SEB di lab ujian sehari sebelumnya
  2. Siapkan backup plan: Jika SEB bermasalah, siapkan prosedur untuk disable cepat
  3. Satu versi SEB: Gunakan versi SEB yang sama di semua PC
  4. Network policy: Blok semua traffic kecuali ke server ujian di switch/router lab
  5. Password quit: Set password quit SEB agar peserta tidak bisa keluar sendiri