hokaido
Goto Top

UFW: Deny Ping

Hallo,

ich möchte unter Ubuntu 20.04. LTS Pings deaktivieren...

Dazu habe ich für IP4 in /etc/ufw/before.rules
-A ufw-before-input -p icmp --icmp-type destination-unreachable -j DROP
-A ufw-before-input -p icmp --icmp-type time-exceeded -j DROP
-A ufw-before-input -p icmp --icmp-type parameter-problem -j DROP
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP

gesetzt. Ist das ausreichend oder muss das gleiche auch beim Block -A ufw-before-output erfolgen?

Dann gibts ja noch eine Datei für IP6: /etc/ufw/before6.rules
Welche Befehle müssen denn da angepasst werden?

Danke

Christian

Content-Key: 666299

Url: https://administrator.de/contentid/666299

Printed on: April 18, 2024 at 11:04 o'clock

Member: Windows10Gegner
Windows10Gegner May 02, 2021 at 06:38:47 (UTC)
Goto Top
Bitte blockiere nicht wild ICMP.
https://www.omnisecu.com/tcpip/icmp-destination-unreachable-message.php

ICMP Destination unreachable sollte NICHT blockiert werden.

Relevant ist für dich der echo request und der echo reply.
Der Request wird geschickt und der reply ist die Antwort.

Blockiere als nur diese.
Member: LordGurke
LordGurke May 02, 2021 at 10:43:47 (UTC)
Goto Top
Es reicht sogar, eingehend nur EchoRequests zu filtern. Filterst du auch die Responses, kannst du selbst nicht mehr rauspingen.
Für IPv6 gilt das ebenso.

Jedoch: Du wirst damit keinen Sicherheitsgewinn haben, weil sich nichts im Internet dafür interessiert, ob das System pingt oder nicht. Macht nur das Debugging schwieriger, wenn das Netzwerk Probleme hat.
Member: Lochkartenstanzer
Lochkartenstanzer May 02, 2021 updated at 10:56:30 (UTC)
Goto Top
Zitat von @LordGurke:

Es reicht sogar, eingehend nur EchoRequests zu filtern. Filterst du auch die Responses, kannst du selbst nicht mehr rauspingen.

Wer selbst Pingen will sollte auch anderen erlauben zu Pingen.

lks
Member: aqui
aqui May 02, 2021 updated at 10:59:09 (UTC)
Goto Top
Ein einfaches:
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
macht Schluss mit Ping und erlaubt aber eigenes Ping.
Member: Lochkartenstanzer
Lochkartenstanzer May 02, 2021 at 10:58:21 (UTC)
Goto Top
Moin,

Was soll der Unsinn, icmp wegzufiltern? icmp ist wichtig für das funktionieren der Kommunikation und Du hast überhaupt keinen Sicherheitsgewinn durch blockieren von icmp-echo-Paketen.

lks
Member: Lochkartenstanzer
Lochkartenstanzer May 02, 2021 at 10:59:40 (UTC)
Goto Top
Zitat von @aqui:

Ein einfaches:
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
macht Schluss mit Ping.

Was aber überhaupt keinen Sicherheitsgewinn bringt sondern eher das debuggen erschwert.

lks
Member: aqui
aqui May 02, 2021 updated at 11:01:46 (UTC)
Goto Top
icmp ist wichtig für das funktionieren der Kommunikation
Nein, das ist nicht ganz richtig. Echo bzw. Echo Reply Types sind nicht wichtig. Der Rest schon...
Es verschleiert zumindestens etwas einem Angreifer das dort ein lohnendes Ziel ist.
Member: Lochkartenstanzer
Lochkartenstanzer May 02, 2021 at 11:10:58 (UTC)
Goto Top
Zitat von @aqui:

icmp ist wichtig für das funktionieren der Kommunikation
Nein, das ist nicht ganz richtig. Echo bzw. Echo Reply Types sind nicht wichtig. Der Rest schon...
Es verschleiert zumindestens etwas einem Angreifer das dort ein lohnendes Ziel ist.

Der Angreifer ist nicht auf den Echo-Request angewiesen, um festzustellen, ob da ein lohnendes Ziel ist. Bei den Logs, die ich sehe, ist da fast nie ein echo-request dabei, bevor die Ports abgeklopft werden.

lks
Member: LordGurke
LordGurke May 02, 2021 at 11:20:06 (UTC)
Goto Top
Gleiches habe ich festgestellt - und ja meine "Studienergebnisse" in meiner ersten Antwort verlinkt.
Es erschwert letztlich nur einem selbst und dem Serveranbieter das Debugging, wenn mal etwas nicht wie erwartet funktioniert.
Member: Lochkartenstanzer
Lochkartenstanzer May 02, 2021 at 11:38:05 (UTC)
Goto Top
Zitat von @LordGurke:

Es erschwert letztlich nur einem selbst und dem Serveranbieter das Debugging, wenn mal etwas nicht wie erwartet funktioniert.

Jupp.

lks
Member: hokaido
hokaido May 02, 2021 at 18:59:57 (UTC)
Goto Top
Danke für die Kommentare.
Beantwortet aber leider meine beiden Fragen noch nicht.

