1 Bakgrunn
Microsoft AD gir ikke mulighet til å sette brukerpassord ved å sende ferdigkalkulert passordhash.
Av den grunn har passord blitt lagret i klartekst i Cerebrum-databasen slik at Cerebrum skal være i stand til å sende klartekstpassord til AD.
Dette er et åpenbart sikkerhetsbrudd.
UAIT har siden implementert asymmetrisk krypering for passord ved hjelp av GnuPG.
passord → [offentlig nøkkel] → Cerebrum DB → AD sync → MS Windows [privat nøkkel] → AD
2 Installasjon og oppsett av GnuPG
2.1 Installasjon
Cerebrum bruker GnuPG ved hjelp av pygpgme.
yum install gnupg gnupg2 gpgme gpgme-devel pygpgme
På MS Windows siden, må Gpg4win installeres med Kleopatra.
2.2 Oppsett
Nøkkelpar genereres på Cerebrum (GNU/Linux) siden.
mkdir <gnupg homedir> && chmod 700 <gnupg homedir>
der <gnupg homedir> er hjemmekatalogen til GnuPG (default: ~/.gnupg)
gpg --homedir <gnupg homedir> --gen-key
Følg instruksjonene! Hvis GnuPG2 er også installert på systemet, MÅ en også lage GnuPG2 variant av nøklene.
gpg2 --homedir <gnupg homedir> -K --fingerprint
Fingerprint for nøkkelen vil også vises og skal brukes som key-ID. Nøklene eksporteres
gpg --homedir <gnupg homedir> --export "<key-ID>" > off_nokkel.gpg gpg --homedir <gnupg homedir> --export-secret-keys "<key-ID>" > priv_nokkel.gpg
Flytt nøklene til AD serveren og importer dem ved hjelp av Kleopatra.
Etter at nøklene er importert, MÅ privatnøkkelen slettes hvis den ble generert på Cerebrum-serveren.
N.B. Hvis offentlige nøkkelen ble generert et annet sted og ble importert til Cerebrum-serveren, MÅ trust level settes manuelt (til high eller ultimate)!
gpg --homedir <gnupg homedir> --delete-secret-keys "<key-ID" gpg2 --homedir <gnupg homedir> --delete-secret-keys "<key-ID>"
Følgende linjer må legges inn i cereconf.py
PASSWORD_GPG_RECIPIENT_ID = '<key-ID>' PASSWORD_GNUPGHOME = '<gnupg homedir>'
Eksempel:
PASSWORD_GPG_RECIPIENT_ID = '5251960EFF43EAF600656B3C4752B4E2DD340B15' PASSWORD_GNUPGHOME = '~/cerebrum/.gnupg'