Mengutamakan keamanan dan perlindungan terhadap data pengguna tentunya menjadi prioritas pemilik website di era digital yang semakin maju ini. Salah satu langkah penting untuk meningkatkan keamanan website adalah dengan mengaktifkan HTTP Strict Transport Security (HSTS).
Dalam artikel ini, penulis akan membahas langkah-langkah yang perlu Anda lakukan untuk mengaktifkan HSTS pada website anda, serta pentingnya fitur ini untuk meningkatkan keamanan website Anda.
Apa itu HSTS ?
HSTS (HTTP Strict Transport Security) merupakan mekanisme keamanan yang membantu melindungi website dari serangan man-in-the-middle (MITM) dan downgrade attacks dengan memaksa browser untuk hanya mengakses website melalui koneksi yang aman (HTTPS).
HSTS yang juga dikenal dengan istilah Security Header HTTP dapat melindungi website anda dari berbagai jenis serangan termasuk XSS, injeksi SQL, clickjacking, dll.
Cara Kerja HSTS
Ketika sebuah website mengaktifkan HSTS, server akan mengirimkan header HTTP khusus yang menginstruksikan browser untuk hanya menggunakan HTTPS saat mengakses website tersebut, bahkan jika pengguna mencoba mengakses situs dengan menggunakan HTTP atau non HTTPS. Dengan kata lain, HSTS memastikan bahwa komunikasi antara browser pengguna dan web server selalu dienkripsi menggunakan HTTPS
Mengaktifkan HSTS melalui .htaccess
Jika anda pengguna shared hosting tentu anda akan memiliki keterbatasan dalam melakukan konfigurasi pada sisi server. Dari sisi hoster, biasanya fitur HSTS ini sifatnya non-aktif secara default, hal ini karena masing-masing user memiliki kebutuhan tersendiri untuk aplikasi website yang digunakan.
Namun hal tersebut tidak akan menghalangi anda untuk mengaktifkan fitur HSTS pada website yang anda kelola. Karena anda dapat mengaktifkan HSTS melalui file .htaccess.
Silahkan tambahkan baris berikut pada file .htaccess website :
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
- max-age=31536000: Ini menunjukkan berapa lama (dalam detik) browser harus mengingat bahwa website hanya boleh diakses melalui HTTPS. Angka 31536000 adalah jumlah detik dalam satu tahun.
- includeSubDomains: Menunjukkan bahwa aturan HSTS berlaku tidak hanya untuk domain utama, tetapi juga untuk semua subdomain.
- preload: Opsi ini memungkinkan website untuk dimasukkan ke dalam daftar preload HSTS yang dimiliki oleh browser utama (misalnya, Chrome), yang berarti browser akan langsung menggunakan HTTPS saat pertama kali mengakses website, bahkan sebelum menerima header HSTS dari server.
HSTS pada Apache Configuration cPanel Server
Jika anda mengelola server dan menggunakan cPanel server sebagai kontrol panel web anda, anda dapat mengaktifkan HSTS melalui Apache Configuration, namun agar dipastikan bahwa konfigurasi ini akan berdampak secara global atau kepada seluruh domain yang ada di server anda.
Untuk itu agar selalu hati-hati dalam menerapkan konfigurasi HSTS ini secara global, karena bisa saja mengakibatkan beberapa fitur pada aplikasi website tidak akan berjalan dengan baik.
Prosedur
- Login ke dalam WHM setara root
- Masuk ke menu “WHM / Service Configuration / Apache Configuration.”
- Klik pada Include Editor
- Pilih “All Versions” pada opsi drop down “Pre-Main Include.”
- Tambahkan teks berikut
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Header always edit Set-Cookie (.*) "$1;HttpOnly;Secure"
Header always set X-Frame-Options "sameorigin"
Header setifempty Referrer-Policy: same-origin
Header set X-XSS-Protection "1; mode=block"
Header set X-Permitted-Cross-Domain-Policies "none"
Header set Referrer-Policy "no-referrer"
Header set X-Content-Type-Options: nosniff
</IfModule>
- Klik pada tombol “update”
- Klik pada tombol Restart Apache
Untuk memastikan apakah website anda telah aktif menggunakan header strict-transport-security (HSTS), silahkan menjalankan perintah berikut pada terminal :
read -p "Domain: " domain ; curl -sI https://${domain}/ | grep -i Strict-Transport-Security
Jika cPanel server anda mengaktifkan Nginx sebagai webser, pengaturan tersebut akan tetap berlaku.
Manfaat HSTS
Mencegah Serangan Man-in-the-Middle (MITM): HSTS memastikan bahwa komunikasi antara pengguna dan server selalu dienkripsi, yang mengurangi kemungkinan serangan yang mencoba mencegat atau memanipulasi data yang dikirimkan melalui HTTP.
Menghindari Downgrade Attacks: Serangan downgrade mencoba memaksa komunikasi HTTP alih-alih HTTPS. Dengan HSTS, browser tidak akan menerima koneksi HTTP, mengurangi risiko ini.
Meningkatkan Kepercayaan Pengguna: Penggunaan HTTPS secara eksklusif dapat meningkatkan kredibilitas dan keamanan website di mata pengguna, serta meningkatkan peringkat SEO di mesin pencari (Google memberikan preferensi pada website HTTPS).
Kesimpulan
Dengan mengaktifkan HSTS pada website, tingkat keamanan website anda semakin bertambah. Namun pengaktifan HSTS pada cPanel server akan berdampak kepada seluruh user/domain pada server, sehingga sangat rawan untuk mengaktifkannya melalui konfigurasi global, namun dapat dilakukan dengan mengaktifkannya melalui .htaccess.