Importați un certificat Lets Encrypt pe USG

Aveți mai multe întrebări? Trimitere solicitare

În acest articol din baza de cunoștințe, aș dori să vă arăt cum puteți folosi un Raspberry Pi pentru a instala un certificat Let’s Encrypt pe USG-ul dumneavoastră.

Introducere

Vom folosi un server Apache și suplimentul Let’s Encrypt pentru Apache care rulează pe un Raspberry Pi pentru a descărca un certificat pentru un anumit nume de domeniu. De asemenea, vom folosi Pi-ul pentru a actualiza acest certificat.

Vom exporta certificatul de pe Pi și îl vom importa pe USG.

Care este utilitatea unui certificat?

Cu ajutorul certificatului, veți scăpa de avertismentele de securitate din browserul dumneavoastră. De exemplu pentru HotSpot sau SSL VPN.

Cerințe

  1. Aveți nevoie de un nume de domeniu (DN) (de exemplu hotspot.hotel-mayer.de)
  2. Dacă nu aveți o adresă IP statică, trebuie să vă asigurați că numele de domeniu este actualizat,
    puteți folosi opțiunea DDNS de pe USG: Configuration > Network > DDNS
  3. Dacă folosiți USG într-un scenariu double NAT, trebuie să vă asigurați că porturile HTTP și HTTPS sunt redirecționate către USG
  4. Trebuie să știți cum să folosiți NAT corect
  5. Aveți nevoie de un Raspberry Pi și un card SD pentru sistemul de operare
  6. Un PC cu Tera Term sau Putty și WinSCP instalate
  7. Trebuie să știți cum să folosiți terminalul SSH pe USG
  8. USG trebuie să aibă cel puțin versiunea de firmware 4.30

1. Configurați Pi-ul și Apache

În acest scenariu, avem nevoie doar de un sistem de operare bazat pe linie de comandă pentru Pi (Raspbian Stretch Lite)
vă rugăm să îl descărcați de pe site-ul Raspberry Pi și să îl instalați conform documentației.

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

1.1 Activarea SSH și schimbarea parolei

Acum trebuie să activați SSH. Pentru aceasta, introduceți cardul SD în calculatorul dumneavoastră și creați un fișier gol numit „SSH” în folderul rădăcină al cardului SD.

După ce instalarea este finalizată, introduceți Pi-ul în rețeaua dumneavoastră, porniți-l și verificați dacă puteți accesa prin SSH (de exemplu cu Putty sau Tera Term)

User: pi
Password: raspberry

Recomandarea 1: schimbați parola după cum este descris aici:
https://www.raspberrypi.org/documentation/configuration/raspi-config.md

Recomandarea 2: Asigurați-vă că Pi-ul va primi întotdeauna aceeași adresă IP

1.2 Actualizați Pi-ul și instalați serverul Apache

Acum putem verifica și instala actualizările

sudo apt update && sudo apt upgrade --yes

După ce acest proces este finalizat, putem instala serverul Apache

sudo apt install apache2 --yes

După finalizarea instalării, ar trebui să puteți vedea pagina web implicită Apache accesând IP-ul Raspberry-ului.

mceclip0.png

Acum este momentul să reporniți Pi-ul:

shutdown -r

Între timp, vom seta redirecționarea (temporară) a porturilor către Pi.

2. Redirecționarea porturilor

Pentru a avea porturile 80 și 443 deschise către internet. Mai jos găsiți pașii necesari

2.1 Schimbați portul HTTPS al USG-ului, de exemplu la 8443
Acum puteți accesa USG astfel: https://192.168.1.1:8443

2.2 Configurați redirecționarea porturilor pentru HTTP și HTTPS
Vă rugăm să verificați dacă puteți accesa pagina de test a Pi-ului de pe internet

3. Creați și exportați un certificat

Înainte de a putea avea un certificat Let's Encrypt, trebuie să instalăm suplimentul Let’s Encrypt pentru Apache. Acesta va ajuta la certificarea numelui dumneavoastră de domeniu.

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

3.2 Generarea primului certificat

Acum vom genera primul certificat:

sudo certbot --apache

Trebuie să completați formularul corespunzător. Vi se va cere dacă doriți să redirecționați permanent.

mceclip1.png

 mceclip2.png

Certificatul va fi solicitat și instalat automat pe serverul Apache.

