bg-tutorials

Cara Memasang Sertifikat SSL ACME di FortiGate

Panduan ini menunjukkan cara menginstal dan mengotomatiskan sertifikat SSL pada firewall FortiGate menggunakan protokol ACME dengan Pengikatan Akun Eksternal (External Account Binding/EAB), metode standar yang digunakan otoritas sertifikat komersial untuk otomatisasi yang aman.

Frotigate ACME SSL

Anda akan mempelajari dua cara untuk menerapkannya:

  1. Integrasi FortiGate ACME asli dengan kredensial EAB
  2. Penerbitan eksternal dengan ACME.sh, diikuti dengan impor ke FortiGate

Kedua metode ini kompatibel dengan titik akhir ACME komersial yang mengeluarkan sertifikat melalui autentikasi KID + HMAC.


Sebelum Anda Mulai

Kau akan membutuhkannya:

  • FortiGate 7.6.0 atau yang lebih baru (versi sebelumnya tidak mendukung EAB)
  • Akses root atau admin ke CLI FortiGate
  • URL direktori ACME dari penyedia sertifikat Anda
  • Kredensial EAB (ID Kunci + Kunci HMAC)
  • Nama domain dengan catatan DNS A/AAAA yang valid yang mengarah ke IP publik FortiGate Anda
  • Port 80 dapat dijangkau dari internet untuk validasi HTTP-01

Langkah 1: Periksa versi firmware Anda

Gunakan Antarmuka Baris Perintah untuk memeriksa versi FortiOS Anda:

get system status

Pastikan FortiOS 7.6.0 atau yang lebih baru muncul. Jika tidak, tingkatkan terlebih dahulu. Versi yang lebih lama tidak menyertakan bidang acme-eab-key-id dan acme-eab-key-hmac.


Langkah 2: Buat objek sertifikat lokal untuk ACME

Jalankan perintah di bawah ini:

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

Perintah ini membuat objek sertifikat lokal baru bernama acme-vpn-cert dan memberi tahu FortiGate untuk secara otomatis meminta dan memperbaruinya dari CA komersial Anda menggunakan protokol ACME dengan Pengikatan Akun Eksternal.

Bagian-bagian penting yang dijelaskan:

  • set enrollment acmememberitahu FortiGate bahwa sertifikat ini akan dikelola melalui ACME, bukan diimpor secara manual.
  • set acme-ca-urltitik akhir direktori ACME dari otoritas sertifikat Anda.
  • set acme-eab-key-id / set acme-eab-key-hmac: kredensial EAB Anda (KID dan HMAC) yang mengesahkan akun Anda di CA.
  • set acme-emaildigunakan untuk pemberitahuan pembaruan dan kontak CA.
  • set acme-domaindomain FortiGate akan memvalidasi dan mengamankan.
  • set acme-auth-urllokasi HTTP tempat CA menempatkan dan memverifikasi tantangan ACME.
  • set auto-regenerate dan auto-regenerate-days: aktifkan perpanjangan otomatis sebelum masa berlaku habis.

Langkah 3: Verifikasi jalur validasi

FortiGate Anda harus merespons ke http://vpn.example.com/.well-known/acme-challenge/.

Jika Anda mengaktifkan pengalihan HTTPS, tambahkan aturan pintas sehingga jalur tantangan tetap pada HTTP biasa selama validasi.

Berikut ini cara melakukannya untuk server virtual:

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

Ganti <your-public-ip> dan 192.168.1.99 dengan alamat IP eksternal dan internal Anda yang sebenarnya. Nilai-nilai ini adalah penampung yang digunakan sebagai contoh saja.


Langkah 4: Memicu permintaan awal

Setelah FortiGate mengetahui cara menjangkau CA Anda dan di mana menempatkan file validasi, Anda dapat memulai proses pendaftaran sertifikat yang sebenarnya:

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

Perintah ini memberi tahu FortiGate untuk menghubungi CA, melakukan validasi domain, dan mengambil sertifikat yang ditandatangani secara otomatis.


Langkah 5: Periksa status sertifikat

Untuk memeriksa status sertifikat Anda, jalankan perintah berikut:

get vpn certificate local

Anda harus melihat:

Status: valid
Issuer: Your CA Name

Jika statusnya tetap tertunda atau tidak valid, periksa kembali jangkauan DNS dan port 80.


Langkah 6: Terapkan sertifikat

Gunakan GUI atau CLI untuk menetapkannya ke SSL VPN, manajemen HTTPS, atau layanan proxy:

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

Berikut ini cara melakukannya melalui GUI:

Buka VPN > Pengaturan SSL-VPN > Sertifikat Server > Pilih acme-vpn-cert.


Langkah7: Pemecahan masalah dan pembaruan

Jika sertifikat tidak segera diterbitkan, alasan yang paling umum adalah:

  • Server ACME tidak dapat menjangkau URL validasi Anda (buka port 80).
  • Kunci KID atau HMAC Anda tidak sesuai dengan yang diharapkan oleh CA.
  • Anda mencapai batas pemutaran ulang atau kecepatan sementara; coba lagi setelah beberapa menit.

