Belajar L2TP IPsec - Certificate Management (CA, CRL, OCSP)
Episode 16 of 23

Belajar L2TP IPsec - Certificate Management (CA, CRL, OCSP)

Episode ini membangun fondasi sertifikat untuk L2TP/IPsec: hirarki CA berlapis, penerbitan sertifikat dengan certutil untuk Libreswan dan pki untuk strongSwan, penanganan revocation lewat CRL dan OCSP, serta pemantauan masa berlaku sertifikat.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Pendahuluan

Di episode 6 kita memilih sertifikat X.509 sebagai otentikasi enterprise. Episode 16 mempraktikkannya: bagaimana membangun hirarki CA, menerbitkan sertifikat untuk server dan client, mencabut sertifikat yang bermasalah, dan memastikan seluruh proses berjalan otomatis.

Sertifikat adalah fondasi kepercayaan: seluruh keamanan deployment kalian bergantung pada CA yang dijaga baik dan proses revocation yang benar. Setelah episode ini, kalian bisa mengelola identitas digital untuk ribuan client tanpa berbagi satu rahasia bersama.

Hirarki CA

Root CA, Intermediate CA, dan Leaf

Hirarki sertifikat yang benar berlapis: Root CA (offline, dijaga ketat) menerbitkan Intermediate CA yang dipakai sehari-hari, dan intermediate menerbitkan leaf certificates untuk server dan client. Lapisan ini membatasi risiko: jika intermediate bocor, kalian cukup menggantinya tanpa menyentuh root.

Hirarki sertifikat
Root CA (offline)
  -> Intermediate CA (operasional)
       -> Server cert (vpn.example.com)
       -> Client cert (user-1, user-2, ...)

Model ini juga membuat rotation dan revocation lebih mudah, karena chain yang pendek mempercepat validasi.

Membangun CA dengan OpenSSL

Root dan Intermediate

Kita bisa membangun seluruh hirarki dengan OpenSSL. Pertama, buat Root CA:

Buat Root CA
openssl genrsa -out rootCA.key 4096
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 3650 \
  -out rootCA.crt -subj "/CN=VPN Root CA"

Perintah openssl req -x509 menandatangani sendiri sertifikat root dengan masa berlaku 10 tahun. Simpan rootCA.key offline — ini adalah kunci yang paling berharga di seluruh sistem.

Kemudian terbitkan Intermediate CA dari Root:

Buat Intermediate CA
openssl genrsa -out intermediate.key 4096
openssl req -new -key intermediate.key -subj "/CN=VPN Intermediate CA" \
  -out intermediate.csr
openssl x509 -req -in intermediate.csr -CA rootCA.crt -CAkey rootCA.key \
  -CAcreateserial -out intermediate.crt -days 1825 -sha256

Penerbitan Sertifikat Leaf

pki untuk strongSwan

strongSwan menyediakan tool pki yang menyederhanakan penerbitan:

Terbitkan sertifikat server dengan pki
sudo pki --issue --cacert intermediate.crt --cakey intermediate.key \
  --san vpn.example.com --san 203.0.113.10 \
  --lifetime 365 --dn "CN=vpn.example.com" \
  --outform pem > server.crt
sudo pki --gen --type ecdsa --outform pem > server.key

pki --issue menerbitkan leaf certificate dengan subject alternative name (SAN) berisi domain dan IP server. Pasangan kunci server dibuat terpisah dengan pki --gen.

certutil untuk Libreswan

Libreswan menyimpan sertifikat di database NSS, jadi gunakan certutil:

Impor chain ke NSS Libreswan
sudo certutil -A -d sql:/etc/ipsec.d -n "Root CA" -t "CT,," -i rootCA.crt
sudo certutil -A -d sql:/etc/ipsec.d -n "Intermediate" -t ",," -i intermediate.crt
sudo certutil -A -d sql:/etc/ipsec.d -n "server-cert" -t ",," -i server.crt
sudo pk12util -d sql:/etc/ipsec.d -i server.p12 -W "password-pkcs12"

pk12util mengimpor pasangan kunci dan sertifikat dalam satu file PKCS12. Setelah itu, authby=rsasig dengan leftcert=server-cert akan memakai identitas ini.

Revocation: CRL dan OCSP

Dua Cara Mencabut

Saat kunci client bocor, sertifikatnya harus dicabut. Ada dua mekanisme: CRL (Certificate Revocation List) yang didistribusikan sebagai daftar, dan OCSP yang menjawab pertanyaan per sertifikat secara real-time. Untuk IPsec, sertakan titik distribusi CRL atau OCSP di sertifikat saat menerbitkan, lalu aktifkan pemeriksaan di daemon.

Libreswan memeriksa CRL yang didistribusikan via URL, sedangkan strongSwan menyediakan plug-in revocation dan ocsp. Konfigurasi minimal di strongSwan:

Aktifkan pemeriksaan revocation
charon {
    plugins {
        revocation {
            enable = yes
            crl_uri = "http://crl.example.com/vpn.crl"
        }
    }
}

Nilai crl_uri menunjuk file CRL yang diterbitkan ulang berkala.

Pemantauan Masa Berlaku

Otomatisasi dan Peringatan

Sertifikat yang kedaluwarsa adalah penyebab paling umum downtime VPN. Otomatiskan pemantauan:

Periksa masa berlaku semua sertifikat
for c in *.crt; do
  openssl x509 -in "$c" -noout -enddate
done

Loop di atas mencetak tanggal kedaluwarsa semua sertifikat di direktori. Siapkan cron yang menjalankannya setiap pekan dan mengirim peringatan jika sisa waktu kurang dari 30 hari.

Tip

Pasang kalender rotation otomatis: perpanjang sertifikat client setiap 90-365 hari dan sertifikat server setiap tahun. Intermediate bisa bertahan 5 tahun, sedangkan Root 10 tahun dengan penyimpanan offline.

Penutup

Episode 16 melengkapi fondasi sertifikat: hirarki CA berlapis yang membatasi risiko, penerbitan dengan OpenSSL, pki dan certutil, penanganan revocation lewat CRL dan OCSP, serta pemantauan masa berlaku yang otomatis.

Inti yang harus dibawa pulang:

  • Root CA offline, intermediate operasional, leaf untuk server dan client.
  • pki --issue untuk strongSwan; certutil dan pk12util untuk NSS Libreswan.
  • SAN wajib berisi domain dan IP agar identitas cocok.
  • CRL untuk daftar statis, OCSP untuk status real-time.
  • Sertifikat yang dicabut tidak bisa dipakai lagi setelah revocation.
  • Pantau masa berlaku setiap pekan dan perpanjang sebelum kedaluwarsa.

Di episode 17 selanjutnya kita akan membahas virtual IP dan address management — alokasi alamat client lewat ModeConfig IKEv1 atau Configuration Payload IKEv2, kolom rightsourceip, dan integrasi alokasi dinamis dengan RADIUS.

Belajar L2TP IPsec - Certificate Management (CA, CRL, OCSP) | Belajar L2TP IPsec