Pengenalan #
Artikel ini menerangkan cara memindahkan iRule F5 BIG-IP biasa yang digunakan untuk penyisipan pengepala keselamatan HTTP ke dalam RELIANOID menggunakan ciri ladang HTTP/S asli.
iRule berikut menyuntik beberapa pengepala keselamatan respons HTTP:
apabila HTTP_RESPONSE_RELEASE { jika {!([ HTTP::header wujud "X-XSS-Protection"])} { HTTP::header masukkan "X-XSS-Protection" "1; mode=block" } jika { !([ HTTP::header wujud "Strict-Transport-Security" ])} { HTTP::header masukkan "Strict-Transport-Security" "max-age=63072000; includeSubDomains; pramuat" } jika { !([ HTTP::header wujud "content-security-policy" ])} { HTTP::header masukkan "content-security-policy" "frame-ancestors 'none'" } jika {!([HTTP::header wujud "X-Content-Type-Options" ])} { HTTP::header masukkan "X-Content-Type-Options" nosniff } }
In RELIANOID, kawalan keselamatan ini boleh dikonfigurasikan secara langsung melalui WebUI tanpa memerlukan skrip TCL.
Mendayakan HSTS (Pengangkutan-Keselamatan-Ketat) #
HSTS memaksa pelayar untuk menggunakan sambungan HTTPS sahaja. Faedahnya termasuk:
- Mencegah serangan pelucutan SSL
- Menguatkuasakan komunikasi yang disulitkan
- Meningkatkan keselamatan pengangkutan sisi pelayar
Bahagian iRule berikut:
HTTP::header masukkan "Keselamatan-Pengangkutan-Ketat" "umur-maksimum=63072000; sertakanSubDomain; pramuat"
Boleh dipindahkan terus melalui WebUI.
Navigasi ke: Ladang > Ladang HTTP/S > Perkhidmatan
Kemudian:
- Pilih perkhidmatan HTTP/S yang dikehendaki
- Dayakan suis STS
Ini secara automatik menyuntik Strict-Transport-Security pengepala ke dalam respons HTTPS.
Mengkonfigurasi Pengepala Keselamatan X-XSS-Protection #
Membolehkan penapisan XSS pelayar legasi. Walaupun pelayar moden lebih bergantung pada CSP, pengepala ini masih berguna untuk senario keserasian.
Navigasi ke: Ladang > Ladang HTTP/S > Global > Lanjutan > PengepalaKemudian: Klik Create rulePilih:
Jenis: Response: Add header
Kepala: X-XSS-Protection
Nilai: 1; mode=block
Mengkonfigurasi Pengepala Keselamatan Dasar-Keselamatan-Kandungan #
Mengawal cara kandungan boleh dibenamkan dan dimuatkan. Faedah:
- Mencegah clickjacking
- Mengehadkan pembingkaian yang tidak dibenarkan
- Meningkatkan postur keselamatan pelayar
Navigasi ke: Ladang > Ladang HTTP/S > Global > Lanjutan > PengepalaKemudian: Klik Create rulePilih:
Jenis: Response: Add header
Kepala: Content-Security-Policy
Nilai: frame-ancestors 'none'
Mengkonfigurasi Pengepala Keselamatan X-Content-Type-Options #
Mencegah penghidu MIME oleh pelayar. Faedah:
- Mencegah tafsiran kandungan berniat jahat
- Mengurangkan vektor suntikan skrip tertentu
Navigasi ke: Ladang > Ladang HTTP/S > Global > Lanjutan > PengepalaKemudian: Klik Create rulePilih:
Jenis: Response: Add header
Kepala: X-Content-Type-Options
Nilai: nosniff
Pengesahan #
Selepas menggunakan konfigurasi, sahkan pengepala respons menggunakan:
keriting -I https://
Output yang dijangkakan:
Keselamatan-Pengangkutan-Ketat: umur-maksimum=63072000; sertakanSubDomain; pramuat Perlindungan-X-XSS: 1; mod=block Dasar-Keselamatan-Kandungan: leluhur-rangka 'tiada' Pilihan-Jenis-Kandungan-X: nosniff
Penyelesaian masalah #
Tajuk Tidak Muncul #
Sahkan:
- Peraturan dikenakan ke ladang yang betul
- HTTPS didayakan untuk HSTS
- Peraturan pengepala dikonfigurasikan sebagai Tindak balas peraturan
- Konfigurasi ladang telah digunakan/dimuatkan semula
Pengepala Duplikasi #
Jika aplikasi backend sudah menyuntik pengepala, pendua mungkin muncul. Cadangan:
- Tentukan sama ada pengepala harus diuruskan oleh aplikasi Backend atau oleh RELIANOID konfigurasi ladang
- Elakkan mengurus pengepala yang sama di kedua-dua tempat.
HSTS Tidak Berfungsi #
Pastikan:
- Klien bersambung melalui HTTPS
- Sijil SSL yang sah telah dipasang
- Pelayar tidak menguji melalui HTTP
Pengepala HSTS diabaikan pada sambungan bukan TLS.
Ringkasan #
F5 iRules yang digunakan untuk penyisipan pengepala keselamatan HTTP boleh dipindahkan ke RELIANOID menggunakan ciri ladang HTTP/S asli tanpa skrip TCL.
Pendekatan ini memudahkan pentadbiran sambil mengekalkan fungsi keselamatan yang setara.