Cara Paling Mudah Menangani Kerentanan Http Request Smuggling
Penyeimbang beban memainkan peran penting dalam arsitektur web modern. Selain mengelola perutean lalu lintas, mereka juga melakukan penghentian TLS, pemeriksaan kesehatan server, dan fungsi manajemen penting lainnya untuk membuat situs web dapat diskalakan dan aman.
Namun, teknologi yang sama yang meningkatkan efisiensi operasional hadir dengan potensi masalah keamanan: serangan penyelundupan permintaan HTTP. Pemimpin TI harus memahami cara kerja serangan ini dan mempersenjatai diri dengan langkah-langkah berikut untuk melindungi lingkungan web dari penyelundupan permintaan HTTP.
Apa itu penyelundupan permintaan HTTP?
Load balancer modern adalah perangkat canggih yang menggunakan berbagai pengoptimalan untuk memaksimalkan efisiensi arsitektur web. Pengoptimalan ini menggunakan kembali koneksi HTTP yang sama untuk beberapa permintaan. Mengirim permintaan dari load balancer ke server web ratusan atau ribuan kali per detik tidak efisien. Dengan demikian, penyeimbang beban modern menyatukan beberapa permintaan dan meneruskannya melalui koneksi jaringan yang sama.
Masalah mungkin muncul saat load balancer dan server back-end menginterpretasikan header HTTP secara berbeda. Ada beberapa variasi serangan ini yang bekerja dengan header Content-Length dan Transfer-Encoding. Namun, di setiap variasi, penyeimbang beban dan server back-end menginterpretasikan header secara berbeda. Dengan demikian, server back-end tertipu untuk mengeksekusi permintaan tidak sah yang disuntikkan penyerang ke dalam koneksi HTTP aktif antara penyeimbang beban dan server web.
Cara mengurangi kerentanan penyelundupan permintaan HTTP
Serangan penyelundupan HTTP berbahaya karena memangsa konfigurasi server dan interpretasi protokol yang aneh. Untungnya, ada beberapa langkah penting yang dapat diambil pemimpin TI untuk melindungi lingkungan web dari serangan ini:
Serangan penyelundupan HTTP berbahaya karena memangsa konfigurasi server dan interpretasi protokol yang aneh.
- Pahami bagaimana komponen infrastruktur menginterpretasikan header HTTP. Kemampuan untuk menggunakan mesin interpretasi yang sama pada penyeimbang beban dan server back-end membantu mencegah ketidakkonsistenan. Sayangnya, hal ini tidak selalu memungkinkan, karena load balancer seringkali merupakan peralatan perangkat keras yang mendukung server back-end yang berjalan pada platform yang sama sekali berbeda. Tanpa kemampuan untuk menjalankan perangkat lunak yang konsisten di kedua lokasi, penting untuk setidaknya memahami bagaimana mereka menangani masalah dengan header HTTP dan mengonfirmasi bahwa mereka menginterpretasikan permintaan secara konsisten.
- Nonaktifkan pengoptimalan yang memungkinkan penyelundupan permintaan. Jika TI tidak dapat menyelesaikan masalah konfigurasi back-end, sebaiknya nonaktifkan pengoptimalan ini sepenuhnya untuk mencegah interpretasi permintaan yang tidak konsisten yang dapat mengakibatkan penyelundupan. Ya, ini mengurangi efisiensi lingkungan web, tetapi juga melindungi dari serangan berbahaya ini.
- Terapkan firewall aplikasi web (WAF). Banyak WAF menyertakan teknologi yang mendeteksi dan memblokir atau membersihkan lalu lintas HTTP, termasuk arahan penyelundupan permintaan. Organisasi yang sudah menggunakan WAF harus menanyakan kepada vendor untuk menentukan tingkat perlindungan yang ada. Selain itu, penting untuk mengonfirmasi apakah tweak pada konfigurasi WAF diperlukan untuk melindungi dari kerentanan penyelundupan permintaan HTTP.
Penyelundupan permintaan HTTP adalah serangan berbahaya yang dapat mengakibatkan eksekusi permintaan HTTP yang tidak sah secara tidak disengaja. Namun, dengan mengambil setidaknya satu dari tiga penanggulangan yang diidentifikasi di atas, organisasi lebih terlindungi dari serangan ini.