Cara Mendapatkan Mari Enkripsi Sertifikat SSL Menggunakan Validasi DNS Certbot CloudFlare

Cara Mendapatkan Mari Enkripsi Sertifikat Ssl Menggunakan Validasi Dns Certbot Cloudflare



Certbot adalah klien ACME untuk otoritas sertifikat (CA) Let's Encrypt. Ini digunakan untuk menghasilkan sertifikat SSL Let's Encrypt dan memperbaruinya secara otomatis. Secara default, Certbot menggunakan tantangan Let's Encrypt HTTP-01 untuk memverifikasi kepemilikan domain dan menerbitkan sertifikat SSL untuk domain tersebut. Namun tantangan HTTP-01 tidak akan berhasil kecuali Anda memiliki alamat IP publik dan komputer Anda dapat diakses dari internet. Jadi, jika Anda ingin menggunakan sertifikat SSL Let's Encrypt untuk jaringan rumah atau jaringan pribadi Anda, Anda harus menggunakan tantangan DNS-01. Saat tantangan DNS-01 digunakan, Let's Encrypt memverifikasi kepemilikan domain menggunakan server DNS domain tersebut. Jadi, ini juga berfungsi untuk jaringan pribadi.

Untuk penjelasan mendetail tentang cara kerja tantangan Let's Encrypt DNS-01 (atau validasi DNS), baca artikel berjudul Apa Itu Tantangan Let's Encrypt DNS-01 dan Cara Menggunakannya untuk Mendapatkan Sertifikat SSL.

Pada artikel ini, kami akan menunjukkan cara menggunakan validasi Let's Encrypt DNS untuk mendapatkan sertifikat SSL untuk nama domain Anda menggunakan plugin Certbot dan Certbot CloudFlare DNS.







Topik Isi:

  1. Mengelola Domain Anda dengan CloudFlare DNS
  2. Menginstal Plugin Certbot dan Certbot CloudFlare di Ubuntu/Debian
  3. Menginstal Plugin Certbot dan Certbot CloudFlare di Fedora
  4. Menginstal Plugin Certbot dan Certbot CloudFlare di RHEL/AlmaLinux/Rocky Linux/CentOS Stream
  5. Memeriksa Apakah Plugin Certbot dan Certbot CloudFlare Diinstal dengan Benar
  6. Menghasilkan Token API CloudFlare
  7. Menyimpan Token CloudFlare API dengan Aman di Komputer/Server
  8. Menghasilkan Sertifikat SSL Menggunakan Validasi DNS Certbot CloudFlare
  9. Mencantumkan Mari Enkripsi Sertifikat SSL Menggunakan Certbot
  10. Memperbarui Mari Enkripsi Sertifikat SSL Menggunakan Certbot
  11. Kesimpulan
  12. Referensi

Mengelola Domain Anda dengan CloudFlare DNS

Untuk mendapatkan Sertifikat SSL Let’s Encrypt menggunakan validasi DNS CloudFlare, Anda harus memiliki akun CloudFlare dan domain Anda harus menggunakan DNS CloudFlare. Kamu bisa buat akun CloudFlare gratis dan layanan DNS CloudFlare juga gratis untuk digunakan.



Untuk mengelola domain Anda dengan CloudFlare DNS, Anda dapat melakukan salah satu hal berikut:



  • Daftarkan domain Anda dari CloudFlare
  • Transfer domain Anda ke CloudFlare
  • Ubah server nama DNS nama domain Anda menjadi server nama DNS CloudFlare dari dashboard registrar domain Anda

Anda tidak perlu membeli domain dari CloudFlare atau mentransfer domain ke CloudFlare untuk mengelolanya dengan layanan DNS CloudFlare. Anda cukup mengubah server nama domain Anda menjadi server nama DNS CloudFlare dari dasbor pencatat domain Anda (tempat Anda membeli domain) dan mengelola domain Anda dari CloudFlare. Untuk informasi lebih lanjut tentang mengubah nameserver domain Anda menjadi nameserver DNS CloudFlare, baca artikel ini.





Menginstal Plugin Certbot dan Certbot CloudFlare di Ubuntu/Debian

Plugin Certbot dan Certbot CloudFlare tersedia di repositori paket resmi Ubuntu/Debian. Jadi, Anda dapat menginstalnya di Ubuntu/Debian dengan sangat mudah.

Pertama, perbarui cache repositori paket APT dengan perintah berikut:



$ sudo pembaruan yang tepat

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Untuk menginstal plugin Certbot dan Certbot CloudFlare DNS, jalankan perintah berikut:

$ sudo tepat Install certbot python3-certbot-dns-cloudflare

Untuk mengonfirmasi instalasi, tekan 'Y' lalu tekan .

