bg-tutorials

Cum să instalați un certificat SSL ACME pe FortiGate

Acest ghid arată cum să instalați și să automatizați certificatele SSL pe firewall-urile FortiGate utilizând protocolul ACME cu External Account Binding (EAB), metoda standard utilizată de autoritățile de certificare comerciale pentru automatizarea sigură.

Frotigate ACME SSL

Veți învăța două moduri de implementare:

  1. Integrare nativă FortiGate ACME cu acreditări EAB
  2. Emitere externă cu ACME.sh, urmată de importul în FortiGate

Ambele metode sunt compatibile cu punctele finale ACME comerciale care emit certificate prin autentificare KID + HMAC.


Înainte de a începe

Veți avea nevoie de:

  • FortiGate 7.6.0 sau mai nou (versiunile anterioare nu acceptă EAB)
  • Acces root sau admin la CLI FortiGate
  • URL-ul directorului ACME de la furnizorul dvs. de certificate
  • acreditări EAB (ID cheie + cheie HMAC)
  • Un nume de domeniu cu înregistrări DNS A/AAAA valide care indică IP-ul public al FortiGate
  • Portul 80 accesibil de pe internet pentru validarea HTTP-01

Pasul 1: Verificați versiunea firmware

Utilizați interfața de linie de comandă pentru a verifica versiunea FortiOS:

get system status

Asigurați-vă că apare FortiOS 7.6.0 sau mai nou. Dacă nu, efectuați mai întâi actualizarea. Versiunile mai vechi nu includ câmpurile acme-eab-key-id și acme-eab-key-hmac.


Pasul 2: Crearea unui obiect de certificat local pentru ACME

Executați comanda de mai jos:

config vpn certificate local
    edit "acme-vpn-cert"
        set enrollment acme
        set acme-ca-url "https://acme.yourca.com/v2/acme"
        set acme-eab-key-id "YOUR_EAB_KID"
        set acme-eab-key-hmac "YOUR_EAB_HMAC_KEY"
        set acme-email "[email protected]"
        set acme-domain "vpn.example.com"
        set acme-auth-url "http://vpn.example.com/.well-known/acme-challenge"
        set auto-regenerate-days 30
        set auto-regenerate enable
    next
end

Această comandă creează un nou obiect de certificat local numit acme-vpn-cert și solicită FortiGate să îl solicite și să îl reînnoiască automat de la CA comercial utilizând protocolul ACME cu External Account Binding.

Părți cheie explicate:

  • set enrollment acme: spune FortiGate acest certificat va fi gestionat prin ACME, nu importat manual.
  • set acme-ca-url: punctul final al directorului ACME al autorității dvs. de certificare.
  • set acme-eab-key-id / set acme-eab-key-hmac: acreditările EAB (KID și HMAC) care vă autorizează contul cu AC.
  • set acme-email: utilizat pentru notificările de reînnoire și contactul cu AC.
  • set acme-domain: domeniul pe care FortiGate îl va valida și securiza.
  • set acme-auth-url: locația HTTP în care AC plasează și verifică provocarea ACME.
  • set auto-regenerate și auto-regenerate-days: activați reînnoirea automată înainte de expirare.

Etapa 3: Verificarea căii de validare

FortiGate trebuie să răspundă la http://vpn.example.com/.well-known/acme-challenge/.

Dacă aveți redirecționarea HTTPS activată, adăugați o regulă de ocolire, astfel încât calea de provocare să rămână pe HTTP simplu în timpul validării.

Iată cum să faceți acest lucru pentru serverele virtuale:

config firewall vip
    edit "acme-http"
        set extintf "wan1"
        set extip <your-public-ip>
        set mappedip "192.168.1.99"
        set extport 80
        set mappedport 80
        set protocol tcp
    next
end

Înlocuiți <your-public-ip> și 192.168.1.99 cu adresele IP externe și interne reale. Aceste valori sunt marcaje utilizate doar ca exemplu.


Etapa 4: Declanșarea cererii inițiale

Acum că FortiGate știe cum să ajungă la CA și unde să plaseze fișierele de validare, puteți începe procesul real de înscriere a certificatului:

execute vpn certificate local generate "acme-vpn-cert"

Această comandă solicită FortiGate să contacteze CA, să efectueze validarea domeniului și să recupereze automat certificatul semnat.


Pasul 5: Verificați starea certificatului

Pentru a verifica starea certificatului, executați următoarea comandă:

get vpn certificate local

Ar trebui să vedeți:

Status: valid
Issuer: Your CA Name

Dacă statutul rămâne în așteptare sau invalid, verificați din nou accesibilitatea DNS și a portului 80.


Pasul 6: Aplicați certificatul

Utilizați interfața grafică sau CLI pentru a-l atribui VPN SSL, management HTTPS sau servicii proxy:

config vpn ssl settings
    set servercert "acme-vpn-cert"
end

Iată cum se face prin intermediul GUI:

Mergeți la VPN > Setări SSL-VPN > Certificat server > Selectați acme-vpn-cert.


Pasul 7: Rezolvarea problemelor și reînnoiri

Dacă certificatul nu se eliberează imediat, cele mai frecvente motive sunt:

  • Serverul ACME nu a putut ajunge la URL-ul dvs. de validare (deschideți portul 80).
  • Cheia dvs. KID sau HMAC nu corespunde așteptărilor CA.
  • Ați atins o limită temporară de reluare sau de rată; încercați din nou după câteva minute.

Odată ce certificatul este valabil, FortiGate va gestiona reînnoirile automat pe baza setării auto-regenerate-days. Puteți testa reînnoirea oricând cu:

