Apa alasan untuk melarang ICMP di server saya?

11

Instance EC2 memiliki layanan ICMP dinonaktifkan secara default. Meskipun tidak sepenuhnya jelas bagi saya mengapa, saya pikir itu karena itu bisa menjadi risiko keamanan potensial. Saat ini saya sedang mengaktifkan Echo Responses hanya ketika saya me-restart server sehingga saya bisa melihat apakah sudah menyala dan berjalan, tetapi begitu sudah online saya menonaktifkannya lagi. Apakah itu perlu? Apa alasan untuk menonaktifkan ICMP secara umum?

3k-
sumber

Jawaban:

18

ICMP terdiri dari sejumlah besar perintah. Menolak semua itu akan merusak jaringan Anda dengan cara yang aneh.

ICMP memungkinkan hal-hal seperti "traceroute" dan "ping" (permintaan gema ICMP) berfungsi. Dengan demikian bagian itu cukup berguna untuk diagnosa normal. Ini juga digunakan untuk umpan balik ketika Anda menjalankan server DNS (port unreachable) yang, di server DNS modern, sebenarnya dapat membantu memilih mesin yang berbeda untuk meminta lebih cepat.

ICMP digunakan untuk jalur penemuan MTU. Kemungkinannya adalah OS Anda menetapkan "DF" (jangan terpecah-pecah) pada paket TCP yang dikirimkannya. Diharapkan untuk mendapatkan paket ICMP "diperlukan fragmentasi" kembali jika sesuatu di sepanjang jalur gagal menangani ukuran paket tersebut. Jika Anda memblokir semua ICMP, mesin Anda harus menggunakan mekanisme fallback lainnya, yang pada dasarnya menggunakan batas waktu untuk mendeteksi "lubang hitam" PMTU dan tidak akan pernah mengoptimalkan dengan benar.

Mungkin ada beberapa alasan bagus untuk mengaktifkan sebagian besar ICMP.

Sekarang sebagai pertanyaan Anda mengapa menonaktifkan:

Alasan untuk menonaktifkan bagian dari ICMP adalah:

  • Perlindungan dari cacing gaya lama yang menggunakan ICMP echo request (alias ping) untuk melihat apakah suatu host masih hidup sebelum mencoba menyerang. Belakangan ini, cacing modern mencobanya, membuatnya tidak lagi efektif.
  • Menyembunyikan infrastruktur Anda. Jika Anda ingin melakukan ini, silakan blokir di tepi jaringan Anda. Tidak di setiap komputer. Itu hanya akan menyebabkan admin Anda menarik semua rambut dari kepalanya karena frustrasi ketika terjadi kesalahan dan semua alat analisis normal gagal. (Dalam hal ini: Amazon dapat memblokirnya di ujung awan).
  • Serangan penolakan layanan berdasarkan ICMP. Tangani ini sama seperti serangan DOS lainnya: Batas nilai.
  • Satu-satunya yang valid: Jika Anda berada di jaringan yang tidak aman, Anda mungkin ingin memblokir atau menonaktifkan router telah mengubah perintah. Obfix: gunakan server Anda di jaringan yang aman.

Perhatikan bahwa ada manual 'pengerasan server' di luar sana yang menyarankan untuk memblokir ICMP. Mereka salah (atau setidaknya tidak cukup detail). Mereka masuk dalam kategori yang sama dengan 'keamanan' nirkabel melalui pemfilteran MAC atau menyembunyikan SSID.

Hennes
sumber
1

Blok ICMP dilakukan karena beberapa alasan, tetapi sebagian besar untuk menyembunyikan informasi dari probe yang berusaha mengidentifikasi dan membuat profil jaringan Anda. Ada juga beberapa jenis serangan pada router dan sistem akhir yang dapat diakses publik yang menggunakan traffic ICMP sebagai bagian dari exploit.

dalam kasus Anda, Anda mungkin dapat mengizinkan respons gema, meskipun itu menyebabkan Anda diperhatikan oleh lebih banyak penyelidikan. serangan seperti DDOS berbasis ping dan serangan smurf sebagian besar dimitigasi hari ini.

http://en.wikipedia.org/wiki/Denial-of-service_attack#ICMP_flood

Frank Thomas
sumber
0

Saya akan menyarankan mencegah membanjirnya permintaan ICMP dengan menggunakan iptablesalih-alih memblokirnya secara permanen:

iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/minute --limit-burst 100 -j ACCEPT
linmod77x
sumber
-1

Risiko terbesar ICMP pada server yang menghadapi internet adalah meningkatnya luas permukaan serangan Denial of Service (DoS).

Deepak Kumar Vasudevan
sumber