Skip to content

Beheerdershandleiding

Deze handleiding beschrijft hoe u Safe Exam Support (SES) configureert en beheert als beheerder.


Overzicht

SES verbindt uw Exam Management Systeem (EMS) met Safe Exam Browser (SEB) en biedt een beveiligde examenomgeving voor studenten. Als beheerder configureert u de brug tussen uw EMS en het SES-platform.

Architectuuroverzicht

Placeholder: SES-architectuuroverzicht Figuur 1: SES-architectuur — EMS → SES Proxy → SEB-client

Belangrijkste Componenten

Component Doel
Beheerderspaneel Webinterface voor het beheren van examens, sessies en instellingen
Smart Proxy Routeert SEB-verkeer naar de juiste EMS met validatie
Load Balancer Verdeelt verkeer over meerdere proxy- en serverinstanties
pgBouncer Verbindingspooler voor PostgreSQL
Redis Sessie-caching en rate limiting

Toegang tot het Beheerderspaneel

URL

Het beheerderspaneel is beschikbaar op:

https://admin.example.com

Inloggen

  1. Ga naar de beheerders-URL
  2. Log in met uw beheerdersreferenties (Azure AD/Entra SSO of lokaal account)
  3. Voltooi eventuele TOTP-tweefactorauthenticatie indien gevraagd

Placeholder: Beheerders-inlogscherm Figuur 2: Beheerderspaneel-inlog met TOTP


Instituten Beheren

Een Instituut Aanmaken

Een instituut vertegenwoordigt een school of organisatie die SES gebruikt.

  1. Ga naar Instituten in de zijbalk van het beheerderspaneel
  2. Klik op Instituut toevoegen
  3. Vul de verplichte velden in:
Veld Beschrijving Voorbeeld
Naam Naam van het instituut "Universiteit van Amsterdam"
Instituut-ID Unieke identificatie "uva"
Proxy-URL Openbare URL voor SEB-clients https://ems1.example.com

Placeholder: Instituut toevoegen formulier Figuur 3: Een nieuw instituut toevoegen

Instituutsinstellingen

Elk instituut heeft configureerbare instellingen:

  • Rate limits: Maximum verzoeken per seconde (globaal en per instituut)
  • Sessietoken TTL: Hoe lang examentokens geldig blijven
  • Opschoonvertraging: Minuten na exameneinde voordat sessies sluiten

EMS-Omgevingen Beheren

Wat is een EMS-Omgeving?

Een EMS (Exam Management Systeem) omgeving is het backendsysteem dat uw examens host (bijv. Moodle, Canvas, TestVision). Elke EMS-omgeving verbindt met een uniek subdomein op SES.

Een EMS-Omgeving Toevoegen

  1. Ga naar EMS-omgevingen in de zijbalk van het beheerderspaneel
  2. Klik op EMS-omgeving toevoegen
  3. Configureer het volgende:
Veld Beschrijving Voorbeeld
Naam Weergavenaam "Productie Moodle"
EMS-basis-URL Backend-URL van uw EMS https://moodle.biqforge.com
Openbare Proxy-URL Subdomein dat studenten gebruiken https://ems1.example.com
Instituut Gekoppeld instituut Selecteer uit vervolgkeuzelijst

Placeholder: EMS-omgeving toevoegen formulier Figuur 4: Een nieuwe EMS-omgeving toevoegen

EMS-basis-URL

De EMS-basis-URL moet HTTPS gebruiken met een geldig SSL-certificaat. SES valideert de certificaatketen (verificatiediepte 2).

Subdomeintoewijzing

Elke EMS-omgeving krijgt een uniek subdomein:

ems1.example.com → moodle.biqforge.com (backend)
ems2.example.com → moodle2.example.com (backend)

Studenten benaderen hun examens via het subdomein en SES stuurt het verzoek door naar de juiste EMS-backend.


Examens Beheren

Een Examen Aanmaken

  1. Ga naar Examens in de zijbalk van het beheerderspaneel
  2. Klik op Examen toevoegen
  3. Vul de examengegevens in:
Veld Beschrijving Voorbeeld
Titel Examennaam "Wiskunde Eindtoets 2026"
EMS-omgeving Welke EMS dit examen host Selecteer uit vervolgkeuzelijst
Startdatum Wanneer studenten kunnen beginnen 2026-07-01 09:00
Einddatum Wanneer het examen sluit 2026-07-01 12:00
Status Examenstatus active
Opschoonvertraging (min) Respijtperiode na einde 30

Placeholder: Examen toevoegen formulier Figuur 5: Een nieuw examen aanmaken

Examenstatussen

Status Beschrijving
draft Nog niet gepubliceerd, geen sessies kunnen worden aangemaakt
active Live — studenten kunnen sessies starten
ended Voorbij einddatum — geen nieuwe sessies, bestaande sessies sluiten na opschoonvertraging

Sessie Pre-warming

Pre-warming wijst streaming seats toe voordat het examen begint, zodat studenten direct kunnen starten.

Instelling Beschrijving Standaard
Vereiste Seats Totale benodigde seats voor het examen 0
Warmup-percentage Percentage seats om voor te verwarmen 80%
Pre-warm Status not_started, in_progress, completed

Pre-warming werkt in twee lagen:

  1. Pre-warm laag (80%): Toegewezen voor examensterkte
  2. On-demand laag (20%): Toegewezen als studenten aankomen