Plugin Certbot dan Certbot CloudFlare DNS sedang diinstal. Butuh beberapa saat untuk menyelesaikannya.

Pada titik ini, plugin Certbot dan Certbot CloudFlare DNS harus diinstal.

Menginstal Plugin Certbot dan Certbot CloudFlare di Fedora

Plugin Certbot dan Certbot CloudFlare tersedia di repositori paket resmi Fedora dan dapat diinstal di Fedora dengan sangat mudah.

Pertama, perbarui database paket DNF dengan perintah berikut:

$ sudo dnf makecache.dnf

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Untuk menginstal plugin Certbot dan Certbot CloudFlare DNS di Fedora, jalankan perintah berikut:

$ sudo dnf Install certbot python3-certbot-dns-cloudflare

Untuk mengonfirmasi instalasi, tekan 'Y' lalu tekan .

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Plugin Certbot dan Certbot CloudFlare DNS sedang diinstal. Butuh beberapa saat untuk menyelesaikannya.

  Tangkapan layar deskripsi program komputer dibuat secara otomatis

Pada titik ini, plugin Certbot dan Certbot CloudFlare DNS harus diinstal di Fedora.

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Menginstal Plugin Certbot dan Certbot CloudFlare di RHEL/AlmaLinux/Rocky Linux/CentOS Stream

Plugin Certbot CloudFlare DNS tidak tersedia di repositori paket resmi RHEL/AlmaLinux/Rocky Linux/CentOS Stream. Plugin Certbot CloudFlare DNS tersedia di repositori paket EPEL. Anda dapat mengaktifkan repositori paket EPEL di RHEL/AlmaLinux/Rocky Linux/CentOS Stream dan menginstal plugin Certbot CloudFlare DNS dari sana.

Setelah Anda mengaktifkan repositori paket EPEL, perbarui cache database DNF dengan perintah berikut:

$ sudo dnf makecache.dnf

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Kemudian, instal plugin Certbot dan Certbot CloudFlare DNS pada sistem RHEL/AlmaLinux/Rocky Linux/CentOS Stream Anda dengan perintah berikut:

$ sudo dnf Install certbot python3-certbot-dns-cloudflare

Untuk mengonfirmasi instalasi, tekan 'Y' lalu tekan .

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Plugin Certbot dan Certbot CloudFlare DNS sedang diinstal. Butuh beberapa saat untuk menyelesaikannya.

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Untuk menerima kunci GPG dari repositori EPEL, tekan “Y” lalu tekan .

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Pada titik ini, plugin Certbot dan Certbot CloudFlare DNS harus diinstal.

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Memeriksa Apakah Plugin Certbot dan Certbot CloudFlare Diinstal dengan Benar

Untuk memeriksa apakah Certbot terinstal di komputer Anda, jalankan perintah berikut:

$ certbot --Versi: kapan

Jika Certbot diinstal, perintah tersebut akan mencetak nomor versi Certbot yang diinstal di komputer Anda.

Seperti yang Anda lihat, kami telah menginstal Certbot 2.1.0 di mesin Debian kami.

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Untuk memeriksa apakah plugin Certbot CloudFlare DNS terinstal di komputer Anda, jalankan perintah berikut:

$ sudo plugin certbot

Jika plugin Certbot CloudFlare DNS diinstal, Anda akan menemukan “dns-cloudflare” di daftar plugin seperti yang ditandai pada tangkapan layar berikut:

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Menghasilkan Token API CloudFlare

Untuk memverifikasi kepemilikan domain, Certbot perlu menambahkan data TXT pada domain yang dikelola oleh server DNS CloudFlare. Untuk itu, Certbot memerlukan akses ke token CloudFlare API. Anda dapat membuat token API untuk domain Anda dari dashboard CloudFlare.

Pertama, masuk ke akun CloudFlare Anda. Kemudian, klik ikon profil Anda

> Profil saya dari sudut kanan atas halaman.

Navigasikan ke bagian “Token API”. [1] dan klik 'Buat Token' [2] .

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Klik “Gunakan templat” dari bagian “Edit DNS zona”.

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Dari bagian “Izin”, izinkan izin “Edit” ke “Zona DNS” dengan memilih opsi yang ditandai dari menu tarik-turun.

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Jika Anda mengelola beberapa domain dengan CloudFlare, Anda dapat mengizinkan modifikasi “Zona Tertentu” dari bagian “Sumber Daya Zona”. Mengizinkan token API untuk mengubah hanya satu zona lebih aman daripada mengizinkan token API untuk mengubah semua zona. Hal ini karena jika token API disusupi, permukaan serangan akan lebih kecil dan lebih sedikit kerusakan yang ditimbulkan.

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Jika Anda ingin menggunakan satu kunci API untuk mengubah semua domain yang dikelola CloudFlare, pilih “Semua zona” dari bagian “Sumber Daya Zona”.

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Setelah Anda selesai mengonfigurasi token API Anda, klik “Lanjutkan ke ringkasan”.

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Ringkasan tindakan yang dapat Anda lakukan pada domain yang dikelola CloudFlare dengan token API akan ditampilkan. Klik 'Buat Token'.

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Token API harus dibuat. Salin token API di tempat yang aman agar tidak hilang. Setelah Anda meninggalkan halaman ini, Anda tidak akan dapat menemukan token API ini lagi. Anda harus membuat token API baru jika Anda kehilangannya:

