Berurusan dengan serangan refleksi NTP di IPTables

16

Kami sedang menghadapi serangan refleksi / amplifikasi NTP di server yang kami buat. Pertanyaan ini khusus untuk menanggapi serangan refleksi NTP, dan tidak ditujukan pada DDoS secara umum.

Inilah traffic:

grafik lalu lintas jaringan router

Ini mengaduk sedikit CPU di router kami:

grafik penggunaan CPU router

Sayangnya itu tidak cukup besar untuk menyebabkan penyedia hulu kami membuat lubang lalu lintas, yang berarti melewati kami.

Kami telah menggunakan aturan berikut untuk memblokir lalu lintas NTP, yang berasal dari port 123:

-p udp --sport 123 -j DROP

Ini adalah aturan pertama dalam IPTables.

Saya banyak mencari, dan saya tidak dapat menemukan banyak informasi tentang cara menggunakan IPTable untuk mengurangi serangan refleksi NTP. Dan beberapa informasi di luar sana kelihatannya tidak benar. Apakah aturan IPTables ini benar? Apakah ada hal lain yang dapat kita tambahkan, atau lakukan, untuk mengurangi serangan refleksi / amplifikasi NTP selain menghubungi penyedia jaringan hulu kami?

Juga: karena penyerang ini harus menggunakan jaringan itu

  • memungkinkan spoofing alamat IP dalam paket
  • telah membuka, sekitar kode NTP 2010

adakah clearinghouse global tempat kita dapat melaporkan alamat IP ini, sehingga mereka diperbaiki untuk berhenti mengizinkan paket palsu, dan menambal server NTP mereka?

Jeff Atwood
sumber
10
Ya aturan iptables sudah benar, tetapi menjalankan filter paket di ujung pipa Anda, di server Anda, tidak akan mencegah pipa terisi, untuk latar belakang lebih lanjut lihat: serverfault.com/questions/531941/i-am- under-ddos-what-can-i-do
HBruijn

Jawaban:

20

Pada dasarnya, Anda tidak beruntung jika serangan DDoS berhasil mengisi pipa apa pun yang Anda miliki ke Internet (yang merupakan tujuan dari serangan refleksi UDP - untuk mengisi pipa). Jika tautan hulu Anda dapat mengambil 1Gbps lalu lintas, dan ada (katakanlah) total lalu lintas 2Gbps untuk turun tautan, maka setengahnya akan dijatuhkan oleh router atau sakelar yang meletakkan paket-paket di bawah tautan. Penyerang tidak peduli bahwa setengah dari lalu lintas serangan mereka akan turun, tetapi pelanggan Anda melakukannya: 50% packet loss dalam koneksi TCP akan melakukan hal - hal yang mengerikan , mengerikan terhadap kinerja dan keandalan koneksi tersebut.

Hanya ada dua tiga cara untuk menghentikan serangan DDoS volumetrik:

  1. Memiliki pipa yang cukup besar sehingga traffic serangan tidak mengisinya.
  2. Hentikan paket serangan sebelum mereka turun pipa.
  3. Beralih ke alamat IP lain yang tidak di bawah serangan refleksi NTP.

Memblokir mereka di iptables tidak akan melakukan squat, karena pada saat itu lalu lintas serangan telah memeras lalu lintas yang sah dan menyebabkannya dijatuhkan di lantai, sehingga penyerang telah menang. Karena Anda (mungkin) tidak mengontrol router hulu atau saklar yang meneruskan lalu lintas serangan, ya, Anda harus menghubungi penyedia jaringan hulu Anda dan meminta mereka melakukan sesuatu untuk menghentikan lalu lintas serangan dari mencapai jaringan Anda tautan, apakah itu

  • memblokir semua lalu lintas di port serangan (bukan sesuatu yang sebagian besar ISP bersedia lakukan pada router akses pelanggan colo mereka, untuk $REASONS)

  • memfilter sumber alamat IP serangan (lebih masuk akal, dengan S / RTBH, tetapi bukan sesuatu yang sudah disediakan oleh setiap penyedia)

  • kasus terburuk, blackhole alamat IP tujuan

Perhatikan bahwa menghitamkan IP hanya berfungsi jika Anda memiliki alamat IP lain yang dapat terus beroperasi - jika penyedia Anda blackhole hanya alamat IP Anda, penyerang telah berhasil karena Anda keluar dari Internet, yang merupakan apa yang mereka coba capai di tempat pertama.

womble
sumber
Apakah Anda punya ide mengapa ISP tidak ingin memblokir lalu lintas?
André Borie
4
Ada banyak alasan. 1. ISP dibayar untuk mengirimkan lalu lintas, bukan membloknya. 2. Hanya peralatan jaringan kelas atas yang mampu melakukan inspeksi tarif baris pada volume lalu lintas besar (100G +), yang mahal. 3. Tidak sepele untuk beralih dari permintaan pelanggan ke jalur konfigurasi di router inti.
womble
5

Saya akan menganggap Anda memiliki pipa ke ISP Anda yang berakhir pada router / firewall Anda sendiri. Kemudian di belakang router / firewall itu Anda memiliki mesin Anda sendiri. ISP tidak akan memblokir lalu lintas sehingga Anda harus menghadapinya sendiri. Anda ingin memblokir lalu lintas di router / firewall untuk menghentikannya mengenai mesin di belakangnya sambil meminimalkan beban pada router / firewall.

Aturan Anda terlihat tepat untuk menjatuhkan apa pun yang berasal dari server ntp di port standar. Ingatlah jika Anda benar-benar menggunakan ntp, Anda mungkin perlu menyodok aturan firewall Anda

Jika firewall Anda menggunakan pelacakan koneksi (kebanyakan dilakukan) maka Anda mungkin ingin menggunakan tabel "mentah" untuk menjatuhkan paket sebelum mereka mencapai mesin pelacakan koneksi.

iptables -t raw -A PREROUTING -p udp --sport 123 -j DROP

Peter Green
sumber
1

Sepertinya kami dapat melaporkan IP untuk penyalahgunaan NTP (dan mudah-mudahan, patching NTP) ke

http://openntpproject.org/

Sedangkan untuk melaporkan jaringan yang memungkinkan IP palsu, saya tidak dapat menemukan banyak :

Pengukuran kami menunjukkan bahwa spoofing masih lazim di antara sekitar 25% dari sistem otonom dan netblock yang kami survei. Lebih penting lagi, satu titik masuk untuk lalu lintas palsu memberikan penyerang sarana untuk mengirim lalu lintas palsu ke seluruh Internet. ISP dapat menggunakan pemfilteran [RFC2827] untuk memastikan lalu lintas keluar mereka tidak palsu.

Mungkin satu-satunya metode adalah menghubungi ISP secara langsung?

Jeff Atwood
sumber