Mengapa beberapa server web tidak menanggapi permintaan icmp?

8

Apa tujuan memblokir / menjatuhkan lalu lintas ICMP masuk pada server web publik? Apakah itu biasa untuk diblokir?

Saya harus menguji apakah server dapat diakses dari berbagai lokasi (diuji pada berbagai server yang berlokasi di berbagai negara bagian / negara). Saya mengandalkan ping sebagai metode cepat & andal untuk menentukan apakah server online / dapat diakses jaringan. Setelah tidak menerima respons pada beberapa kotak, saya mencoba menggunakan lynx untuk memuat situs, dan ternyata berhasil.

John Himmelman
sumber
6
Warner menjelaskannya dengan cukup baik. Sebagai tambahan - jangan menguji satu layanan (ICMP) untuk menentukan apakah layanan lain (HTTP) berfungsi. Bayangkan bahwa ada penyeimbang beban di depan situs web yang Anda sayangi, yang merespons ping, tetapi server web itu sendiri semuanya salah konfigurasi dan tidak melayani apa pun kecuali "Akses ditolak". Jika Anda peduli tentang ketersediaan HTTP, gunakan curl. Jika Anda peduli tentang SMTP, gunakan skrip untuk menguji penerimaan surat. Periksa kode pengembalian pada apa pun yang Anda periksa.
mfinni

Jawaban:

14

Belakangan ini cukup umum untuk menjatuhkan ICMP, karena ini adalah metode umum untuk digunakan untuk tujuan Denial of Service. Host dengan bandwidth lebih tinggi atau beberapa host berulang kali melakukan ping pada satu server Web dapat memanfaatkan semua bandwidthnya.

Orang lain mungkin jatuh untuk mengurangi jejak mereka di Internet, sehingga berpotensi diabaikan oleh lalu lintas pemindaian massal.

Meskipun umum, saya berpendapat bahwa itu memberikan nilai kecil dan tidak banyak untuk meminimalkan DoS dan jejak sambil membatasi potensi diagnostik.

Warner
sumber
Terima kasih, server yang saya uji adalah server web yang menangani perusahaan vpn. Mempertimbangkan jenis layanan, menjatuhkan ICMP masuk akal.
John Himmelman
4

Terlepas dari perlindungan DoS yang meragukan dan profil yang diturunkan, ada alasan umum tetapi diabaikan IP yang diberikan mungkin tidak menanggapi ping: sebenarnya tidak ditugaskan ke antarmuka.

Mengarahkan ulang (port forwarding) IP / protokol / port tupel ke berbagai layanan yang Anda inginkan memberi Anda kepadatan layanan yang lebih besar pada jaringan yang lebih kecil.

Misalnya, anggap ISP Anda merutekan 1.2.3.4/30 ke Anda. Anda punya tiga pilihan:

  • Arahkan mereka secara normal. Meninggalkan Anda dua IP yang dapat digunakan, salah satunya harus menjadi gateway Anda, jadi satu host.
  • IP eksternal NAT ke IP internal. Meninggalkan Anda empat host.
  • Arahkan lalu lintas ke layanan internal sesuai kebutuhan. SMTP (TCP 25), DNS (TCP / UDP 53), dan situs web perusahaan Anda (TCP 80.443) semuanya bisa ada pada satu alamat eksternal.

Cara ketiga semakin umum. Sebagian besar administrator (termasuk saya), ketika mengaturnya, jangan repot-repot mengarahkan ICMP sehingga hanya jatuh di firewall.

sh-beta
sumber
2

Tidak ada salahnya memblokir ICMP tipe 0 (balasan Echo), tetapi memblokir semua ICMP memecah tanggapan kepada klien jika ada tautan di jalur retun yang memiliki MTU kurang dari Ukuran Segmen Kirim Maksimum dari koneksi TCP. Ini terjadi karena server web tidak dapat lagi menerima paket ICMP tipe 3 kode 4 (Destination Unreachable; Fragmentation Needed dan DF set).

Dalam praktiknya ini tidak terlalu menjadi masalah karena siapa pun yang membutuhkan lalu lintas terowongan juga harus mengatur mekanisme untuk menangani banyak server web yang tumpukan TCP-nya terhambat oleh firewall yang tidak terkonfigurasi.

Eradman
sumber
1

Membantu dengan penolakan serangan layanan. Tidak ada alasan nyata untuk memerlukan situs terbuka untuk melakukan ping dari publik.

Plus itu tidak memberikan statistik untuk situs web; satu host atau IP bisa dengan mudah menjawab untuk server penyeimbangan beban server di bagian belakang (ping mysite.com tidak memberi tahu Anda jika semua server bekerja dengan baik di belakang nama.)

Bisa jadi hanya kebijakan perusahaan untuk menghentikan lalu lintas yang tidak perlu, atau hanya mengizinkan lalu lintas port 80 dan SSL untuk dialihkan ke server lain secara internal.

Saya kira pertanyaan lainnya adalah, mengapa repot-repot mengizinkan sistem luar untuk melakukan ping server Anda jika mereka benar-benar tidak perlu?

Bart Silverstrim
sumber
3
Ada lelucon di sini di suatu tempat .. --- statistik ping google.com --- 1 paket ditransmisikan, 1 diterima, kehilangan paket 0%, waktu 0ms rtt min / avg / max / mdev = 52.220 / 52.220 / 52.220 / 0.000 ms --- statistik ping microsoft.com --- 3 paket ditransmisikan, 0 diterima, kehilangan paket 100%, waktu 1999ms
Warner