SSL-certifikater kan højst være gyldige i 199 dage. Senest 15-03-2027 bliver grænsen 99 dage, for DigiCert-certifikater allerede fra 24-02-2027. Læs mere →

F5 BIG-IP: SSL-certifikater med ACME

BIG-IP 21.1.0 og nyere henter certifikatet med indbygget ACME. Ældre versioner får det fra Lego på en proxy-vært via iControl REST. FairSSL AutoDNS klarer domænevalideringen.

Sådan virker det

  1. Vælg vej efter version Fra BIG-IP 21.1.0 opretter du FairSSL som ACME-provider på BIG-IP. På ældre versioner kører Lego på en proxy-vært.
  2. Klargør adgang Indbygget ACME: opret ACME-kontonøglen og registrér kontoen. Lego: opret en iControl REST-bruger med rollen Certificate Manager.
  3. Udsted og tilknyt Bestil trafikcertifikatet, og vælg det i Client SSL-profilen. Med Lego uploader deploy-hooket cert og nøgle og opdaterer profilen.
  4. Kontrollér Tjek det serverede certifikat for det rigtige værtsnavn (SNI) og udløbsdato. Med Lego skal fairssl-acme-cert bruges af Client SSL-profilen.

← Alle vejledninger

Indbygget ACME fra BIG-IP 21.1.0. Brug Lego og iControl REST på ældre versioner. FairSSL håndterer domænevalideringen med AutoDNS.

Understøttede versioner

F5 BIG-IPVersionerBIG-IP 21.1.0 og nyereKører påEnheden selvACME-klientEnhedens indbyggede ACME-klient med EAB

BIG-IP 21.1.0 og nyere: indbygget ACME

Opret en ACME-profil i FairSSLs kontrolpanel, og hent directory-URL, EAB KID og EAB HMAC-nøgle via ACME Easy Guide. Vælg Appliance og F5 BIG-IP (21.1.0+). Hold HMAC-nøglen fortrolig.

1. Kontrollér version og domæner

Brug BIG-IP/TMOS 21.1.0 eller nyere og en bruger med administratoradgang til opsætningen. Alle navne skal være tilladt af ACME-profilen og klargjort til AutoDNS hos FairSSL. FairSSL håndterer domænevalideringen. Vælg den eksterne Lego/iControl REST-metode på ældre BIG-IP-versioner.

2. Klargør DNS og intern proxy

Opret en resolver under Network → DNS Resolvers → DNS Resolver List. Opret derefter en intern proxy under System → Services → Internal Proxies, og vælg resolveren. Ved direkte forbindelse skal Use Proxy Server være slået fra; den interne proxy er stadig nødvendig. Sørg for DNS-opslag og udgående HTTPS til FairSSL gennem TMM-routing. Adgang fra management-interfacet alene er ikke tilstrækkelig.

3. Opret ACME-kontonøglen

Åbn System → Certificate Management → Traffic Certificate Management. Opret et selvsigneret certifikat med privat nøgle, fx fairssl-acme-account, med Issuer: Self. Dette objekt bruges som Account Key ved registrering. Det er en særskilt kontonøgle, ikke trafikcertifikatet eller EAB HMAC-nøglen.

4. Opret FairSSL som ACME-provider

Åbn Traffic Certificate Management → ACME Provider List → Create. Brug navnet fairssl-acme, vælg den interne proxy, og udfyld felterne nedenfor. CA Certificate skal have tillid til HTTPS-certifikatet på FairSSLs ACME-server; brug ca-bundle.crt, hvis det indeholder den nødvendige tillid. Indsæt EAB HMAC-værdien præcist som leveret.

Kopiér værdierne til de tilsvarende felter under ACME Provider. Tilføj ikke /directory til URL’en, og Base64-kod ikke HMAC-nøglen igen.

