Toegestane e-maildomeinen
De lijst met toegestane e-maildomeinen is een handhavingsregel per organisatie die bepaalt welke hostnamen leden in de e-mailadressen van hun fremforge-account mogen gebruiken. Staat hij aan, dan kunnen alleen e-mailadressen die overeenkomen met een van je ingestelde patronen worden toegevoegd, via de pagina met gebruikersinstellingen of via de Forgejo-API.
Samen met ondertekende commits en de bestaande eigendomscontrole van Forgejo via een bevestigingsmail sluit dit tijdens forensisch onderzoek de route “gebruiker voegt attacker@arbitrary-domain.com toe en claimt daarna commits als die aanvaller”.
Wanneer je het aanzet
Je wilt dit aan hebben voor elke gereguleerde tenant waar het auteurschap van commits moet overeenkomen met een bekende bedrijfsidentiteit. Gangbare configuraties:
- Tenant met één domein: patroon
acme.com. Leden kunnen alleen@acme.com-adressen toevoegen. - Groep met meerdere domeinen: patronen
acme.com,acmecorp.dk,*.acme.com. Dekt een moederbedrijf en een paar dochterondernemingen. - Tenant met alleen SSO: patroon
acme.com, plus verplicht inloggen via OIDC in de SSO-instellingen. Het e-mailadres van elk lid wordt dan zowel op vorm gecontroleerd ALS geverifieerd door de IdP.
Instellen
Organisatiebeheer → Beveiliging → E-maildomeinen.
- Zet Handhaving aan. (Zolang die uit staat, worden de patronen wel opgeslagen maar zijn ze alleen adviserend: toevoegen lukt dan nog steeds.)
- Voeg een of meer patronen toe. Elk patroon is een hostnaam in kleine letters:
acme.com: exacte overeenkomst*.acme.com: elk subdomein (komt overeen meteu.acme.com,gb.acme.com, …)- Alleen hostnamen: een losse
*of volledige URL’s worden geweigerd
- De beheertabel toont elk bestaand lid van wie het primaire e-mailadres niet overeenkomt met een huidig patroon. Los die gevallen op voordat je handhaving aanzet; anders kunnen de betrokken leden hun e-mailinstellingen pas wijzigen nadat ze het afwijkende adres hebben verwijderd.
De patroonsyntaxis komt overeen met het pattern-attribuut van het HTML-formulier. De validatie-regex aan de serverkant is:
^\*?[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+$Wat wordt gehandhaafd
Staat handhaving aan, dan worden de volgende acties van gebruikers geweigerd voor een e-mailadres buiten de patronen:
| Actie | Geweigerd? |
|---|---|
Een nieuw e-mailadres toevoegen op /user/settings/account/email | Ja (het verzoek geeft 403 terug met de lijst toegestane patronen) |
| Een secundair e-mailadres primair maken | Ja |
| Eerste registratie (bij deelname aan een organisatie waar de lijst al aan staat) | Ja |
| Een bestaand primair e-mailadres dat blijft staan | Nee: bestaande leden worden NIET automatisch verwijderd (de regel geldt vanaf de volgende wijziging) |
Inloggen via OIDC is bewust uitgezonderd. Logt een gebruiker in via SSO (build/oidc/), dan komt het e-mailadres uit de geverifieerde claim email_verified in de door de IdP ondertekende JWT. Je IdP staat dan al in voor de identiteit, dus de lokale controle op de lijst zou overbodig zijn. De tabel met afwijkende adressen markeert deze gebruikers wel, zodat je ze ziet, maar blokkeert ze niet.
De eigendomscontrole van Forgejo via een bevestigingsmail komt daarna. Zelfs als een klant de lijst tijdelijk uitzet, is de bevestiging per e-mail (Forgejo stuurt een bevestigingslink naar het nieuwe adres en de gebruiker moet erop klikken) nog steeds nodig om het adres te koppelen. De aanval “de commits van iemand anders claimen” blijft dus door die controle geblokkeerd, wat de stand van de lijst ook is.
Auditgebeurtenissen
Elke wijziging levert een auditgebeurtenis op die verschijnt in Organisatiebeheer → Auditlog en in de SIEM-doorsturing:
email_domains.added: patroon, wie het heeft toegevoegdemail_domains.removed: patroon, wie het heeft verwijderdemail_domains.policy_toggled: handhaving aan/uit
Geweigerde pogingen leveren ook een gebeurtenis op (email_domains.rejected), met het geprobeerde e-mailadres en of het wel of niet overeenkwam. Een operator die een phishingpoging onderzoekt, kan zo elke poging vinden om een sterk gelijkend adres toe te voegen.
Gerelateerd
- Authenticatiebeleid: de bredere beleidsbundel (hardwaresleutels, maximale geldigheid van PAT’s, verplicht ondertekende commits, alleen SSO).
- Single sign-on met OIDC: als je gebruikers hun e-mailadressen liever helemaal niet zelf laat beheren.
- Auditlog: waar de auditgebeurtenissen voor e-maildomeinen verschijnen.