Cara Setup HTTP Strict Transport Security (HSTS) dengan Apache

Tutorial singkat ini menunjukkan kepada siswa dan pengguna baru cara mengkonfigurasi HTTP Strict Transport Security (HSTS) dengan Apache di Ubuntu Linux.

Jika Kamu menggunakan HTTPS atau akan menggunakannya di situs web Kamu, maka HSTS adalah sesuatu yang mungkin ingin Kamu konfigurasikan juga.

HTTP Strict Transport Security (HSTS) adalah kebijakan keamanan yang membantu melindungi dari serangan downgrade dan pembajakan cookie. Saat dikonfigurasi, server web Kamu memberlakukan koneksi HTTPS yang ketat untuk browser web dan tidak pernah melalui protokol HTTP yang tidak aman.

Untuk meningkatkan koneksi ke server web Apache Kamu, pastikan HSTS juga diaktifkan untuk membantu melindungi dari serangan man-in-the-middle.

Karena browser web yang lebih baru semuanya diaktifkan HSTS, ini seharusnya berfungsi di sebagian besar sistem. Saat browser web menghubungi server berkemampuan HSTS, browser secara default mencari header HTTP khusus yang terkait dengan HSTS.

Jika header khusus diaktifkan, server web menginstruksikan browser untuk hanya berkomunikasi melalui HTTPS. Ketika browser web menerima instruksi dari header, koneksi berikutnya setelah itu akan selalu HTTPS dan tidak pernah HTTP.

Ini selalu memastikan bahwa koneksi antara server web dan browser web juga terlindungi.

Cara mengaktifkan modul header Apache

Untuk menggunakan HSTS dengan Apache, Kamu harus mengaktifkan modul header Apache. Untuk melakukannya, jalankan perintah di bawah ini:

sudo a2enmod headers

Cara mengaktifkan HSTS dengan Apache

Setelah mengaktifkan modul header untuk Apache, lihat file VirtualHost untuk situs web Kamu dan tambahkan baris di bawah ini.

Garis harus ditempatkan di antara dan

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

Contoh file VirtualHost dengan HSTS diaktifkan akan terlihat mirip dengan yang di bawah ini.

<VirtualHost *:443>
       # The ServerName directive sets the request scheme, hostname and port
       # the server uses to identify itself. This is used when creating
       # redirection URLs. In the context of virtual hosts, the ServerName
       # specifies what hostname must appear in the request's Host: header to
       # match this virtual host. For the default virtual host (this file) this
       # value is not decisive as it is used as a last resort host regardless.
       # However, you must set it for any further virtual host explicitly.

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

</VirtualHost>

Karena Kamu mengaktifkan HTST di Apache, Kamu juga ingin mengalihkan semua koneksi melalui HTTPS. Untuk melakukannya, buka file konfigurasi SSL default Apache.

File SSL default pada sistem Ubuntu ada di /etc/Apache2/sites-enabled/000-default-ssl.conf

Arahkan ulang semua lalu lintas di HTTP ke HTTPS. Ini adalah suatu keharusan jika Kamu ingin HSTS berfungsi dengan benar dengan Apache.

Buka file konfigurasi SSL default Apache, lalu tambahkan blok kode di file konfigurasi itu dan simpan.

sudo nano /etc/apache2/sites-enabled/000-default-ssl.conf

Tambahkan garis yang disorot dan simpan.

<VirtulHost *:80>  
.....  
       RewriteEngine on
       RewriteCond %{SERVER_NAME} =www.example.com [OR]
       RewriteCond %{SERVER_NAME} =example.com
       RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
.....

 </VirtualHost>

Setelah selesai, restart Apache.

sudo systemctl restart apache2

Itu lah caranya!

Kesimpulan

Posting ini menunjukkan kepada Kamu cara mengaktifkan HSTS dengan Apache di Ubuntu. Jika Kamu menemukan kesalahan di atas atau memiliki sesuatu untuk ditambahkan, silakan gunakan formulir komentar di bawah ini.

5/5 - (20 votes)