Amankan Apache dengan Lets Encrypt Sertifikat SSL di CentOS 8


Mengamankan server web Anda selalu menjadi salah satu faktor utama yang harus Anda pertimbangkan sebelum meluncurkan situs web Anda. Sertifikat keamanan sangat penting untuk mengamankan lalu lintas yang dikirim dari browser web ke server web dan dengan demikian, sertifikat akan menginspirasi pengguna untuk bertukar data dengan situs web Anda dengan pengetahuan penuh bahwa lalu lintas yang dikirim aman.

Dalam kebanyakan kasus, sertifikat keamanan dibayar dan diperbarui setiap tahun. Sertifikat Let's Encrypt adalah otoritas sertifikat gratis, terbuka, dan otomatis yang dapat Anda gunakan untuk mengenkripsi situs Anda. Sertifikat akan habis masa berlakunya setiap 90 hari dan diperpanjang secara otomatis tanpa biaya sama sekali.

Bacaan yang Direkomendasikan: Cara Mengamankan Nginx dengan Let's Encrypt di CentOS 8

Dalam artikel ini, kami akan menunjukkan kepada Anda bagaimana Anda dapat menginstal Let's Encrypt Certificate dengan Certbot untuk server web Apache dan kemudian, mengkonfigurasi sertifikat untuk memperbarui secara otomatis di CentOS 8.

Prasyarat

Sebelum memulai, pastikan Anda memiliki hal berikut:

1. Sebuah instance server CentOS 8 dengan server web Apache HTTP terinstal dan berjalan. Anda dapat mengonfirmasi bahwa server web Apache Anda aktif dan berjalan.

sudo dnf install httpd
sudo systemctl status httpd

2. Nama Domain Sepenuhnya Memenuhi Syarat (FQDN) yang menunjuk ke alamat IP publik server web Anda di penyedia hosting web DNS Anda. Untuk panduan ini, kita akan menggunakan linuxtechwhiz.info yang menunjuk ke IP server 34.67.63.136.

Langkah 1. Instal Certbot di CentOS 8

Certbot adalah klien yang mengotomatiskan pemasangan sertifikat keamanan. Ia mengambil sertifikat dari Mari mengenkripsi otoritas dan menyebarkannya di server web Anda tanpa banyak kerumitan.

Certbot benar-benar gratis dan memungkinkan Anda memasang sertifikat secara interaktif dengan menghasilkan instruksi berdasarkan konfigurasi server web Anda.

Sebelum mengunduh certbot, terlebih dahulu instal paket yang diperlukan untuk konfigurasi koneksi terenkripsi.

Kami akan memulai dengan menginstal repositori EPEL yang menyediakan paket tambahan berkualitas tinggi untuk sistem berbasis RHEL:

sudo dnf install epel-release

Selanjutnya, instal paket mod_ssl dan openssl.

sudo dnf install mod_ssl openssl

Setelah semua dependensi terinstal, instal Certbot dan modul Apache untuk Certbot.

sudo dnf install certbot python3-certbot-apache

Perintah ini menginstal Certbot, modul Apache untuk Certbot, dan dependensi lainnya.

Langkah 2: Buat Host Virtual Apache

Langkah selanjutnya adalah membuat file host virtual untuk domain kita – linuxtechwhiz.info. Mulailah dengan terlebih dahulu membuat root dokumen tempat Anda akan menempatkan file HTML Anda.

sudo mkdir /var/www/linuxtechwhiz.info.conf

Buat file index.html pengujian seperti yang ditunjukkan.

sudo echo “<h1>Welcome to Apache HTTP server</h1>” > /var/www/linuxtechwhiz.info/index.html

Selanjutnya, buat file host virtual seperti yang ditunjukkan.

sudo vim /etc/httpd/conf.d/linuxtechwhiz.info

Tambahkan konfigurasi di bawah ini.

<VirtualHost *:443>
  ServerName linuxtechwhiz.info
  ServerAlias www.linuxtechwhiz.info
  DocumentRoot /var/www/linuxtechwhiz.info/
  <Directory /var/www/linuxtechwhiz.info/>
      Options -Indexes +FollowSymLinks
      AllowOverride All
  </Directory>
  ErrorLog /var/log/httpd/www.linuxtechwhiz.info-error.log
  CustomLog /var/log/httpd/www.linuxtechwhiz.info-access.log combined
