bg-tutorials

FortiGate’e ACME SSL Sertifikası Nasıl Kurulur

Bu kılavuz, ticari sertifika yetkililerinin güvenli otomasyon için kullandığı standart yöntem olan Harici Hesap Bağlama (EAB) ile ACME protokolünü kullanarak FortiGate güvenlik duvarlarına SSL sertifikalarının nasıl kurulacağını ve otomatikleştirileceğini gösterir.

Frotigate ACME SSL

Dağıtım için iki yol öğreneceksiniz:

  1. EAB kimlik bilgileriyle yerel FortiGate ACME entegrasyonu
  2. ACME.sh ile harici yayın, ardından FortiGate’e içe aktarma

Her iki yöntem de KID + HMAC kimlik doğrulaması yoluyla sertifika veren ticari ACME uç noktalarıyla uyumludur.


Başlamadan Önce

İhtiyacın olacak:

  • FortiGate 7.6.0 veya daha yeni (önceki sürümler EAB’yi desteklemez)
  • FortiGate CLI’ya kök veya yönetici erişimi
  • Sertifika sağlayıcınızdan ACME dizin URL’ si
  • EAB kimlik bilgileri (Anahtar Kimliği + HMAC Anahtarı)
  • FortiGate’inizin genel IP’sine işaret eden geçerli A/AAAA DNS kayıtlarına sahip bir alan adı
  • HTTP-01 doğrulaması için internetten erişilebilen 80 numaralı bağlantı noktası

Adım 1: Ürün yazılımı sürümünüzü kontrol edin

FortiOS sürümünüzü kontrol etmek için Komut Satırı Arayüzünü kullanın:

get system status

FortiOS 7.6.0 veya daha yeni bir sürümün göründüğünden emin olun. Değilse, önce yükseltin. Eski sürümler acme-eab-key-id ve acme-eab-key-hmac alanlarını içermez.


Adım 2: ACME için yerel bir sertifika nesnesi oluşturun

Aşağıdaki komutu çalıştırın:

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

Bu komut acme-vpn-cert adında yeni bir yerel sertifika nesnesi oluşturur ve FortiGate’e Harici Hesap Bağlama ile ACME protokolünü kullanarak ticari CA’nızdan otomatik olarak talep etmesini ve yenilemesini söyler.

Anahtar parçalar açıklanmıştır:

  • set enrollment acme: FortiGate’e bu sertifikanın ACME aracılığıyla yönetileceğini, manuel olarak içe aktarılmayacağını söyler.
  • set acme-ca-url: sertifika yetkilinizin ACME dizini uç noktası.
  • set acme-eab-key-id / set acme-eab-key-hmac: CA ile hesabınızı yetkilendiren EAB kimlik bilgileriniz (KID ve HMAC).
  • set acme-email: yenileme bildirimleri ve CA iletişimi için kullanılır.
  • set acme-domain: FortiGate’in doğrulayacağı ve güvenliğini sağlayacağı etki alanı.
  • set acme-auth-url: CA’nın ACME meydan okumasını yerleştirdiği ve doğruladığı HTTP konumu.
  • set auto-regenerate ve auto-regenerate-days: süresi dolmadan önce otomatik yenilemeyi etkinleştirin.

Adım 3: Doğrulama yolunu doğrulayın

FortiGate’iniz http://vpn.example.com/.well-known/acme-challenge/ adresine yanıt vermelidir.

HTTPS yeniden yönlendirmeyi etkinleştirdiyseniz, doğrulama sırasında meydan okuma yolunun düz HTTP’de kalması için bir bypass kuralı ekleyin.

Sanal sunucular için bunu nasıl yapacağınız aşağıda açıklanmıştır:

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

<your-public-ip> ve 192.168.1.99 adreslerini gerçek harici ve dahili IP adreslerinizle değiştirin. Bu değerler yalnızca örnek olması için kullanılan yer tutuculardır.


Adım 4: İlk talebi tetikleyin

Artık FortiGate CA’nıza nasıl ulaşacağını ve doğrulama dosyalarını nereye yerleştireceğini bildiğine göre gerçek sertifika kayıt işlemini başlatabilirsiniz:

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

Bu komut FortiGate’e CA ile iletişime geçmesini, etki alanı doğrulaması yapmasını ve imzalı sertifikayı otomatik olarak almasını söyler.


Adım 5: Sertifika durumunu kontrol edin

Sertifika durumunuzu kontrol etmek için aşağıdaki komutu çalıştırın:

get vpn certificate local

Görmelisin:

Status: valid
Issuer: Your CA Name

Durum beklemede veya geçersiz olarak kalırsa, DNS ve bağlantı noktası 80 erişilebilirliğini yeniden kontrol edin.


Adım 6: Sertifikayı uygulayın

SSL VPN, HTTPS yönetimi veya proxy hizmetlerine atamak için GUI veya CLI kullanın:

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

GUI aracılığıyla nasıl yapılacağı aşağıda açıklanmıştır:

VPN ‘e gidin> SSL-VPN Ayarları > Sunucu Sertifikası > acme-vpn-cert’i seçin.


Adım7: Sorun giderme ve yenilemeler

Sertifika hemen verilmezse, bunun en yaygın nedenleri şunlardır:

  • ACME sunucusu doğrulama URL’nize ulaşamadı (açık port 80).
  • KID veya HMAC anahtarınız CA’nın beklediği anahtarla eşleşmiyor.
  • Geçici bir yeniden oynatma veya hız sınırına ulaştınız; birkaç dakika sonra yeniden deneyin.