execute vpn certificate local renew "acme-vpn-cert"

Fallback: Emitere externă (ACME.sh) și import către FortiGate

Dacă punctul final ACME al CA nu funcționează direct cu FortiGate, puteți emite certificatul extern cu ACME.sh și îl puteți importa. Iată cum să faceți acest lucru:

Pasul 1: Instalarea ACME.sh

Rulați aceste comenzi pe orice sistem Linux, macOS sau BSD care are acces la internet. Nu executați aceste comenzi pe FortiGate în sine (FortiGate nu acceptă scripturi shell personalizate).

curl https://get.acme.sh | sh
source ~/.bashrc

Aceasta instalează clientul acme.sh în directorul dvs. personal și îl încarcă în shell-ul dvs. Înlocuiți marcajul cu CA și detaliile dvs. reale.

Pasul 2: Înregistrați-vă contul ACME cu EAB

acme.sh --register-account \
  --server https://acme.yourca.com/v2/acme \
  --eab-kid "YOUR_EAB_KID" \
  --eab-hmac-key "YOUR_EAB_HMAC_KEY" \
  -m [email protected]

Pasul 3: Eliberarea certificatului

acme.sh --issue \
  -d vpn.example.com \
  --webroot /var/www/html \
  --server https://acme.yourca.com/v2/acme \
  --eab-kid "YOUR_EAB_KID" \
  --eab-hmac-key "YOUR_EAB_HMAC_KEY"

Pasul 4: Localizați fișierele de certificate

După o emitere reușită, fișierele certificatului sunt stocate în directorul dvs. personal sub ~/.acme.sh/vpn.example.com/

În interiorul acestui dosar, veți găsi:

  • fullchain.cer – lanțul complet de certificate
  • vpn.example.com.key – cheia dvs. privată
  • ca.cer – certificatul CA intermediar

Puteți să le deschideți cu un editor de text sau să verificați detaliile prin OpenSSL:

openssl x509 -in fullchain.cer -noout -dates -issuer -subject

Pasul 5: Import în FortiGate

Puteți importa certificatul prin intermediul GUI:

Mergeți la: Sistem > Certificate > Import > Certificat local și
încărcați certificatul și cheia privată.

Sau puteți utiliza CLI:

config vpn certificate local
    edit "acme-vpn-cert"
        set private-key "-----BEGIN PRIVATE KEY-----..."
        set certificate "-----BEGIN CERTIFICATE-----..."
    next
end

Pasul 6: Atribuire și reînnoire

Odată ce certificatul este reînnoit, asigurați-vă că îl reatribuiți VPN-ului SSL sau interfeței web FortiGate (dacă nu se aplică automat). Dacă utilizați un client ACME extern pe un server diferit, configurați o sarcină programată (cum ar fi o sarcină cron) pentru a copia automat fișierele noului certificat pe FortiGate, utilizând SCP sau un apel API.

Exemplu:

scp ~/.acme.sh/vpn.example.com/fullchain.cer admin@fortigate:/root/
scp ~/.acme.sh/vpn.example.com/vpn.example.com.key admin@fortigate:/root/

Apoi reîncărcați certificatul:

execute vpn certificate local import "acme-vpn-cert"

Întrebări frecvente

Dacă configurați ACME cu un AC comercial pentru prima dată, apar câteva întrebări. Iată răspunsuri rapide la cele pe care le întâlnim cel mai des:

Pot utiliza această configurație cu orice CA comercial?

Da, atâta timp cât furnizorul dvs. acceptă ACME + External Account Binding (EAB). CA-uri importante precum Sectigo și DigiCert furnizează deja URL-uri de directoare ACME și acreditări EAB.

Trebuie să deschid ambele porturi HTTP și HTTPS pentru validare?

Doar portul 80 (HTTP) este necesar pentru validarea HTTP-01 a ACME. Păstrați HTTPS (443) deschis pentru traficul normal, dar nu redirecționați cererile de validare de la HTTP la HTTPS.

Ce se întâmplă dacă certificatul meu nu se reînnoiește automat?

Puteți declanșa reînnoirea manuală în orice moment cu:

execute vpn certificate local renew "acme-vpn-cert"

Dacă încă nu reușește, verificați din nou acreditările EAB, DNS-ul domeniului și dacă firewall-ul permite în continuare accesul de ieșire la punctul final ACME al CA.

Pot utiliza aceleași acreditări EAB pe mai multe FortiGate?

Depinde de CA-ul dumneavoastră. Unele permit reutilizarea unui cont pentru mai multe dispozitive, altele emit acreditări unice pentru fiecare comandă sau domeniu. Respectați întotdeauna politica CA-ului dvs. pentru a evita limitarea tarifelor sau conflictele de conturi.


Cuvinte finale

Acum știți cum să instalați un certificat SSL ACME peFortiGate, fie prin integrarea sa nativă EAB, fie prin emiterea externă prin ACME.sh.

Ambele metode îndeplinesc standardele de securitate ale întreprinderilor și acceptă reînnoiri complet automatizate cu autorități de certificare comerciale.

Economisește 10% la certificatele SSL în momentul plasării comenzii!

Eliberare rapidă, criptare puternică, încredere în browser de 99,99%, suport dedicat și garanție de returnare a banilor în 25 de zile. Codul cuponului: SAVE10

A detailed image of a dragon in flight

Autor cu experiență, specializat în certificate SSL. Transformă subiectele complexe despre securitatea cibernetică în conținut clar și captivant. Contribuie la îmbunătățirea securității digite prin narațiuni cu impact.