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
- Du trenger et domenenavn (DN) (for eksempel hotspot.hotel-mayer.de)
- 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 - Hvis du bruker USG i et dobbelt NAT-scenario, må du sørge for at HTTP og HTTPS videresendes til USG
- Du må vite hvordan du bruker NAT på riktig måte
- Du trenger en Raspberry Pi og et SD-kort for operativsystemet
- En PC med Tera Term eller Putty og WinSCP installert
- Du må vite hvordan du bruker SSH-terminalen på USG
- 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: raspberryAnbefaling 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 --yesNår dette er gjort, kan vi installere Apache-serveren
sudo apt install apache2 --yesEtter installasjonen bør du kunne se Apaches standardwebside ved å gå til Raspberry Pi sin IP-adresse i nettleseren.
Nå er det tid for å starte Pi-en på nytt:
shutdown -rI 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 --yes3.2 Generere det første sertifikatet
Nå genererer vi det første sertifikatet:
sudo certbot --apacheDu må gå gjennom skjemaet og fylle det ut riktig. Du vil bli spurt om du ønsker å omdirigere permanent.
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.pemDu må skrive inn et passord. Sørg for at du husker dette passordet, da det også trengs for import til USG.
For å hente sertifikatet fra Pi-en, må vi endre tilgangsrettighetene for filen myusg_[date].p12.
sudo chmod 777 myusg[date].p12Nå 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]/
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> writeNå vil omdirigeringen se slik ut:
https://[your_domain]/redirect.cgi?arip=[your_domain]&original_url=http://[your_domain]/
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 renewDette 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!

Kommentarer
0 kommentarerLogg på hvis du vil legge inn en kommentar.