0Pricing
Cryptology Academy · Pelajaran

Otomatisasi Let's Encrypt dan Protokol ACME

Otomatiskan penerbitan dan perpanjangan sertifikat menggunakan protokol ACME dengan Certbot dan klien lainnya.

Otomatisasi Let's Encrypt dan Protokol ACME adalah pelajaran Cryptology Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cryptology Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cryptology Academy mencakup 4 pelajaran total.

Pengantar Let's Encrypt

Let's Encrypt adalah Otoritas Sertifikat gratis, otomatis, dan terbuka yang dioperasikan oleh Internet Security Research Group (ISRG), serta diluncurkan dalam versi beta publik pada Desember 2015. Otoritas ini telah menerbitkan lebih dari 3 miliar sertifikat dan secara drastis meningkatkan penggunaan HTTPS di seluruh web dengan menghapus biaya dan kerumitan untuk memperoleh sertifikat TLS yang dipercaya publik.

Ikhtisar Protokol ACME

Protokol Automated Certificate Management Environment (ACME), yang distandardisasi sebagai RFC 8555 pada 2019, mendefinisikan cara klien membuktikan kepemilikan domain secara otomatis dan menerima sertifikat dari Otoritas Sertifikat. ACME menggantikan proses validasi domain manual dengan pertukaran otomatis yang diverifikasi secara kriptografis, sehingga memungkinkan pengelolaan siklus hidup sertifikat tanpa intervensi manual.

Tantangan HTTP-01

Tantangan HTTP-01 memvalidasi kepemilikan domain dengan mengharuskan klien ACME menempatkan berkas token tertentu di "http://DOMAIN/.well-known/acme-challenge/TOKEN". Otoritas Sertifikat mengambil URL ini untuk memverifikasi token tersebut. HTTP-01 mudah diterapkan, tetapi mengharuskan port 80 dapat diakses dan tidak dapat digunakan untuk sertifikat karakter pengganti.

Tantangan DNS-01

Tantangan DNS-01 memvalidasi kepemilikan domain dengan mengharuskan klien ACME membuat catatan TXT DNS di "_acme-challenge.DOMAIN" dengan nilai tertentu. Otoritas Sertifikat meminta DNS untuk memverifikasi catatan tersebut. DNS-01 adalah satu-satunya jenis tantangan yang mendukung penerbitan sertifikat karakter pengganti ("*.example.com") dan tetap berfungsi saat server web berada di balik firewall.

Tantangan TLS-ALPN-01

Tantangan TLS-ALPN-01 memvalidasi kepemilikan domain pada lapisan TLS menggunakan pengenal protokol ALPN khusus, yaitu "acme-tls/1". Klien ACME untuk sementara menyajikan sertifikat yang ditandatangani sendiri dengan token tantangan dalam ekstensi khusus pada port 443. Tantangan ini berfungsi tanpa server web yang sedang berjalan dan mendukung lingkungan dengan penyeimbangan beban.

Klien Rujukan Certbot

Certbot adalah klien ACME rujukan dari Electronic Frontier Foundation untuk Let's Encrypt. Certbot mengotomatiskan seluruh siklus hidup sertifikat: validasi domain, penerbitan sertifikat, dan perpanjangan otomatis. Certbot menyertakan pengaya untuk Apache dan nginx yang secara otomatis mengonfigurasi pengaturan TLS. Instal Certbot melalui "snap install --classic certbot" pada distribusi Linux modern.

Klien ACME Alternatif

Selain Certbot, tersedia banyak klien ACME untuk berbagai kebutuhan. acme.sh adalah klien ACME berupa skrip shell murni yang banyak digunakan di lingkungan ringan. Server web Caddy memiliki ACME bawaan dan memperbarui sertifikat secara otomatis. Traefik, yang digunakan di lingkungan kontainer, menangani ACME melalui konfigurasi certificatesResolvers untuk beban kerja dalam kontainer.

Otomatisasi Perpanjangan Sertifikat

