Cara Install Let’s Encrypt di CentOS 7

Tutorial Cara Install Let’s Encrypt di CentOS 7. Let’s Encrypt adalah Otoritas Sertifikat (CA) yang menyediakan sertifikat gratis untuk enkripsi Transport Layer Security (TLS), sehingga memungkinkan HTTPS terenkripsi di web server.

Baca Juga: Cara Menginstal Cyberpanel Linux

Dalam tutorial ini, Anda akan menggunakan Certbot untuk mengatur sertifikat TLS / SSL dari Let’s Encrypt di server CentOS 7 yang menjalankan Apache sebagai web server. Selain itu, Anda akan mengotomatiskan proses perpanjangan sertifikat menggunakan cron.

Menginstal Certbot Let’s Encrypt Client

Untuk menggunakan Let’s Encrypt untuk mendapatkan sertifikat SSL, Anda harus terlebih dahulu menginstal Certbot dan mod_ssl, modul Apache yang menyediakan dukungan untuk enkripsi SSL v3.

Paket certbot tidak tersedia melalui manajer paket secara default. Anda harus mengaktifkan repositori EPEL untuk menginstal Certbot.

Untuk menambahkan repositori CentOS 7 EPEL, jalankan perintah berikut:

yum install epel-release

Sekarang Anda memiliki akses ke repositori, instal semua paket yang diperlukan:

yum install certbot python2-certbot-apache mod_ssl

Selama proses instalasi Anda akan ditanya tentang mengimpor kunci GPG. Kunci ini akan memverifikasi keaslian paket yang Anda instal. Untuk memungkinkan instalasi selesai, terima kunci GPG dengan mengetik y dan menekan ENTER saat diminta untuk melakukannya.

Dengan layanan ini diinstal, Anda sekarang siap menjalankan Certbot dan mengambil sertifikat Anda.

Memperoleh Sertifikat

Setelah Certbot diinstal, Anda dapat menggunakannya untuk meminta sertifikat SSL untuk domain Anda.

Untuk menjalankan instalasi interaktif dan mendapatkan sertifikat yang hanya mencakup satu domain, jalankan perintah certbot dengan:

certbot --apache -d example.com

Ini menjalankan certbot dengan plugin –apache dan menentukan domain untuk mengkonfigurasi sertifikat dengan flag -d.

Jika Anda ingin menginstal satu sertifikat yang berlaku untuk banyak domain atau subdomain, Anda bisa meneruskannya sebagai parameter tambahan dalam perintah

certbot --apache -d example.com -d www.example.com

Domain dalam contoh ini adalah example.com.

Anda juga dapat memilih antara mengaktifkan akses http dan https atau memaksa semua permintaan untuk mengalihkan ke https. Untuk keamanan yang lebih baik, disarankan untuk memilih opsi 2: Redirect jika Anda tidak memiliki kebutuhan khusus untuk mengizinkan koneksi yang tidak dienkripsi. Pilih pilihan Anda lalu tekan ENTER.

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):2

Jika instalasi berhasil, Anda akan melihat pesan yang mirip dengan ini:

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/example.com/privkey.pem
Your cert will expire on 2019-08-14. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

Memeriksa Status Sertifikat Anda

Anda dapat memastikan bahwa Certbot membuat sertifikat SSL Anda dengan benar dengan menggunakan Uji Server SSL dari Qualys perusahaan keamanan cloud.

Buka tautan berikut di web browser Anda, ganti example.com dengan domain Anda:

https://www.ssllabs.com/ssltest/analyze.html?d=example.com

Menyiapkan Pembaruan Otomatis

SSL Let’s Encrypt berlaku selama 90 hari, disarankan agar Anda memperbarui sertifikat setiap 60 hari. Karena itu, ini adalah praktik terbaik untuk mengotomatiskan proses memperbarui sertifikat.

Pertama, mari kita periksa perintah yang akan Anda gunakan untuk memperbarui sertifikat. Certbot Let’s Encrypt memiliki perintah perpanjangan yang secara otomatis memeriksa sertifikat yang saat ini diinstal dan mencoba memperbaruinya jika mereka kurang dari 30 hari dari tanggal kedaluwarsa. Dengan menggunakan opsi –dry-run, Anda dapat menjalankan simulasi tugas ini untuk menguji cara kerja perpanjangan nya:

certbot renew --dry-run

Outputnya akan terlihat seperti ini:

Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/example.com.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert not due for renewal, but simulating renewal for dry run
Plugins selected: Authenticator apache, Installer apache
Starting new HTTPS connection (1): acme-staging-v02.api.letsencrypt.org
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for example.com
http-01 challenge for www.example.com
Waiting for verification...
Cleaning up challenges
Resetting dropped connection: acme-staging-v02.api.letsencrypt.org

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
new certificate deployed with reload of apache server; fullchain is
/etc/letsencrypt/live/example.com/fullchain.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
** DRY RUN: simulating 'certbot renew' close to cert expiry
** (The test certificates below have not been saved.)

Congratulations, all renewals succeeded. The following certs have been renewed:
/etc/letsencrypt/live/example.com/fullchain.pem (success)
...

Perlu diperhatikan bahwa jika Anda membuat sertifikat yang dibundel dengan beberapa domain, hanya nama domain utama yang akan ditampilkan dalam output, tetapi pembaruan akan valid untuk semua domain yang termasuk dalam sertifikat ini.

Cara praktis untuk memastikan sertifikat Anda tidak akan kedaluwarsa adalah dengan membuat cron job yang secara berkala akan menjalankan perintah pembaruan otomatis untuk Anda. Karena pembaruan pertama memeriksa tanggal kedaluwarsa dan hanya melaksanakan perpanjangan jika sertifikat kurang dari 30 hari dari kedaluwarsa, aman untuk membuat pekerjaan cron yang berjalan setiap minggu atau bahkan setiap hari.

Dokumentasi resmi Certbot merekomendasikan menjalankan cron dua kali per hari. Ini akan memastikan bahwa, jika Mari Enkripsi memulai pencabutan sertifikat, tidak akan ada lebih dari setengah hari sebelum Certbot memperbarui sertifikat Anda.

Edit crontab untuk membuat pekerjaan baru yang akan menjalankan pembaruan dua kali per hari. Untuk mengedit crontab untuk pengguna root, jalankan:

crontab -e

Masuk ke mode insert dengan menekan i dan tambahkan di baris berikut:

0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew

Setelah selesai, tekan ESC untuk meninggalkan mode penyisipan, lalu: wq dan ENTER untuk menyimpan dan keluar dari file. Ini akan menciptakan pekerjaan cron baru yang akan dijalankan pada siang dan tengah malam setiap hari.