Capaciteitsplanning

Stel Vereiste Seats in op het verwachte aantal gelijktijdige studenten. Het warmup-percentage zorgt dat de meeste seats klaar zijn, terwijl on-demand overflow afhandelt.


Sessies Beheren

Sessies Bekijken

  1. Ga naar Examen Sessies in de zijbalk van het beheerderspaneel
  2. Filter op examen, status of instituut
  3. Elke sessie toont:
Veld Beschrijving
Sessie-ID Unieke 64-tekens hex-identificatie
Status pending, active of closed
Examen Gekoppeld examen
Toegewezen Seat Streaming seat toegewezen
Aangemaakt op Wanneer de sessie is aangemaakt
Laatst benaderd op Laatste keep-alive timestamp
Gesloten op Wanneer de sessie is gesloten

Placeholder: Sessielijst Figuur 6: Examen sessies lijstweergave

Sessielevenscyclus

pending → active → closed
   │                    │
   └──(activeren)──┘    └──(opschonen na end_date + vertraging)
Overgang Trigger
pendingactive Student laadt landingspagina via SEB
activeclosed Examen einddatum + opschoonvertraging verstreken

Sessies Handmatig Sluiten

Om een specifieke sessie te sluiten:

  1. Zoek de sessie in de Examensessies-lijst
  2. Selecteer de sessie
  3. Kies Geselecteerde sessies sluiten uit het actievervolgkeuzemenu
  4. Bevestig de actie

Handmatig Sluiten

Het handmatig sluiten van een sessie verbreekt onmiddellijk de verbinding met de student. Gebruik dit alleen voor probleemoplossing of beveiligingsincidenten.


Webbronnen

Webbronnen definiëren welke URL's studenten tijdens een examen via SEB kunnen benaderen.

Toegestane Bronnen Toevoegen

  1. Ga naar Webbronnen in de zijbalk van het beheerderspaneel
  2. Klik op Webbron toevoegen
  3. Configureer:
Veld Beschrijving Voorbeeld
Titel Bronnaam "Formule site"
URL Toegestane URL https://formulas.example.com
Service-ID SEB-service-identificatie Externe URL

Placeholder: Webbron toevoegen formulier Figuur 7: Een toegestane webbron toevoegen


SEB-configuratie

SEB-config Generatie

SES genereert .seb-configuratiebestanden voor elk examen. Deze bestanden vertellen SEB:

  • Welke URL te openen (de start-URL van het examen)
  • Welke bronnen toegestaan zijn
  • Browserbeveiligingsinstellingen (geen screenshots, geen andere apps)

Nooit .seb-bestanden aan studenten distribueren

Studenten downloaden de SEB-configuratie automatisch wanneer ze de start-URL van het examen in SEB openen. Distribueer .seb-bestanden niet via e-mail, LMS of USB — dit omzeilt het beveiligde start-URL-mechanisme.

  1. Ga naar SEB-configuraties in de zijbalk van het beheerderspaneel
  2. Selecteer de SEB-configuratie van het examen
  3. Controleer of de instellingen juist zijn (start-URL, toegestane bronnen, browseregels)

Placeholder: SEB-config controleren Figuur 8: SEB-configuratie controleren

Automatische Regeneratie

SEB-configuraties worden automatisch geregenereerd wanneer gerelateerde instellingen veranderen (examendata, bronnen, browseregels).


Monitoring

Gezondheidscontroles

Endpoint URL Doel
Gezondheid /health Retourneert {"status":"healthy"} als alle services actief zijn
Sessiestatus /api/session-status/ Valideert een sessie (vereist X-Session-ID header)

Systeemlogs

Ga naar Systeemlogs in de zijbalk van het beheerderspaneel om audit-gebeurtenissen te bekijken:

  • Sessiecreatie, activering en sluiting
  • Configuratiewijzigingen
  • Inlogpogingen (succesvol en mislukt)

Placeholder: Systeemlogs weergave Figuur 9: Systeem audit-logs


Rate Limiting

SES past configureerbare rate limits toe om misbruik te voorkomen:

Instelling Beschrijving Standaard
RATE_LIMIT_GLOBAL Max verzoeken/seconde over alle instituten 500000
RATE_LIMIT_INSTITUTE Max verzoeken/seconde per instituut 500000

Om rate limits te wijzigen:

  1. Werk de omgevingsvariabele bij op de server
  2. Herstart de services: make prod-deploy

Beveiliging

TLS-configuratie

Al het verkeer tussen SEB-clients en SES gebruikt HTTPS. De proxy valideert het certificaat van de EMS-backend:

SEB-client ←→ [HTTPS] ←→ SES Proxy ←→ [HTTPS geverifieerd] ←→ EMS-backend

Tokenbeveiliging

  • Sessietokens gebruiken HMAC-SHA256-ondertekening
  • Tokens hebben een configureerbare TTL (standaard: 8 uur)
  • Tokens worden stateless gevalideerd (geen database-lookup vereist)

Audittrail

Alle beheerderacties worden gelogd in de AuditLogEntry-tabel met:

  • Wie de wijziging heeft doorgevoerd
  • Wat is gewijzigd (veldniveau diffs)
  • Wanneer het is gewijzigd
  • Welk instituut is beïnvloed

Audit-logs worden standaard 30 dagen bewaard (AUDIT_RETENTION_DAYS).