</VirtualHost>

Simpan dan keluar.

Tetapkan izin ke akar Dokumen seperti yang ditunjukkan.

sudo chown -R apache:apache /var/www/linuxtechwhiz.info

Agar perubahan diterapkan, mulai ulang layanan Apache.

sudo systemctl restart httpd

Langkah 3: Instal Mari Enkripsi Sertifikat SSL di CentOS 8

Sekarang jalankan certbot seperti yang ditunjukkan untuk memulai instalasi sertifikat Let's Encrypt.

sudo certbot --apache -d domain.com

Dalam kasus kami, ini akan menjadi:

sudo certbot --apache -d linuxtechwhiz.info

Perintah ini akan membawa Anda melalui serangkaian petunjuk yang memungkinkan Anda mengonfigurasi Lets Encrypt untuk domain Anda. Pastikan untuk memberikan alamat email Anda, Terima Persyaratan Layanan dan tentukan nama domain yang ingin Anda gunakan protokol HTTPS yang merupakan versi terenkripsi dari HTTP.

Jika semuanya berjalan lancar, Anda akan mendapatkan pesan ucapan selamat di bagian akhir yang memberitahukan bahwa situs Anda telah diamankan menggunakan sertifikat Let's Encrypt. Validitas sertifikat Anda juga akan ditampilkan – biasanya setelah 90 hari setelah penerapan.

Sekarang kembali ke file host virtual Anda dan tambahkan baris konfigurasi berikut.

SSLEngine On
 SSLCertificateFile    /etc/letsencrypt/live/linuxtechwhiz.info/fullchain.pem
 SSLCertificateKeyFile  /etc/letsencrypt/live/linuxtechwhiz.info/privkey.pem

Simpan dan keluar.

Konfigurasi final host virtual Apache akan terlihat seperti ini:

<VirtualHost *:443>
  ServerName linuxtechwhiz.info
  ServerAlias www.linuxtechwhiz.info
  DocumentRoot /var/www/linuxtechwhiz.info/
  <Directory /var/www/linuxtechwhiz.info/>
      Options -Indexes +FollowSymLinks
      AllowOverride All
  </Directory>
  ErrorLog /var/log/httpd/www.linuxtechwhiz.info-error.log
  CustomLog /var/log/httpd/www.linuxtechwhiz.info-access.log combined

 SSLEngine On
 SSLCertificateFile    /etc/letsencrypt/live/linuxtechwhiz.info/fullchain.pem
 SSLCertificateKeyFile  /etc/letsencrypt/live/linuxtechwhiz.info/privkey.pem
</VirtualHost>

Sekali lagi, restart Apache.

sudo systemctl restart httpd

Langkah 4: Memverifikasi Sertifikat SSL Mari Enkripsi

Untuk memverifikasi bahwa semuanya berfungsi, luncurkan browser Anda dan kunjungi alamat IP server Anda. Anda sekarang akan melihat simbol gembok di awal URL.

Untuk mendapatkan detail lebih lanjut, klik simbol gembok & klik opsi ‘Sertifikat’ pada menu tarik-turun yang muncul.

Detail sertifikat akan ditampilkan di jendela pop-up berikutnya.

Selain itu, Anda dapat menguji server Anda di https://www.ssllabs.com/ssltest/ dan situs Anda akan mendapatkan nilai 'A' seperti yang ditunjukkan.

Langkah 5: Perpanjang Otomatis Mari Enkripsi Sertifikat SSL

Let's Encrypt hanya berlaku selama 90 hari saja. Biasanya, proses pembaharuan dilakukan oleh paket certbot yang menambahkan skrip pembaharuan ke direktori /etc/cron.d. Skrip ini berjalan dua kali sehari dan secara otomatis akan memperbarui sertifikat apa pun dalam waktu 30 hari setelah habis masa berlakunya.

Untuk menguji proses perpanjangan otomatis, lakukan uji coba dengan certbot.

sudo /usr/local/bin/certbot-auto renew --dry-run

Jika tidak ada kesalahan yang ditemukan, itu berarti Anda siap melakukannya.

Ini membawa kita ke akhir panduan ini. Dalam panduan ini, kami mendemonstrasikan bagaimana Anda dapat menggunakan certbot untuk menginstal dan mengonfigurasi Sertifikat Let's Encrypt di server web Apache yang berjalan pada sistem CentOS 8.