cara memperbarui sertifikat Let's Encrypt TLS menggunakan Certbot

 

Anda membuat situs web baru atau bahkan mungkin mengonfigurasi server email SMTP. Anda menepuk punggung Anda sendiri karena Anda tidak lupa tentang pengamanan web dan layanan email. Secara khusus, Anda menyiapkan sertifikat TLS gratis dari Let's Encrypt . Jadi, ini saatnya untuk bangkit dan mengagumi pekerjaan baik yang telah Anda lakukan, bukan?


Belum. Sertifikat TLS dari Let's Encrypt akan habis masa berlakunya setiap 90 hari, dan hanya dapat diperpanjang setelah 60 hari. Bukankah ini memerlukan otomatisasi?


Dengan asumsi bahwa Anda memiliki akses shell ke server host, postingan blog ini menjelaskan cara menggunakan Certbot untuk mengotomatiskan pembaruan sertifikat Let's Encrypt, dan menunjukkan beberapa hal yang harus dihindari.


Bot Cert

Cara yang disarankan untuk menyebarkan sertifikat Let's Encrypt pada sistem Linux adalah dengan menggunakan alat certbot . Tutorial ini mengasumsikan bahwa Anda telah berhasil menggunakan certbot untuk mendapatkan dan menginstal sertifikat Let's Encrypt.


Ekosistem Let's Encrypt dengan certbot dirancang dengan mempertimbangkan otomatisasi. Saat Anda menginstal certbot di berbagai distribusi Linux seperti Debian, Ubuntu, Fedora, CentOS, dll, mekanisme perpanjangan sertifikat sudah ada. Yang perlu Anda lakukan adalah memastikan pengatur waktu untuk certbot diaktifkan.


$ systemctl status certbot.timer

● certbot.timer - Run certbot twice daily

   Loaded: loaded (/lib/systemd/system/certbot.timer; enabled; vendor preset: enabled)

   Active: active (waiting) since Sat 2020-06-27 10:20:51 PDT; 3 days ago

  Trigger: Wed 2020-07-01 12:14:52 PDT; 2h 1min left

Untuk mengaktifkan pengatur waktu,


$ sudo systemctl enable certbot.timer 

Certbot dijadwalkan untuk dijalankan secara otomatis dua kali sehari untuk memeriksa apakah perpanjangan sertifikat diperlukan. Namun, sertifikat hanya diperpanjang jika masa berlakunya sudah dekat—dalam waktu 30 hari sebelum masa berlakunya habis.


Agar Anda tenang, Anda dapat memverifikasi status sertifikat TLS Anda saat ini menggunakan alat web SSL Test dan crt.sh .


Gotcha #1: Menyegarkan sertifikat


Memperbarui sertifikat sebelum habis masa berlakunya hanyalah setengah dari perjuangan. Setengah lainnya adalah membuat server web (dan server email jika ada) menggunakan sertifikat baru. Versi usang masih digunakan hingga server web (dan server email) dimuat ulang.


Certbot menyediakan antarmuka pengait untuk menjalankan skrip sebelum atau setelah sertifikat diperbarui. Saya menggunakan Deploy hooks dan Pre-hooks untuk mengotomatiskan pemuatan ulang program server web dan email.


Sebarkan kait

Kait Deploy dijalankan setelah pembaruan sertifikat berhasil. Kait penerapan ditempatkan di direktori /etc/letsencrypt/renewal-hooks/deploy .


Jika ada lebih dari 1 skrip dalam direktori, skrip tersebut dieksekusi sesuai urutan abjad berdasarkan nama filenya.


Saya membuat 2 skrip Deploy, 01-reload-nginx.sh dan 02-reload-postfix.sh untuk memuat ulang NGINX dan postfix masing-masing. Kedua skrip harus dapat dieksekusi (izin file disetel ke 770).


Skrip tipikal untuk memuat ulang NGINX adalah sebagai berikut.


$ sudo cat /etc/letsencrypt/renewal-hooks/deploy/01-reload-nginx.sh

#! /bin/sh

set -e

/etc/init.d/nginx configtest

/etc/init.d/nginx reload 

Untuk beralih ke sertifikat baru untuk postfix , postfix dan dovecot perlu dimuat ulang.


$ sudo cat /etc/letsencrypt/renewal-hooks/deploy/02-reload-postfix.sh

#! /bin/sh

set -e

/etc/init.d/postfix reload

/etc/init.d/dovecot reload

Pra-kait

Pra-kait adalah skrip yang akan dijalankan ketika sertifikat harus diperbarui, yaitu dalam waktu 30 hari sebelum habis masa berlakunya, dan sebelum pembaruan benar-benar dilakukan. Script tersebut ditempatkan di direktori /etc/letsencrypt/renewal-hooks/pre/ .


Saya membuat skrip Pra-hook bernama 01-notify-renewal.sh untuk mengirim email kepada saya ketika sertifikat harus diperbarui.


$ sudo cat /etc/letsencrypt/renewal-hooks/pre/01-notify-renewal.sh 

#! /bin/sh

set -e

echo 'Message' | /usr/bin/mail yourEmail@example.com -s 'Subject' 

Eksekusi manual

Setelah perpanjangan otomatis diatur, tidak perlu lagi memperbarui sertifikat secara manual. Namun, Anda punya pilihan untuk melakukannya. Untuk memperbarui secara manual:


$ sudo certbot -q renew

Opsi -q menekan semua output kecuali kesalahan.


Ingatlah bahwa sertifikat hanya akan diperpanjang jika masa berlakunya masih dalam waktu 30 hari. Anda dapat mengesampingkan pembatasan ini dengan menentukan opsi --force-renewal . Namun gunakan dengan hati-hati (lihat gotcha # 2).


$ sudo certbot -q --force-renewal renew

Gotcha #2: Batas tarif


Perpanjangan tunduk pada batas Duplikat Sertifikat 5 per minggu. Harap baca dokumentasi batas tarif untuk mengetahui apa saja yang termasuk dalam batas ini.


Jika batas tarif sertifikat terlampaui, perpanjangan akan ditangguhkan sementara hingga batas tarif disetel ulang—secara bertahap—setelah seminggu. Misalnya, jika Anda memperbarui sertifikat 3 kali pada hari Senin dan dua kali lagi pada hari Jumat, perpanjangan akan ditangguhkan hingga hari Senin berikutnya.

*

Posting Komentar (0)
Lebih baru Lebih lama