Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Konfigurasikan mode mitigasi desync untuk Classic Load Balancer
Mode mitigasi desync melindungi aplikasi Anda dari masalah karena Desync. HTTP Penyeimbang beban mengklasifikasikan setiap permintaan berdasarkan tingkat ancamannya, memungkinkan permintaan yang aman, lalu mengurangi risiko seperti yang ditentukan oleh mode mitigasi yang Anda tentukan. Mode mitigasi desync adalah monitor, defensive, dan strictest. Defaultnya adalah mode defensif, yang menyediakan mitigasi tahan lama terhadap HTTP desync sambil mempertahankan ketersediaan aplikasi Anda. Anda dapat beralih ke mode paling ketat untuk memastikan bahwa aplikasi Anda hanya menerima permintaan yang sesuai dengan RFC 7230.
Pustaka http_desync_guardian menganalisis permintaan untuk mencegah serangan Desync. HTTP HTTP Untuk informasi selengkapnya, lihat HTTPDesync Guardian
Tip
Konfigurasi ini hanya berlaku untuk Classic Load Balancers. Untuk informasi yang berlaku untuk Application Load Balancers, lihat Mode mitigasi desync untuk Application Load Balancers.
Klasifikasi
Klasifikasinya adalah sebagai berikut.
-
Sesuai - Permintaan mematuhi RFC 7230 dan tidak menimbulkan ancaman keamanan yang diketahui.
-
Dapat diterima — Permintaan tidak mematuhi RFC 7230 tetapi tidak menimbulkan ancaman keamanan yang diketahui.
-
Ambigu — Permintaan tidak mematuhi RFC 7230 tetapi menimbulkan risiko, karena berbagai server web dan proxy dapat menanganinya secara berbeda.
-
Parah — Permintaan menimbulkan risiko keamanan yang tinggi. Penyeimbang beban memblokir permintaan, memberikan 400 respons ke klien, dan menutup koneksi klien.
Daftar berikut menjelaskan masalah untuk setiap klasifikasi.
Dapat diterima
-
Header berisi karakter ASCII non-atau kontrol.
-
Versi permintaan berisi nilai yang buruk.
-
Ada header Content-Length dengan nilai 0 untuk permintaan GET atauHEAD.
-
Permintaan URI berisi spasi yang tidak URL dikodekan.
Ambigu
-
Permintaan URI berisi karakter kontrol.
-
Permintaan berisi header Transfer-Encoding dan header Content-Length.
-
Ada beberapa header Content-Length dengan nilai yang sama.
-
Header kosong atau ada garis dengan hanya spasi.
-
Ada header yang dapat dinormalisasi ke Transfer-Encoding atau Content-Length menggunakan teknik normalisasi teks yang umum.
-
Ada header Content-Length untuk permintaan GET atauHEAD.
-
Ada header Transfer-Encoding untuk permintaan atauGET. HEAD
Parah
-
Permintaan URI berisi karakter null atau carriage return.
-
Header Content-Length berisi nilai yang tidak dapat diuraikan atau bukan angka yang valid.
-
Header berisi karakter null atau carriage return.
-
Header Transfer-Encoding berisi nilai yang buruk.
-
Metode permintaannya salah format.
-
Versi permintaannya salah format.
-
Ada beberapa header Content-Length dengan nilai yang berbeda.
-
Ada beberapa Transfer-Encoding: chunked header.
Jika permintaan tidak sesuai dengan RFC 7230, penyeimbang beban menambah metrik. DesyncMitigationMode_NonCompliant_Request_Count
Untuk informasi selengkapnya, lihat Metrik Classic Load Balancer.
Modus
Tabel berikut menjelaskan bagaimana Classic Load Balancers memperlakukan permintaan berdasarkan mode dan klasifikasi.
Klasifikasi | Mode monitor | Mode defensive | Mode strictest |
---|---|---|---|
Patuh | Diizinkan | Diizinkan | Diizinkan |
Dapat diterima | Diizinkan | Diizinkan | Diblokir |
Ambigu | Diizinkan | Diizinkan¹ | Diblokir |
Parah | Diizinkan | Diblokir | Diblokir |
¹ Merutekan permintaan, tetapi menutup koneksi klien dan target.
Ubah mode mitigasi desync
Untuk memperbarui mode mitigasi desync menggunakan konsol
Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/
. -
Pada panel navigasi, di bawah PENYEIMBANGAN BEBAN, pilih Penyeimbang beban.
-
Pilih nama penyeimbang beban untuk membuka halaman detailnya.
-
Pada tab Atribut, pilih Edit.
-
Pada halaman Edit atribut penyeimbang beban, di bawah konfigurasi Lalu lintas, pilih Defensive - recommended, Strictest, atau Monitor.
-
Pilih Simpan perubahan.
Untuk memperbarui mode mitigasi desync menggunakan AWS CLI
Gunakan modify-load-balancer-attributesperintah dengan elb.http.desyncmitigationmode
atribut yang disetel kemonitor
,defensive
, ataustrictest
.
aws elb modify-load-balancer-attributes --load-balancer-name
my-load-balancer
--load-balancer-attributes file://attribute.json
Berikut ini adalah isi dari attribute.json
.
{ "AdditionalAttributes": [ { "Key": "elb.http.desyncmitigationmode", "Value": "strictest" } ] }