Instalasi dan penggunaan sertifikat SSL sangat penting untuk mengamankan website maupun server yang kamu gunakan. Sebab, SSL dapat menjamin keamanan transfer data sehingga tak ada yang dapat menginterupsi data yang diminta dan dikirimkan. Jika kamu menggunakan server dengan OS CentOS 8, pelajari cara install sertifikat SSL Let’s Encrypt dengan web server Nginx dari artikel berikut, yuk!
Let’s Encrypt
Let’s Encrypt adalah organisasi non-profit dari Linux Foundation yang menyediakan SSL gratis dengan enkripsi standar untuk seluruh pemilik website. SSL ini memiliki validasi waktu 90 hari dan menggunakan protokol ACME (Automatic Certificate Management Environment) yang dapat melakukan pembaruan otomatis setiap 90 hari menggunakan cron job.
Baca Juga: Kenali Let’s Encrypt SSL untuk Menaikkan Peringkat Website
Cara Install SSL Let’s Encrypt pada Nginx di CentOS 8
Ada beberapa persiapan yang perlu kamu lakukan untuk meng-install SSL Let’s Encrypt pada web server Nginx di CentOS 8.
- VPS dengan OS CentOS 8.
- VPS yang sudah di-setup dengan LEMP.
- Domain yang sudah diarahkan ke IP VPS.
- Akses root.
Instalasi SSL Let’s Encrypt dengan web server Nginx di CentOS 8 dilakukan dengan beberapa langkah utama di bawah ini.
- Update Server
- Install Firewall
- Install Certbot
- Install Sertifikat SSL
- Setting Virtual Configuration Nginx
- Tes SSL
Simak penjelasan lengkapnya di bawah ini.
Update Server
Login sebagai root dan perbarui package yang ada pada server agar up-to-date.
$ dnf update -y $ reboot
Install beberapa packages yang dibutuhkan.
$ dnf install nano perl wget -y
Baca Juga: Panduan CSF Firewall pada Cloud Server (VPS) CentOS
Install Firewall
Sebelum memulai instalasi SSL, kamu perlu meng-install firewall agar lebih aman. Di tutorial SSL kali ini yang digunakan adalah firewall CSF (ConfigServer Security & Firewall). Namun, instalasi CSF Firewall di CentOS 8 sedikit berbeda dengan OS lain, ikuti perintah di bawah ini:
$ cd /usr/src $ wget https://download.configserver.com/csf.tgz $ tar -xzf csf.tgz
Install dan buat direktori iptables dengan:
$ dnf install iptables-services -y $ touch /etc/sysconfig/iptables $ touch /etc/sysconfig/iptables6
Install CSF dengan perintah:
$ cd csf/ $ sh install.sh $ perl /usr/local/csf/bin/csftest.pl
Kemudian edit csf.conf dan ubah value “make TESTING” menjadi 0.
$ nano /etc/csf/csf.conf make TESTING=’0’
Simpan lalu keluar. Kemudian reload CSF dengan perintah di bawah ini.
$ csf -r
Install Certbot
Kemudian kamu perlu menginstal Let’s Encrypt Client, yaitu Certbot. Namun sebelum itu, kamu memerlukan repositori bernama EPEL Repository. Ikuti perintah berikut:
$ dnf install epel-release
Install packages dengan perintah:
$ dnf install certbot python3-certbot-nginx
Install Sertifikat SSL
Cara selanjutnya adalah install SSL pada Nginx di server CentOS 8. Kamu perlu mengambil sertifikat untuk domain yang digunakan, contoh domain yang digunakan di artikel ini adalah vps188.dewiweb.net. Kamu bisa mengubahnya sesuai domain yang kamu gunakan.
$ certbot --nginx Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): (masukkan email address yang digunakan) Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: N
Jika tak ingin mendapatkan email rutin berisi berita, campaign, dan email lain yang berkaitan dengan Certbot, maka pilih N (No). Tapi jika kamu ingin berlangganan email, pilih Y (Yes).
Which names would you like to activate HTTPS for? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: vps188.dewiweb.net 2: www.vps188.dewiweb.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c' to cancel): 1
Jika domain kamu sudah terdeteksi oleh Certbot, maka tampilannya akan seperti di atas. Namun, jika Certbot belum mengenali domainmu, maka kamu perlu menambahkannya secara manual. Setelah berhasil, akan muncul output seperti di bawah ini.
Requesting a certificate for vps188.dewiweb.net Performing the following challenges: http-01 challenge for vps188.dewiweb.net Waiting for verification... Cleaning up challenges Deploying Certificate to VirtualHost /etc/nginx/conf.d/vps188.dewiweb.conf Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/vps188.dewiweb.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://vps188.dewiweb.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Path file sertifikat berada pada:
/etc/letsencrypt/live/vps188.dewiweb.net/fullchain.pem
Path file Private Key berada pada:
/etc/letsencrypt/live/vps188.dewiweb.net/privkey.pem
Setting Virtual Configuration Nginx
Meski Certbot sudah melakukan instalasi secara otomatis, tapi pengaturannya belum up-to-date. Oleh karena itu, kamu perlu melakukan pembaruan (update) untuk mendapatkan SSL dengan rating grade A+.
Ubah pengaturan SSL:
$ nano /etc/letsencrypt/options-ssl-nginx.conf #SSL # Use certificate and key provided by Let's Encrypt: ssl_session_timeout 15m; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256'; ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=300s;
Simpan lalu keluar. Kemudian tambahkan script di bawah ini di konfigurasi virtual pada domain Nginx. Tambahkan di bawah “ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot “.
$ nano /etc/nginx/conf.d/vps188.dewiweb.conf ### code ### ssl_trusted_certificate /etc/letsencrypt/live/vps188.dewiweb.net/fullchain.pem; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains"; ### code ###
Lalu simpan dan keluar. Tambahan informasi, ### code ### adalah script yang sudah ada pada konfigurasi virtual kamu sebelumnya. Kemudian verifikasi hasil konfigurasinya dengan perintah di bawah ini.
$ nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Setelah itu, restart Nginx.
$ systemctl restart nginx
Tes SSL
Cara install SSL Let’s Encrypt pada Nginx di CentOS 8 hampir selesai. Langkah terakhir yang perlu dilakukan adalah melakukan tes, apakah sertifikat SSL sudah terpasang dengan baik atau belum. Caranya, klik ikon gembok di sebelah kiri URL bar browser kamu, jika muncul tampilan seperti berikut ini, artinya sertifikat sudah berhasil terpasang di website-mu.
Cara lainnya, kamu bisa mengetes dan mencari tahu grade sertifikat SSL di SSL Labs. Setelah memasukkan nama domain, tunggu sebentar hingga muncul hasil grade sertifikatmu seperti gambar di bawah ini.
Baca Juga: Cara Install Mikrotik CHR pada Server dengan CentOS 8
Simpulan
Setelah mengikuti cara install sertifikat SSL dengan web server Nginx di CentOS 8, seharusnya saat ini website-mu sudah memiliki koneksi yang aman dengan grade A+. Selain meningkatkan kepercayaan pengunjung, keberadaan sertifikat SSL juga bisa mempermudah website-mu untuk menaikkan peringkat di Google, yang nantinya akan berdampak pula pada peningkatan traffic website.
Tapi, ada beberapa faktor lain yang bisa memengaruhi peringkat website-mu di mesin pencari, misalnya optimasi website dan hosting yang digunakan. Pastikan kamu menggunakan server VPS atau cloud hosting terbaik, kemudian pelajari apa saja tools yang bisa kamu gunakan untuk mengoptimasi website-mu dari artikel “Tools SEO untuk Optimasi Website“.
Demikian tutorial cara install sertifikat SSL dengan web server Nginx di CentOS 8 ini, jangan sungkan untuk meninggalkan ide-ide topik yang ingin kamu baca di blog Dewaweb, ya. Semoga artikel ini membantu, salam sukses online!