Belajar Rocky Linux - TLS, Certificates & PKI
Episode 16 of 23

Belajar Rocky Linux - TLS, Certificates & PKI

Episode ini membahas TLS dan Public Key Infrastructure di Rocky Linux: pembuatan kunci, CSR, dan sertifikat dengan OpenSSL, pengelolaan CA yang dipercaya, perbedaan self-signed dan Let's Encrypt, serta konsep revocasi CRL dan OCSP.

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

Pendahuluan

Di episode 15 sebelumnya kalian sudah mengamankan pintu masuk dengan SSH. Sekarang kita membahas bagaimana layanan web dan API membuktikan identitasnya: TLS dan sertifikat. Setiap kali browser menampilkan gembok hijau, ada rangkaian kriptografi yang bekerja — kunci, sertifikat, dan rantai otoritas sertifikat (CA) yang saling mempercayai.

Episode ini akan membawa kalian dari nol: membuat kunci dan sertifikat dengan OpenSSL, memahami perbedaan sertifikat self-signed dan yang diterbitkan Let's Encrypt, mengelola CA yang dipercaya oleh sistem, sampai konsep revocasi dengan CRL dan OCSP. Semuanya bekerja di atas fondasi yang sudah kalian bangun — termasuk hostname yang benar dari episode 9, karena sertifikat melekat pada nama.

Dasar TLS dengan OpenSSL

Kunci dan Sertifikat

TLS mengamankan komunikasi dengan enkripsi dan otentikasi. Dua artefak intinya:

  • Kunci privat — rahasia, tidak boleh bocor; dipakai untuk mendekripsi dan menandatangani.
  • Sertifikat — berisi kunci publik, identitas host, dan tanda tangan penerbit; disebarluaskan.

Membuat Kunci, CSR, dan Sertifikat

Alur standar: buat kunci, buat CSR (Certificate Signing Request), lalu minta CA menandatanganinya menjadi sertifikat.

Membuat kunci dan CSR
openssl req -new -newkey rsa:2048 -nodes \
  -keyout server.key -out server.csr \
  -subj "/CN=web01.example.com"
Melihat isi CSR
openssl req -in server.csr -noout -text

-subj menetapkan Common Name (CN) — hostname yang akan dipakai. Untuk produksi, kalian harus menggunakan CA tepercaya untuk menandatangani CSR.

Membuat Sertifikat Self-Signed

Untuk pengujian internal, self-signed — sertifikat yang menandatangani dirinya sendiri — cukup:

Sertifikat self-signed
openssl req -x509 -newkey rsa:2048 -nodes \
  -keyout server.key -out server.crt -days 365 \
  -subj "/CN=web01.example.com"
Memverifikasi sertifikat
openssl x509 -in server.crt -noout -text
openssl x509 -in server.crt -noout -dates

Sertifikat self-signed tidak dipercaya browser, tetapi sangat berguna di lingkungan lab — dan menjadi dasar memahami rantai kepercayaan.

Trusted CA dan Trust Store

Memperbarui Trust Store

Setiap sistem menyimpan daftar CA yang dipercaya — trust store. Menambah CA internal ke trust store membuat aplikasi sistem mempercayai sertifikat yang diterbitkannya:

Menambahkan CA ke trust store
cp my-ca.crt /etc/pki/ca-trust/source/anchors/
update-ca-trust extract
Memverifikasi CA terdaftar
trust list | grep -i my-ca

update-ca-trust extract membangun ulang trust store dari semua anchor. Setelah ini, aplikasi yang memakai trust system mempercayai sertifikat yang ditandatangani CA tersebut.

Memeriksa Rantai Kepercayaan

Verifikasi penuh melibatkan rantai: sertifikat leaf → intermediate → root CA:

Verifikasi rantai sertifikat
openssl verify -CAfile ca-bundle.crt server.crt
Melihat detail CA issuer
openssl x509 -in server.crt -noout -issuer

Output OK menandakan sertifikat valid terhadap CA yang diberikan. Ini adalah cara cepat memastikan konfigurasi web server benar.

Sertifikat untuk Server

Let's Encrypt dengan Certbot

Untuk server publik, Let's Encrypt menyediakan sertifikat gratis yang dipercaya semua browser. Certbot mengotomatiskan seluruh proses:

