Traceroute 'abwehren'

hallo!
und noch ne frage von mir: kann man ein traceroute zu meinem rechner irgendwie abblocken (ICMP-Protokoll o.Ä.)?
ich frage weil blackice einen traceroute zu meinem computer gemeldet hat, also muss man ihn ja erkennen und ev. auch abblocken können.
ich dachte bis jetzt immer das ein traceroute meinen rechner nur insofern betrifft, das ich einmal angepingt werde, um den letzten knoten zu erkennen. dies könnte man ja abfangen indem man ping blockt, aber wieso erkennt blackice trotzdem ein traceroute? gibt es noch irgendwas anderes, mit dem man ein traceroute abblocken bzw. ungenauer machen kann (ohne irgendwelche anonymen proxys oder so, nur mit firewall)?

thx,
markus

hallo!
und noch ne frage von mir: kann man ein traceroute zu meinem
rechner irgendwie abblocken (ICMP-Protokoll o.Ä.)?

Wenn Du ICMP deaktivierst/filterst, kann man die betroffenen Rechner nicht mehr „sehen“

ich frage weil blackice

kenne ich nicht…

einen traceroute zu meinem computer
gemeldet hat, also muss man ihn ja erkennen und ev. auch
abblocken können.

wozu? was versprichst Du Dir davon?

ich dachte bis jetzt immer das ein traceroute meinen rechner
nur insofern betrifft, das ich einmal angepingt werde, um den
letzten knoten zu erkennen.

Ja.

dies könnte man ja abfangen indem
man ping blockt,

Ja. Wie machst Du das?

aber wieso erkennt blackice trotzdem ein
traceroute?

?

gibt es noch irgendwas anderes, mit dem man ein
traceroute abblocken bzw. ungenauer machen kann (ohne
irgendwelche anonymen proxys oder so, nur mit firewall)?

Nee, außer auf allen Rechnern deden Du habhaft werden kannst ICMP blocken…

HTH,

Sebastian

hi!
erstmal zu blackice: dies ist ein „intruder detection system“, d.h. es erkennt dynamisch, ob ein hacker ins system einbricht (vergleichbar mit einer „intelligenten“ firewall ohne festdefinierte regeln).
dies hat ein traceroute zu meinem rechner erkannt, obwohl eine nis2001 firewall vorgeschaltet ist. diese firewall lässt alles icmp durch, ausser ECHO REQUEST (dies ist der icmp-befehl zum pingen).

weisst du genau welches icmp für traceroute zuständig ist (so wie ECHO REQUEST / ECHO REPLY für Ping), damit ich dieses gezielt blocken kann? wenn ich ganz icmp blocke funktioniert bei mir vieles im internet nicht.

ziel des blockens von traceroute: den rechner soweit wie möglich unsichtbar im internet machen.
ich hab schon (fast) alle ports auf stealth, ebenso ping geblockt. wenn man jetzt aber statt ping einfach tracerout macht, sieht man immer noch das mein rechner antwortet.

markus

weisst du genau welches icmp für traceroute zuständig ist (so
wie ECHO REQUEST / ECHO REPLY für Ping), damit ich dieses
gezielt blocken kann? wenn ich ganz icmp blocke funktioniert
bei mir vieles im internet nicht.

Hallo Markus!

Du schreibst es doch bereits selbst, was Du blocken mußt, um ein Ping zu verhindern. Wenn Du aber schon dabei bist, solltest Du bei ICMP noch ein wenig mehr einschränken. Habe Dir den entsprechenden Ausschnitt aus meiner AtGuard-Konfiguration einmal kopiert (s.u.).

CU
Markus


RULE 59: ICMP source quench
Rule in use: YES
Protocol: ICMP
Action: Ignore
Direction: Inbound
Application: -
Remote service: Any Service
Local service: (Source Quench)
… 4
Remote Address: Any Address
Local Address: Any Address

RULE 60: ICMP parameter problem
Rule in use: YES
Protocol: ICMP
Action: Ignore
Direction: Either
Application: -
Remote service: (Parameter Problem on a Datagram)
… 12
Local service: Any Service
Remote Address: Any Address
Local Address: Any Address

RULE 61: Inbound ICMP echo reply
Rule in use: YES
Protocol: ICMP
Action: Permit
Direction: Inbound
Application: -
Remote service: Any Service
Local service: (Echo Reply)
… 0
Remote Address: Any Address
Local Address: Any Address

