Intermezzo

Tips Mendapatkan Nilai A pada Hasil Qualys SSL Labs (Apache)

Kualitas instalasi SSL pada website kita bisa di cek melalui tools website bernama Qualys SSL. Apabila di cek masih mendapat nilai C ke bawah, maka dipastikan website kita masih terdapat celah bug pada SSL yang kita konfigurasi, biasanya ini terkait dengan chipher yang digunakan oleh SSL tersebut.

Kali saya mau sharing mengenai tips mendapatkan nilai A bahkan A+ untuk SSL ketika di test melalui Qualys SSL serta untuk menutup bug-bug yang ada pada SSL tersebut serta meningkatkan keamanan website.

Pastikan website kita sudah di set menggunakan https dan terinstall SSL, kalau belum, berikut langkah-langkahnya

Set HTTPS pada website

Siapkan file SSL Certificate

Bila belum ada file SSL nya, bisa order dahulu di Excellent, kami provide berbagai type SSL , dari type Single Domain, Multi Domain hingga Wildcard Domain ->> https://www.excellent.co.id/ssl/

Konfigurasi VirtualHost

Untuk lokasi file virtualhost biasanya berada di directory /etc/apache2/sites-available/ pada Ubuntu, dan /etc/httpd/conf.d/ pada CentOS

Berikut ini contoh isian pada virtualhost dimana saya set auto redirect dari http ke https ketika diakses via web browser

<VirtualHost *:80>
DocumentRoot "/var/www/nextcloud"
ServerName nextcloud.rizkypratama.id
ServerAdmin root@localhost
ErrorLog ${APACHE_LOG_DIR}/nextcloud_error.log
CustomLog ${APACHE_LOG_DIR}/nextcloud_access.log combined
<Directory /var/www/nextcloud/>
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
Satisfy Any
</Directory>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}:443%{REQUEST_URI}
</VirtualHost>

<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin root@localhost
ServerName nextcloud.rizkypratama.id
DocumentRoot "/var/www/nextcloud"

ErrorLog ${APACHE_LOG_DIR}/nextcloud_error.log
CustomLog ${APACHE_LOG_DIR}/nextcloud_access.log combined

SSLEngine on
SSLProtocol all -SSLv2 -SSLv3

SSLCertificateFile /srv/ssl/commercial.crt
SSLCertificateKeyFile /srv/ssl/commercial.key
SSLCertificateChainFile /srv/ssl/commercial_ca.crt
SSLCACertificateFile /srv/ssl/commercial_ca.crt

<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
</IfModule>

Bagian yang saya beri warna merah silakan disesuaikan saja, lalu save dan enable kan virtualhost nya

Kemudian di cek pada Qualys SSL, mestinya untuk settingan seperti itu maksimal hanya mendapat nilai C ke bawah.

Berikut ini beberapa konfigurasi yang mesti ditambahkan agar bisa mendapat nilai A pada Qualys SSL

Disable TLSv1.0 dan TLSv1.1

TLSv1.0 dan TLSv1.1 bisa dikatakan TLS versi lama yang saat ini kemungkinan memiliki celah keamanan sehingga disarankan untuk didisable serta hanya mengaktifkan TLSv1.2 saja

Diantara tag <VirtualHost _default_:443>
…..
</VirtualHost>

dan bagian SSLProtocol, silakan ubah menjadi seperti berikut

SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

Aktifkan ChipherOrder

Tambahkan script berikut dibawah tulisan SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

SSLHonorCipherOrder On
SSLCipherSuite "EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA!RC4:EECDH:!RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS"

Aktifkan HSTS

Tambahkan script berikut diantara tag <VirtualHost _default_:443>…..</VirtualHost> juga

<IfModule mod_headers.c>
	Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
</IfModule>

Enable Beberapa Module

Selanjutnya aktifkan beberapa module berikut

# a2enmod rewrite env headers mime dir ssl setenvif

Selanjutnya silakan restart service apache2 nya

# service apache2 restart

Selanjutnya silakan di test kembali website anda pada Qualys SSL Labs

https://www.ssllabs.com/ssltest/index.html

Berikut hasilnya, mestinya akan mendapat nilai A+ dengan konfigurasi seperti diatas

Terima kasih

Semoga bermanfaat

Share
Published by
Rizky Pratama

Recent Posts

Tips Zimbra : Mengatasi Service Cbpolicyd Starting Failed Setelah Migrasi ke Rocky Linux 8

Beberapa waktu lalu, Excellent mendapatkan project migrasi Zimbra dari versi Open Source Ke Zimbra Network…

4 weeks ago

Mengatasi Error “no matching host key type found. Their offer: ssh-rsa,ssh-dss” Setelah Upgrade MacOS Ventura Saat Melakukan SSH

Bulan Oktober 2022 lalu, Apple resmi release MacOS terbaru mereka, yaitu MacOS Ventura. Beberapa fitur…

1 year ago

Cara Memindahkan Saham ke Sekuritas Lain

Tidak terasa sudah cukup lama saya tidak update tulisan pada blog ini lagi, akhirnya kali…

2 years ago

Tahun Baru, Markas Baru, Tulisan Baru

Tahun baru 2022 telah tiba, tidak terasa waktu berjalan begitu cepat, banyak cerita dan kenangan…

2 years ago

Mengatasi “Error while performing update: Input/output error (5)” Saat Update Tuxera pada MacOS

Kembali lagi bersama saya, setelah beberapa lama tidak update tulisan pada blog ini :D kali…

2 years ago

Konfigurasi PPTP Client pada Container Docker CLI

PPTP adalah kependekan dari Point-toPoint Tunneling Protocol yang merupakan bahasa yang membuat komputer dapat berkomunikasi…

3 years ago