On 2010-04-04, Eugene Yunak <e.yu...@gmail.com> wrote:
> On 4 April 2010 18:56, Pete Vickers <p...@systemnet.no> wrote:
>> On 31. mars 2010, at 20.01, Claudio Jeker wrote:
>>
>>> On Wed, Mar 31, 2010 at 08:08:01PM +0300, Eugene Yunak wrote:
>>>> On 31 March 2010 19:27, N. Arley Dealey <arley.dea...@gmail.com> wrote:
>>>>> It would appear to me that antispoof and URPF achieve similar results. Is
>>>>> there a reason to prefer one over the other?
>>>>
>>>> Not at all. antispoof blocks ip packets that came in from the wrong
>>>> interface, while URPF blocks packets from "aliens" (no entry in
>>>> routing table for the source address). Just look at the output of
>>>> pfctl -sr
>>>>
>>>
>>> Not at all. URPF does not only check if a route exists it also checks that
>>> the route is pointing to the interface the packet came in.
>>>
>>> Antispoof is only for the LAN while URPF is actually capable of tracking
>>> stuff further down. This is at the same time the problem of URPF if you
>>> have asymetric routing URPF fails. Antispoof works in this case since it
>>> is hard to get asymetric routing on the LAN.
>>>
>>> --
>>> :wq Claudio
>>>
>>
>>
>> uRPF (at least recent incarnations of it) can be /configured/ to drop packets
>> based of presence of /either/ :
>>
>> - a matching FIB prefix outbound on the same interface the packet arrived on
>> (strict mode)
>> - a matching FIB prefix outbound on any interface (loose mode)
>>
>> you can also mask uRPF effect to only a subset of packets/prefixes with an
>> ACL.
>>
>>
>> pretty extensive explanation here:
>>
>> http://www.cisco.com/web/about/security/intelligence/urpf.pdf
>>
>
> Do you realise that this is an OpenBSD mailing list, and we are
> discussing OpenBSD's pf implementation of uRPF?

It's still relevant.

PF has the things Pete specifically mentioned:

- loose mode: use 'no-route' for this
- ACLs, well you just restrict the rule operation:

block in urpf-failed
pass in from 1/8

But we don't have a few things discussed in the document which
might be useful:

- option to use an alternative table in the urpf/no-route lookup

- drop incoming packets where the route lookup yields a blackhole/reject
route (the 'If the adjacency of a route equals Null0...' enhancement).
this is really nice, it lets you inject a route tagged with some community,
have an associated 'match...set nexthop blackhole' in bgpd.conf, then you
would be able to drop traffic *sourced* from that address at all your
borders, without some special way to sync PF tables around.

Reply via email to