Sertifika geçerli olduğunda, FortiGate auto-regenerate-days ayarınıza göre yenilemeleri otomatik olarak gerçekleştirecektir. Yenilemeyi istediğiniz zaman test edebilirsiniz:

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

Geri Dönüş: Harici Verme (ACME.sh) ve FortiGate’e İçe Aktarma

CA’nızın ACME uç noktası FortiGate ile doğrudan çalışmıyorsa, ACME.sh ile sertifikayı harici olarak yayınlayabilir ve içe aktarabilirsiniz. İşte nasıl yapılacağı:

Adım 1: ACME.sh dosyasını yükleyin

Bu komutları internet erişimi olan herhangi bir Linux, macOS veya BSD sisteminde çalıştırın. Bunu FortiGate’in kendisinde çalıştırmayacaksınız (FortiGate özel kabuk komut dosyalarını desteklemez).

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

Bu, acme.sh istemcisini ev dizininize yükler ve kabuğunuza yükler. Yer tutucuyu gerçek CA’nız ve ayrıntılarınızla değiştirin.

Adım 2: ACME hesabınızı EAB’ye kaydedin

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]

Adım 3: Sertifikayı düzenleyin

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"

Adım 4: Sertifika dosyalarını bulun

Başarılı bir şekilde verildikten sonra, sertifika dosyalarınız ev dizininizde ~/.acme.sh/vpn.example.com/

Bu klasörün içinde şunları bulacaksınız:

  • fullchain.cer – sertifika zincirinin tamamı
  • vpn.example.com.key – özel anahtarınız
  • ca.cer – ara CA sertifikası

Bunları bir metin düzenleyici ile açabilir veya OpenSSL aracılığıyla ayrıntıları doğrulayabilirsiniz:

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

Adım 5: FortiGate’e İçe Aktar

Sertifikayı GUI aracılığıyla içe aktarabilirsiniz:

Şu adrese gidin: Sistem > Sertifikalar > İçe Aktar > Yerel Sertifika ve
sertifika ve özel anahtarı yükleyin.

Ya da CLI’yı kullanabilirsiniz:

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

Adım 6: Atayın ve yenileyin

Sertifika yenilendikten sonra, SSL VPN’inize veya FortiGate web arayüzüne yeniden atadığınızdan emin olun (otomatik olarak uygulanmıyorsa). Farklı bir sunucuda harici bir ACME istemcisi kullanıyorsanız, SCP veya bir API çağrısı kullanarak yeni sertifika dosyalarını FortiGate’e otomatik olarak kopyalamak için zamanlanmış bir görev (cron işi gibi) ayarlayın.

Örnek:

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

Ardından sertifikayı yeniden yükleyin:

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

Sık Sorulan Sorular

ACME’ yi ticari bir CA ile ilk kez kuruyorsanız, birkaç soru ortaya çıkma eğilimindedir. İşte en sık karşılaştıklarımıza hızlı yanıtlar:

Bu kurulumu herhangi bir ticari CA ile kullanabilir miyim?

Evet, sağlayıcınız ACME + Harici Hesap Bağlama’yı (EAB) desteklediği sürece. Sectigo ve DigiCert gibi büyük CA’lar zaten ACME dizin URL’leri ve EAB kimlik bilgileri sağlar.

Doğrulama için hem HTTP hem de HTTPS portlarını açmam gerekiyor mu?

ACME’nin HTTP-01 doğrulaması için yalnızca 80 numaralı bağlantı noktası (HTTP) gereklidir. HTTPS’yi (443) normal trafik için açık tutun, ancak doğrulama isteklerini HTTP’den HTTPS’ye yönlendirmeyin.

Sertifikam otomatik olarak yenilenmezse ne olur?

ile istediğiniz zaman manuel yenilemeyi tetikleyebilirsiniz:

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

Hala başarısız olursa, EAB kimlik bilgilerinizi, etki alanı DNS’sini ve güvenlik duvarının CA’nızın ACME uç noktasına giden erişime hala izin verip vermediğini yeniden kontrol edin.

Aynı EAB kimlik bilgilerini birden fazla FortiGate’te kullanabilir miyim?

Bu CA’nıza bağlıdır. Bazıları birden fazla cihaz için bir hesabın yeniden kullanılmasına izin verirken, diğerleri sipariş veya etki alanı başına benzersiz kimlik bilgileri verir. Ücret sınırlarını veya hesap çakışmalarını önlemek için her zaman CA’nızın politikasını izleyin.


Son Sözler

Artık FortiGate’e bir ACME SSL sertifikasını yerel EAB entegrasyonu veya ACME.sh aracılığıyla harici olarak nasıl yükleyeceğinizi biliyorsunuz.

Her iki yöntem de kurumsal güvenlik standartlarını karşılar ve ticari sertifika yetkilileriyle tam otomatik yenilemeleri destekler.

Bugün SSL Dragon’dan sipariş vererek SSL Sertifikalarında %10 indirimden yararlanın!

Hızlı düzenleme, güçlü şifreleme, %99,99 tarayıcı güvenilirliği, özel destek ve 25 günlük para iade garantisi. Kupon kodu: SAVE10

A detailed image of a dragon in flight
Tarafından yazıldı

SSL Sertifikaları konusunda uzmanlaşmış deneyimli içerik yazarı. Karmaşık siber güvenlik konularını açık, ilgi çekici içeriğe dönüştürmek. Etkili anlatımlar yoluyla dijital güvenliğin geliştirilmesine katkıda bulunun.