Panduan cara install SSL di Debian cukup banyak dicari para pemilik website yang ingin meningkatkan keamanan website-nya. Debian memang menjadi salah satu sistem operasi berbasis Linux dengan komunitas yang cukup besar.
Alasan utama Debian banyak diminati karena sifatnya yang open source selayaknya Linux itu sendiri. Jadi, Debian ini bebas dikembang-gunakan oleh penggunanya secara gratis.
Sementara dalam ranah SSL (Secure Sockets Layer), salah satu yang paling sering digunakan adalah Let’s Encrypt. Organisasi non-profit di bawah naungan Linux Foundation ini menyediakan SSL gratis dengan enkripsi standar untuk seluruh pemilik website. Jika kamu menggunakan Debian 10, simak cara install SSL Let’s Encrypt pada web server Apache berikut ini!
Hal yang Harus Dipersiapkan
Ada beberapa hal yang perlu kamu persiapkan untuk meng-install SSL Let’s Encrypt di Apache di Debian 10, di antaranya:
Pastikan kamu sudah memenuhi persyaratan di atas sebelum memulai instalasi.
Baca Juga: Cara Install SSL Let’s Encrypt pada Nginx di CentOS 8
Langkah Install SSL Let’s Encrypt pada 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
Setelah memenuhi persyaratan tadi, mari langsung simak penjelasan cara instalasinya di bawah ini:
1. Update server
Login sebagai root dan update package pada server agar up-to-date.
$ apt-get update -y
$ reboot
Selanjutnya install beberapa packages yang dibutuhkan.
$ apt-get install nano perl wget -y
2. 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
Baca Juga: Mengenal Jenis Firewall untuk Menjaga Keamanan Data
3. 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.
4. Install Certbot
Langkah selanjutnya adalah meng-install Let’s Encrypt Client, yaitu Certbot.
$ snap install --classic certbot
Mengingat pada tutorial ini 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
5. Install sertifikat SSL
Langkah selanjutnya adalah 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.
$ 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.
Baca Juga: Cara Konfigurasi Virtual Host di Apache
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
Sementara Path file Private Key berada pada:
/etc/letsencrypt/live/vps146.dewiweb.net/privkey.pem
6. 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
7. Tes SSL
Tutorial cara install SSL pada Apache di Debian 10 hampir selesai. Langkah terakhir yang perlu kamu lakukan adalah mengetesnya, apakah sertifikat SSL sudah ter-install dengan baik atau belum.
Caranya, klik ikon gembok di sebelah kiri URL bar web 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.
Baca Juga: Cara Install Let’s Encrypt SSL pada Nginx di CentOS7
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.
Baca Juga: Tutorial Instalasi SSL di Web Server Apache untuk CentOS 7
Pakai SSL untuk Amankan Website!
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+. Apabila terjadi masalah seperti error setelah pemasangan, kamu bisa mengunjungi artikel Masalah SSL Error pada Website dan Cara Mengatasinya untuk mencari solusinya.
Jika website kamu belum dilengkapi SSL, segera beli SSL certificate dan mengaktifkannya. Sebab, SSL mampu meningkatkan kepercayaan pengunjung sehingga akan mempermudah website-mu untuk memiliki peringkat tinggi di SERP. Hal ini tentunya akan berdampak pada meningkatnya traffic website.
Pastikan juga website-mu menggunakan server VPS atau cloud hosting terbaik. Dewaweb adalah provider cloud hosting dan SSL pertama di Indonesia yang telah mendapat sertifikat keamanan ISO 27001 dan Extended Validation dari DigiCert Secure Site EV.
Jika kamu tidak puas dengan SSL Dewaweb, kamu bisa klaim garansi 30 hari uang kembali. Silakan hubungi Ninja Support maksimal 30 hari sejak pembelian, nantinya pembelian SSL kamu akan dibatalkan dan uang dikembalikan.
Tunggu apa lagi? Yuk segera amankan website kamu dengan SSL Dewaweb sekarang!