Importer et Lets Encrypt-certifikat til USG

Har du flere spørgsmål? Indsend en anmodning

I denne vidensbaseartikel vil jeg vise dig, hvordan du kan bruge en Raspberry Pi til at få installeret et Let’s Encrypt-certifikat på din USG.

Introduktion

Vi vil bruge en Apache-server og Let’s Encrypt-tilføjelsen til Apache, som kører på en Raspberry Pi, til at downloade et certifikat til et specifikt domænenavn. Vi vil også bruge Pi’en til at opdatere dette certifikat.

Vi vil eksportere certifikatet fra Pi’en og importere det til USG’en.

Hvad er brugen af et certifikat?

Med certifikatet slipper du for sikkerhedsadvarsler i din browser, for eksempel for HotSpot eller SSL VPN.

Krav

  1. Du skal have et domænenavn (DN) (for eksempel hotspot.hotel-mayer.de)
  2. Hvis du ikke har en statisk IP, skal du også sikre, at dit DN holdes opdateret,
    du kan bruge DDNS-funktionen på din USG: Konfiguration > Netværk > DDNS
  3. Hvis du bruger din USG i et dobbelt NAT-scenarie, skal du sikre, at HTTP og HTTPS videresendes til USG’en
  4. Du skal vide, hvordan man bruger NAT korrekt
  5. Du skal have en Raspberry Pi og et SD-kort til OS
  6. En PC med Tera Term eller Putty og WinSCP installeret
  7. Du skal vide, hvordan man bruger SSH-terminalen på USG’en
  8. USG’en skal mindst have firmwareversion 4.30

1. Opsæt Pi og Apache 

I dette scenarie har vi kun brug for et kommandolinjebaseret OS til Pi’en (Raspbian Stretch Lite)
download det venligst fra Raspberry Pi’s hjemmeside og installer det som beskrevet i dokumentationen.

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

1.1 Aktivering af SSH og ændring af adgangskode

Nu skal du aktivere SSH. Sæt derfor SD-kortet i din computer og læg en tom fil med navnet “SSH” i SD-kortets rodmappe.

Når installationen er færdig, sæt Pi’en i dit netværk, start den og tjek, om du kan nå den via SSH (for eksempel med Putty eller Tera Term)

User: pi
Password: raspberry

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

Anbefaling 2: Sørg for, at Pi’en altid får den samme IP

1.2 Opdater Pi og installer Apache-server

Nu kan vi tjekke for og installere opdateringer

sudo apt update && sudo apt upgrade --yes

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

sudo apt install apache2 --yes

Efter installationen er færdig, burde du kunne se Apaches standardwebside ved at browse til Raspberry IP’en.

mceclip0.png

Nu er det tid til at genstarte Pi’en:

shutdown -r

Imens sætter vi den (midlertidige) port forwarding til Pi’en.

2. Port forwarding

For at have portene 80 og 443 åbne mod internettet. Nedenfor finder du, hvordan du udfører de nødvendige trin

2.1 Skift HTTPS-porten på USG til f.eks. 8443
Nu kan du tilgå USG’en sådan her: https://192.168.1.1:8443

2.2 Konfigurer port forwarding for HTTP og HTTPS
Tjek venligst, om du kan tilgå Pi’ens testside fra internettet

3. Opret og eksporter et certifikat

Før vi kan få et Let's Encrypt-certifikat, skal vi installere Let’s Encrypt-tilføjelsen til Apache. Den hjælper med at certificere dit domænenavn.

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

3.2 Generering af det første certifikat

Nu genererer vi det første certifikat:

sudo certbot --apache

Du skal gennemgå formularen og udfylde den korrekt. Du vil blive spurgt, om du ønsker permanent omdirigering.

mceclip1.png

 mceclip2.png

Certifikatet vil blive anmodet om og automatisk installeret på Apache-serveren.

3.3 Eksport af certifikatet og download af certifikatet

