Ebben a tudásbázis cikkben szeretném megmutatni, hogyan használhatsz egy Raspberry Pi-t ahhoz, hogy egy Let’s Encrypt tanúsítványt telepíts az USG-dre.
Bevezetés
Egy Apache szervert és a Raspberry Pi-n futó Let’s Encrypt Apache-kiegészítőt fogjuk használni, hogy letöltsünk egy tanúsítványt egy adott domain névhez. A Pi-t arra is használjuk, hogy frissítsük ezt a tanúsítványt.
Exportáljuk a tanúsítványt a Pi-ről, majd importáljuk az USG-re.
Mire jó egy tanúsítvány?
A tanúsítvánnyal megszabadulhatsz a böngésződ biztonsági figyelmeztetéseitől, például HotSpot vagy SSL VPN használatakor.
Előfeltételek
- Szükséged van egy domain névre (például hotspot.hotel-mayer.de)
- Ha nincs statikus IP címed, gondoskodnod kell arról, hogy a domain neved naprakész legyen,
ehhez használhatod az USG DDNS opcióját: Konfiguráció > Hálózat > DDNS - Ha az USG-det dupla NAT környezetben használod, gondoskodnod kell arról, hogy a HTTP és HTTPS portok tovább legyenek irányítva az USG-re
- Ismerned kell a NAT helyes használatát
- Szükséged van egy Raspberry Pi-re és egy SD kártyára az operációs rendszerhez
- Egy PC-re, amelyen telepítve van a Tera Term vagy Putty és a WinSCP
- Ismerned kell az SSH terminál használatát az USG-n
- Az USG-nek legalább 4.30-as firmware verzióval kell rendelkeznie
1. A Pi és az Apache beállítása
Ebben a forgatókönyvben csak egy parancssoros operációs rendszerre van szükség a Pi-hez (Raspbian Stretch Lite)
töltsd le a Raspberry Pi weboldaláról, és telepítsd az ott leírtak szerint.
https://www.raspberrypi.org/downloads/raspbian/
https://www.raspberrypi.org/documentation/installation/installing-images/README.md
1.1 SSH engedélyezése és jelszó megváltoztatása
Most engedélyezned kell az SSH-t. Ehhez helyezd be az SD kártyát a számítógépedbe, és az SD kártya gyökérkönyvtárába helyezz egy üres, “SSH” nevű fájlt.
Miután a telepítés befejeződött, helyezd a Pi-t a hálózatba, indítsd el, és ellenőrizd, hogy eléri-e SSH-n keresztül (például Putty vagy Tera Term segítségével)
Felhasználó: pi
Jelszó: raspberryAjánlás 1: változtasd meg a jelszót az alábbi leírás szerint:
https://www.raspberrypi.org/documentation/configuration/raspi-config.md
Ajánlás 2: Győződj meg róla, hogy a Pi mindig ugyanazt az IP címet kapja
1.2 A Pi frissítése és az Apache szerver telepítése
Most ellenőrizhetjük és telepíthetjük a frissítéseket
sudo apt update && sudo apt upgrade --yesMiután ez kész, telepíthetjük az Apache szervert
sudo apt install apache2 --yesA telepítés befejezése után az Apache alapértelmezett weboldalát kell látnod, ha a Raspberry Pi IP címét böngészed.
Most újra kell indítani a Pi-t:
shutdown -rKözben beállítjuk az (ideiglenes) porttovábbítást a Pi-re.
2. Porttovábbítás
Ahhoz, hogy a 80-as és 443-as portok nyitva legyenek az internet felé, az alábbi lépéseket kell megtenni
2.1 Az USG HTTPS portjának megváltoztatása például 8443-ra
Most így érheted el az USG-t: https://192.168.1.1:8443
2.2 Porttovábbítás beállítása a HTTP és HTTPS portokra
Ellenőrizd, hogy el tudod-e érni a Pi tesztoldalát az internetről
3. Tanúsítvány létrehozása és exportálása
Mielőtt Let’s Encrypt tanúsítványt kaphatnánk, telepítenünk kell a Let’s Encrypt kiegészítőt az Apache-hoz. Ez segít a domain név hitelesítésében.
sudo apt install certbot python-certbot-apache --yes3.2 Az első tanúsítvány létrehozása
Most létrehozzuk az első tanúsítványt:
sudo certbot --apacheKi kell töltened a formot megfelelően. Megkérdezi, hogy szeretnéd-e állandóan átirányítani.
A tanúsítványt kérni fogja, és automatikusan telepíti az Apache szerverre.
3.3 A tanúsítvány exportálása, letöltése
Most exportálhatod a tanúsítványt időbélyeggel ellátva.
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.pemJelszót kell megadnod. Kérlek, győződj meg róla, hogy emlékszel erre a jelszóra, mert az importáláshoz is szükség lesz rá az USG-n.
Ahhoz, hogy a tanúsítványt a Pi-ről megszerezd, módosítanunk kell az myusg_[date].p12 fájl hozzáférési jogait.
sudo chmod 777 myusg[date].p12Most a fájlt a WinSCP segítségével letöltheted a /tmp mappából.
4. Tanúsítvány importálása az USG-re
4.1 A Let’s Encrypt root és köztes tanúsítványok letöltése és importálása
Ahhoz, hogy az USG megbízzon a korábban exportált tanúsítványban, importálnunk kell a Let’s Encrypt root és köztes tanúsítványait:
https://letsencrypt.org/certificates/
Győződj meg róla, hogy a tanúsítványok pem formátumban vannak elmentve (például letsencryptauthorityx3.pem).
Most az USG-n menj a Konfiguráció > Objektumok > Tanúsítványok > Megbízható tanúsítványok menüpontra, és importáld a root és köztes tanúsítványokat.
4.2 A saját tanúsítvány importálása és aktiválása
Az USG-n menj a Konfiguráció > Objektumok > Tanúsítványok > Saját tanúsítványok menüpontra, és importáld a tanúsítványt (a jelszót is meg kell adnod)
Menj a Konfiguráció > Rendszer > WWW menübe, és a Szerver tanúsítvány alatt választhatod ki az importált tanúsítványt.
5. A HTTP-ről HTTPS-re történő átirányítás helyes beállítása
5.1 NAT kikapcsolása a Pi számára
Ahhoz, hogy a 80-as és 443-as portok ismét szabadok legyenek az USG számára, ki kell kapcsolnod a NAT-ot a Pi-re. Menj a Konfiguráció > Hálózat > NAT menübe, és keresd meg, majd kapcsold ki azokat a szabályokat, amelyek a NAT-ért felelősek. Kérlek, ne töröld a szabályokat, mert később még szükséged lesz rájuk.
5.2 Az USG HTTPS portjának visszaállítása 443-ra és a HTTP-ről HTTPS-re átirányítás beállítása
Menj a Konfiguráció > Rendszer > WWW menübe, és állítsd vissza a HTTPS portot 443-ra. Győződj meg róla, hogy a HTTP átirányítás engedélyezve van.
5.3 Szabadulj meg az IP-címtől
Most az USG az importált tanúsítványt fogja használni. A "probléma" az, hogy az USG így irányítja át a HTTP-t HTTPS-re:
https://192.168.1.1/redirect.cgi?arip=[your_dyndns]&original_url=http://[your_dyndns]/
Ez természetesen tanúsítványhibát okoz. Ahhoz, hogy végleg megszabadulj ettől az üzenettől, nyiss egy SSH munkamenetet az USG-re, és írd be a következő parancsokat:
Router> configure terminal
Router(config)# web-auth redirect-fqdn [your_domainname]
Router(config)# write
Router(config)# exit
Router> writeMost az átirányítás így fog kinézni:
https://[your_domain]/redirect.cgi?arip=[your_domain]&original_url=http://[your_domain]/
Gratulálunk, most már egy Let’s Encrypt tanúsítvány fut az USG-den.
A tanúsítvány megújítása
A Let’s Encrypt tanúsítványok 90 napig érvényesek. Ez azt jelenti, hogy háromhavonta meg kell újítanod a tanúsítványt.
1. Nyisd meg újra a HTTP és HTTPS portokat a Pi felé
a) változtasd meg ismét az USG HTTPS portját (2.1 pont)
b) Kapcsold vissza a NAT-ot HTTP/HTTPS-hez a Pi számára (2.2 pont)
2. SSH-val lépj be a Pi-re és újítsd meg a tanúsítványt
Nyiss egy SSH munkamenetet a Pi-re és írd be ezt a parancsot
sudo certbot renewEz megújítja a tanúsítványt további 90 napra.
3. Exportáld és importáld a tanúsítványt
Most kövesd a 3.3 pont lépéseit.
4. Frissítsd a tanúsítványt az USG-n
Most folytasd a 4.2 ponttal.
5. Állítsd vissza a portokat
Kövesd az 5.1 és 5.2 pont lépéseit.
Gratulálunk, most megújítottad a Let’s Encrypt tanúsítványt az USG-den.
Felelősségkizárás: Kérjük, vedd figyelembe, hogy ez csupán egy leírás arról, hogyan lehet Let’s Encrypt tanúsítványt használni az USG-den. Ha bármi probléma adódik a Raspberry Pi-vel, kérjük, értsd meg, hogy nem tudunk támogatást nyújtani a Pi-vel kapcsolatos problémák esetén!

Hozzászólások
0 hozzászólásHozzászólások írásához jelentkezzen be.