Und ob andere Server erwarten, dass mein Server antwortet ist mir ehrlich gesagt egal. Funktionieren tut es so auch.
Member: Windows10Gegner
Windows10Gegner May 02, 2021 at 19:08:19 (UTC)
Goto Top
Sei so gut un blockiere nicht einfach wild irgendwelche Pakete, deren Funktion du nicht kennst.
ICMP Echo reply/request ist ok, den Rest bitte durchlassen, spezielle, packet too big.


Um die Frage zu beantworten, musst du uns sagen, was du damit bezwecken willst.
Member: aqui
aqui May 03, 2021 at 07:11:56 (UTC)
Goto Top
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
Wo ist jetzt dein Problem damit. Das macht doch genau das was du willst ?!
Member: hokaido
hokaido May 03, 2021 at 10:42:28 (UTC)
Goto Top
Kein Problem damit... Siehe Frage; Nur in die IP4 Datei oder auch in die IP6 Datei?
Member: aqui
aqui May 03, 2021 updated at 10:59:54 (UTC)
Goto Top
Normal in beide.
Bei ICMP Filtern in IPv6 muss man sehr sehr vorsichtig sein, weil bei IPv6 das gesamte Protokollhandling erheblich stärker auf ICMP basiert als bei v4. Bei v6 sollte man in der Tat dan sehr sehr genau hinsehen.
Kapitel 3.2 (Seite 5) und die Tabelle Nr. 5 führen in diesem Dokument die essentell wichtigen IPv6 ICMPs auf:
https://www.net.in.tum.de/fileadmin/TUM/NET/NET-2016-09-1/NET-2016-09-1_ ...
Member: Windows10Gegner
Windows10Gegner May 03, 2021 at 11:16:33 (UTC)
Goto Top
Generell sollte man ICMP nur bei bestimmten Typen/Codes filtern, die man auch wirklich aus gutem Grund filtern will und nicht pauschal.
Member: hokaido
hokaido May 16, 2021 at 21:41:15 (UTC)
Goto Top
Danke für die Antworten.
Ich habe jetzt nur die PINGs weggefiltert.
Gibt es die Möglichkeit Pings nur von bestimmten IPs zuzulassen (Website Monitoring etc.)? Ich hab mal gegoogelt, aber entweder mit den falschen Begriffen oder die Lösungen haben nicht funktioniert.

Danke
Member: Windows10Gegner
Windows10Gegner May 17, 2021 at 06:34:52 (UTC)
Goto Top
Ja, du musst eine ALLOW-Regel definieren und diese muss vor der DENY-Regel geprüft werden.
Member: hokaido
hokaido May 17, 2021 at 06:46:26 (UTC)
Goto Top
Ja, so habs ich gemacht. Hat aber wie geschrieben nicht funktioniert
Member: aqui
aqui May 17, 2021 updated at 06:50:52 (UTC)
Goto Top
Dann hast du ganz sicher etwas falsch gemacht. Beim Regelwerk gilt immer "First match wins". Kollege @Windows10Gegner hat es oben schon gesagt !
Sprich ein positiver Hit einer Regel bewirkt das die Restregeln NICHT mehr weiter abgearbeitet werden.
Reihenfolge zählt hier also und da liegt garantiert auch dein Fehler in deinen konfigurierten Regeln !
Da du dein aktuelles Regelwerk dazu hier aber zum Troubleshooting leider nicht postest kann man nur die Kristallkugel bemühen...
Member: hokaido
hokaido May 17, 2021 updated at 06:56:07 (UTC)
Goto Top
Na daran soll es nicht scheitern:
-A ufw-before-input -p icmp --icmp-type echo-request -s 80.x.x.x -m state --state ESTABLISHED -j ACCEPT
-A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT
-A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT
-A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT
-A ufw-before-input -p icmp --icmp-type echo-request -j DROP
Member: aqui
aqui May 17, 2021 at 07:34:33 (UTC)
Goto Top
Einen Established State gibt es bei ICMP nicht. Sowas kennt nur TCP.
https://de.wikipedia.org/wiki/Internet_Control_Message_Protocol
Deshalb scheitert diese Regel.
Member: hokaido
hokaido May 17, 2021 at 07:37:52 (UTC)
Goto Top
d.h. so würde sie funktionieren (kann ich erst heute Abend testen)?
-A ufw-before-input -p icmp --icmp-type echo-request -s 80.x.x.x -m state -j ACCEPT

oder muss -m state auch noch weg?
Member: aqui
Solution aqui May 17, 2021 updated at 07:58:50 (UTC)
Goto Top
Ja, einen State gibt es bei ICMP bekanntlich nicht. Siehe Wiki oben ! Mit den anderen Regeln (die vermutlich ja funktionieren) hast du es ja richtig gemacht.
Member: hokaido
hokaido May 17, 2021 at 19:05:16 (UTC)
Goto Top
-A ufw-before-input -p icmp --icmp-type echo-request -s 80.x.x.x -j ACCEPT
funktioniert...

Danke
Member: aqui
aqui May 18, 2021 at 06:54:18 (UTC)
Goto Top
👍