Menginstal certbot
dnf5 install certbot python3-certbot-apache
Menerbitkan dan memasang sertifikat
certbot --apache -d web01.example.com
Renewal otomatis
certbot renew --dry-run

Certbot memperbarui sertifikat otomatis sebelum kedaluwarsa — sertifikat Let's Encrypt hanya berlaku 90 hari, jadi renewal otomatis bukan opsional.

Info

Pilih antara self-signed dan Let's Encrypt: self-signed untuk lab dan internal (dengan CA sendiri di trust store), Let's Encrypt untuk layanan publik. Jangan pernah memakai self-signed untuk layanan yang diakses pelanggan — browser akan menolak dan reputasi layanan kalian menanggung akibatnya.

Memasang ke Web Server

Sertifikat dipasang di web server melalui tiga file: sertifikat, kunci, dan rantai CA:

Referensi di konfigurasi Apache
SSLCertificateFile      /etc/letsencrypt/live/web01.example.com/fullchain.pem
SSLCertificateKeyFile   /etc/letsencrypt/live/web01.example.com/privkey.pem
Verifikasi dari sisi klien
curl -v https://web01.example.com

Output curl -v menampilkan rantai sertifikat dan status TLS — cara cepat memastikan pemasangan berhasil.

Revocasi dan PKI Dasar

Konsep Revocasi

Sertifikat bisa menjadi tidak valid sebelum kedaluwarsa — kunci bocor, domain berpindah, karyawan keluar. Di situlah revocasi bekerja. Dua mekanismenya:

  • CRL (Certificate Revocation List) — daftar berkala sertifikat yang dicabut.
  • OCSP (Online Certificate Status Protocol) — pengecekan status real-time per sertifikat.
Melihat URL CRL dan OCSP sertifikat
openssl x509 -in server.crt -noout -text | grep -A2 "CRL Distribution"
Cek status OCSP
openssl ocsp -issuer ca.crt -cert server.crt -url http://ocsp.example.com

Respons OCSP revoked atau good memberi tahu status sertifikat secara langsung — dasar dari kepercayaan real-time.

Menjadi CA Sederhana

Untuk lingkungan internal, kalian bisa menjadi CA sendiri dengan openssl ca:

Inisialisasi direktori CA
mkdir -p /etc/pki/myca/{newcerts,private}
touch /etc/pki/myca/index.txt
echo 1000 > /etc/pki/myca/serial
Menandatangani CSR
openssl ca -config /etc/pki/myca/openssl.cnf \
  -in server.csr -out server.crt -days 365

Setelah CA internal berdiri, kalian menerbitkan dan mencabut sertifikat sesuai kebutuhan — dan menambahkan root CA-nya ke trust store dengan update-ca-trust yang sudah kalian pelajari.

Penutup

Di episode 16 ini kalian sudah memahami TLS dan PKI di Rocky Linux: pembuatan kunci, CSR, dan sertifikat dengan OpenSSL, pengelolaan trust store dengan update-ca-trust, perbedaan self-signed dan Let's Encrypt melalui certbot, pemasangan ke web server, serta konsep revocasi dengan CRL dan OCSP dan dasar menjadi CA internal.

Inti yang harus dibawa pulang:

  • TLS membutuhkan kunci privat (rahasia) dan sertifikat (publik) yang melekat pada hostname.
  • Self-signed untuk lab; Let's Encrypt dengan certbot untuk layanan publik.
  • Tambahkan CA internal ke trust store dengan update-ca-trust extract.
  • Verifikasi rantai dengan openssl verify dan dari sisi klien dengan curl -v.
  • Revocasi melalui CRL dan OCSP menjaga kepercayaan saat sertifikat tidak lagi valid.

Di episode 17 selanjutnya kita akan membahas performance tuning dan resource control — profil tuning dengan tuned-adm, parameter kernel, resource control systemd dengan cgroups v2, serta analisis boot dengan systemd-analyze. Gembok sudah terpasang; sekarang giliran memastikan mesinnya berjalan dengan kecepatan maksimal!

Belajar Rocky Linux - TLS, Certificates & PKI | Belajar Rocky Linux