From owner-freebsd-security Mon Jun 25 12:56:28 2001 Delivered-To: freebsd-security@freebsd.org Received: from db.nexgen.com (db.nexgen.com [64.81.208.78]) by hub.freebsd.org (Postfix) with SMTP id 2B8D437B407 for ; Mon, 25 Jun 2001 12:56:07 -0700 (PDT) (envelope-from ml@db.nexgen.com) Received: (qmail 14281 invoked from network); 25 Jun 2001 19:56:55 -0000 Received: from localhost.nexgen.com (HELO book) (root@127.0.0.1) by localhost.nexgen.com with SMTP; 25 Jun 2001 19:56:55 -0000 Message-ID: <01ae01c0fdb0$e7eb8fe0$9865fea9@book> From: "alexus" To: "Brian" , "Jewfish" , "Igor Podlesny" Cc: , References: <006a01c0fb6b$2d64d830$9865fea9@book> <13760134158.20010623111308@morning.ru> <3B34EEC8.9010606@jewfish.net> <003d01c0fc30$053716a0$3324200a@sonicboom.org> Subject: Re: disable traceroute to my host Date: Mon, 25 Jun 2001 15:56:21 -0400 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_01AB_01C0FD8F.60AF3660" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Sender: owner-freebsd-security@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org This is a multi-part message in MIME format. ------=_NextPart_000_01AB_01C0FD8F.60AF3660 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable well basically i wanted to block all traceroute .. wither its windows or = unix ----- Original Message -----=20 From: Brian=20 To: Jewfish ; Igor Podlesny=20 Cc: alexus ; freebsd-security@FreeBSD.ORG ; freebsd-isp@FreeBSD.ORG=20 Sent: Saturday, June 23, 2001 6:01 PM Subject: Re: disable traceroute to my host Arent u leaving out some details, like for example windows tracert is = icmp based, whereas unix traces are udp.. Bri ----- Original Message -----=20 From: Jewfish=20 To: Igor Podlesny=20 Cc: alexus ; freebsd-security@FreeBSD.ORG ; freebsd-isp@FreeBSD.ORG=20 Sent: Saturday, June 23, 2001 12:32 PM Subject: Re: disable traceroute to my host These are the rules I have come up with on my own firewall to = disable tracerouting and pinging (something which might not be for = everybody), but allows me to traceroute and pring from the host and = recieve all the responses: allow icmp from any to any in recv ep0 icmptype 0,3,11,14,16,18 allow icmp from any to any out xmit ep0 icmptype 8 ep0 being, of course, my external interface. This seems to qork = quite well for me. Some other ideas were brought up about denying the = "time-to-live-exceeded" icmptype (11) because of packets that may take a = long time to reach the host. However, this is the easiest method I = could come up with using firewall rules. Obviously, these rules also deny ping traffic, which is not = recommended for everyone. However, I have recently gotten a lot of ping = floods, so I enacted this (possibly on a temporary basis) to deal with = this, while still allowing me to ping out (icmptype 8) and recieve the = replies (icmptype 0). James Igor Podlesny wrote: is it possible to disable using ipfw so people won't be able to = tracerouteme? Yes, of course.You should know how do traceroute-like utilities work.The = knowledge can be easily extracted from a lot of sources, for e.g.from = Internet, cause you seem to be connected ;) but, it also shouldbe = mentioned that man pages coming with FreeBSD (I guess as well aswith = other *NIX-likes OSes) also describe the algo.so man traceroute says, = that it uses udp ports starting with 33434 andgoes up with every new = hop. but this could be easily changed with -poption. Besides, windows' = tracert works using icmp proto, so thedecision isn't here. It lies = in what does the box do when answering tothem. It does send 'time = exceeded in-transit' icmp message cause TTLvalue is set too low to = let the packet jump forward. So it is theanswer -- you should disallow = it with your ipfw. for e.g. using suchsyntax:deny icmp from any to any = icmptype 11(yeah, you shou! ld carefully think about whether or not to use ANYcause if you're = box is a gateway other people will notice yourcutting-edge = knowledge cause it will hide not only your host ;)This is not the end, = alas. unix traceroute will wait for port unreachicmp so after = meeting, it stops and displays the end-point of yourtrace. Windows' = tracert will wait for normal icmp-echo-reply for thesame purpose. So = if you also wish to hide the end point, you need todisallow this also. = I bet you can figure out the way how by yourself,now.P.S. there are = also other ways (even more elegant) of doing that inpractice... they = called 'stealth routing' and can be implemented viaFreeBSD kernel = mechanism (sysctl + built-in kernel support) or withipf (ipfilter)read = the man pages, man, they are freely available... ------=_NextPart_000_01AB_01C0FD8F.60AF3660 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
well basically i wanted to block all traceroute .. = wither its=20 windows or unix
----- Original Message -----
From:=20 Brian
Cc: alexus ; freebsd-security@FreeBSD.ORG= ;=20 freebsd-isp@FreeBSD.ORG =
Sent: Saturday, June 23, 2001 = 6:01=20 PM
Subject: Re: disable traceroute = to my=20 host