Nu kan du eksportere certifikatet 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 skal indtaste en adgangskode. Sørg for at huske adgangskoden, da du også skal bruge den ved import til USG’en.

mceclip3.png

For at hente certifikatet fra Pi’en, skal vi ændre adgangsrettighederne for filen myusg_[date].p12.

sudo chmod 777 myusg[date].p12

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

4. Importer certifikatet til USG

4.1 Download og importer Let's Encrypts root- og mellemliggende certifikater 

For at få USG’en til at stole på det tidligere eksporterede certifikat, skal vi importere root- og mellemliggende certifikater fra Let's Encrypt:

https://letsencrypt.org/certificates/

Sørg for, at certifikaterne gemmes som pem-filer (for eksempel letsencryptauthorityx3.pem).

På USG’en går du til Konfiguration > Objekter > Certifikater > Betroede certifikater og importerer root- og mellemliggende certifikater.

4.2 Importer og aktiver dit certifikat

På USG’en går du til Konfiguration > Objekter > Certifikater > Mine certifikater og importerer certifikatet (du skal også indtaste adgangskoden)

Gå til Konfiguration > System > WWW under Server Certificate kan du nu vælge dit importerede certifikat.

5. Konfigurer korrekt HTTP til HTTPS-omdirigering

5.1 Deaktiver NAT for Pi’en

For at frigøre portene 80 og 443 til USG’en igen, skal du deaktivere NAT for Pi’en. Gå til Konfiguration > Netværk > NAT og find og deaktiver de regler, der er ansvarlige for NAT. Slet venligst ikke reglerne, da du får brug for dem igen senere.

5.2 Sæt USG’s HTTPS-port tilbage til 443 og opsæt HTTP til HTTPS-omdirigering

Gå til Konfiguration > System > WWW og sæt HTTPS-porten tilbage til 443. Sørg for, at HTTP-omdirigering er aktiveret.

5.3 Fjern IP-adressen

Nu vil USG’en bruge det importerede certifikat. Det "problem", der er tilbage, er, at USG’en vil omdirigere HTTP til HTTPS sådan her:

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

mceclip4.png

Dette vil naturligvis skabe et certifikatproblem. For endeligt at slippe af med denne besked, skal du åbne en SSH-session til din USG og indtaste disse kommandoer:

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

Nu vil omdirigeringen se sådan ud:

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

mceclip5.png

 Tillykke, du har nu et Let's Encrypt-certifikat kørende på din USG.

Forny certifikatet

Let's Encrypt-certifikater er gyldige i 90 dage. Det betyder, at du skal forny certifikatet hver tredje måned. 

1. Åbn HTTP- og HTTPS-porte til Pi’en igen

a ) skift HTTPS-portene på USG’en igen (Punkt 2.1)
b ) Genaktiver NAT for HTTP/HTTPS til Pi’en (Punkt 2.2)

2. SSH til Pi’en og forny certifikatet

Åbn en SSH-session til din Pi og indtast denne kommando

sudo certbot renew

Dette vil forny certifikatet i yderligere 90 dage

3. Eksporter og importer certifikatet

Nu skal du følge trinnene i punkt 3.3

4. Opdater certifikatet på USG’en 

Fortsæt nu med trin 4.2

5. Skift portene tilbage

Følg trinnene i 5.1 og 5.2

Tillykke, du har nu fornyet Let's Encrypt-certifikatet på din USG.

Ansvarsfraskrivelse: Forstå venligst, at dette kun er en beskrivelse af, hvordan man får et Let's Encrypt-certifikat på din USG. Hvis noget går galt med Raspberry Pi’en, bedes du forstå, at vi ikke kan yde support vedrørende problemer med Pi’en!

Artikler i denne sektion

Var denne artikel en hjælp?
0 ud af 3 fandt dette nyttigt
Del

Kommentarer

0 kommentarer

Log ind for at kommentere.