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.

Definisi 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.

Langkah - langkah Pemasangan

Sebelum menginstall SSL Let’s Encryp Ada beberapa persiapan yang perlu kamu lakukan untuk meng-install SSL Let’s Encrypt di Apache di Debian 10, diantaranya.

  • VPS OS Debian 10
  • Domain yang sudah diarahkan ke IP VPS
  • Akses Root

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
  • Test SSL

Simak penjelasan cara install dibawah ini :

1. Update Server

Login sebagai root dan update package pada server agar up-to-date.

sudo apt-get update -y 
reboot

install beberapa package 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 pada instalasi Debian10, silahkan ikuti perintah dibawah ini.

apt-get install libwww-perl -y
perl /usr/local/csf/bin/csftest.pl

Maka akan muncul tampilan seperti dibawah 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 Firewall :

systemctl stop firewalld
systemctl disable firewalld

ada 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

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 seperti dibawah ini :

snap "core" has no updates available

Itu artinya kamu sudah menggunakan versi terbaru

4. Install Certbot

Langkah selanjutnya adalah meng-install Let’s Encrypt Client, yaitu Certbot.

snap install --clasic 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

5. 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 seperti 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

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 ###

Simpan lalu keluar {{- admonition -}} ### code ### adalah script yang sudah ada pada konfigurasi virtual kamu sebelumnya. Jika sudah selesai, aktifkan modul headers di Apache. {{- / admonition -}}

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. Test 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.

VPS

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.

SSL info

Kesimpulan

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 RidwanKulu ya. Semoga artikel ini membantu, Terima Kasih sudah membaca.