GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengaktifkan Kebijakan HSTS (HTTP Strict Transport Security) di Nginx &Apache

Menurut penelitian Netcraft, 95% server HTTPS rentan terhadap serangan Man-in-the-Middle. Oleh karena itu, sangat penting untuk menerapkan HSTS dengan benar. HSTS (HTTP Strict Transport Security) adalah kebijakan yang melindungi situs web dari serangan berbahaya seperti clickjacking, penurunan versi protokol, dan serangan man-in-the-middle seperti yang dijelaskan di artikel saya sebelumnya. Pada artikel ini, kita akan melihat berbagai langkah untuk Mengaktifkan HSTS di NGINX dan Apache.

Cara Mengaktifkan HSTS di Nginx

Buka file konfigurasi Nginx Anda untuk domain yang Anda perlukan untuk mengaktifkan HSTS.

Misalnya:/etc/nginx/conf.d/tg.conf

Tambahkan baris di bawah ini ke blok server HTTPS Anda:

JANGAN TAMBAHKAN HSTS ke blok HTTP
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload" always;
sertakan parameter SubDomains

Opsi includeSubDomains parameter memberi tahu browser bahwa kebijakan HSTS juga berlaku untuk semua subdomain dari domain saat ini.

Selalu parameter

always parameter memastikan bahwa header disetel untuk semua respons, termasuk respons kesalahan yang dihasilkan secara internal.

Agar HSTS dikonfigurasi untuk rentang waktu 1 tahun, atur usia maksimum ke 31536000 (dalam detik). Setidaknya harus 3 bulan untuk memenuhi persyaratan keamanan.

Mulai ulang layanan Nginx

Sebelum restart, verifikasi file konfigurasi seperti di bawah ini:

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Mulai ulang server Nginx untuk mengambil perubahan baru.

# systemctl restart nginx

Cara Mengaktifkan HSTS di Apache

Untuk mengaktifkan HSTS di Apache, kita harus memiliki mod_headers modul terpasang. Jalankan perintah di bawah ini untuk mengetahui apakah modul sudah terpasang.

# apachectl -M | grep headers
 headers_module (shared)

jika Anda memilikinya, mari kita lanjutkan untuk mengonfigurasi pengaturan tajuk domain yang Anda perlukan untuk mengaktifkan HSTS. Buka file konfigurasi yang berisi VirtualHost yang menggunakan SSL.

For eg: /etc/httpd/conf.d/tg.conf

Tambahkan konfigurasi di bawah ini di dalam VirtualHost Anda untuk port 443 seperti di bawah ini:

<VirtualHost *:443>
......
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
......
</VirtualHost>

Mulai ulang layanan Apache

Sebelum restart, verifikasi file konfigurasi seperti di bawah ini:

# apachectl configtest
Syntax OK

Jika sintaksnya OK, restart server Apache untuk mengambil perubahan baru.

# systemctl restart httpd       ## Redhat systems

# systemctl restart apache2     ## Debian systems

Itu dia! Uji server web untuk melihat apakah HSTS telah diaktifkan.

$ curl -kIs https://example.com | grep Strict
Strict-Transport-Security: max-age=31536000; includeSubDomains

Linux
  1. Cara Mengaktifkan HTTP2 di NGINX

  2. Cara Mengaktifkan HTTP/2 di Nginx di Ubuntu dan CentOS

  3. Cara mengaktifkan kerahasiaan maju sempurna SSL/TLS di Apache atau Nginx

  1. Cara Mengarahkan HTTP ke HTTPS di Nginx

  2. Cara Mengaktifkan HTTP/2 di Nginx

  3. Cara Mengaktifkan TLS 1.3 di Nginx

  1. Cara Mengaktifkan Protokol HTTP/2 dengan Apache di Ubuntu 20.04

  2. Bagaimana Mengaktifkan IPv6 di Nginx?

  3. Cara mengaktifkan kompresi GZIP di Nginx