Interaksi dan mitigasi logging - AWS Bimbingan Preskriptif

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Interaksi dan mitigasi logging

URL presigned berisi tanda tangan dan dapat digunakan, selama periode sebelum kedaluwarsa, untuk melakukan operasi API tertentu yang ditandatangani. Ini harus diperlakukan sebagai kredensi akses sementara. Tanda tangan harus tetap pribadi hanya untuk pihak yang perlu mengetahuinya. Di sebagian besar lingkungan, ini adalah klien yang mengirim permintaan dan server yang menerimanya. Mengirim tanda tangan sebagai bagian dari sesi HTTPS langsung mempertahankan sifat pribadinya, karena hanya peserta sesi HTTPS yang memiliki visibilitas ke URI yang mentransmisikan tanda tangan.

Untuk presigned URLs, tanda tangan ditransmisikan sebagai parameter string X-Amz-Signature kueri. Parameter string kueri adalah komponen dari URI. Risikonya adalah klien dapat mencatat URI dan tanda tangan dengannya. Klien memiliki akses ke seluruh permintaan HTTP dan dapat mencatat bagian mana pun dari permintaan, data, dan header (termasuk header otentikasi). Namun, ini menurut konvensi kurang umum. Pencatatan URI lebih umum dan diperlukan dalam kasus seperti pencatatan akses. Klien harus menggunakan redaksi atau masking untuk menghapus tanda tangan sebelum login. URIs

Di beberapa lingkungan, pengguna mengizinkan perantara (proxy) untuk mendapatkan visibilitas ke sesi HTTPS mereka. Mengaktifkan proxy memerlukan tingkat akses istimewa yang tinggi ke sistem klien, karena memerlukan konfigurasi dan sertifikat tepercaya. Pemasangan konfigurasi proxy dan sertifikat tepercaya, dalam konteks lokal lingkungan perantara klien, memungkinkan tingkat hak istimewa yang sangat tinggi. Untuk alasan ini, akses ke perantara tersebut harus dikontrol dengan ketat.

Tujuan dari perantara biasanya untuk memblokir jalan keluar yang tidak diinginkan dan untuk melacak jalan keluar lainnya. Dengan demikian, biasanya perantara tersebut mencatat permintaan. Meskipun perantara dapat, seperti klien, mencatat konten, header, dan data apa pun (yang semuanya akan sangat sensitif), lebih umum bagi mereka untuk mencatat URIs, seperti yang menyertakan X-Amz-Signature parameter string kueri.

Mitigasi

Kami menyarankan agar pencatatan URI menyunting parameter string X-Amz-Signature kueri, menyunting seluruh string kueri, atau memperlakukan informasi sebagai sangat rahasia, seperti dengan akses langsung ke server perantara. Meskipun perlindungan ini sangat direkomendasikan, fakta bahwa URLs kedaluwarsa yang telah ditentukan sebelumnya mengurangi risiko paparan log, selama eksposur tertunda cukup lama agar tanda tangan kedaluwarsa.

Amazon S3 juga melihat tanda tangan dan harus menanganinya dengan tepat. Log akses server Amazon S3 menyertakan URI permintaan tetapi menyuntingX-Amz-Signature, seperti yang disarankan. Hal yang sama berlaku ketika peristiwa CloudTrail data dicatat untuk Amazon S3. Anda dapat mengonfigurasi CloudWatch Log Amazon untuk menutupi data dengan menggunakan pengidentifikasi data khusus.

Ekspresi reguler berikut X-Amz-Signature cocok dengan yang muncul di URI:

X-Amz-Signature=[a-f0-9]{64}

Ekspresi reguler berikut ini menambahkan pola pengelompokan untuk mengidentifikasi teks yang akan diganti secara lebih spesifik:

(?:X-Amz-Signature=)([a-f0-9]{64})

Jika Anda memiliki entri log akses seperti berikut ini:

X-Amz-Signature=733255ef022bec3f2a8701cd61d4b371f3f28c9f193a1f02279211d48d5193d7

Ekspresi reguler pertama menerjemahkan entri log akses ke:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Ekspresi reguler kedua, pada sistem yang mendukung grup non-penangkapan, menerjemahkan entri log akses ke:

X-Amz-Signature=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX