Sertifikat SSL (Secure Sockets Layer) seringkali digunakan untuk mengamankan koneksi pada website sehingga data yang diminta dan dikirimkan tidak terinterupsi oleh pihak manapun. Salah satu sertifikat SSL yang sering digunakan adalah Let’s Encrypt. Jika kamu menggunakan Debian 10, simak cara install SSL Let’s Encrypt pada web server Apache berikut ini.
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.
Cara Install SSL Let’s Encrypt pada Apache di Debian 10
Ada beberapa persiapan yang perlu kamu lakukan untuk meng-install SSL Let’s Encrypt di Apache di Debian 10.
Instalasi SSL Let’s Encrypt ada dilakukan dengan langkah utama berikut:
- Update Server
- Install Firewall
- Install Snapd
- Install Certbot
- Install Sertifikat SSL
- Setting Virtual Configuration Apache
- Tes SSL
Simak penjelasan cara instalasinya di bawah ini:
Update Server
Login sebagai root dan update package pada server agar up-to-date.
$ apt-get update -y $ reboot
Install beberapa packages yang dibutuhkan.
$ apt-get install nano perl wget -y
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). Instalasinya dilakukan dengan perintah di bawah ini:
$ cd /usr/src $ wget https://download.configserver.com/csf.tgz $ tar -xzf csf.tgz $ cd csf/ $ sh install.sh
Ada sedikit perbedaan instalasi pada Debian 10, ikuti perintah di bawah ini.
Install packages libwww:
$ apt-get install libwww-perl -y
$ perl /usr/local/csf/bin/csftest.pl
Kemudian akan keluar output di bawah ini.
Testing ip_tables/iptable_filter...OK Testing ipt_LOG...OK Testing ipt_multiport/xt_multiport...OK Testing ipt_REJECT...OK Testing ipt_state/xt_state...OK Testing ipt_limit/xt_limit...OK Testing ipt_recent...OK Testing xt_connlimit...OK Testing ipt_owner/xt_owner...OK Testing iptable_nat/ipt_REDIRECT...OK Testing iptable_nat/ipt_DNAT...OK RESULT: csf should function on this server
Nonaktifkan firewalld:
$ systemctl stop firewalld $ systemctl disable firewalld
Pada konfigurasi CSF, ubah “make TESTING=’1’ menjadi 0”.
$ nano /etc/csf/csf.conf
Restart dan tes CSF:
$ systemctl restart {csf,lfd} $ systemctl enable {csf,lfd} $ systemctl is-active {csf,lfd}
Kemudian restart CSF agar dapat me-reload hasil konfigurasi yang sudah diperbarui.
$ csf -r
Install snapd
Kamu memerlukan snapd untuk meng-install Certbot yang dapat mengeluarkan sertifikat SSL melalui Apache untuk Debian 10. Snapd adalah package manager aplikasi yang dikembangkan oleh Canonical. Proses instalasi paket snapd nantinya juga akan meng-install snap di server.
$ apt-get install snapd
Kemudian, gunakan snap untuk meng-install core snap, proses ini akan sekaligus menginstal beberapa dependencies yang dibutuhkan server. Termasuk Certbot snap.
$ snap install core
Lalu, refresh core snap untuk memastikan bahwa kamu memiliki versi terbaru pada snapd dan dependencies yang di-install.
$ snap refresh core
Jika keluar output:
snap "core" has no updates available
Artinya kamu sudah menggunakan versi paling baru.
Install Certbot
Langkah selanjutnya adalah meng-install Let’s Encrypt Client, yaitu Certbot.
$ snap install --classic certbot
Mengingat kita menggunakan snapd untuk instalasi Certbot, maka direktorinya berada pada /snap/bin/certbot. Buat symbolic link (Symlink) dari direktori tersebut ke /usr/bin/certbot agar perintah dapat dieksekusi di path manapun tanpa perlu mengakses /snap/bin/certbot terlebih dulu.
$ ln -s /snap/bin/certbot /usr/bin/certbot
Install Sertifikat SSL
Langkah selanjutnya, kita akan membuat Certbot menerbitkan sertifikat untuk nama domain yang kamu gunakan. Di artikel ini, kami menggunakan nama domain vps146.dewiweb.net. Ikuti perintah di bawah ini untuk mengambil sertifikat SSL Let’s Encrypt untuk.
$ certbot --apache
Akan ada beberapa form yang perlu diisi untuk dapat melanjutkan proses instalasinya.
Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): (masukkan alamat email kamu). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. Do you agree? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Would you be willing, once your first certificate is successfully issued, 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
Kami memilih N (No) karena tidak ingin berlangganan email campaign, tapi jika kamu ingin mendapatkan email rutin mengenai news, campaign, dan hal lainnya yang berhubungan dengan Certbot, kamu bisa pilih Y (Yes).
Account registered. Which names would you like to activate HTTPS for? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: vps146.dewiweb.net 2: www.vps146.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
Secara default, Certbot akan mengidentifikasi nama domain kamu berdasarkan pengaturan ServerName yang kamu deklarasikan di virtual host Apache. Jika kamu belum memiliki pengaturan di virtual host Apache, maka kamu perlu memasukkan nama domainnya secara manual. Kelebihan dari hasil pengaturan yang sudah terdeteksi adalah Certbot akan langsung melakukan instalasi dan konfigurasi secara otomatis.
Setelah instalasinya berhasil, maka akan keluar output di bawah ini.
Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c' to cancel): 1 Requesting a certificate for vps146.dewiweb.net Performing the following challenges: http-01 challenge for vps146.dewiweb.net Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/vps146.dewiweb-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/vps146.dewiweb-le-ssl.conf Enabling available site: /etc/apache2/sites-available/vps146.dewiweb-le-ssl.conf Enabled Apache rewrite module Redirecting vhost in /etc/apache2/sites-enabled/vps146.dewiweb.conf to ssl vhost in /etc/apache2/sites-available/vps146.dewiweb-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://vps146.dewiweb.net - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Path file sertifikat berada pada:
/etc/letsencrypt/live/vps146dewiweb.net/fullchain.pem
Path file Private Key berada pada:
/etc/letsencrypt/live/vps146.dewiweb.net/privkey.pem
Setting Virtual Configuration Apache
Certbot memang sudah melakukan instalasi SSL secara otomatis, namun pengaturannya belum up-to-date. Oleh karena itu, kamu perlu melakukan update agar bisa mendapatkan sertifikat SSL dengan rating grade A+.
Ubah pada pengaturan SSLProtocol dan SSLCipherSuite SSL pada:
$ nano /etc/letsencrypt/options-ssl-apache.conf SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 SSLCipherSuite 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
Kemudian simpan dan keluar. Setelah itu, tambahkan script berikut untuk mengaktifkan HSTS di web server Apache kamu. Tambahkan sebelum tag </VirtualHost>.
$ nano /etc/apache2/sites-available/vps146.dewiweb-le-ssl.conf ### code ### Header always set Strict-Transport-Security "max-age=31536000; includeSubdomains;" ### code ###
Jangan lupa simpan, lalu keluar. Tambahan informasi, ### code ### adalah script yang sudah ada pada konfigurasi virtual kamu sebelumnya. Jika sudah selesai, aktifkan modul headers di Apache.
$ a2enmod headers
Restart Apache.
$ systemctl restart apache2
Jika sudah, verifikasi perubahan konfigurasi kamu dengan perintah di bawah ini.
$ apachectl configtest Syntax OK
Kemudian restart Apache sekali lagi.
$ systemctl restart apache2
Tes SSL
Tutorial cara install SSL pada Apache di Debian 10 hampir selesai. Langkah terakhir yang perlu kamu lakukan adalah mengetes, apakah sertifikat SSL sudah ter-install dengan baik atau belum. Caranya, klik ikon gembok di sebelah kiri URL bar browser kamu, lalu lakukan tes sertifikat SSL di SSL Labs untuk mengetahui grade SSL yang terpasang di website-mu. Gambar berikut akan muncul setelah kamu mengklik ikon gembok.
Kemudian, masukkan nama domainmu di SSL Labs, setelah menunggu beberapa saat hingga laporannya muncul, kamu akan melihat tampilan yang kurang lebih terlihat seperti berikut ini.
Simpulan
Setelah mengikuti cara install sertifikat SSL dengan web server Apache di Debian 10, 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 Apache di Debian 10 ini, jangan sungkan untuk meninggalkan ide-ide topik yang ingin kamu baca di blog Dewaweb, ya. Semoga artikel ini membantu, salam sukses online!