Importer et Lets Encrypt-sertifikat til USG

I denne kunnskapsartikkelen vil jeg vise deg hvordan du kan bruke en Raspberry Pi for å få installert et Let’s Encrypt-sertifikat på din USG.

Introduksjon

Vi vil bruke en Apache-server og Let’s Encrypt-tillegget for Apache som kjører på en Raspberry Pi for å laste ned et sertifikat for et spesifikt domenenavn. Vi vil også bruke Pi-en til å oppdatere dette sertifikatet.

Vi vil eksportere sertifikatet fra Pi-en og importere det til USG.

Hva er bruken av et sertifikat?

Med sertifikatet vil du bli kvitt sikkerhetsvarsler i nettleseren din. For eksempel for HotSpot eller SSL VPN.

Krav

  1. Du trenger et domenenavn (DN) (for eksempel hotspot.hotel-mayer.de)
  2. Hvis du ikke har en statisk IP, må du også sørge for at ditt DN holdes oppdatert,
    du kan bruke DDNS-alternativet på din USG: Konfigurasjon > Nettverk > DDNS
  3. Hvis du bruker USG i et dobbelt NAT-scenario, må du sørge for at HTTP og HTTPS videresendes til USG
  4. Du må vite hvordan du bruker NAT på riktig måte
  5. Du trenger en Raspberry Pi og et SD-kort for operativsystemet
  6. En PC med Tera Term eller Putty og WinSCP installert
  7. Du må vite hvordan du bruker SSH-terminalen på USG
  8. USG må minst ha firmwareversjon 4.30

1. Sett opp Pi og Apache

I dette scenariet trenger vi bare et kommandolinjebasert OS for Pi (Raspbian Stretch Lite)
last det ned fra Raspberry Pi-nettsiden og installer det som beskrevet i dokumentasjonen.

https://www.raspberrypi.org/downloads/raspbian/
https://www.raspberrypi.org/documentation/installation/installing-images/README.md
 

1.1 Aktiver SSH og endre passordet

Nå må du aktivere SSH. Sett SD-kortet i datamaskinen og legg en tom fil med navnet “SSH” i SD-kortets rotmappe.

Når installasjonen er fullført, kobler du Pi-en til nettverket, starter den og sjekker om du kan nå den via SSH (for eksempel med Putty eller Tera Term)

User: pi
Password: raspberry

Anbefaling 1: endre passordet som beskrevet her:
https://www.raspberrypi.org/documentation/configuration/raspi-config.md

Anbefaling 2: Sørg for at Pi-en alltid får samme IP-adresse

1.2 Oppdater Pi og installer Apache-server

Nå kan vi sjekke etter og installere oppdateringer

sudo apt update && sudo apt upgrade --yes

Når dette er gjort, kan vi installere Apache-serveren

sudo apt install apache2 --yes

Etter installasjonen bør du kunne se Apaches standardwebside ved å gå til Raspberry Pi sin IP-adresse i nettleseren.

mceclip0.png

Nå er det tid for å starte Pi-en på nytt:

shutdown -r

I mellomtiden setter vi opp (midlertidig) portvideresending til Pi-en.

2. Portvideresending

For å ha portene 80 og 443 åpne mot internett. Nedenfor finner du hvordan du utfører de nødvendige stegene

2.1 Endre HTTPS-porten på USG til for eksempel 8443
Nå kan du få tilgang til USG slik: https://192.168.1.1:8443

2.2 Konfigurer portvideresending for HTTP og HTTPS
Vennligst sjekk om du kan få tilgang til Pi-ens testside fra internett

3. Opprett og eksporter et sertifikat

Før vi kan få et Let's Encrypt-sertifikat, må vi installere Let’s Encrypt-tillegget for Apache. Det vil hjelpe med sertifiseringen av domenenavnet ditt.

sudo apt install certbot python-certbot-apache --yes

3.2 Generere det første sertifikatet

Nå genererer vi det første sertifikatet:

sudo certbot --apache

Du må gå gjennom skjemaet og fylle det ut riktig. Du vil bli spurt om du ønsker å omdirigere permanent.

mceclip1.png

 mceclip2.png

Sertifikatet vil bli forespurt og automatisk installert på Apache-serveren.

3.3 Eksportere sertifikatet og laste det ned

Nå kan du eksportere sertifikatet med et tidsstempel.

