On Jan 13, 2011, at 1:21 PM, Lamar Owen wrote:

> On Wednesday, January 12, 2011 03:50:28 pm Owen DeLong wrote:
>> That's simply not true. Every end user running NAT is running a stateful 
>> firewall with a default inbound deny. 
> 
> This is demonstrably not correct.  Even in the case of dynamic overloaded 
> NAT, at least on Cisco, there is no firewalling going on (if firewalling is 
> defined as blocking something).  It looks like there is, but that's an 
> illusion, a sleight-of-hand, not reality. In the NAT order of operations in 
> IOS at least you'll find NAT occurs before the routing decision does.  Thus, 
> if you change the address in the packet header, you change which routing 
> table entry will be used to route that packet.  It's the rewriting of the 
> address that then causes the routing to send the packet in a different 
> direction; in practice most of the time there is either no route or a null 
> route to the inside global address or address block, but it doesn't have to 
> be that way. 
> 
The rewriting is done by matching the packet against a state table.
No match, no rewrite, no forward.

If you have a state table and packets have to match the state table to get 
forwarded, that is, by definition, a stateful firewall.

> You could easily set up a NAT where the inside local addresses are on, say, 
> GigabitEthernet0/0 and the inside global address(es) are on Null0.... or 
> GigabitEthernet0/1 (where the honeynet or tarpit resides, perhaps?), or 
> whatnot. Packets that don't match the NAT can just be routed elsewhere, not 
> just to a null route, easily enough.   The default destination for most cases 
> happens to be a null route; this is certainly a good imitation of a deny.

The difference between drop, deny, and forward to null0 is a subtlety that 
doesn't have much to do with the outcome of what happens to the packet. In all 
cases, the packet is discarded.

The bottom line is that a default forward to null0 is a default deny. Yes, it 
can be overridden like most defaults. Yes, the mechanism for overriding
a default deny in an ACL and overriding a default forward to null0 in a state 
table may be in different parts of the configuration or require different 
commands, but, it doesn't change the fact that you have a stateful firewall of 
one form or another.

Owen


Reply via email to