RE: DENY x REJECT

From: Ofir Arkin (ofir@sys-security.com)
Date: Tue Oct 09 2001 - 19:00:39 PDT

  • Next message: niceshortsat_private: "Re: DENY x REJECT"

    More suggestions :)
    
    >>The best way to differ between a port which the firewall is configured
    >>to "drop" a packet(s) and a port the firewall is configured to
    "reject"
    >>a packet(s) is to look for the ICMP Error Message (Destination
    >>Unreachable - Communication with Destination Network is
    Administratively
    >>Prohibited) as you stated.
    
        >This is to expand on what Ofir wrote.
    
        >If a TCP packet is =not= filtered, and there is no listening
        >socket, the response should be a RST. This should also be taken
        >into account. If a UDP packet is =not= filtered, and there is
        >a listening socket, a response is application layer specific
        >and typically a misunderstood datagram will be dropped. So a
        >firewall dropping a UDP packet and a listening UDP socket can
        >be difficult to differentiate. If there is no listening
        >UDP socket, a Destination Port Unreachable message should be
        >returned. But if we are talking about a firewall between
        >source and destination, we don't know anything if the
        >firewall happens to drop those Unreachables. Such is life
        >made more difficult.
    
    Imagine there is no spoon.
    What you can do is to test for firewall presence. This is a very simple
    test that will give you the ability to understand what you facing. 
    
    With UDP you can use this remedy:
    Choose some UDP ports that should be 99.9% close. How can you choose, or
    where to choose from? You can try for example the IANA list of
    registered ports.
    
    Now, a closed UDP port will elicit an ICMP Destination Unreachable Port
    Unreachable error message back to the sender.
    
    This means that when trying to communicate with a limited number of
    presumably closed UDP ports we have chosen we need to receive ICMP
    Destination Unreachable error messages for all UDP packets hitting these
    close UDP ports. If we are not receiving any reply back than it is 99.9%
    that there is a Firewall which is between the source IP and the
    Destination IP.
    
    With this way we limited are choices of who are we communicating with,
    and who is sending us the ICMP error messages.
    
    
    
    >>As a thumb rule configuring a firewall to "reject" rather than "drop"
    is
    >>a mistake. The firewall needs to be transparent as possible for
    traffic
    >>going through. 
    
        >It depends if the firewall returns a RST on reject. One
        >example where this is useful is to RST ident. I think the
        >actual reject response (ICMP or TCP RST) is implementation
        >specific and depends on semantics.
    
    One nice added value for the auditor will be the ability to identify the
    operating system the FW software will be installed on, given the fact
    the firewall TCP/IP stack generates these lovely RSTs. Another thing
    that the auditor might gain is the understanding that he is dealing with
    several systems and not only with the one he is querying - looking at
    the traces will result in identifying at least two systems which
    communicate with his machine although he is targeting one.
    
    Just my 2c.
    
    Ofir Arkin [ofir@sys-security.com]
    Founder
    The Sys-Security Group
    http://www.sys-security.com
    PGP CC2C BE53 12C6 C9F2 87B1 B8C6 0DFA CF2D D360 43FA
    
    
    
    ----------------------------------------------------------------------------
    This list is provided by the SecurityFocus Security Intelligence Alert (SIA)
    Service. For more information on SecurityFocus' SIA service which
    automatically alerts you to the latest security vulnerabilities please see:
    https://alerts.securityfocus.com/
    



    This archive was generated by hypermail 2b30 : Wed Oct 10 2001 - 08:00:37 PDT