GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengamankan Server Web Apache dengan Let's Encrypt di RHEL 8

Di dunia online yang terus-menerus dibanjiri dengan ancaman keamanan, mengamankan server web Anda harus menjadi yang utama dalam pikiran seseorang. Salah satu cara mengamankan server web Anda adalah dengan menerapkan protokol HTTPS di situs Anda menggunakan sertifikat SSL/TLS. Sertifikat SSL/TLS tidak hanya mengamankan situs Anda dengan mengenkripsi informasi yang dipertukarkan antara server web dan browser pengguna, tetapi juga membantu peringkat Google.

Dalam panduan ini, Anda akan mempelajari cara mengamankan server web Apache (http) dengan Let's Encrypt SSL/TLS di RHEL 8.

Prasyarat

Inilah yang Anda butuhkan sebelum melanjutkan:

  • Instance server RHEL 8 dengan pengguna sudo yang dikonfigurasi.
  • Nama Domain yang Memenuhi Syarat Sepenuhnya (FQDN) yang menunjuk ke alamat IP Publik server Anda. Sepanjang panduan ini, kami akan menggunakan nama domain linuxtechgeek.info.

Langkah 1) Instal Apache di RHEL 8

Langkah pertama adalah menginstal web server Apache. Karena Apache sudah ada di repositori AppStream Red Hat, Anda dapat menginstalnya menggunakan pengelola paket DNF sebagai berikut.

$ sudo dnf install -y httpd

Setelah terinstal, jalankan server web Apache dan aktifkan untuk memulai saat boot.

$ sudo systemctl start httpd
$ sudo systemctl enable httpd

Untuk memverifikasi bahwa Apache sedang berjalan, jalankan perintah:

$ sudo systemctl status httpd

Catatan:Jika firewall sedang berjalan maka izinkan port Apache berikut di firewall, jalankan

$ sudo firewall-cmd --add-port=80/tcp --permanent
$ sudo firewall-cmd --add-port=443/tcp –permanent
$ sudo firewall-cmd --realod

Sekarang, Anda dapat membuka browser web dan menjelajahi domain Anda di bilah URL.

Langkah 2) Instal Certbot

Certbot adalah klien opensource yang mudah digunakan yang dikelola oleh EFF (Electronic Frontier Foundation). Itu mengambil sertifikat TLS dari Lets Encrypt dan menyebarkannya ke server web. Dengan demikian, ini menghilangkan kerumitan dan kesulitan dalam mengimplementasikan protokol HTTPS menggunakan sertifikat TLS.

Untuk menginstal Certbot dan paket terkait, pertama-tama aktifkan EPEL (Paket Ekstra untuk Linux Perusahaan).

$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y

Selanjutnya, instal paket certbot dan mod_ssl sebagai berikut.

$ sudo dnf install certbot python3-certbot-apache mod_ssl

Langkah 3) Buat file host virtual Apache

Host virtual memungkinkan untuk meng-host beberapa domain pada satu server web.

Langkah pertama adalah membuat direktori di dalam akar Dokumen tempat semua file situs web akan masuk.

$ sudo mkdir -p /var/www/linuxtechgeek.info/html

Setel kepemilikan direktori ke pengguna Apache.

$ sudo chown -R apache:apache /var/www/linuxtechgeek.info/html

Pastikan untuk mengatur izin direktori seperti yang ditunjukkan.

$ sudo chmod -R 755 /var/www

Dengan direktori domain di tempat dengan semua kepemilikan dan izin yang ditetapkan, kami akan membuat file host virtual di direktori /etc/httpd/conf.d/.

$ sudo vi /etc/httpd/conf.d/linuxtechgeek.info.conf

Tempel baris berikut dan berhati-hatilah untuk menggunakan nama domain Anda sendiri.

<virtualhost *:80>
ServerName linuxtechgeek.info
ServerAlias www.linuxtechgeek.info
DocumentRoot /var/www/linuxtechgeek.info/html
ErrorLog /var/log/httpd/linuxtechgeek.info-error.log
CustomLog /var/log/httpd/linuxtechgeek.info-access.log combined
</virtualhost>

Simpan dan keluar dari file virtualhost.

Untuk menguji apakah virtual host berfungsi, kami akan membuat contoh file HTML di direktori situs web.

