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ă.

Veți învăța două moduri de implementare:
- Integrare nativă FortiGate ACME cu acreditări EAB
- 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șiauto-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