RULE 62: Outbound ICMP echo request
Rule in use: YES
Protocol: ICMP
Action: Permit
Direction: Outbound
Application: -
Remote service: (Echo Request)
… 8
Local service: Any Service
Remote Address: Any Address
Local Address: Any Address

RULE 63: Outbound ICMP echo reply
Rule in use: YES
Protocol: ICMP
Action: Block
Direction: Outbound
Application: -
Remote service: (Echo Reply)
… 0
Local service: Any Service
Remote Address: Any Address
Local Address: Any Address

RULE 64: Inbound ICMP echo request
Rule in use: YES
Protocol: ICMP
Action: Block
Direction: Inbound
Application: -
Remote service: (bootp)
… 67
Local service: (Echo Request_1)
… 8
Remote Address: Any Address
Local Address: Any Address

RULE 65: ICMP redirect
Rule in use: YES
Protocol: ICMP
Action: Block
Direction: Either
Application: -
Remote service: (Redirect)
… 5
Local service: Any Service
Remote Address: Any Address
Local Address: Any Address

RULE 66: Inbound ICMP address mask request
Rule in use: YES
Protocol: ICMP
Action: Block
Direction: Inbound
Application: -
Remote service: Any Service
Local service: (Address-Mask Request)
… 17
Remote Address: Any Address
Local Address: Any Address

RULE 67: Inbound ICMP destination unreachable
Rule in use: YES
Protocol: ICMP
Action: Permit
Direction: Inbound
Application: -
Remote service: Any Service
Local service: (Destination Unreachable)
… 3
Remote Address: Any Address
Local Address: Any Address

RULE 68: Outbound ICMP destination unreachable
Rule in use: YES
Protocol: ICMP
Action: Block
Direction: Outbound
Application: -
Remote service: (Destination Unreachable)
… 3
Local service: Any Service
Remote Address: Any Address
Local Address: Any Address

RULE 69: Inbound ICMP time exceeded
Rule in use: YES
Protocol: ICMP
Action: Block
Direction: Inbound
Application: -
Remote service: Any Service
Local service: (Time Exceeded for a Datagram)
… 11
Remote Address: Any Address
Local Address: Any Address

Hi,

Traceroute funktioniert da etwas anders.

Jedes Ip-Paket enthalet ein TTL (Time to live) Feld, das bei jedem Forwarding-Vorgang um 1 Reduziert wird. Sobald das TTL-feld auf Null faellt, wird das Paket weggeworfen. Das dient dazu, endloses Kreisen von Paketen zu verhindern. Wenn so ein paket stirbt, schickt der Rechner, bei dem es gestorben ist ein ICMP Paket an den Absender, um diesem das mitzuteilen. Diese Paket enthaelt normalerweise die Adresse des Rechners bei der dies Passiert ist.

Ein normales IP-Paket hat TTL 30, d.h. der Maximale „Durchmesser“ des Internets betraegt 30 Rechner.

Traceroute schickt nun nacheinander IP-Pakete der Laenge 1,2,3, usw. los und guckt, wo die stranden. Um zu verhindern, dass dein Rechner dem aderen sagt, dass das Paket futsch ist, muesstest Du vermutlich in deiner Outgoing Firewall das ICMP-Paket Host unreachable bzw. Network unreachable streichen. Mir ist nicht ganz klar, ob das beimn letzten Rechner auch noch klappt, da
der das Paket eigentlich annehmen muesste. Aber ob man auf der
Strecke zu einem anderen rechner liegt muesste man so rausbekommen.

Um die Struktur des Internen Netzes geheimzuhalten, koennte man die Firewall anweisen, alle Pakete mit verdaechtig kleiner TTL
zu verwerfen.

MFG
Martin

1 „Gefällt mir“

Hallo Markus,

kann man ein traceroute zu meinem
rechner irgendwie abblocken (ICMP-Protokoll o.Ä.)?

ich dachte bis jetzt immer das ein traceroute meinen rechner
nur insofern betrifft, das ich einmal angepingt werde, um den
letzten knoten zu erkennen. dies könnte man ja abfangen indem
man ping blockt, aber wieso erkennt blackice trotzdem ein
traceroute? gibt es noch irgendwas anderes, mit dem man ein
traceroute abblocken bzw. ungenauer machen kann (ohne
irgendwelche anonymen proxys oder so, nur mit firewall)?