$ sudo vi /var/www/linuxtechgeek.info/html/index.html

Tempel konten sampel berikut. Jangan ragu untuk memodifikasinya sesuai keinginan Anda.

<!DOCTYPE html>
<html>
     <body>
         <h1> Welcome to Linuxtechi virtualhost </h1>
      </body>
</html>

Simpan dan keluar dari file HTML. Untuk menyimpan semua perubahan yang dibuat, mulai ulang server web Apache.

$ sudo systemctl restart httpd

Sekarang, jelajahi domain Anda sekali lagi, dan kali ini, alih-alih halaman selamat datang default Apache, Anda akan melihat halaman HTML khusus yang baru saja Anda konfigurasikan. Ini adalah bukti bahwa file host virtual berfungsi.

Langkah 4) Amankan Apache dengan Let's Encrypt Certificate

Langkah terakhir adalah mengambil dan menyebarkan sertifikat Let's Encrypt. Untuk melakukannya, cukup jalankan perintah:

$ sudo certbot --apache

Saat perintah dijalankan, certbot akan memandu Anda melalui serangkaian perintah. Anda akan dimintai alamat email Anda dan diminta untuk menyetujui Syarat dan Ketentuan. Anda juga akan ditanya apakah Anda ingin menerima email berkala tentang berita EFF, dan kampanye tentang kebebasan digital.

Saat diminta tentang nama untuk mengaktifkan HTTPS, cukup tekan ENTER untuk menerapkan sertifikat ke semua domain yang disediakan. 

Certbot akan melanjutkan untuk mengambil sertifikat TLS dari Let's Encrypt dan mengimplementasikannya di server web Anda. Certbot kemudian akan mencetak jalur penyimpanan sertifikat dan kunci serta jalur penerapan sertifikat untuk domain Anda.

Untuk memverifikasi bahwa Let's encrypt berhasil diterapkan, segarkan browser Anda. Kali ini, Anda akan melihat ikon gembok di awal bilah URL yang menunjukkan bahwa situs telah berhasil dienkripsi.

Anda dapat mengklik ikon gembok untuk detail tambahan

Selain itu, Anda dapat melakukan pengujian ssl di ssl labs untuk memverifikasi sertifikat Anda secara digital. Jika semuanya berjalan dengan baik, Anda harus mendapatkan nilai A.

Langkah 5) Mari Enkripsi Pembaruan Sertifikat

Sertifikat Let's Encrypt hanya berlaku selama 90 hari. Beberapa minggu sebelum kedaluwarsa, Anda biasanya akan mendapatkan pemberitahuan dari EFF tentang masa berlaku sertifikat yang akan datang dan kebutuhan untuk memperbarui sertifikat Anda.

Anda dapat memperbarui sertifikat secara manual dengan menjalankan perintah:

$ sudo certbot renew

Untuk menyimulasikan pembaruan sertifikat, jalankan perintah:

$ sudo certbot renew --dry-run

Ini hanya meniru pembaruan sertifikat yang sebenarnya dan tidak melakukan tindakan apa pun.

Untuk mengotomatiskan pembaruan sertifikat, buka file crontab

$crontab -e

Tentukan tugas cron di bawah ini yang akan dijalankan setiap tengah malam.

0 0 * * * /usr/bin/certbot perbarui> /dev/null 2>&1

Kesimpulan

Kami harap Anda sekarang dapat menerapkan sertifikat Let's Encrypt di RHEL dengan lancar untuk mengamankan server web Apache.

Baca Juga :Cara Memperkuat dan Mengamankan Server Web NGINX di Linux


Linux
  1. Cara mengkonfigurasi server web Apache

  2. Cara mengkonfigurasi beberapa situs web dengan server web Apache

  3. Cara Menginstal Let's Encrypt SSL dengan Apache di Debian 11

  1. Cara Mengamankan Nginx dengan SSL dan Let's Encrypt di FreeBSD

  2. Cara Menginstal Let's Encrypt di Ubuntu 20.04 dengan Apache

  3. Cara mengamankan Apache dengan Lets Encrypt di Ubuntu 18.04

  1. Cara Instal Apache Web Server di CentOS 7

  2. Amankan Apache dengan Lets Encrypt di CentOS 8

  3. Cara Mengamankan server Ubuntu Anda dengan CSF Firewall