ACME Provider
F5FairSSL / BIG-IP
CA Certificateca-bundle.crt
Directory URLhttps://fairssl.dk/acme
Account Keyfairssl-acme-account
External Account Binding KeyEAB KID
External Account Binding MAC KeyEAB HMAC
External Account Binding AlgorithmHS256
Contactsmailto: efterfulgt af jeres kontaktadresse
Challenge TypeHTTP-01

5. Registrér kontoen

Acceptér Terms and Conditions, vælg Create Account, og gem med Finished. Kontrollér Account Status: Valid. Bevar kontonøglen og provider-konfigurationen til fornyelser. En EAB-nøgle til engangsbrug skal ikke bruges til gentagne kontoregistreringer. HTTP-01 er F5s klientindstilling; FairSSL validerer centralt med AutoDNS. FairSSL kræver derfor ikke offentlig port 80 på BIG-IP. En opsætning uden HTTP-listener på BIG-IP er ikke dækket af denne guide.

6. Bestil trafikcertifikatet

Opret et nyt certifikat under Traffic Certificate Management med Issuer: Certificate Authority. Udfyld Common Name og Subject Alternative Name. Medtag alle navne, også Common Name, med DNS: foran hvert SAN-navn, fx DNS:www.example.com. Under Certificate Order Properties vælges Provider: ACME Provider, ACME Order Provider: fairssl-acme og Type: New. Identifiers skal indeholde de samme domænenavne. Klik Finished, åbn fanen Key, og klik Update for at starte bestillingen. Kontrollér udstedelse, navne og udløbsdato.

7. Tilknyt certifikatet og kontrollér fornyelse

Åbn Local Traffic → Profiles → SSL → Client. Vælg det udstedte certifikat, den tilhørende private nøgle og den korrekte intermediate-kæde under Certificate Key Chain. Providerens ca-bundle.crt er ikke webstedets intermediate-kæde. Knyt profilen til den relevante HTTPS-virtual server, og kontrollér det faktisk serverede certifikat med det rigtige værtsnavn/SNI. F5 beskriver automatisk fornyelse; bevar ACME-kontoen, og overvåg udløbsdatoen. Bekræft en fornyelse i dit miljø. HA, AS3 og wildcard er ikke dækket af denne guide.

F5s dokumentation · Kontakt FairSSL

BIG-IP før 21.1.0: Lego og iControl REST

  • ✓ En proxy-vært (Linux, fx en eksisterende management-server) kører Lego v5.0.4+.
  • ✓ Lego udsteder certifikatet via FairSSL AutoDNS. Ingen DNS-API-adgang nødvendig.
  • ✓ Et deploy-hook uploader cert + nøgle via iControl REST og opdaterer Client SSL-profilen.
  • ✓ Hvis F5 kører som HA-par, kalder scriptet ConfigSync til standby.
  • ✓ Cron kører Lego dagligt. ARI styrer fornyelsen.

Opsætning

Trin 1: Opret iControl REST-bruger på F5

I BIG-IP webgrænsefladen: gå til System → Users → User List og opret en lokal bruger (fx acme-deploy) med rollen Certificate Manager for partition Common (eller den partition, hvor jeres SSL-profiler ligger). Brug en stærk adgangskode.

Trin 2: Installer Lego

arch=$(dpkg --print-architecture)
case "$arch" in amd64|arm64) ;; *) echo "Ret arch"; exit 1 ;; esac
version=$(curl -fsSL https://api.github.com/repos/go-acme/lego/releases/latest \
  | sed -n 's/.*"tag_name": "\(v[^"]*\)".*/\1/p' | head -1)
curl -fL "https://github.com/go-acme/lego/releases/download/${version}/lego_${version}_linux_${arch}.tar.gz" \
  | sudo tar -xz -C /usr/local/bin lego
sudo install -d -m 0700 /etc/ssl/f5

Trin 3: Opret deploy-script