Die Funktionsweise von traceroute findet sich in RFC 1393
(http://www.rfc-editor.org/rfc/rfc1393.txt).

Das einzige, was traceroute macht, ist ein IP-Paket
mit einem TTL von 1 an den Zielrechner zu schicken.
Router, die ein Paket mit einem TTL von 1 (oder 0) erhalten,
muessen das Paket verwerfen und eine ICMP „time exceeded“
Nachricht an den Sender zurueckschicken. Der Sender kann dann
im Antwortpaket die Absenderadresse des Routers auslesen.
Dies geht so weiter bis zum eigentlichen Zielrechner.

Dieser wird das Paket mit einem TTL von 1 nicht verwerfen.
Deshalb sendet traceroute immer IP-Pakete, die einen
nicht benutzten UDP-Port als Ziel habe (>30000). Der
Zielrechner wird dann eine ICMP „port unreachable“ Nachricht
zuruecksenden und die Route ist komplett bestimmt.

Du musst also verhindern, dass dein Rechner die 2 ICMP-Nachrichten (RFC 792):
Typ 11 (Zeitueberschreitung) Code 0 (TTL gleich 0 waehrend Uebertragung)
Typ 3 (Ziel unerreichbar) Code 3 (Port unerreichbar)
von deinem Rechner versenden kann.

Nix mit ping also :wink:

Gruesse,

Andreas.

hallo!

danke erstmal für deine rules.
aber kannst du nochmal kurz zu jeder regel nen sätzchen schreiben, warum die die blockierst / durchlässt?
dann weiss ich auch warum ich das bei mir blocke oder nicht.

markus

danke erstmal für deine rules.
aber kannst du nochmal kurz zu jeder regel nen sätzchen
schreiben, warum die die blockierst / durchlässt?
dann weiss ich auch warum ich das bei mir blocke oder nicht.

Folgende Regeln stellen das Minimum dar und schützen vor
Ping und Traceroute:

Ankommende Antworten auf Ping und Traceroute werden zugelassen:
RULE: Inbound ICMP echo reply PERMIT
RULE: Inbound ICMP destination unreachable PERMIT
RULE: Inbound ICMP time exceeded for a datagram PERMIT

Das Senden von Pings wird zugelassen:
RULE: Outbound ICMP echo request PERMIT

Alle anderen ICMP-Pakete werden verworfen:
RULE: Either ICMP any BLOCK

Im Folgenden ein etwas ausführlicherer Regelsatz für AtGuard bzw. Norton Internet Security. Durch explizites Angeben von BLOCK-Regeln lassen sich diese aufgeschlüsselt im Event-Log wiederfinden.

Im Falle des minimalen Regelsatzes (s.o.) würde lediglich das Anschlagen der Default-Regel verzeichnet - ohne genauere Angaben.

CU
Markus


/* Empfang von Antworten auf Pings (echo request) zulassen */
RULE: Inbound ICMP echo reply PERMIT
Protocol: ICMP
Action: Permit
Direction: Inbound
Application: -
Remote service: Any Service
Local service: (Echo Reply)
… 0
Remote Address: Any Address
Local Address: Any Address


/* Senden von Antworten auf Pings (echo request) verbieten */
RULE: Outbound ICMP echo reply BLOCK
Protocol: ICMP
Action: Block
Direction: Outbound
Application: -
Remote service: (Echo Reply)
… 0
Local service: Any Service
Remote Address: Any Address
Local Address: Any Address


/* Empfang von „Host nicht erreichbar“ zulassen */
RULE: Inbound ICMP destination unreachable PERMIT
Protocol: ICMP
Action: Permit
Direction: Inbound
Application: -
Remote service: Any Service
Local service: (Destination Unreachable)
… 3
Remote Address: Any Address
Local Address: Any Address


/* Senden von „Host nicht erreichbar“ verbieten */
/* Verhindert provozierte Antworten auf Traceroutes,
* sofern ein nicht existenter Rechner anstelle des eigenen
* als Ziel spezifiziert ist. */
RULE: Outbound ICMP destination unreachable BLOCK
Protocol: ICMP
Action: Block
Direction: Outbound
Application: -
Remote service: (Destination Unreachable)
… 3
Local service: Any Service
Remote Address: Any Address
Local Address: Any Address


/* Empfangenen Wunsch „Sendeleistung drosseln“ ignorieren */
/* Kann eine Form von Denial of Service verhindern,
* verstoesst jedoch gegen die Konventionen */
RULE: Inbound ICMP source quench IGNORE
Protocol: ICMP
Action: Ignore
Direction: Inbound
Application: -
Remote service: Any Service
Local service: (Source Quench)
… 4
Remote Address: Any Address
Local Address: Any Address


/* Empfang von Umleitungswuenschen verbieten */
/* Durch vortäuschen günstigerer Routen koennen Pakete
* absichtlich so umgelenkt werden, dass ein Angreifer
* sie abhoeren oder gar manipulieren kann. Der Hinweis
* auf eine guenstigere Route kann jedoch ebenso auch
* authentisch sein. */
RULE: Inbound ICMP redirect BLOCK
Protocol: ICMP
Action: Block
Direction: Either
Application: -
Remote service: (Redirect)
… 5
Local service: Any Service
Remote Address: Any Address
Local Address: Any Address


/* Senden von Pings (echo request) zulassen */
RULE: Outbound ICMP echo request PERMIT
Protocol: ICMP
Action: Permit
Direction: Outbound
Application: -
Remote service: (Echo Request)
… 8
Local service: Any Service
Remote Address: Any Address
Local Address: Any Address


/* Empfang von Pings (echo request) verbieten */
RULE: Inbound ICMP echo request BLOCK
Protocol: ICMP
Action: Block
Direction: Inbound
Application: -
Remote service: (bootp)
… 67
Local service: (Echo Request_1)
… 8
Remote Address: Any Address
Local Address: Any Address


/* Empfang von Antworten auf Traceroutes (TTL=0) zulassen */
RULE: Inbound ICMP time exceeded for a datagram PERMIT
Protocol: ICMP
Action: Permit
Direction: Inbound
Application: -
Remote service: Any Service
Local service: (Time Exceeded for a Datagram)
… 11
Remote Address: Any Address
Local Address: Any Address


/* Senden von Antworten auf Traceroutes (TTL=0) verbieten */
RULE: Outbound ICMP time exceeded BLOCK
Protocol: ICMP
Action: Block
Direction: Inbound
Application: -
Remote service: Any Service
Local service: (Time Exceeded for a Datagram)
… 11
Remote Address: Any Address
Local Address: Any Address


1 „Gefällt mir“

thanks a lot
hallo!
vielen dank für die sehr ausführliche antwort! jetzt bin ich was icmp angeht erstmal wunschlos glücklich :smile:

markus

hab da doch noch mal ne frage
hallo nochmal!

bin beim eingeben der regeln doch noch auf ne unklarheit gestossen (hät mich auch gewundert wenn nicht :wink:):
muss diese regel nicht für outbound-nachrichten gelten statt für inbound?
eine antwort auf ttl=0 trifft doch nicht ein sondern wird von dem rechner abgeschickt, der dieses packet erhält, oder vertue ich mich da?

markus


/* Senden von Antworten auf Traceroutes (TTL=0) verbieten */
RULE: Outbound ICMP time exceeded BLOCK
Protocol: ICMP
Action: Block
Direction: Inbound
Application: -
Remote service: Any Service
Local service: (Time Exceeded for a Datagram)
… 11
Remote Address: Any Address
Local Address: Any Address

bin beim eingeben der regeln doch noch auf ne unklarheit
gestossen (hät mich auch gewundert wenn nicht :wink:):
muss diese regel nicht für outbound-nachrichten gelten statt
für inbound?

Sorry! Da hab ich die falsche Regel zur Erklärung eingefügt. Direction muß natürlich Outbound sein und entsprechend der Service auch bei Remote statt Local eingetragen werden. So ist es richtig:

/* Senden von Antworten auf Traceroutes (TTL=0) verbieten */
RULE: Outbound ICMP time exceeded BLOCK
Protocol: ICMP
Action: Block
Direction: Outbound
Application: -
Remote service: (Time Exceeded for a Datagram)
… 11
Local service: Any Service
Remote Address: Any Address
Local Address: Any Address

CU
Markus