Ketika jabat tangan kedua TCP membuat semi-koneksi, serangan banjir dapat diluncurkan pada saat ini
Artinya, sejumlah besar permintaan memulai koneksi TCP. Selama jabat tangan kedua, server akan memasukkan permintaan ini ke dalam antrian semi-koneksi. Karena klien penyerang jahat ini tidak akan mengkonfirmasi jabat tangan ketiga, semi-koneksi ini tidak dapat diproses. Rilis, server akan menunggu sampai waktu habis. Pada saat ini, antrian semi-koneksi akan terisi, dan permintaan koneksi normal tidak dapat dijawab.
Cara mengatasi serangan banjir secara umum
Ketika mode sinkronisasi diaktifkan, server akan menghitung nilai hash (SHA1) berdasarkan (alamat sumber, port sumber, alamat tujuan, port tujuan, dll.) dan nomor acak selama jabat tangan pertama, dan kemudian jabat tangan kedua. akan menggunakan ini Sinkronisasi yang dihasilkan dikembalikan ke klien. Ketika klien mengonfirmasi jabat tangan ketiga, ia akan mengirimkan sinkronisasi ke server. Server akan memverifikasi apakah sinkronisasi tersebut cocok dengan yang sebelumnya didirikan.
Keuntungan dari pendekatan ini: Ketika server tidak menerima atau syncookies yang diterima tidak cocok, koneksi TCP tidak akan dibuat. Dan ketika menggunakan syncookies, server tidak akan mempertahankan antrian semi-koneksi, yaitu tidak ada keadaan semi-koneksi. Karena menggunakan syncookies sebagai perbandingan, tidak diperlukan semi-koneksi, sehingga menghindari antrian semi-koneksi terisi dan tidak dapat menerima koneksi baru.
Skenario yang tidak dapat diselesaikan oleh syncookies
Ketika serangan DDOS dalam jumlah besar diluncurkan, metode syncookies juga akan lumpuh. Alasan kelumpuhan ini adalah karena CPU harus menghitung syncookies dalam jumlah besar, sehingga menyebabkan CPU dimatikan. Karena menghitung syncookies juga menghabiskan kinerja CPU, CPU tidak dapat menangani DDOS dalam jumlah besar. Saat ini, satu-satunya pilihan adalah meningkatkan bandwidth dan mengonfigurasi hard cap.
Solusi lainnya
Meningkatkan antrian semi-koneksi dan antrian koneksi penuh (cara ini pada dasarnya tidak efektif untuk serangan besar-besaran)
Mengurangi jumlah transmisi ulang SYN+ACK (TCP mengandalkan transmisi ulang untuk menjaga koneksi tetap stabil), yaitu ketika menerima serangan banjir dari sejumlah besar permintaan sinkronisasi, server akan terus mencoba lagi jika tidak dapat menerima respons hingga jumlah maksimumnya. Kurangi jumlah maksimum ini
Cara mengecek untuk mengetahui apakah Anda terkena banjir