Scriptet uploader cert og nøgle med POST /mgmt/shared/file-transfer/uploads, opretter eller opdaterer ssl-cert- og ssl-key-objekter via cmd=install, og opdaterer Client SSL-profilen. Tilføj eventuelt en ConfigSync-blok hvis I kører HA.

sudo tee /usr/local/bin/f5-deploy.sh > /dev/null << 'SCRIPT'
#!/bin/bash
set -euo pipefail
F5_HOST="bigip.eksempel.dk"
F5_USER="acme-deploy"
F5_PASS="DIT_API_KODE"
CERT_NAME="fairssl-acme-cert"
KEY_NAME="fairssl-acme-key"
PROFILE="fairssl-clientssl"   # Client SSL profile name in partition Common

CERT="$LEGO_HOOK_CERT_PATH"
KEY="$LEGO_HOOK_CERT_KEY_PATH"

# 1. Upload cert + key til /var/config/rest/downloads
curl -sS -k --user "$F5_USER:$F5_PASS" \
  -H "Content-Type: application/octet-stream" \
  -H "Content-Range: 0-$(($(stat -c%s "$CERT")-1))/$(stat -c%s "$CERT")" \
  --data-binary "@$CERT" \
  "https://$F5_HOST/mgmt/shared/file-transfer/uploads/$CERT_NAME.crt"

curl -sS -k --user "$F5_USER:$F5_PASS" \
  -H "Content-Type: application/octet-stream" \
  -H "Content-Range: 0-$(($(stat -c%s "$KEY")-1))/$(stat -c%s "$KEY")" \
  --data-binary "@$KEY" \
  "https://$F5_HOST/mgmt/shared/file-transfer/uploads/$KEY_NAME.key"

# 2. Installer cert + key som objekter (overskriver hvis de findes)
curl -sS -k --user "$F5_USER:$F5_PASS" \
  -H "Content-Type: application/json" \
  -d "{ \"command\": \"install\", \"name\": \"$CERT_NAME\", \"from-local-file\": \"/var/config/rest/downloads/$CERT_NAME.crt\" }" \
  "https://$F5_HOST/mgmt/tm/sys/crypto/cert"

curl -sS -k --user "$F5_USER:$F5_PASS" \
  -H "Content-Type: application/json" \
  -d "{ \"command\": \"install\", \"name\": \"$KEY_NAME\", \"from-local-file\": \"/var/config/rest/downloads/$KEY_NAME.key\" }" \
  "https://$F5_HOST/mgmt/tm/sys/crypto/key"

# 3. Opdater Client SSL-profilen
curl -sS -k --user "$F5_USER:$F5_PASS" \
  -X PATCH -H "Content-Type: application/json" \
  -d "{ \"cert\": \"$CERT_NAME\", \"key\": \"$KEY_NAME\" }" \
  "https://$F5_HOST/mgmt/tm/ltm/profile/client-ssl/~Common~$PROFILE"

# 4. (Valgfri) ConfigSync til standby i et HA-par
# curl -sS -k --user "$F5_USER:$F5_PASS" \
#   -H "Content-Type: application/json" \
#   -d '{"command": "run", "utilCmdArgs": "config-sync to-group /Common/device-trust-group"}' \
#   "https://$F5_HOST/mgmt/tm/cm"
SCRIPT
sudo chmod 700 /usr/local/bin/f5-deploy.sh

Trin 4: Udsted certifikatet

sudo /usr/local/bin/lego run \
  --domains "vip.eksempel.dk" \
  --server https://fairssl.dk/acme \
  --eab --eab.kid DIN_EAB_KID --eab.hmac DIN_EAB_HMAC \
  --accept-tos --email acme-client@fairssl.dk \
  --http --http.webroot "/var/www/html" \
  --path "/etc/ssl/f5" \
  --deploy-hook "/usr/local/bin/f5-deploy.sh"

Trin 5: Planlæg dagligt

