OS2faktor proxy komponent til password reset og login via GINA
97
Proxy server der integrerer med OS2faktor infrastrukturen. Anvendes både til password-reset samt OS2faktor login fra windows login skærmen. Man kan deploye komponenten med understøttelse for én eller begge af disse scenarier (se konfigurationen nedenfor).
Komponenten konfigureres via miljø-variable, og følgende konfigurationsparametre er tilgængelige
| Miljøvariabel | Beskrivelse |
|---|---|
| LDAP_URL | Adressen på en domain controller som anvendes til både password-reset, og opslag på bruger-attributter til login-scenariet. Skal angives med "LDAP://" eller LDAPS:// som prefix (LDAPS er nødvendig for at understøtte password skifte, da det skal ske over en krypteret forbindelse)) |
| LDAP_BASEDN | DistinguishedName på den OU som der skal ledes efter brugere i (leder også i under-OU'ere) |
| LDAP_USERNAME | Brugernavnet på en systemkonto der laver opslag mod Active Directory - skal angives på UPN format (fx bruger@domain) |
| LDAP_PASSWORD | Kodeordet til ovenstående systemkonto |
| LDAP_TRUST_ALL_CERT | Optionel: Skal sættes til "true" hvis der anvendes krypteret LDAPS (se ovenfor), og certifikatet er selv-udstedt |
| PASSWORD_ENABLED | Sættes til "true" hvis password-reset funktionaliteten skal være tilgængelig. Kan udelades (eller sættes til "false") hvis man ikke ønsker password-reset funktionalitet. Den næste værdi er kun relevante hvis denne er sat til "true". |
| LDAP_NO_CHANGE_GROUP | Optionel: Navnet på en sikkerhedsgruppe i Active Directory, som man kan putte brugere ind i, hvis de ikke må skifte kodeord. Dette er kun relevant at udfylde hvis man understøtter password-reset. |
| LOGIN_ENABLED | Sættes til "true" hvis OS2faktor login scenariet skal understøttes fra windows login skærmen. Kan udelades (eller sættes til "false") hvis dette ikke ønskes understøttet. Alle efterfølgende settings er kun relevante at udfylde hvis denne er sat til "true" |
| LDAP_FIELD_SSN | Optionel: det felt i Active Directory hvor brugerens cpr nummer er angivet |
| LDAP_FIELD_PID | Optionel: det felt i Active Directory hvor brugerens NemID PID er angivet |
| LDAP_FIELD_PSEUDONYM | Optionel: det felt i Active Directory hvor brugerens bruger-id er angivet (formodentligt sAMAccountName) |
| LDAP_FIELD_DEVICEID | Optionel: Det felt i Active Directory hvor brugerens OS2faktor ID er angivet |
| OS2FAKTOR_APIKEY | Den hemmelige API nøgle der bruges til at kalde OS2faktor infrastrukturen |
| LOGIN_REQUIRE_PIN | Sættes enten til "true" eller "false". Hvis sat til "true" er det kun OS2faktor klienter der er pinkode beskyttet der kan anvendes til login |
| KEYSTORE_LOCATION | Placeringen på det keystore (pfx/p12 fil) som bruges til beskytte kommunikationen mellem GINA og Proxyen |
| KEYSTORE_PASSWORD | Kodeordet til ovenstående keystore |
Hvis man har slået password-reset funktionen til, skal der være et såkaldt volume med de filer som NemID har brug for. I praksis er det en folder på serveren, hvor der skal ligge følgende filer (som så gøres tilgængelig for docker via et volume). En af filerne er et NemID keystore, som er et virksomhedscertifikat man har fået udleveret af Nets til NemID integrationen.
I eksemplerne nedenfor antages det at keystore filen hedder nemid.pfx og at kodeordet til den er "Kode0rd1". Ret til efter behov.
Indholdet af pid.properties filen skal være følgende - bemærk at pid.serviceproviderid skal udfyldes med det tjenesteudbyder ID som man har fået udleveret af Nets, og som skal anvendes til at kalde PID/CPR tjenesten.
pid.url=https://pidws.certifikat.dk/pid_serviceprovider_server/pidxml/
pid.serviceproviderid=123456789
pid.keystore.location=classpath:nemid.pfx
pid.keystore.password=Kode0rd1
Indholdet af nemid.properties filen skal være følgende. Den vigtige værdi her er hhv nemid.serviceprovider.logonto, som PRÆCIST skal matche det navn som ens NemID integration har fået (står i brevet fra NemID, og er typisk ens kommunes navn).
oces2.environment=OCESII_DANID_ENV_PROD
nemid.applet.server.url.prefix=https://applet.danid.dk
nemid.serviceprovider.logonto=Min Kommune
nemid.applet.parameter.signing.keystore=classpath:nemid.pfx
nemid.applet.parameter.signing.keystore.password=Kode0rd1
nemid.applet.parameter.signing.keystore.alias=1
Bemærk at hvis ens logonto navn indeholder specialtegn (fx æøå), så skal filen gemmes i ISO-8859-1 enkodning, ellers går det galt på login tidspunkt (man får en fejlbesked i loggen om at valideringen hos NemID er gået galt, da navnet ikke matcher det forventede).
Den sidste parameter - nemid.applet.parameter.signing.keystore.alias - skal være "alias" på den indgang i keystore filen som matcher den nøgle der skal bruges. Typisk er det bare værdien "1", men hvis det ikke er tilfældet, kan man liste indholdet af keystoret via forskellige værktøjer, fx Javas eget Keytool værktøj, og på den måde få vist "alias" værdien.
Kommunikationen mellem proxyen og GINA skal beskyttes. Til det formål skal der bruges et keystore med tilhørende certifikat. Certifikatet skal installeres på de maskiner der skal stole på proxy'en (de servere som beskyttes med OS2faktor), mens det fulde keystore (pfx/p12 fil) skal gøres tilgængelig for proxyen.
Man kan sagtens bruge et selv-udstedt certifikat her, men man kan også vælge at bruge NemID certifikatet fra før hvis det er lettere. I eksempelet antages det at man har brugt et andet certifikat, og at filen hedder signer.pfx med kodeordet "Test1234".
Filen placeres i samme folder som ovenstående NemID filer ligges i, og gøres tilgængelig via samme volume til Docker.
Docker forventer at filerne ligger i en folder der hedder c:/home/config - denne folder kan mountes via Docker, så en lokal folder på serveren mappes ind i containeren. Dette vises via nedenstående docker-compose.yml eksempel
Eksempel på hvordan dette kan sættes op via en docker-compose.yml fil vises nedenfor
version: "2.1"
services:
os2faktor-proxy:
image: os2faktor/proxy-windows:2019-04-16
network_mode: "nat"
restart: always
environment:
LDAP_URL: "ldaps://mydc:389"
LDAP_BASEDN: "OU=Kommune,DC=Korsbaek,DC=dk"
LDAP_USERNAME: "systemkonto@kommune"
LDAP_PASSWORD: "PassW0rd#"
LDAP_TRUST_ALL_CERT: "true"
PASSWORD_ENABLED: "true"
LDAP_NO_CHANGE_GROUP: "NoPasswordChangeAllowed"
LOGIN_ENABLED: "true"
LDAP_FIELD_SSN: "employeeNumber"
OS2FAKTOR_APIKEY: "HemmeligtKodeord"
LOGIN_REQUIRE_PIN: "false"
KEYSTORE_LOCATION: "classpath:signer.pfx"
KEYSTORE_PASSWORD: "Test1234"
volumes:
- c:\localmachine\folder:c:\home\config
Content type
Image
Digest
Size
516.7 MB
Last updated
over 7 years ago
docker pull os2faktor/proxy-windows:2019-04-16