Tillåtelselista för e-postdomäner
Tillåtelselistan för e-postdomäner är en regel per organisation som begränsar vilka värdnamn i e-postadresser medlemmar kan koppla till sina användarkonton i fremforge. När den är påslagen kan bara e-postadresser som matchar något av dina konfigurerade mönster läggas till, via sidan med användarinställningar eller via Forgejos API.
Tillsammans med signerade commits och Forgejos befintliga kontroll av ägarskap via e-postverifiering stänger det vägen där en användare lägger till attacker@arbitrary-domain.com och sedan, under en forensisk granskning, påstår att commits gjordes av den angriparen.
När du bör slå på den
Du vill ha den påslagen i varje reglerad tenant där författarskapet till commits måste kunna kopplas till en känd identitet i företaget. Typiska konfigurationer:
- Tenant med en domän: mönstret
acme.com. Medlemmar kan bara lägga till adresser på@acme.com. - Koncern med flera domäner: mönstren
acme.com,acmecorp.dk,*.acme.com. Täcker ett moderbolag och några dotterbolag. - Tenant med enbart SSO: mönstret
acme.comoch dessutom krav på OIDC-inloggning via SSO-inställningarna. Varje medlems e-postadress kontrolleras då både till formen OCH verifieras av IdP:n.
Konfiguration
Organisationens administration → Säkerhet → E-postdomäner.
- Slå på Tillämpning. (Innan du slår på den sparas mönstren i tillåtelselistan men är bara rådgivande: tillägg går fortfarande igenom.)
- Lägg till ett eller flera mönster. Varje mönster är ett värdnamn med gemener:
acme.com: exakt matchning*.acme.com: valfri underdomän (matchareu.acme.com,gb.acme.com, …)- Bara värdnamn:
*ensamt eller fullständiga URL:er avvisas
- Tabellen i administrationen listar varje befintlig medlem vars primära e-postadress inte matchar något aktuellt mönster. Lös dem innan du slår på tillämpningen. Annars kan de berörda medlemmarna inte ändra sina e-postrelaterade inställningar utan att först ta bort den adress som bryter mot listan.
Mönstersyntaxen motsvarar attributet pattern i HTML-formuläret. Det reguljära uttryck som servern validerar mot är:
^\*?[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)+$Vad som tillämpas
När tillämpningen är påslagen avvisas följande användaråtgärder för en e-postadress som inte matchar något mönster:
| Åtgärd | Avvisas? |
|---|---|
Lägga till en ny e-postadress på /user/settings/account/email | Ja (begäran returnerar 403 med listan över tillåtna mönster) |
| Göra en sekundär e-postadress till primär | Ja |
| Första registreringen (när du går med i en organisation där tillåtelselistan redan är påslagen) | Ja |
| En befintlig primär e-postadress som får ligga kvar | Nej. Befintliga medlemmar tas INTE bort automatiskt (kravet slår till vid nästa ändring) |
OIDC-inloggning är undantagen med avsikt. När en användare loggar in via SSO (build/oidc/) kommer e-postadressen från det verifierade anspråket email_verified i den JWT som IdP:n har signerat. Identiteten är redan intygad av din IdP, så den lokala kontrollen mot tillåtelselistan vore överflödig. Tabellen över avvikande adresser markerar dem så att de syns, men blockerar dem inte.
Forgejos kontroll av ägarskap via e-postverifiering körs därefter. Även om en kund tillfälligt stänger av tillåtelselistan krävs fortfarande verifieringen via e-post (Forgejo skickar en bekräftelselänk till den nya adressen och användaren måste klicka på den) för att koppla adressen till kontot. Angreppet där någon tillskansar sig någon annans commits förblir blockerat av den kontrollen oavsett tillåtelselistans läge.
Granskningshändelser
Varje ändring skapar en granskningshändelse som läses av Organisationens administration → Granskningslogg och av vidarebefordringen till SIEM:
email_domains.added: mönstret och vem som lade till detemail_domains.removed: mönstret och vem som tog bort detemail_domains.policy_toggled: tillämpning på eller av
Avvisade försök skapar också en händelse (email_domains.rejected) med den e-postadress som provades och om den matchade eller inte, så att en operatör som utreder ett nätfiskeförsök kan hitta varje försök att lägga till en förväxlingsbar adress.
Relaterat
- Autentiseringspolicy: det bredare paketet av policyer (hårdvarunycklar, längsta livslängd för PAT, krav på signerade commits, enbart SSO).
- Single sign-on med OIDC: när du helst inte vill låta användare hantera sina e-postadresser själva alls.
- Granskningslogg: där granskningshändelserna för e-postdomäner visas.