sudo openssl pkcs12 -export -out /tmp/myusg_"$(date +"%Y-%m-%d")".p12 -inkey /etc/letsencrypt/live/[your_domain]/privkey.pem -in /etc/letsencrypt/live/[your_domain]/cert.pem

Du må skrive inn et passord. Sørg for at du husker dette passordet, da det også trengs for import til USG.

mceclip3.png

For å hente sertifikatet fra Pi-en, må vi endre tilgangsrettighetene for filen myusg_[date].p12.

sudo chmod 777 myusg[date].p12

Nå kan du hente filen med WinSCP fra /tmp-mappen.

4. Importer sertifikatet til USG

4.1 Last ned og importer Let's Encrypts rot- og mellomliggende sertifikater

For at USG skal stole på sertifikatet vi eksporterte tidligere, må vi importere rot- og mellomliggende sertifikater fra Let's Encrypt:

https://letsencrypt.org/certificates/

Sørg for at sertifikatene lagres som pem-filer (for eksempel letsencryptauthorityx3.pem).

Nå går du på USG til Konfigurasjon > Objekter > Sertifikater > Pålitelige sertifikater og importerer rot- og mellomliggende sertifikater.

4.2 Importer og aktiver ditt sertifikat

På USG går du til Konfigurasjon > Objekter > Sertifikater > Mine sertifikater og importerer sertifikatet (du må også skrive inn passordet)

Gå til Konfigurasjon > System > WWW under Server Certificate kan du nå velge ditt importerte sertifikat.

5. Konfigurer HTTP til HTTPS-omdirigering riktig

5.1 Deaktiver NAT for Pi-en

For å frigjøre portene 80 og 443 igjen for USG, må du deaktivere NAT for Pi-en. Gå til Konfigurasjon > Nettverk > NAT og finn og deaktiver reglene som er ansvarlige for NAT. Vennligst slett ikke reglene, for du vil trenge dem igjen senere.

5.2 Sett USG sin HTTPS-port tilbake til 443 og sett opp HTTP til HTTPS-omdirigering

Gå til Konfigurasjon > System > WWW og sett HTTPS-porten tilbake til 443. Sørg for at HTTP-omdirigering er aktivert.

5.3 Bli kvitt IP-adressen

Nå vil USG bruke det importerte sertifikatet. "Problemet" som gjenstår er at USG vil omdirigere HTTP til HTTPS slik:

https://192.168.1.1/redirect.cgi?arip=[your_dyndns]&original_url=http://[your_dyndns]/

mceclip4.png

Dette vil selvfølgelig skape et sertifikatproblem. For å bli kvitt denne meldingen, må du åpne en SSH-økt til USG og skrive inn disse kommandoene:

Router> configure terminal
Router(config)# web-auth redirect-fqdn [your_domainname]
Router(config)# write
Router(config)# exit
Router> write

Nå vil omdirigeringen se slik ut:

https://[your_domain]/redirect.cgi?arip=[your_domain]&original_url=http://[your_domain]/

mceclip5.png

 Gratulerer, du har nå et Let's Encrypt-sertifikat som kjører på din USG.

Forny sertifikatet

Let's Encrypt-sertifikater er gyldige i 90 dager. Det betyr at du må fornye sertifikatet hvert tredje måned.

1. Åpne HTTP- og HTTPS-porter til Pi-en igjen

a) endre HTTPS-portene på USG igjen (Punkt 2.1)
b) Aktiver NAT for HTTP/HTTPS for Pi-en igjen (Punkt 2.2)

2. SSH til Pi-en og forny sertifikatet

Åpne en SSH-økt til Pi-en og skriv inn denne kommandoen

sudo certbot renew

Dette vil fornye sertifikatet for ytterligere 90 dager

3. Eksporter og importer sertifikatet

Nå må du følge stegene i punkt 3.3

4. Oppdater sertifikatet på USG

Nå fortsetter du med steg 4.2

5. Endre portene tilbake

Følg stegene i 5.1 og 5.2

Gratulerer, du har nå fornyet Let's Encrypt-sertifikatet på din USG.

Ansvarsfraskrivelse: Vennligst forstå at dette kun er en beskrivelse av hvordan du får et Let's Encrypt-sertifikat på din USG. Hvis noe er galt med Raspberry Pi-en, må du forstå at vi ikke kan gi støtte ved eventuelle problemer med Pi-en!

Artikler i denne seksjonen

Var denne artikkelen nyttig?
0 av 3 syntes dette var nyttig
Del

Kommentarer

0 kommentarer

Logg på hvis du vil legge inn en kommentar.