Firewall – Windows Advanced Firewall: What does “Edge Traversal” mean

firewallvpnwindows-firewallwindows-server-2008

this should be a really simple one:

In Advanced Windows Firewall on Windows Server 2008+, Properties > Advanced, what does "Edge Traversal" mean?

I Googled it, of course, and was unable to come up with a concrete answer, and I was especially shocked to see the following on Thomas Schinder's blog:

The Edge traversal option is an
interesting one, because it’s not
documented very well. Here’s what the
Help file says:

“Edge traversal This indicates whether
edge traversal is enabled (Yes) or
disabled (No). When edge traversal is
enabled, the application, service, or
port to which the rule applies is
globally addressable and accessible
from outside a network address
translation (NAT) or edge device.”

What do you think this might mean? We
can make services available across a
NAT device by using port forwarding on
the NAT device in front of the server.
Could this have something to do with
IPsec? Could it have something to do
with NAT-T? Could it be that the Help
file writer for this feature didn’t
know either, and made something up
that represented a tautology?

I don’t know what this does, but if I
find out, I’ll make sure to include
this information in my blog.

I appreciate his honesty, but if this guy doesn't know, who does?!

We're having difficulty connecting to a VPN as soon the machine is on the other side of a router, and I was wondering if this might help? So I'm pretty keen to hear a proper description of what "Edge Traversal" does!

Best Answer

It looks like this Microsoft patent filing from earlier this year might tell you what you want to know.

From what I can gather, this flag allows firewall rules to apply to traffic that has been encapsulated by, for example, an IPv6 to IPv4 tunnel originating outside the border of the network. As patents often are, this one is written in such a generic manner as to apply to any different type of tunneling protocol, from what I can tell.

The payload of this encapsulated traffic would be opaque to the any firewall at the network on the other end of the tunnel. Presumably, these encapsulated packets would be passed through unfiltered to the internal host where the other end of the tunnel terminated. That host would receive the traffic, pass it through its own firewall, decapsulate the traffic (if allowed by its own firewall), and pass the decapsulated packets back its firewall. When the packet travels thru the firewall the second time (after decapsulation), it has an "this packet traversed the network edge" bit set such that only rules with the "edge traversal" bit also set will apply to the packet.

Figure 4 of that patent application appears to describe the process graphically, and the "Detailed Descriptions" section beginning on page 7 describes the process in painfully specific detail.

This basically permits a host-based firewall to have different rules for traffic that came in via a tunnel thru the local network's firewall, as opposed to traffic that was just sent unencapsulated by a tunnel directly through the local network's firewall.

I wonder if the iptables "mark" functionality would be prior art to this patent? It certainly seems like it does a very similiar thing, albeit in an even more generic fashion (since you can write user-land code to "mark" packets for virtually any reason if you want to ).