Drift/Oppdatere SSL-sertifikater

From Programvareverkstedet

Her er info om hvordan man oppdaterer de ulike SSL-sertifikatene på PVV. Hele prosessen er basert på denne guiden, sjekk den for forklaring.


Ta backup av alle filer du bytter ut. bruk "old"-mapper samme sted som sertifikatene.

Hvorfor

I nyere tider, altså etter 2020, skal ikke sertifikater vare lenger enn 13 måneder. Derfor må denne prosessen gjennomføres omtrent en gang i året.


SSL-kryptering krever to deler, en privatnøkkel og en kjede med sertifikater. Privatnøkkelen skal aldri deles, og ligger som regel med begrenset lese/skrive-tilgang. Det første sertifikatet i kjeden er den aktuelle maskinen, for eksempel for www.pvv.ntnu.no, som er "signert" av neste i kjeden. Til slutt ligger rotsertifikatet(CA / Certificate Authority) klienten kjenner fra før.


Fordi vi bruker et ntnu-domene kan vi ikke bruke hvilken som helst CA, men bruke GEANT/Sectigo. For å få tilgang til signeringstjenesten kan du ta kontakt med Orakeltjenesten / NTNU IT, eller spørre en drifter som har gjort dette før.


For at CA-en skal kunne lage et signert sertifikat trenger du en CSR. Konfigurasjonsfilene for disse ligger i /etc/ssl/private på spikkjeposche. For å legge til nye maskiner eller endre aktuelle tjenestenavn kan du redigere filene der. Om .conf-filene ser greie ut, les gjennom og kjør make.sh De resulterende req-filene kan sendes til CA for signering. Per nå brukes typen 01 GÉANT OV Multi-Domain da våre maskiner ofte går under flere navn.


Hvor og Hvordan

For å oppdatere sertifikatene, bytt ut disse filene. Pass på at du ikke endrer filnavn, permissions, eierskap eller format.

Maskiner/Spikkjeposche

  • i /etc/ssl/private:
-rw-------  1 root  wheel spikkjeposche_pvv_ntnu_no.pem          ; cat <bare cert> <private key>
-rw-r--r--  1 root  wheel spikkjeposche_pvv_ntnu_no_interm.cer   ; full chain
  • Kjør /usr/local/etc/rc.d/lighttpd restart
  • Test om nettsiden, webmail og wiki fungerer med https.


Maskiner/Microbel

NB! mange filer, mange forskjellige permissions.

  • i /etc/exim4:
-r-------- 1 Debian-exim  root exim.crt                          ; full chain
-rw------- 1 Debian-exim  root exim.key                          ; private key
  • i /etc/dovecot/ssl:
-rw-r--r-- 1 root root imap.crt.pem                              ; full chain
-rw------- 1 root root imap.key.pem                              ; private key

Merk at imap.crt.pem må være i riktig rekkefølge, og må kanskje "snus". Sjekk tips og triks nederst på denne siden, at nøkkel og sertifikat passer sammen.

  • i /etc/ssl/certs:
-rw-r--r-- 1 root dovecot dovecot.pem                            ; full chain
  • Kjør systemctl restart dovecot systemctl restart exim4 og systemctl restart apache2
  • Test at IMAP, SMTP og web(list.pvv.ntnu.no) fungerer med https.


Maskiner/essendrop

  • i /usr/local/opt/gogs/certs:
-rw-r----- 1 root www-data privchain-essendrop.pvv.ntnu.no.pem   ; cat <bare cert> <private key>
-rw-r--r-- 1 root www-data     8630 Jan  2 16:25 ca.pem          ; cat fullchain
  • Kjør systemctl restart lighttpd og systemctl restart gogs
  • Sjekk at git/gogs virker i nettleser med https.

Maskiner/isvegg

  • i /etc/lighttpd/certs:
-rw-r--r-- 1 root root 8603 Jan  2 16:34 cert_fullchain.pem
-rw------- 1 root root 1704 Jan  2 16:32 privkey.pem
  • Denne fullchain-fila må antageligvis også byttes rekkefølge, slik at CA er sist.


Tips 'n Tricks

Noen nyttige kommandoer for å verifisere nøkkel-/cert- par

  • Modulus til nøkkel:
openssl rsa -modulus -noout -in nøkkelfil.pem
  • Modulus til sertifikat:
 openssl x509 -modulus -noout -in certfil.pem

Disse bør vise samme output. Dersom de ikke gjør det kan det hende du bruker feil fil, eller at sertifikatene i en fullchain-fil er i feil rekkefølge.


Verifisere nøkler på epost-serveren

openssl s_client -showcerts -connect imap.pvv.ntnu.no:993 -servername imap.pvv.ntnu.no


Søke om sertifikater

Per 2022/23 har vi fått tilgang til å logge inn på NTNU sin GEANT-portal med feide, der vi kan laste opp CSR-filer. I fremtiden håper vi på et ACME-endepunkt for dette, så vi slipper epost og skjemaer.

Det er idag ingen "riktig" måte å søke om sertifikater for .org-domenet vårt samtidig, så pvv.ntnu.no er det kanoniske domenenavnet vårt for sikker kommunikasjon.