Setelah sertifikat valid, FortiGate akan menangani pembaruan secara otomatis berdasarkan pengaturan auto-regenerate-days Anda. Anda dapat menguji pembaruan kapan saja dengan:

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

Mundur: Penerbitan Eksternal (ACME.sh) dan Impor ke FortiGate

Jika titik akhir ACME CA Anda tidak bekerja secara langsung dengan FortiGate, Anda bisa menerbitkan sertifikat secara eksternal dengan ACME.sh dan mengimpornya. Inilah cara melakukannya:

Langkah 1: Instal ACME.sh

Jalankan perintah-perintah ini pada sistem Linux, macOS, atau BSD apa pun yang memiliki akses internet. Anda tidak menjalankannya di FortiGate itu sendiri (FortiGate tidak mendukung skrip shell khusus).

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

Ini akan menginstal klien acme.sh di direktori beranda Anda dan memuatnya ke dalam hirarki Anda. Ganti placeholder dengan CA Anda yang sebenarnya dan detailnya.

Langkah 2: Daftarkan akun ACME Anda dengan 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]

Langkah 3: Menerbitkan sertifikat

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"

Langkah 4: Temukan file sertifikat

Setelah penerbitan berhasil, file sertifikat Anda disimpan di direktori beranda Anda di bawah ~/.acme.sh/vpn.example.com/

Di dalam folder itu, Anda akan menemukan:

  • fullchain.cer – rantai sertifikat lengkap
  • vpn.example.com.key – kunci pribadi Anda
  • ca.cer – sertifikat CA menengah

Anda bisa membukanya dengan editor teks atau memverifikasi detailnya melalui OpenSSL:

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

Langkah 5: Impor ke FortiGate

Anda dapat mengimpor sertifikat melalui GUI:

Pergi ke: Sistem > Sertifikat > Impor > Sertifikat Lokal dan
unggah sertifikat dan kunci pribadi.

Atau Anda dapat menggunakan CLI:

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

Langkah 6: Tetapkan & perbarui

Setelah sertifikat diperbarui, pastikan untuk menetapkannya kembali ke SSL VPN atau antarmuka web FortiGate Anda (jika tidak diterapkan secara otomatis). Jika Anda menggunakan klien ACME eksternal pada server yang berbeda, siapkan tugas terjadwal (seperti tugas cron) untuk secara otomatis menyalin berkas sertifikat baru ke FortiGate, menggunakan SCP atau panggilan API.

Contoh:

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

Kemudian muat ulang sertifikat:

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

Pertanyaan Umum

Jika Anda menyiapkan ACME dengan CA komersial untuk pertama kalinya, beberapa pertanyaan mungkin akan muncul. Berikut ini adalah jawaban singkat untuk pertanyaan yang paling sering kami temui:

Dapatkah saya menggunakan pengaturan ini dengan CA komersial apa pun?

Ya, selama penyedia Anda mendukung ACME + Pengikatan Akun Eksternal (EAB). CA utama seperti Sectigo dan DigiCert sudah menyediakan URL direktori ACME dan kredensial EAB.

Apakah saya perlu membuka port HTTP dan HTTPS untuk validasi?

Hanya port 80 (HTTP ) yang diperlukan untuk validasi HTTP-01 ACME. Biarkan HTTPS (443) terbuka untuk lalu lintas normal, tetapi jangan alihkan permintaan validasi dari HTTP ke HTTPS.

Apa yang terjadi jika sertifikat saya gagal diperpanjang secara otomatis?

Anda dapat memicu pembaruan manual kapan saja dengan:

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

Jika masih gagal, periksa kembali kredensial EAB Anda, DNS domain, dan firewall yang masih mengizinkan akses keluar ke titik akhir ACME CA Anda.

Dapatkah saya menggunakan kredensial EAB yang sama di beberapa FortiGate?

Hal ini tergantung pada CA Anda. Ada yang mengizinkan penggunaan ulang satu akun untuk beberapa perangkat, ada pula yang mengeluarkan kredensial unik per pesanan atau domain. Selalu ikuti kebijakan CA Anda untuk menghindari batas tarif atau konflik akun.


Kata Penutup

Anda sekarang tahu cara memasang sertifikat SSL ACME padaFortiGate, baik melalui integrasi EAB asli atau penerbitan eksternal melalui ACME.sh.

Kedua metode ini memenuhi standar keamanan perusahaan dan mendukung pembaruan otomatis sepenuhnya dengan otoritas sertifikat komersial.

Hemat 10% untuk Sertifikat SSL saat memesan hari ini!

Penerbitan cepat, enkripsi kuat, kepercayaan peramban 99,99%, dukungan khusus, dan jaminan uang kembali 25 hari. Kode kupon: SAVE10

Ditulis oleh

Penulis konten berpengalaman yang berspesialisasi dalam Sertifikat SSL. Mengubah topik keamanan siber yang rumit menjadi konten yang jelas dan menarik. Berkontribusi untuk meningkatkan keamanan digital melalui narasi yang berdampak.