3.3 Exportarea certificatului și descărcarea certificatului

Acum puteți exporta certificatul cu un ștampilă temporală.

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

Trebuie să introduceți o parolă. Vă rugăm să vă asigurați că vă amintiți parola, deoarece o veți avea nevoie și pentru importul în USG.

mceclip3.png

Pentru a obține certificatul de pe Pi, trebuie să schimbăm drepturile de acces pentru fișierul myusg_[date].p12.

sudo chmod 777 myusg[date].p12

Acum puteți prelua fișierul cu WinSCP din folderul /tmp.

4. Importați certificatul în USG

4.1 Descărcați și importați certificatele rădăcină și intermediare Let's Encrypt

Pentru ca USG să aibă încredere în certificatul pe care l-am exportat anterior, trebuie să importăm certificatele rădăcină și intermediare de la Let's Encrypt:

https://letsencrypt.org/certificates/

Asigurați-vă că certificatele sunt salvate ca fișiere pem (de exemplu letsencryptauthorityx3.pem).

Acum pe USG, accesați Configuration > Objects > Certificates > Trusted certificates și importați certificatele rădăcină și intermediare.

4.2 Importați și activați certificatul dumneavoastră

Pe USG mergeți la Configuration > Objects > Certificates > My Certificates și importați certificatul (Trebuie să introduceți și parola)

Mergi la Configuration > System > WWW sub Server Certificate acum puteți alege certificatul importat.

5. Configurați corect redirecționarea HTTP către HTTPS

5.1 Dezactivați NAT pentru Pi

Pentru a elibera porturile 80 și 443 pentru USG, trebuie să dezactivați NAT pentru Pi. Mergi la Configuration > Network > NAT și găsiți și dezactivați regulile responsabile pentru NAT. Vă rugăm să nu ștergeți regulile, deoarece le veți avea nevoie din nou mai târziu.

5.2 Setați portul HTTPS al USG înapoi la 443 și configurați redirecționarea HTTP către HTTPS

Mergi la Configuration > System > WWW și setați portul HTTPS înapoi la 443. Asigurați-vă că redirecționarea HTTP este activată.

5.3 Scăpați de adresa IP

Acum USG va folosi certificatul importat. „Problema” rămasă este că USG va redirecționa HTTP către HTTPS astfel:

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

mceclip4.png

Acest lucru, desigur, va crea o problemă de certificat. Pentru a scăpa definitiv de acest mesaj, trebuie să deschideți o sesiune SSH către USG și să introduceți aceste comenzi:

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

Acum redirecționarea va arăta astfel:

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

mceclip5.png

 Felicitări, acum aveți un certificat Let's Encrypt funcțional pe USG-ul dumneavoastră.

Reînnoiți certificatul

Certificatele Let's Encrypt sunt valabile 90 de zile. Aceasta înseamnă că trebuie să reînnoiți certificatul la fiecare trei luni. 

1. Deschideți din nou porturile HTTP și HTTPS către Pi

a ) schimbați din nou porturile HTTPS ale USG-ului (Punctul 2.1)
b ) Reactivați NAT pentru HTTP/HTTPS pentru Pi (Punctul 2.2)

2. Conectați-vă prin SSH la Pi și reînnoiți certificatul

Deschideți o sesiune SSH către Pi și introduceți această comandă

sudo certbot renew

Aceasta va reînnoi certificatul pentru încă 90 de zile

3. Exportați și importați certificatul

Acum trebuie să urmați pașii din punctul 3.3

4. Actualizați certificatul pe USG

Acum continuați cu pasul 4.2

5. Schimbați porturile înapoi

Urmați pașii din 5.1 și 5.2

Felicitări, acum ați reînnoit certificatul Let's Encrypt pe USG-ul dumneavoastră.

Disclaimer: Vă rugăm să înțelegeți că aceasta este doar o descriere a modului de a avea un certificat Let's Encrypt pe USG. Dacă ceva este în neregulă cu Raspberry Pi, vă rugăm să înțelegeți că nu putem oferi suport pentru probleme legate de Pi!

Articole în această secțiune

A fost util acest articol?
0 din 3 au considerat acest conținut util
Partajare

Comentarii

0 comentarii

Vă rugăm să vă autentificați pentru a lăsa un comentariu.