# /etc/cron.d/lego-f5
17 04 * * * root /usr/local/bin/lego run \
  --domains "vip.eksempel.dk" \
  --server https://fairssl.dk/acme \
  --accept-tos --email acme-client@fairssl.dk \
  --http --http.webroot "/var/www/html" \
  --path "/etc/ssl/f5" \
  --renew-days 7 \
  --deploy-hook "/usr/local/bin/f5-deploy.sh"

Trin 6: Verificér

  • I BIG-IP webgrænsefladen under System → Certificate Management → Traffic Certificate Management → SSL Certificate List: bekræft at fairssl-acme-cert findes med den nye udløbsdato.
  • Under Local Traffic → Profiles → SSL → Client: bekræft at fairssl-clientssl-profilen bruger det nye cert + key.
  • Test offentligt med FairSSLs SSL-scanner.
  • HA-opsætninger: bekræft via standby BIG-IP at konfigurationen er synkroniseret.

Certifikater på mange servere og appliances

Et offentligt SSL-certifikat kan højst være gyldigt i 199 dage nu, 99 dage senest 15-03-2027 og 46 dage senest 15-03-2029. Hvert certifikat skal dermed skiftes mindst to gange om året nu og mindst otte gange om året fra 2029, på hver server, firewall og load balancer, det bruges på. sslbrain fra FairSSL kører som en appliance i jeres eget netværk og fornyer og installerer certifikaterne fra ét sted, også på udstyr uden agent.

Sådan fornyer og installerer sslbrain certifikater på F5 BIG-IP(åbner sslbrain.com i en ny fane)

Ofte stillede spørgsmål

Find svar på de mest almindelige spørgsmål om SSL certifikater og FairSSL.

Indbygget ACME fra BIG-IP 21.1.0. Brug Lego og iControl REST på ældre versioner. FairSSL håndterer domænevalideringen med AutoDNS.
iControl REST er F5s REST API til BIG-IP. Det dækker hele konfigurationsfladen, inklusive SSL-certifikatadministration via /mgmt/tm/sys/file/ssl-cert og /mgmt/tm/sys/file/ssl-key. API'et er aktiveret som standard på alle moderne BIG-IP-versioner og bruges af F5s officielle Ansible-moduler, Terraform-provider og en lang række automationsværktøjer.
iControl REST er mest fleksibelt og kan kaldes fra en hvilken som helst host med curl. tmsh er bedre, hvis du allerede står på selve BIG-IP-boksen eller har en bastion. Vores eksempel bruger iControl REST, fordi proxy-værten ligger uden for F5.
Opret en dedikeret iControl REST-bruger med rollen Certificate Manager (eller Administrator hvis I ikke har granulære roller). Brugeren skal kunne uploade filer, oprette og opdatere ssl-cert og ssl-key, samt opdatere Client SSL-profilen. Brug en stærk adgangskode og gem det med restriktiv læseadgang (chmod 600) på proxy-værten.
Når certifikatet og nøglen er uploadet, opdaterer scriptet Client SSL-profilen via PATCH /mgmt/tm/ltm/profile/client-ssl/<profile> med de nye cert- og key-felter. Eksisterende virtuelle servere, der bruger profilen, får automatisk det nye certifikat, så snart F5 har genindlæst profilen.
Upload til den aktive enhed og kør derefter POST /mgmt/tm/cm/config-sync for at synkronisere konfigurationen til standby. Vores eksempelscript dækker den enkelte enhed; tilføj sync-kommandoen, hvis I har HA. ConfigSync overfører både certifikatfiler og profilopdateringen.
Lego kører dagligt. Når ARI eller den indbyggede 7-dages fallback udløser fornyelse, hentes et nyt certifikat, og deploy-hooket uploader filerne, opdaterer Client SSL-profilen og synkroniserer (hvis HA). Virtuelle servere begynder at servere det nye certifikat ved næste forbindelse, uden at de selv genstartes.

Klar til at automatisere F5-certifikater?

Opret en gratis konto og bestil dit første certifikat. Et DV-certifikat udstedes på under 2 minutter.