IP-tilladelsesliste
Oversat fra den engelske original. Hvis de to versioner er forskellige, gælder den engelske. Oversættelsen er endnu ikke korrekturlæst af en dansk modersmålsbruger.
IP-tilladelseslisten (IP allowlist) begrænser din organisation til de netværk, du angiver. Når listen er sat, afvises en forespørgsel fra en adresse uden for listen, også selvom legitimationen er gyldig, og brugeren har logget ind med SSO.
Den ligger på <your-org>/_admin/security/policies under IP-tilladelsesliste. Kun organisationens ejere kan ændre den.
Hvor listen gælder
Der er én liste, og den gælder for alle overfladerne nedenfor:
| Overflade | Hvad der afvises uden for listen |
|---|---|
| Webadministration | <your-org>/_admin/* |
| fremforges API | https://frem.sh/_app/api/v1/orgs/<your-org>/* |
| Repositoryets webbrugerflade | Organisationens sider og dens private repositories, filer, issues, pull requests, releases og vedhæftede filer |
| Forgejos REST API | https://frem.sh/api/v1/-kald på organisationens private repositories og på selve organisationen |
| Git over HTTPS | Clone, fetch og push |
| Git LFS | Download og upload af objekter samt fillåse |
| Pakke-registries | Alle registries, også container-registryet |
| Git over SSH | Intet. Se Git over SSH er ikke omfattet. |
Offentlige repositories kan stadig læses af alle, fordi indholdet alligevel er offentligt. Et medlem, der er logget ind på et offentligt repository, bliver stadig vurderet, når det pusher, ændrer indstillinger eller åbner organisationens sider. Anonyme besøgende ser aldrig en afvisning: et privat repository ser ud for dem, som det altid har gjort.
Sikkerhedssiden viser Hvor listen gælder lige nu med én linje pr. overflade: Håndhævet, Kun logget (med årsagen) eller Ikke omfattet. API’et returnerer de samme oplysninger i surfaces. Hvis denne side og det panel er uenige, er det panelet, der har ret.
Udrulning. Én liste for alle overflader bliver slået til gradvist. Indtil din organisation er flyttet over, kan panelet vise en overflade som Kun logget med årsagen, at den stadig er ved at blive rullet ud. Forespørgsler uden for listen bliver så registreret i revisionsloggen, men ikke afvist. Webadministrationen og Git over HTTPS håndhæves overalt (for en ældre liste med scopet
webkun webadministrationen; se nedenfor).
Sådan sætter du listen
- Brug CIDR-notation:
203.0.113.0/24,2001:db8::/48. En enkelt adresse er/32eller/128for IPv6. - Skriv ét interval pr. linje, eller adskil dem med kommaer. Grænsen er 100 intervaller.
/0afvises. Vil du tillade alle adresser, så lad listen være tom.- Tag jeres kontor- og VPN-intervaller med, og egress-adresserne for al CI, der ikke kører på fremforge.
- Siden viser Din adresse lige nu, som er den adresse, fremforge ser for dig.
Du kan ikke låse dig selv ude ved at gemme. Hvis en håndhævende liste ikke indeholder din egen adresse, afvises gemningen: tilføj enten din adresse, eller sæt først flueben i Kun revision (forhåndsvisning).
En ændring træder i kraft på alle overflader inden for cirka et minut.
Kun revision (forhåndsvisning)
Når Kun revision (forhåndsvisning) er slået til, registrerer alle overflader de forespørgsler, de ville afvise, men lukker dem igennem. Sådan indfører du en liste på en god måde:
- Indtast intervallerne, og sæt flueben i Kun revision (forhåndsvisning). Gem.
- Brug organisationen som normalt i en dag eller to, også CI og eventuelle integrationer.
- Gennemgå hændelserne
ip_allowlist.would_blocki revisionsloggen. Hver hændelse angiver overfladen, adressen, en eksempelsti og hvor mange forespørgsler den dækker over. - Tilføj de legitime intervaller, du har overset.
- Fjern fluebenet i Kun revision (forhåndsvisning). Listen håndhæves fra nu af.
Runnere hostet af fremforge
CI-jobs på fremforges egne runnere når din organisation fra fremforges netværk, ikke fra jeres. Det token, der udstedes til et job, virker altid. Tillad runnere hostet af fremforge (slået til som standard) afgør, om andre legitimationsoplysninger, der bruges fra en runner, for eksempel et PAT eller et OAuth-token gemt som secret, også virker. Slå den fra, hvis du vil have, at et stjålet PAT er ubrugeligt, også når det bruges inde fra et CI-job.
Selvhostede runnere og ekstern CI vurderes på deres egress-adresse som enhver anden klient. Tilføj de adresser til listen.
Hvis en ejer er låst ude
Din adresse kan ændre sig: et nyt kontor, et VPN-nedbrud, en rejse. Break-glass (nødadgang) sætter alle overflader til kun at logge i 24 timer. Intet omgås permanent, og hvert trin registreres i revisionsloggen.
- Selvbetjening for ejere. Åbn
https://frem.sh/_app/ip-allowlist/break-glass?org=<your-org>fra et vilkårligt netværk, logget ind som ejer. Vi sender et signeret link til din kontos egen e-mailadresse. Linket virker i 30 minutter. Åbn det, og bekræft. Afvisningssider og Gits fejlbeskeder for din organisation viser denne adresse. - fremverk support kan på anmodning slå den samme break-glass til for din organisation.
Break-glass slutter af sig selv efter 24 timer og forlænges aldrig, mens den er aktiv. Ret listen, og afslut den derefter før tid med Afslut nødadgang nu på sikkerhedssiden.
Handlinger i revisionsloggen: ip_allowlist.break_glass.activated, ip_allowlist.break_glass.ended.
Lister oprettet, før én liste dækkede alle overflader
Ældre lister havde et scope: web (kun webadministrationen) eller web+git (plus Git over HTTPS). De lister håndhæver fortsat, hvor de gjorde før. På de øvrige overflader logger de forespørgsler, der ville være blevet afvist, i 30 dage efter at vi har givet organisationens ejere besked, og derefter håndhæver de også dér. Sikkerhedssiden viser datoen.
Vil du springe ventetiden over, så brug Håndhæv på alle overflader nu (handling i revisionsloggen: security.ip_allowlist.enforce_all). Du kan ikke flytte en liste tilbage til et ældre scope, og alle nye lister dækker alle overflader.
Git over SSH er ikke omfattet
IP-tilladelseslisten filtrerer ikke Git over SSH. SSH når fremforge gennem en load balancer, der erstatter klientens adresse med en af vores egne cluster-noder, så den adresse, din udvikler forbinder fra, er ikke synlig for os. Vi vurderer ikke en forbindelse på en adresse, vi ved er forkert. En liste, der i det skjulte blokerede alle SSH-brugere, eller i det skjulte lukkede dem alle igennem og samtidig påstod at filtrere, ville være værre end at sige det, som det er.
Hvis din organisation har brug for, at alle Git-operationer filtreres på IP:
- Slå Tillad SSH-protokol fra på siden Godkendelsespolitik. Det er standard for organisationer oprettet efter 22. maj 2026.
- Lad medlemmerne bruge HTTPS med Git Credential Manager (Sikkert login). Git over HTTPS er omfattet af listen.
Når SSH er slået fra, afvises alle SSH-baserede Git-operationer på organisationens repositories: push, clone og fetch samt Git LFS over SSH. Det er en afvisning af SSH som helhed, ikke et IP-tjek, så sikkerhedssiden viser stadig Git over SSH som Ikke omfattet af listen, og API’et returnerer ssh_covered: false.
Hvad en afvist forespørgsel ser
| Overflade | Svar |
|---|---|
| fremforges API | 403 not-in-allowlist med den adresse, vi så |
| Webbrugerflade, webadministration | En afvisningsside, der nævner organisationen og adressen, med break-glass-linket |
| Forgejos REST API, LFS, pakker | 403 med samme besked |
| Git over HTTPS | git viser beskeden og break-glass-linket |
Hver afvisning registreres som ip_allowlist.blocked, og hver forespørgsel, der kun logges, som ip_allowlist.would_block. Gentagelser fra samme adresse på samme overflade samles i én hændelse med en count, så en fejlkonfigureret CI-løkke ikke oversvømmer loggen.
API
Listen er også tilgængelig gennem fremforges API med scopes policy:read og policy:write.
# Read: the list, the runner toggle, per-surface modes, break-glass state
curl -H "Authorization: Bearer $TOKEN" \
https://frem.sh/_app/api/v1/orgs/<your-org>/security
# Replace the list
curl -X PUT -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"cidrs":["203.0.113.0/24","2001:db8::/48"],"audit_only":true,"allow_platform_runners":true}' \
https://frem.sh/_app/api/v1/orgs/<your-org>/security/ip-policyObjektet ip_allowlist indeholder cidrs, scope, audit_only, allow_platform_runners, surfaces (pr. overflade: mode er enforce eller audit, plus en reason), new_surfaces_enforce_at, break_glass_until og ssh_covered.
I API’et gælder beskyttelsen mod at låse sig selv ude for kalderens egen adresse. Fejl: invalid-cidr for et ugyldigt interval, invalid-allowlist for mere end 100 intervaller, et /0-interval eller en liste, der ville blokere kalderen, og invalid-scope for et ældre scope.
Begrænsninger
- Hvis fremforges Git-tjeneste ikke kan læse organisationernes politikker i mere end 24 timer, holder den op med at håndhæve listen i stedet for at afvise alle organisationer. fremforges API og webadministrationen berøres ikke. Et sådant nedbrud er en platformshændelse, som vi handler på; det forventes ikke under normal drift.
- Adresser vurderes, som fremforges edge ser dem. En proxy eller NAT foran dine brugere bestemmer, hvilken adresse det er, så angiv proxyens egress-interval.
- Højst 100 intervaller.