LyPCAcOBygX1UMHvcsvBFo41aItm2cCVxnjloZj5

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Menyimpan Token CloudFlare API dengan Aman di Komputer/Server

Certbot perlu menggunakan token CloudFlare API untuk menambahkan data TXT baru untuk domain Anda di server DNS CloudFlare. Jadi, Anda harus menyimpan token CloudFlare API di komputer/server Anda. Menyimpan token API tanpa memastikan izin akses file yang tepat dapat memungkinkan program/pengguna lain memiliki akses ke token API. Ini bukan yang Anda inginkan karena alasan keamanan. Di bagian ini, kami akan menunjukkan cara menyimpan token CloudFlare API dengan aman di sistem file.

Pertama, buat direktori (yaitu ~/.secrets/certbot) tempat Anda ingin menyimpan kunci API CloudFlare sebagai berikut:

$ mkdir -pv ~ / .rahasia / certbot

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Buat file “cloudflare.ini” di direktori yang baru dibuat (yaitu ~/.secrets/certbot) dan buka dengan editor teks favorit Anda (yaitu nano) sebagai berikut:

$ nano ~ / .rahasia / certbot / cloudflare.ini

Ketik baris berikut di file “cloudflare.ini” dan tekan + X diikuti oleh “Y” dan untuk menyimpannya (jika Anda menggunakan editor teks nano).

dns_cloudflare_api_token = < token-cloudflare-api Anda >

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Untuk memastikan izin akses yang tepat untuk file “cloudflare.ini”, jalankan perintah berikut untuk memastikan bahwa hanya pengguna root yang memiliki akses baca dan tulis ke file:

$ sudo chown akar:akar ~ / .rahasia / certbot / cloudflare.ini

$ sudo chmod 0600 ~ / .rahasia / certbot / cloudflare.ini

Seperti yang Anda lihat, hanya pengguna root yang memiliki izin membaca dan menulis ke file “cloudflare.ini”.

$ aku -lh ~ / .rahasia / certbot / cloudflare.ini

Pengguna lain yang mencoba membaca file “cloudflare.ini” akan mendapatkan pesan kesalahan “Izin ditolak”.

$ kucing ~ / .rahasia / certbot / cloudflare.ini

  Cuplikan layar deskripsi komputer dibuat secara otomatis

Menghasilkan Sertifikat SSL Menggunakan Validasi DNS Certbot CloudFlare

Untuk menghasilkan sertifikat SSL Let's Encrypt untuk nama domain wildcard “*.nodekite.com” menggunakan validasi DNS CloudFlare, jalankan perintah cerbot sebagai berikut:

$ sudo certbot tentu saja --dns-cloudflare --dns-cloudflare-kredensial ~ / .rahasia / certbot / cloudflare.ini -D * .nodekite.com

Untuk menghasilkan sertifikat SSL Let's Encrypt untuk nama domain “nodekite.com” dan “www.nodekite.com” using the CloudFlare DNS validation, use the “-d” option of the certbot command for each domain name as follows:

$ sudo certbot tentu saja --dns-cloudflare --dns-cloudflare-kredensial ~ / .rahasia / certbot / cloudflare.ini -D www.nodekite.com -D nodekite.com

Jika perubahan DNS membutuhkan waktu lama untuk disebarkan ke server nama DNS populer di seluruh dunia, Anda dapat menggunakan opsi “–dns-cloudflare-propagation-seconds” dari Certbot untuk mengatur jumlah detik yang Anda inginkan agar Certbot menunggu sebelum validasi DNS dilakukan.

$ sudo certbot tentu saja --dns-cloudflare --dns-cloudflare-kredensial ~ / .rahasia / certbot / cloudflare.ini --dns-cloudflare-propagasi-detik 60 -D * .nodekite.com

Setelah Anda menjalankan perintah Certbot, Anda akan diminta mengetikkan alamat email Anda. Ketikkan alamat email Anda dan tekan untuk melanjutkan.

Tekan “Y” lalu tekan untuk menerima 'Ketentuan Layanan' Let's Encrypt.

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Tekan “Y” lalu tekan .

  Tangkapan layar deskripsi program komputer dibuat secara otomatis

