<<< Date Index >>>     <<< Thread Index >>>

Re: TCP/IP implementations do not adequately validate ICMP error messages



Hello Alok,

Tuesday, May 10, 2005, 4:51:25 PM, you wrote:
> when I add the following rule to iptables, the linux server (Kernel
> 2.4.29-grsec) is no longer vulnerable to the DOS:
> iptables -I INPUT 1 -p icmp -j DROP
Um. Other way round:

1) setup a default drop policy

        # iptables -P INPUT DROP

2) accept only what you want

        # related and established traffic
        # iptables -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT

        # allow only type: echo request, code: 0 (proper rfc ping)
        # iptables -A INPUT -p icmp --icmp-type 8/0 -j ACCEPT

        # other rules
        
> I am interested in knowing if this work around makes any sense. Please
> keep me informed about this vulnerability.
Unless you are accepting stateful RELATED ICMP traffic, you are propably fine,
but are just missing rules to allow PING, which is a RFC MUST AFAIR.

If not, you are doing a very bad thing. ICMP is really required for
error reporting. You really, really do not want to miss out on these,
as it may get you to problems like:
- being unable to detect a need for fragmentation
- being unable to receive dest.unreach. icmps which will cause delays
and timeouts.

Blocking all icmp by ISPs is called being criminally brain-dead
in a help message of the TCPMSS module for iptables in the kernel source :-)

-- 
Best regards,
Maciej