Sertifikat Let's Encrypt memiliki masa berlaku 90 hari berdasarkan rancangan, sehingga mendorong otomatisasi dan mengurangi periode kerentanan akibat kunci privat yang disusupi. Certbot memasang pengatur waktu systemd atau tugas cron yang menjalankan "certbot renew" dua kali sehari, lalu memperbarui sertifikat apa pun yang akan kedaluwarsa dalam 30 hari. Perpanjangan manual adalah pola yang harus dihindari karena dapat menyebabkan layanan terhenti.

Batas Frekuensi Let's Encrypt

Let's Encrypt menerapkan batas frekuensi untuk mencegah penyalahgunaan. Batas utamanya adalah 50 sertifikat per domain terdaftar per minggu dan 5 sertifikat duplikat per minggu. Upaya validasi yang gagal juga dibatasi frekuensinya, yaitu 5 upaya per nama host per jam. Selama pengembangan, lingkungan pengujian Let's Encrypt menyediakan penerbitan sertifikat tanpa batas menggunakan Otoritas Sertifikat pengujian yang tidak dipercaya publik.

Sertifikat Banyak Domain dan Karakter Pengganti

Satu sertifikat ACME dapat mencakup beberapa domain (Nama Alternatif Subjek). "certbot --domains example.com,www.example.com,api.example.com" menerbitkan sertifikat dengan tiga SAN. Sertifikat karakter pengganti ("*.example.com") memerlukan validasi DNS-01 dan mencakup semua subdomain satu tingkat. Karakter pengganti tidak mencakup domain utama (example.com) itu sendiri, sehingga diperlukan SAN tambahan.

ACME untuk PKI Internal

Protokol ACME tidak terbatas pada Let's Encrypt. Otoritas Sertifikat internal seperti Step-CA (smallstep), EJBCA, dan HashiCorp Vault dapat menyediakan titik akhir ACME untuk otomatisasi sertifikat internal. Dengan demikian, pengelolaan siklus hidup sertifikat otomatis yang digunakan untuk layanan yang menghadap publik dapat diterapkan juga pada infrastruktur mTLS internal dan layanan privat.

Pemeriksaan Tantangan ACME

Jenis tantangan ACME apa yang diperlukan untuk menerbitkan sertifikat karakter pengganti seperti "*.example.com"?

Rangkuman Pelajaran: Let's Encrypt dan ACME

Let's Encrypt menyediakan sertifikat gratis melalui protokol ACME (RFC 8555). Tantangan HTTP-01 berfungsi untuk sertifikat non-karakter pengganti pada port 80. DNS-01 memungkinkan sertifikat karakter pengganti dengan membuktikan penguasaan zona DNS. TLS-ALPN-01 berfungsi tanpa server web. Certbot dan acme.sh mengotomatiskan seluruh siklus hidup. Sertifikat dengan masa berlaku 90 hari memerlukan otomatisasi. Batas frekuensi mengharuskan penggunaan lingkungan pengujian selama pengujian.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Otomatisasi Let's Encrypt dan Protokol ACME” gratis?

Ya — teks lengkap “Otomatisasi Let's Encrypt dan Protokol ACME” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cryptology Academy, upgrade ke CoddyKit PRO. Kursus Cryptology Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Otomatisasi Let's Encrypt dan Protokol ACME”?

Otomatiskan penerbitan dan perpanjangan sertifikat menggunakan protokol ACME dengan Certbot dan klien lainnya. Kamu berlatih Cryptology Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cryptology Academy?

Tidak diperlukan pengalaman sebelumnya. Cryptology Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Otomatisasi Let's Encrypt dan Protokol ACME” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cryptology Academy ini?

Ya. Setiap pelajaran Cryptology Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Dasar-Dasar Baris Perintah OpenSSL
  2. Membuat dan Mengelola Rantai Sertifikat
  3. OCSP Stapling dan Transparansi Sertifikat
  4. Otomatisasi Let's Encrypt dan Protokol ACME
← Kembali ke Cryptology Academy