Sign inSign up

os2faktor/proxy-windows

By os2faktor

Updated over 7 years ago

OS2faktor proxy komponent til password reset og login via GINA

Image
0

97

os2faktor/proxy-windows repository overview

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øvariabelBeskrivelse
LDAP_URLAdressen 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_BASEDNDistinguishedName på den OU som der skal ledes efter brugere i (leder også i under-OU'ere)
LDAP_USERNAMEBrugernavnet på en systemkonto der laver opslag mod Active Directory - skal angives på UPN format (fx bruger@domain)
LDAP_PASSWORDKodeordet til ovenstående systemkonto
LDAP_TRUST_ALL_CERTOptionel: Skal sættes til "true" hvis der anvendes krypteret LDAPS (se ovenfor), og certifikatet er selv-udstedt
PASSWORD_ENABLEDSæ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_GROUPOptionel: 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_ENABLEDSæ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_SSNOptionel: det felt i Active Directory hvor brugerens cpr nummer er angivet
LDAP_FIELD_PIDOptionel: det felt i Active Directory hvor brugerens NemID PID er angivet
LDAP_FIELD_PSEUDONYMOptionel: det felt i Active Directory hvor brugerens bruger-id er angivet (formodentligt sAMAccountName)
LDAP_FIELD_DEVICEIDOptionel: Det felt i Active Directory hvor brugerens OS2faktor ID er angivet
OS2FAKTOR_APIKEYDen hemmelige API nøgle der bruges til at kalde OS2faktor infrastrukturen
LOGIN_REQUIRE_PINSæ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_LOCATIONPlaceringen på det keystore (pfx/p12 fil) som bruges til beskytte kommunikationen mellem GINA og Proxyen
KEYSTORE_PASSWORDKodeordet til ovenstående keystore

Filer til password reset

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.

  • pid.properties
  • nemid.properties
  • [NemID keystore filen]

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.

Filer til OS2faktor via windows login

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 Volume konfiguration

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å docker-compose

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

Tag summary

Content type

Image

Digest

Size

516.7 MB

Last updated

over 7 years ago

docker pull os2faktor/proxy-windows:2019-04-16