Arent u leaving out some details, = like for=20 example windows tracert is icmp based, whereas unix traces are=20 udp..
 
    Bri
----- Original Message -----
From:=20 Jewfish=20
Cc: alexus ; freebsd-security@FreeBSD.ORG= =20 ; freebsd-isp@FreeBSD.ORG =
Sent: Saturday, June 23, 2001 = 12:32=20 PM
Subject: Re: disable = traceroute to my=20 host

These are the rules I have come up with on my own = firewall to=20 disable tracerouting and pinging (something which might not be for=20 everybody), but allows me to traceroute and pring from the host and = recieve=20 all the responses:

allow icmp from any to any in recv ep0 = icmptype=20 0,3,11,14,16,18
allow icmp from any to any out xmit ep0 icmptype=20 8

ep0 being, of course, my external interface.  This = seems to=20 qork quite well for me.  Some other ideas were brought up about = denying=20 the "time-to-live-exceeded" icmptype (11) because of packets that = may take a=20 long time to reach the host.  However, this is the easiest = method I=20 could come up with using firewall rules.

Obviously, these = rules also=20 deny ping traffic, which is not recommended for everyone. =  However, I=20 have recently gotten a lot of ping floods, so I enacted this = (possibly on a=20 temporary basis) to deal with this, while still allowing me to ping = out=20 (icmptype 8) and recieve the replies (icmptype = 0).

James

Igor=20 Podlesny wrote:
is it possible to disable =
using ipfw so people won't be able to =
traceroute
me?

Yes, = of course.

You should know how do traceroute-like utilities = work.

The knowledge can be easily extracted from a lot of = sources, for e.g.
from Internet, cause you seem to be connected ;) = but, it also should
be mentioned that man pages coming with = FreeBSD (I guess as well as
with other *NIX-likes OSes) also describe = the algo.

so man traceroute says, that it uses udp ports starting = with 33434 and
goes up with every new hop. but this could be easily = changed with -p
option. Besides, windows' tracert works using = icmp proto, so the
decision isn't here. It lies in what does the box = do when answering to
them. It does send 'time exceeded in-transit' = icmp message cause TTL
value is set too low to let the packet = jump forward. So it is the
answer -- you should disallow it with = your ipfw. for e.g. using such
syntax:

deny icmp from any to = any icmptype 11

(yeah, you shou! ld carefully think about whether or not to use ANY
cause if = you're box is a gateway other people will notice = your
cutting-edge knowledge cause it will hide not only your host = ;)

This is not the end, alas. unix traceroute will wait for port = unreach
icmp so after meeting, it stops and displays the = end-point of your
trace. Windows' tracert will wait for normal = icmp-echo-reply for the
same purpose. So if you also wish to hide = the end point, you need to
disallow this also. I bet you can figure = out the way how by yourself,
now.

P.S. there are also other = ways (even more elegant) of doing that in
practice... they called = 'stealth routing' and can be implemented via
FreeBSD kernel = mechanism (sysctl + built-in kernel support) or with
ipf = (ipfilter)

read the man pages, man, they are freely = available...


------=_NextPart_000_01AB_01C0FD8F.60AF3660-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-security" in the body of the message