

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
<a name="config-desync-mitigation-mode"></a>

Mode mitigasi desync melindungi aplikasi Anda dari masalah karena HTTP Desync. 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. Default-nya adalah mode defensive yang memberikan mitigasi tahan lama terhadap HTTP desync sambil mempertahankan ketersediaan aplikasi Anda. Anda dapat beralih ke mode strictest untuk memastikan bahwa aplikasi Anda hanya menerima permintaan yang sesuai dengan RFC 7230.

Pustaka http\$1desync\$1guardian menganalisis permintaan HTTP untuk mencegah serangan HTTP Desync. Untuk informasi selengkapnya, lihat [HTTP Desync Guardian](https://github.com/aws/http-desync-guardian) di github.

**Topics**
+ [Klasifikasi](#desync-mitigation-classification)
+ [Modus](#desync-mitigation-modes)
+ [Ubah mode mitigasi desync](#update-desync-mitigation-mode)

**Tip**  
Konfigurasi ini hanya berlaku untuk Classic Load Balancers. Untuk informasi yang berlaku untuk Application Load Balancers, lihat Mode [mitigasi desync](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#desync-mitigation-mode) untuk Application Load Balancers.

## Klasifikasi
<a name="desync-mitigation-classification"></a>

Klasifikasinya adalah sebagai berikut.
+ Patuh — Permintaan sesuai dengan RFC 7230 dan tidak menimbulkan ancaman keamanan yang diketahui.
+ Dapat diterima — Permintaan tidak sesuai dengan RFC 7230, tetapi tidak menimbulkan ancaman keamanan yang diketahui.
+ Ambigu — Permintaan tidak sesuai dengan 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 non-ASCII atau kontrol.
+ Versi permintaan berisi nilai yang buruk.
+ Ada header Content-Length dengan nilai 0 untuk permintaan GET atau HEAD.
+ URI permintaan berisi spasi yang bukan URL yang dikodekan.

**Ambigu**
+ URI Permintaan 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 atau HEAD.
+ Ada header Transfer-Encoding untuk permintaan GET atau HEAD.

**Parah**
+ URI permintaan 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 akan menambah metrik `DesyncMitigationMode_NonCompliant_Request_Count`. Untuk informasi selengkapnya, lihat [Metrik Classic Load Balancer](elb-cloudwatch-metrics.md#loadbalancing-metrics-clb).

## Modus
<a name="desync-mitigation-modes"></a>

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
<a name="update-desync-mitigation-mode"></a>

**Untuk memperbarui mode mitigasi desync menggunakan konsol**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Pada panel navigasi, di bawah **PENYEIMBANGAN BEBAN**, pilih **Penyeimbang beban**.

1. Pilih nama penyeimbang beban untuk membuka halaman detailnya.

1. Pada tab **Atribut**, pilih **Edit**.

1. **Pada halaman **Edit atribut penyeimbang beban**, di bawah **konfigurasi Lalu lintas**, pilih **Defensive - recommended**, **Strictest**, atau Monitor.**

1. Pilih **Simpan perubahan**.

**Untuk memperbarui mode mitigasi desync menggunakan AWS CLI**  
Gunakan [modify-load-balancer-attributes](https://docs.aws.amazon.com/cli/latest/reference/elb/modify-load-balancer-attributes.html)perintah dengan `elb.http.desyncmitigationmode` atribut yang disetel ke`monitor`,`defensive`, atau`strictest`.

```
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"
        }
    ]
}
```