Sertifikat SSL Let's Encrypt sedang diterbitkan. Butuh beberapa saat untuk menyelesaikannya.

  Tangkapan layar kesalahan komputer Deskripsi dibuat secara otomatis

Pada titik ini, sertifikat SSL Let's Encrypt diterbitkan. Jalur lengkap tempat file sertifikat SSL disimpan akan ditampilkan. Tanggal kedaluwarsa sertifikat SSL juga harus ditampilkan.

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Mencantumkan Mari Enkripsi Sertifikat SSL Menggunakan Certbot

Anda dapat membuat daftar semua sertifikat SSL Let's Encrypt yang Anda buat menggunakan Certbot dengan perintah berikut:

$ sudo sertifikat certbot

Seperti yang Anda lihat, sertifikat SSL Let's Encrypt yang dihasilkan untuk domain “nodekite.com” terdaftar [1] . Sertifikat SSL wildcard dikeluarkan untuk “nodekite.com” [2] nama domain. Tanggal kedaluwarsa sertifikat adalah 20-03-2024 (berlaku selama 89 hari) [3] . Sertifikat dan jalur kunci pribadi juga tercantum di sini [4] .

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Certbot menyimpan semua sertifikat SSL yang Anda buat untuk domain Anda di direktori “/etc/letsencrypt/live” di foldernya masing-masing.

$ sudo aku -Rlh / dll. / letsencrypt / hidup /

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Memperbarui Mari Enkripsi Sertifikat SSL Menggunakan Certbot

Certbot secara otomatis memperbarui semua sertifikat SSL Let's Encrypt yang Anda buat menggunakan validasi DNS CloudFlare.

Untuk menguji apakah fitur perpanjangan otomatis sertifikat SSL Let's Encrypt berfungsi, jalankan perintah berikut:

$ sudo pembaruan certbot --lari kering

Tindakan perpanjangan otomatis disimulasikan untuk setiap sertifikat SSL Let's Encrypt yang Anda buat.

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Jika tesnya berhasil, Anda akan diberi selamat. Pengujian yang berhasil berarti sertifikat SSL akan diperpanjang secara otomatis sebelum masa berlakunya habis. Anda tidak perlu melakukan hal lain.

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Agar fitur perpanjangan otomatis Certbot berfungsi, pengatur waktu sistem “cerbot.timer” harus diaktifkan dan aktif di komputer/server Anda.

Anda dapat memeriksa apakah pengatur waktu sistem “cerbot.timer” diaktifkan dan aktif dengan perintah berikut:

$ sudo status sistemctl certbot.timer

Seperti yang Anda lihat, pengatur waktu sistem “certbot.timer” diaktifkan (secara otomatis dimulai saat boot) [1] dan aktif [2] . Certbot memeriksa apakah ada kebutuhan untuk memperbarui sertifikat SSL hanya dalam waktu 11 menit (menurut tangkapan layar berikut) dan memperbarui sertifikat SSL yang akan segera kedaluwarsa [3] .

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Untuk memeriksa secara manual apakah ada sertifikat SSL yang akan kedaluwarsa dan memperbarui sertifikat SSL yang kedaluwarsa, jalankan perintah berikut:

$ sudo pembaruan certbot

Dalam kasus kami, tidak ada sertifikat SSL yang akan kedaluwarsa. Jadi, Certbot tidak mencoba memperbarui sertifikat SSL apa pun.

Untuk memaksa Certbot memperbarui sertifikat SSL domain tertentu (misalnya *.nodekite.com), jalankan perintah berikut:

$ sudo certbot tentu saja --memperbarui paksa -D * .nodekite.com

Tekan '1' dan tekan untuk memilih opsi pertama (untuk validasi DNS menggunakan CloudFlare DNS).

  Tangkapan layar deskripsi komputer dibuat secara otomatis

Sertifikat SSL harus diperbarui.

Kesimpulan

Untuk mendapatkan sertifikat SSL Let's Encrypt menggunakan validasi DNS CloudFlare menggunakan Certbot, Anda memerlukan akses ke token API CloudFlare. Pada artikel ini, kami menunjukkan cara membuat token CloudFlare API untuk domain Anda dan menyimpannya dengan aman di komputer/server Anda sehingga Anda dapat mengaksesnya dengan Certbot bila diperlukan. Kami juga menunjukkan kepada Anda cara menginstal Certbot dan plugin Certbot CloudFlare DNS pada distribusi Linux paling populer. Kami menunjukkan kepada Anda cara membuat sertifikat SSL wildcard Let's Encrypt serta sertifikat SSL untuk domain tunggal menggunakan validasi DNS Certbot dan CloudFlare. Terakhir, kami menunjukkan kepada Anda cara memperbarui sertifikat SSL Let's Encrypt menggunakan Certbot secara otomatis dan manual.

Referensi: