So blockieren Sie Ping-ICMP-Anfragen an Linux-Systeme
Einige Systemadministratoren blockieren oft ICMP-Nachrichten an ihre Server, um die Linux-Boxen in rauen Netzwerken nach außen zu verstecken oder um irgendeine Art von IP-Flooding und Denial-of-Service-Angriffen zu verhindern.
Die einfachste Methode, den Ping-Befehl auf Linux-Systemen zu blockieren, besteht darin, eine iptables-Regel hinzuzufügen, wie im folgenden Beispiel gezeigt. Iptables ist ein Teil des Linux-Kernel-Netfilters und wird in den meisten Linux-Umgebungen standardmäßig installiert.
# iptables -A INPUT --proto icmp -j DROP
iptables -L -n -v [List Iptables Rules]
Eine weitere allgemeine Methode zum Blockieren von ICMP-Nachrichten in Ihrem Linux-System besteht darin, die folgende Kernel-Variable hinzuzufügen, die alle Ping-Pakete verwirft.
# echo “1” > /proc/sys/net/ipv4/icmp_echo_ignore_all
Um die obige Regel dauerhaft zu machen, hängen Sie die folgende Zeile an die Datei /etc/sysctl.conf an und wenden Sie die Regel anschließend mit dem Befehl sysctl an.
# echo “net.ipv4.icmp_echo_ignore_all = 1” >> /etc/sysctl.conf
sysctl -p
In Debian-basierten Linux-Distributionen, die mit der UFW-Anwendungsfirewall ausgeliefert werden, können Sie ICMP-Nachrichten blockieren, indem Sie die folgende Regel zur Datei /etc/ufw/before.rules hinzufügen, wie im folgenden Auszug dargestellt.
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP
Starten Sie die UFW-Firewall neu, um die Regel anzuwenden, indem Sie die folgenden Befehle ausführen.
# ufw disable && ufw enable
Fügen Sie in CentOS- oder Red Hat Enterprise Linux-Distributionen, die die Firewalld-Schnittstelle zur Verwaltung von iptables-Regeln verwenden, die folgende Regel hinzu, um Ping-Nachrichten zu verwerfen.
# firewall-cmd --zone=public --remove-icmp-block={echo-request,echo-reply,timestamp-reply,timestamp-request} --permanent
firewall-cmd --reload
Um zu testen, ob die Firewall-Regeln in allen oben genannten Fällen erfolgreich angewendet wurden, versuchen Sie, die IP-Adresse Ihres Linux-Rechners von einem Remote-System aus zu pingen. Falls ICMP-Nachrichten auf Ihrem Linux-Rechner blockiert werden, sollten Sie auf dem Remote-Rechner die Meldung "Zeitüberschreitung der Anfrage" oder "Zielhost nicht erreichbar" erhalten.
