Ringkasan #
Artikel ini menjelaskan cara memigrasikan iRule F5 BIG-IP umum yang digunakan untuk penyisipan header keamanan HTTP ke dalam RELIANOID menggunakan fitur farm HTTP/S bawaan.
iRule berikut menyisipkan beberapa header keamanan respons HTTP:
Saat HTTP_RESPONSE_RELEASE { jika {!([ HTTP::header exists "X-XSS-Protection"])} { HTTP::header insert "X-XSS-Protection" "1; mode=block" } jika { !([ HTTP::header exists "Strict-Transport-Security" ])} { HTTP::header insert "Strict-Transport-Security" "max-age=63072000; includeSubDomains; preload" } jika { !([ HTTP::header exists "content-security-policy" ])} { HTTP::header insert "content-security-policy" "frame-ancestors 'none'" } jika {!([HTTP::header exists "X-Content-Type-Options" ])} { HTTP::header insert "X-Content-Type-Options" nosniff } }
In RELIANOIDSelain itu, kontrol keamanan ini dapat dikonfigurasi langsung melalui WebUI tanpa memerlukan skrip TCL.
Mengaktifkan HSTS (Strict-Transport-Security) #
HSTS memaksa browser untuk hanya menggunakan koneksi HTTPS. Manfaatnya meliputi:
- Mencegah serangan SSL stripping
- Menerapkan komunikasi terenkripsi
- Meningkatkan keamanan transportasi sisi browser.
Bagian iRule berikut:
HTTP::header insert "Strict-Transport-Security" "max-age=63072000; includeSubDomains; preload"
Dapat dimigrasikan langsung melalui WebUI.
Arahkan ke: Farms > HTTP/S Farm > Services
Kemudian:
- Pilih layanan HTTP/S yang diinginkan
- Aktifkan sakelar STS
Ini secara otomatis menyuntikkan Strict-Transport-Security header ke dalam respons HTTPS.
Mengonfigurasi Header Keamanan X-XSS-Protection #
Mengaktifkan penyaringan XSS browser lama. Meskipun browser modern lebih banyak mengandalkan CSP, header ini masih berguna untuk skenario kompatibilitas.
Navigasi ke: Farm > Farm HTTP/S > Global > Lanjutan > HeaderLalu: Klik Create rulePilih:
Tipe: Response: Add header
Tajuk: X-XSS-Protection
Nilai: 1; mode=block
Mengkonfigurasi Header Keamanan Content-Security-Policy #
Mengontrol bagaimana konten dapat disematkan dan dimuat. Manfaat:
- Mencegah clickjacking
- Membatasi pembingkaian tanpa izin
- Meningkatkan postur keamanan browser
Navigasi ke: Farm > Farm HTTP/S > Global > Lanjutan > HeaderLalu: Klik Create rulePilih:
Tipe: Response: Add header
Tajuk: Content-Security-Policy
Nilai: frame-ancestors 'none'
Mengonfigurasi Header Keamanan X-Content-Type-Options #
Mencegah penyadapan MIME oleh browser. Manfaat:
- Mencegah interpretasi konten yang berbahaya.
- Mengurangi vektor injeksi skrip tertentu
Navigasi ke: Farm > Farm HTTP/S > Global > Lanjutan > HeaderLalu: Klik Create rulePilih:
Tipe: Response: Add header
Tajuk: X-Content-Type-Options
Nilai: nosniff
Pengesahan #
Setelah menerapkan konfigurasi, validasi header respons menggunakan:
keriting -Saya https://
Keluaran yang diharapkan:
Keamanan Transportasi Ketat: usia-maks=63072000; sertakanSubDomain; pramuat Perlindungan-XSS-X: 1; mode=blok Kebijakan-Keamanan-Konten: leluhur-bingkai 'tidak ada' Opsi-Tipe-Konten-X: nosniff
Penyelesaian masalah #
Header Tidak Muncul #
Memeriksa:
- Aturan diterapkan pada peternakan yang tepat.
- HTTPS diaktifkan untuk HSTS
- Aturan header dikonfigurasi sebagai Response aturan
- Konfigurasi pertanian telah diterapkan/dimuat ulang
Header Duplikat #
Jika aplikasi backend sudah menyisipkan header, duplikat mungkin akan muncul. Rekomendasi:
- Tentukan apakah header harus dikelola oleh aplikasi Backend atau oleh RELIANOID konfigurasi pertanian
- Hindari menggunakan header yang sama di kedua tempat.
HSTS Tidak Berfungsi #
yang memastikan:
- Klien terhubung melalui HTTPS
- Sertifikat SSL yang valid telah terpasang.
- Browser tidak melakukan pengujian melalui HTTP.
Header HSTS diabaikan pada koneksi non-TLS.
Ringkasan #
iRules F5 yang digunakan untuk penyisipan header keamanan HTTP dapat dimigrasikan ke RELIANOID menggunakan fitur farm HTTP/S asli tanpa skrip TCL.
Pendekatan ini menyederhanakan administrasi sekaligus mempertahankan fungsionalitas keamanan yang setara.