draft-ietf-opsec-blackhole-urpf-02.txt   draft-ietf-opsec-blackhole-urpf-03.txt 
Opsec Working Group W. Kumari Opsec Working Group W. Kumari
Internet Draft Google Internet Draft Google
<draft-ietf-opsec-blackhole-urpf-02> D. McPherson <draft-ietf-opsec-blackhole-urpf-03> D. McPherson
Category: Informational Arbor Networks Category: Informational Arbor Networks
Expires: September 7, 2009 Expires: September 30, 2009
March 7, 2009 March 30, 2009
Remote Triggered Black Hole filtering with uRPF Remote Triggered Black Hole filtering with uRPF
<draft-ietf-opsec-blackhole-urpf-02.txt> <draft-ietf-opsec-blackhole-urpf-03.txt>
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 3, line 7 skipping to change at page 3, line 7
Abstract Abstract
Remote Triggered Black Hole (RTBH) filtering is a popular and Remote Triggered Black Hole (RTBH) filtering is a popular and
effective technique for the mitigation of denial-of-service attacks. effective technique for the mitigation of denial-of-service attacks.
This document expands upon destination-based RTBH filtering by This document expands upon destination-based RTBH filtering by
outlining a method to enable filtering by source address as well. outlining a method to enable filtering by source address as well.
Table of Contents Table of Contents
1. Introduction ....................................................2 1. Introduction ....................................................3
2. Background ......................................................2 2. Terminology .....................................................3
3. Destination address RTBH filtering ..............................3 3. Background ......................................................3
3.1. Overview ...................................................3 4. Destination address RTBH filtering ..............................4
3.2. Detail .....................................................3 4.1. Overview ...................................................4
4. Source address RTBH filtering ...................................4 4.2. Detail .....................................................5
5. Security Considerations .........................................6 5. Source address RTBH filtering ...................................7
6. IANA Considerations .............................................6 5.1. Steps to deploy RTBH filtering with uRPF ...................8
7. Acknowledgments .................................................7 6. Security Considerations .........................................9
8. References ......................................................7 7. IANA Considerations .............................................9
A. Cisco Router Configuration Sample................................8 8. Acknowledgments .................................................9
B. Juniper Configuration Sample....................................10 9. References ......................................................9
C. A brief history of RTBH.........................................12 9.1. Normative References .......................................9
9.2. Informative References ....................................10
A. Cisco Router Configuration Sample...............................11
B. Juniper Configuration Sample....................................13
C. A Brief History of RTBH.........................................15
1. Introduction 1. Introduction
This document expands upon the technique outlined in "Configuring BGP This document expands upon the technique outlined in "Configuring BGP
to Block Denial-of-Service Attacks" [RFC3882] to demonstrate a method to Block Denial-of-Service Attacks" [RFC3882] to demonstrate a method
that allows for filtering by source address(es). that allows for filtering by source address(es).
1.2 Terminology 2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119. [RFC2119]. document are to be interpreted as described in RFC 2119. [RFC2119].
2. Background 3. Background
Network operators have developed a variety of techniques for Network operators have developed a variety of techniques for
mitigating denial of service attacks. While different techniques have mitigating denial of service attacks. While different techniques have
varying strengths and weaknesses, from an implementation perspective varying strengths and weaknesses, from an implementation perspective
the selection of which method to use for each type of attack involves the selection of which method to use for each type of attack involves
evaluating the tradeoffs associated with each method. evaluating the tradeoffs associated with each method.
A common DoS attack directed against a customer of a service provider A common DoS attack directed against a customer of a service provider
involves generating a greater volume of attack traffic destined for involves generating a greater volume of attack traffic destined for
the target than will fit down the links from the service provider(s) the target than will fit down the links from the service provider(s)
to the victim (customer). This traffic "starves out" legitimate to the victim (customer). This traffic "starves out" legitimate
traffic and often results in collateral damage or negative effects to traffic and often results in collateral damage or negative effects to
other customers or the network infrastructure as well. Rather than other customers or the network infrastructure as well. Rather than
having all destinations on their network be affected the attack, the having all destinations on their network be affected by the attack,
customer may ask their service provider to filter traffic destined to the customer may ask their service provider to filter traffic
the target destination IP address(es), or the service provider may destined to the target destination IP address(es), or the service
determine that this is necessary themselves, in order to preserve provider may determine that this is necessary themselves, in order to
network availability. preserve network availability.
One method that the service provider can use to implement this One method that the service provider can use to implement this
filtering is to deploy access control lists on the edge of their filtering is to deploy access control lists on the edge of their
network. While this technique provides a large amount of flexibility network. While this technique provides a large amount of flexibility
in the filtering, it runs into scalability issues, both in terms of in the filtering, it runs into scalability issues, both in terms of
the number of entries in the filter and the packet rate. the number of entries in the filter and the packet rate.
Most routers are able to forward traffic at a much higher rate than Most routers are able to forward traffic at a much higher rate than
they are able to filter, and are able to hold many more forwarding they are able to filter, and are able to hold many more forwarding
table entries and routes than filter entries. RTBH leverages the table entries and routes than filter entries. RTBH filtering
forwarding performance of modern routers to filter both more entries leverages the forwarding performance of modern routers to filter both
and at a higher rate than access control lists would otherwise allow. more entries and at a higher rate than access control lists would
otherwise allow.
However, with destination-based RTBH filtering, the impact of the However, with destination-based RTBH filtering, the impact of the
attack on the target is complete. That is, destination-based RTBH attack on the target is complete. That is, destination-based RTBH
filtering injects a discard route into the forwarding table for the filtering injects a discard route into the forwarding table for the
target prefix. All packets towards that destination, attack traffic target prefix. All packets towards that destination, attack traffic
AND legitimate traffic, are then dropped by the participating AND legitimate traffic, are then dropped by the participating
routers,thereby taking the target completely offline. The benefit is routers,thereby taking the target completely offline. The benefit is
that collateral damage to other systems or network availability at that collateral damage to other systems or network availability at
the customer location or in the ISP network is limited, but negative the customer location or in the ISP network is limited, but the
impact to the target itself is arguably increased. negative impact to the target itself is arguably increased.
By coupling unicast reverse path forwarding (RPF) [RFC3704] By coupling unicast reverse path forwarding (RPF) [RFC3704]
techniques with RTBH, BGP can be used to distribute discard routes techniques with RTBH filtering, BGP can be used to distribute discard
that are based not on destination or target addresses, but based on routes that are based not on destination or target addresses, but
source addresses of unwanted traffic. based on source addresses of unwanted traffic.
3. Destination address RTBH filtering 4. Destination address RTBH filtering
3.1. Overview 4.1. Overview
A "discard" route is installed on each edge router in the network A "discard" route is installed on each edge router in the network
with the destination set to be the discard (or null) interface. In with the destination set to the discard (or null) interface. In order
order to use RTBH filtering for a single IP address (or prefix) a BGP to use RTBH filtering for a single IP address (or prefix), a BGP
route for the address to be filtered is announced, with the next-hop route for the address to be filtered is announced, with the next-hop
set as the "discard" route. This causes traffic to the announced set as the "discard" route. This causes traffic to the announced
network prefix to be forwarded to the discard interface so that it network prefix to be forwarded to the discard interface so that it
does not transit the network wasting resources or triggering does not transit the network wasting resources or triggering
collateral damage to other resources along the path towards the collateral damage to other resources along the path towards the
target. target.
While this does "complete" the attack in that the target address(es) While this does "complete" the attack in that the target address(es)
are made unreachable, collateral damage in minimized. It may also be are made unreachable, collateral damage is minimized. It may also be
possible to move the host or service on the target IP address(es) to possible to move the host or service on the target IP address(es) to
another address and keep the service up, for example by updating another address and keep the service up, for example by updating
associated DNS resource records. associated DNS resource records.
3.2. Detail 4.2. Detail
Steps to configure destination based RTBH filtering: Steps to configure destination based RTBH filtering:
1. Select your Discard Address schema. An address is chosen to become 1. Select your Discard Address schema. An address is chosen to become
the "discard address". This is often chosen from 192.0.2.0/24 (TEST- the "discard address". This is often chosen from 192.0.2.0/24 (TEST-
NET [RFC3330]), or from RFC 1918 [RFC1918] space. Test-Net is popular NET [RFC3330]), or from RFC 1918 [RFC1918] space. Multiple addresses
as a network which an operator will know never show up operationally allow an operator to configure multiple static routes, one for each
on the network. It also allows an operator to configure multiple incident:
static routes, one for each incident:
192.0.2.1 = Incident #1 192.0.2.1 = Incident #1
192.0.2.2 = Incident #2 192.0.2.2 = Incident #2
192.0.2.3 = Incident #3 192.0.2.3 = Incident #3
192.0.2.4 = Incident #4 192.0.2.4 = Incident #4
192.0.2.5 = Incident #5 192.0.2.5 = Incident #5
Customer #1 who has a DDOS attack can be pointed to discard route Customer #1 who has a DDoS attack can be pointed to discard route
192.0.2.1. Customer #2 can be pointed to discard route 192.0.2.2. If 192.0.2.1. Customer #2 can be pointed to discard route 192.0.2.2. If
capable, the router can then count the drops for each, providing some capable, the router can then count the drops for each, providing some
level of telemetry on the volume of drops as well status of an level of telemetry on the volume of drops as well as status of an
ongoing attack. A consistent address schema facilitate operations. ongoing attack. A consistent address schema facilitates operations.
2. Set the Discard Route(s) on each router. A route for the "discard 2. Set the Discard Route(s) on each router. A route for the "discard
address" is installed on the routers that form the edge/perimeter of address" is installed on the routers that form the edge/perimeter of
the network, in all routers in the network, or some subset (e.g., the network, in all routers in the network, or some subset (e.g.,
peering, but not customer, etc.). The destination of the route is set peering, but not customer, etc.). The destination of the route is set
to the "discard" or "null" interface. This route is called the to the "discard" or "null" interface. This route is called the
"discard route". Implementation experience demonstrates the value of "discard route". Implementation experience demonstrates the value of
configuring each ingress router with a capability for dropping configuring each ingress router with a capability for dropping
traffic via RTBH. traffic via RTBH filtering.
3. Configure the RTBH BGP Policy on each router. A BGP policy is 3. Configure the RTBH BGP Policy on each router. A BGP policy is
configured on all routers that have the discard route so that routes configured on all routers that have the discard route so that routes
announced with a chosen community will have their next hop set to the announced with a chosen community will have their next hop set to the
discard address. The BGP policy should be made restrictive so that discard address. The BGP policy should be made restrictive so that
only BGP routes covering a defined number of hosts addresses will be only BGP routes covering a defined number of hosts addresses will be
accepted. That is, typically, only specific /32s are necessary. accepted. That is, typically, only specific /32s are necessary.
Shorter prefix blocks may also be required or desirable, for example Shorter prefix blocks may also be required or desirable, for example
if larger numbers of attack targets are located within a single if larger numbers of attack targets are located within a single
prefix, or the employment of this mechanism is to drop traffic bound prefix, or the employment of this mechanism is to drop traffic bound
skipping to change at page 6, line 6 skipping to change at page 6, line 11
extreme caution should be used as to avoid collateral damage to other extreme caution should be used as to avoid collateral damage to other
hosts that reside within those address blocks. Full implementations hosts that reside within those address blocks. Full implementations
will have multiple communities, with each community used for will have multiple communities, with each community used for
different parts of a provider's network and for different security different parts of a provider's network and for different security
incidents. incidents.
4. Configure the Safety Egress Prefix Filters (Murphy Prefix 4. Configure the Safety Egress Prefix Filters (Murphy Prefix
Filters). There is always a chance that the triggering BGP Update Filters). There is always a chance that the triggering BGP Update
could leak from the network. This has happened [ Youtube/Pakistan could leak from the network. This has happened [ Youtube/Pakistan
incident ]. Egress prefix filters are recommended. These egress incident ]. Egress prefix filters are recommended. These egress
prefix filter be many things, but experience has demonstrated that prefix filter details may varying, but experience has demonstrated
the following works: that the following works:
4.1 Deny all prefixes /30 through /32 from leaving your network. If 4.1 Deny all prefixes /30 through /32 from leaving your network. If
your triggering BGP update is only /32s, then this egress prefix your triggering BGP update is only /32s, then this egress prefix
filter will add a safe measure in case the "no-export" community does filter will add a safe measure in case the NO_EXPORT community does
not work. not work.
4.2 Deny all communities used for triggering RTBH. This is also a 4.2 Deny all communities used for triggering RTBH filtering. This is
"safety" measure in case the "no-export" community does not work. also a "safety" measure in case the NO_EXPORT community does not
work.
5: Configure the Trigger Router. Set the trigger router, workstation, 5: Configure the Trigger Router. Set the trigger router, workstation,
or other device so that adding and removing the triggers can be easy or other device so that adding and removing the triggers can be done
and quickly added and removed. The BGP Update should have the no- easily and quickly. The BGP Update should have the NO_EXPORT
export community as a mandatory attribute. A egress prefix filter or community as a mandatory attribute. An egress prefix filter or policy
policy which prevent RTBHing prefixes in the /8 to /24 ranges is also which prevents RTBHing prefixes in the /8 to /24 range is also
recommended as a safety tool. The trigger router can be set up as a recommended as a safety tool. The trigger router can be set up as a
iBGP route reflector client which does not receive any prefixes from iBGP route reflector client which does not receive any prefixes from
its BGP peer. This allows a low cost router/workstation to be used as its BGP peer. This allows a low cost router/workstation to be used
the trigger router. as the trigger router.
6. When RTBH filtering is desired for a specific address, that 6. When RTBH filtering is desired for a specific address, that
address is announced from a trigger router (or route server), tagged address is announced from a trigger router (or route server), tagged
with the chosen "RTBH" community and with the community "no-export," with the chosen "RTBH" community and with the NO_EXPORT community,
and passed via iBGP. The receiving routers check the BGP policy, set and passed via iBGP. The receiving routers check the BGP policy, set
the next-hop to be the discard route, restling in a fib entry pointed the next-hop to be the discard route, resulting in a FIB entry
to the discard interface. pointing to a discard address.
7. Traffic entering the network will now be forwarded to the discard 7. Traffic entering the network will now be forwarded to the discard
interface on all edge routers and will therefore be dropped at the interface on all edge routers and will therefore be dropped at the
edge of the network, saving resources. edge of the network, saving resources.
7.1 Multiple Discard Address for Incident Granularity. This technique 7.1 Multiple Discard Addresses for Incident Granularity. This
can be expanded by having multiple discard addresses, routes and technique can be expanded by having multiple discard addresses,
communities to allow for monitoring of the discarded traffic volume routes and communities to allow for monitoring of the discarded
on devices that support multiple discard interfaces. As mentioned traffic volume on devices that support multiple discard interfaces.
earlier, each router can have a discard address schema that allows As mentioned earlier, each router can have a discard address schema
for multiple incident - making it easier to monitor the life-cycle of to allow the operator to distinguish multiple incidents from each
the incident. other - making it easier to monitor the life-cycle of the incidents.
7.2 Multiple "Trigger Communities" for Network Wide Granularity. The 7.2 Multiple "Trigger Communities" for Network Wide Granularity. The
network can be sectioned into multiple communities, providing the network can be sectioned into multiple communities, providing the
operator with an ability to drop in discreete parts of their network. operator with an ability to drop in discreete parts of their network.
For example, the network can be divided into the following For example, the network can be divided into the following
communities: communities:
XXX:600 RTBH on all router XXX:600 RTBH filtering on all router
XXX:601 RTBH on only peering router XXX:601 RTBH filtering on only peering router
XXX:602 RTBH on only customers who peer BGP XXX:602 RTBH filtering on only customers who peer BGP
XXX:603 RTBH on Datacenters (to see if the data center is the XXX:603 RTBH filtering on Datacenters (to see if the data center
is the
source of attack) source of attack)
XXX:604 RTBH on all customers (to see how many customers are XXX:604 RTBH filtering on all customers (to see how many
BOTed) customers are
being used by the attacker)
Some diligent thinking is required to develop a community schema Some diligent thinking is required to develop a community schema
which provides flexibility while reflecting topological which provides flexibility while reflecting topological
considerations. considerations.
7.3 "Customer Triggered" RTBH. The technique can also be expanded by 7.3 "Customer Triggered" RTBH filtering. The technique can also be
relaxing the AS path rule to allow customers of a service provider to expanded by relaxing the AS path rule to allow customers of a service
enable RTBH filtering without interacting with the service provider's provider to enable RTBH filtering without interacting with the
trigger routers. If this is configured, an operator MUST only accept service provider's trigger routers. If this is configured, an
announcements for prefixes from the customer that the customer is operator MUST only accept announcements for prefixes from the
authorized to advertise, in order to prevent the customer from customer that the customer is authorized to advertise, in order to
accidentally (or intentionally) black-holing space that is not theirs prevent the customer from accidentally (or intentionally) black-
to advertise.. holing space that they are not allowed to advertise.
A common policy for this type of setup would first permit any more A common policy for this type of setup would first permit any more
specific of an authorized prefix only if the blackhole communities is specific of an authorized prefix only if the blackhole communities is
attached, append NO_EXPORT, NO_ADVERTISE, or similar communities, and attached, append NO_EXPORT, NO_ADVERTISE, or similar communities, and
then also accept from the customer the original aggregate prefix that then also accept from the customer the original aggregate prefix that
will be advertised as standard policy permits. will be advertised as standard policy permits.
Extreme caution should be used in order to avoid leaking any more Extreme caution should be used in order to avoid leaking any more
specifics beyond the local routing domain, unless policy explicitly specifics beyond the local routing domain, unless policy explicitly
aims at doing just that. aims at doing just that.
4. Source address RTBH filtering. 5. Source address RTBH filtering.
In many instances denial-of-service attacks sourced from are being In many instances denial-of-service attacks sourced from botnets are
configured to "follow DNS" (the attacking machines are instructed to being configured to "follow DNS" (the attacking machines are
attack www.example.com, and re-resolve this periodically. instructed to attack www.example.com, and re-resolve this
Historically the attacks were aimed simply at an IP address and so periodically. Historically the attacks were aimed simply at an IP
renumbering www.example.com to a new address was an effective address and so renumbering www.example.com to a new address was an
mitigation). This makes employing technique that allows black-holing effective mitigation). This makes employing technique that allows
to be based on source address desirable. black-holing to be based on source address desirable.
By combining traditional RTBH filtering with unicast Reverse Path By combining traditional RTBH filtering with unicast Reverse Path
Forwarding (uRPF) a network operator can filter based upon the source Forwarding (uRPF) a network operator can filter based upon the source
address. uRPF performs a route lookup of the source address of the address. uRPF performs a route lookup of the source address of the
packet and checks to see if the ingress interface of the packet is a packet and checks to see if the ingress interface of the packet is a
valid egress interface for the packet source address (strict mode) or valid egress interface for the packet source address (strict mode) or
if any route to the source address of the packet exists (loose mode). if any route to the source address of the packet exists (loose mode).
If the check fails, the packet is typically dropped. In loose mode If the check fails, the packet is typically dropped. In loose mode
some vendors also verify that the destination route does not point to some vendors also verify that the destination route does not point to
a discard interface - this allows source based RTBH filtering to be a discard interface - this allows source based RTBH filtering to be
deployed in networks that cannot implement strict (or feasible path) deployed in networks that cannot implement strict (or feasible path)
mode uRPF. mode uRPF.
By enabling the uRPF feature on interfaces at pre-determined points By enabling the uRPF feature on interfaces at pre-determined points
in their network and announcing the source address(es) of attack in their network and announcing the source address(es) of attack
traffic, a network operator can effectively drop the identified traffic, a network operator can effectively drop the identified
attack traffic at specified devices (ideally ingress edge) of their attack traffic at specified devices (ideally ingress edge) of their
network based on source address. network based on source address.
While administrators may choose to drop traffic from any prefix they While administrators may choose to drop traffic from any prefix they
wish, it is recommended when employing source-based RTBH inter-domain wish, it is recommended when employing source-based RTBH filtering
that explicit policy be defined that enables peers to only announce inter-domain that explicit policy be defined that enables peers to
source-based RTBH routes for prefixes which they originate. only announce source-based RTBH routes for prefixes which they
originate.
4.1 Steps to deploy RTBH with uRPF for source filtering. 5.1 Steps to deploy RTBH filtering with uRPF for source filtering.
The same steps that are required to implement destination address The same steps that are required to implement destination address
RTBH filtering are taken with the additional step of enabling unicast RTBH filtering are taken with the additional step of enabling unicast
reverse path forwarding on predetermined interfaces. When a source reverse path forwarding on predetermined interfaces. When a source
address (or network) needs to be blocked, that address (or network) address (or network) needs to be blocked, that address (or network)
is announced using BGP tagged with a community. This will cause the is announced using BGP tagged with a community. This will cause the
route to be installed with a next hop of the discard interface, route to be installed with a next hop of the discard interface,
causing the uRPF check to fail. The destination based RTBH filtering causing the uRPF check to fail. The destination based RTBH filtering
community should not be used for source based RTBH filtering, and the community should not be used for source based RTBH filtering, and the
routes tagged with the selected community should be carefully routes tagged with the selected community should be carefully
skipping to change at page 8, line 44 skipping to change at page 9, line 5
with this community to be accepted even though they contain addresses with this community to be accepted even though they contain addresses
not controlled by the network announcing them. These announcements not controlled by the network announcing them. These announcements
must NOT be propagated outside the local AS and should carry the must NOT be propagated outside the local AS and should carry the
NO_EXPORT community. NO_EXPORT community.
As a matter of policy, operators SHOULD NOT accept source-based RTBH As a matter of policy, operators SHOULD NOT accept source-based RTBH
announcements from their peers or customers, they should only be announcements from their peers or customers, they should only be
installed by local or attack management systems within their installed by local or attack management systems within their
administrative domain. administrative domain.
5. Security Considerations 6. Security Considerations
The techniques presented here provide enough power to cause The techniques presented here provide enough power to cause
significant traffic forwarding loss if incorrectly deployed. It is significant traffic forwarding loss if incorrectly deployed. It is
imperative that the announcements that trigger the black-holing are imperative that the announcements that trigger the black-holing are
carefully checked and that the BGP policy that accepts these carefully checked and that the BGP policy that accepts these
announcements is implemented in such a manner that the announcements: announcements is implemented in such a manner that the announcements:
- Are not propagated outside the AS (NO_EXPORT). - Are not propagated outside the AS (NO_EXPORT).
- Are not accepted from outside the AS (except from customers). - Are not accepted from outside the AS (except from customers).
- Except where source based filtering is deployed, that the network - Except where source based filtering is deployed, that the network
contained in the announcement falls within the address ranges contained in the announcement falls within the address ranges
controlled by the announcing AS (i.e.: for customers that the controlled by the announcing AS (i.e.: for customers that the
address falls within their space). address falls within their space).
6. IANA Considerations 7. IANA Considerations
No action required. No action required.
7. Acknowledgments 8. Acknowledgments
I would like to thank Joe Abley, Rodney Dunn, Alfred Hoenes, Donald I would like to thank Joe Abley, Rodney Dunn, Alfred Hoenes, Donald
Smith, Joel Jaeggli and Steve Williams for their assistance, feedback Smith, Joel Jaeggli and Steve Williams for their assistance, feedback
and not laughing *too* much at the quality of the initial drafts. and not laughing *too* much at the quality of the initial drafts.
I would also like to thank all of the regular contributors to the I would also like to thank all of the regular contributors to the
OpSec Working Group and Google for 20% time :-) OpSec Working Group and Google for 20% time :-)
The authors would also like to thank Steven L Johnson and Barry Greene The authors would also like to thank Steven L Johnson and Barry Greene
for getting this implemented and Chris Morrow for publicizing the for getting this implemented and Chris Morrow for publicizing the
technique in multiple talks. technique in multiple talks.
8. References 9. References
8.1. Normative References 9.1. Normative References
[RFC1918] Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot, G., [RFC1918] Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot, G.,
and E. Lear, "Address Allocation for Private Internets", and E. Lear, "Address Allocation for Private Internets",
BCP 5, RFC 1918, February 1996. BCP 5, RFC 1918, February 1996.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3330] IANA, "Special-Use IPv4 Addresses", RFC 3330, September [RFC3330] IANA, "Special-Use IPv4 Addresses", RFC 3330, September
2002. 2002.
[RFC3704] Baker, F. and P. Savola, "Ingress Filtering for Multihomed [RFC3704] Baker, F. and P. Savola, "Ingress Filtering for Multihomed
Networks", BCP 84, RFC 3704, March 2004. Networks", BCP 84, RFC 3704, March 2004.
[RFC3882] Turk, D., "Configuring BGP to Block Denial-of-Service [RFC3882] Turk, D., "Configuring BGP to Block Denial-of-Service
Attacks", RFC 3882, September 2004. Attacks", RFC 3882, September 2004.
8.2. Informative References 9.2. Informative References
[Greene2001] Greene Barry Raveendran and Jarvis Neil "Unicast Reverse [Greene2001] Greene Barry Raveendran and Jarvis Neil "Unicast Reverse
Path Forwarding (uRPF) Enhancements for the ISP-ISP Edge", Path Forwarding (uRPF) Enhancements for the ISP-ISP Edge",
[ftp://ftp- [ftp://ftp-
eng.cisco.com/cons/isp/documents/uRPF_Enhancement.pdf], eng.cisco.com/cons/isp/documents/uRPF_Enhancement.pdf],
2001. 2001.
Appendix A: Cisco Router Configuration Sample Appendix A: Cisco Router Configuration Sample
This section provides a partial configuration for configuring RTBH on This section provides a partial configuration for configuring RTBH
a Cisco router. This is not a complete configuration and should be filtering on a Cisco router. This is not a complete configuration and
customized before being used. should be customized before being used.
Announcing router: Announcing router:
! The discard route ! The discard route
ip route 192.0.2.1 255.255.255.255 Null0 ip route 192.0.2.1 255.255.255.255 Null0
! !
! Matches and empty AS-PATH only. ! Matches and empty AS-PATH only.
ip as-path access-list 10 permit ^$ ip as-path access-list 10 permit ^$
! !
! This route-map matches routes with tag 666 and sets the next-hop ! This route-map matches routes with tag 666 and sets the next-hop
! to be the discard route. ! to be the discard route.
skipping to change at page 12, line 12 skipping to change at page 12, line 12
match ip address prefix-list only-host-routes match ip address prefix-list only-host-routes
match as-path 10 match as-path 10
match community 65505:666 no-export match community 65505:666 no-export
! !
! Don't accept any other announcements with the RTBH community. ! Don't accept any other announcements with the RTBH community.
route-map black-hole-filter deny 20 route-map black-hole-filter deny 20
match community 65505:666 match community 65505:666
! !
route-map black-hole-filter permit 30 route-map black-hole-filter permit 30
! !
! An interface for source-based RTBH with uRPF loose mode. ! An interface for source-based RTBH filtering with uRPF loose mode.
interface FastEthernet 0/0 interface FastEthernet 0/0
ip verify unicast source reachable-via any ip verify unicast source reachable-via any
Appendix B: Juniper Configuration Sample Appendix B: Juniper Configuration Sample
This section provides a partial configuration for configuring RTBH on This section provides a partial configuration for configuring RTBH
a Juniper router. This is not a complete configuration and should be filtering on a Juniper router. This is not a complete configuration
customized for before being used. and should be customized before being used.
Announcing router: Announcing router:
routing-options { routing-options {
static { static {
/* EXAMPLE ATTACK SOURCE */ /* EXAMPLE ATTACK SOURCE */
route 10.11.12.66/32 { route 10.11.12.66/32 {
next-hop 192.0.2.1; next-hop 192.0.2.1;
resolve; resolve;
tag 666; tag 666;
skipping to change at page 16, line 5 skipping to change at page 16, line 5
unit 201 { unit 201 {
vlan-id 201; vlan-id 201;
family inet { family inet {
rpf-check; rpf-check;
address 10.11.12.1/24; address 10.11.12.1/24;
} }
} }
} }
} }
Appendix C: A Brief History of RTBH Appendix C: A Brief History of RTBH filtering
Understanding the history and motivation behind the development of a Understanding the history and motivation behind the development of a
technique often helps with understanding how to best utilize the technique often helps with understanding how to best utilize the
technique. In this spirit we present a history of Unicast RPF and technique. In this spirit we present a history of Unicast RPF and
RTBH. RTBH filtering.
This section provided by Barry Raveendran Greene: This section provided by Barry Raveendran Greene:
Unicast RPF Loose Check (uRPF Loose Check) was created by Neil Jarvis Unicast RPF Loose Check (uRPF Loose Check) was created by Neil Jarvis
and Barry Greene to be used with dRTBH as a rapid reaction tool to and Barry Greene to be used with dRTBH as a rapid reaction tool to
DDOS Attacks. The requirements for this rapid reaction tool was based DDoS Attacks. The requirements for this rapid reaction tool was based
on post mortem conversation after the Feb 2000 attacks on several big on post mortem conversation after the Feb 2000 attacks on several big
content hosting companies. The summary of the requirement became the content hosting companies. The summary of the requirement became the
"Exodus Requirement" which stated: "Exodus Requirement" which stated:
"We need a tool to drop packets based on source IP address that can "We need a tool to drop packets based on source IP address that can
be pushed out to over 60 routers within 60 seconds, be longer than a be pushed out to over 60 routers within 60 seconds, be longer than a
thousand lines, be modified on the fly, and work in all your thousand lines, be modified on the fly, and work in all your
platforms filtering at line rate." platforms filtering at line rate."
A variety of options were looked at to meet this requirement, from A variety of options were looked at to meet this requirement, from
reviving COPS, to pushing out ACLs with BGP, creating a new protocol. reviving COPS, to pushing out ACLs with BGP, creating a new protocol.
In 2000, the quickest way to meet the "Exodus requirement" was to In 2000, the quickest way to meet the "Exodus requirement" was to
marry two functions. First, modify Unicast RPF so that the interface marry two functions. First, modify Unicast RPF so that the interface
check was no longer required and to make sure that a "null" or check was no longer required and to make sure that a "null" or
discard route would drop the packet (i.e. loose check). Second, the discard route would drop the packet (i.e. loose check). Second, the
technique where BGP is used to trigger a distributed drop is dusted technique where BGP is used to trigger a distributed drop is dusted
off and documented. Combining these two techniques was deemed to off and documented. Combining these two techniques was deemed a fast
fast way to put a distributed capability to drop packets out into the way to put a distributed capability to drop packets out into the
industry. industry.
To clarify and restate, uRPF Loose Check was created as one part of a To clarify and restate, uRPF Loose Check was created as one part of a
rapid reaction tool to DDOS attacks that "drop packets based on rapid reaction tool to DDoS attacks that "drop packets based on
source IP address that can be pushed out to over 60 routers with in source IP address that can be pushed out to over 60 routers with in
60 seconds, be longer than a thousand lines, be modified on the fly, 60 seconds, be longer than a thousand lines, be modified on the fly,
and work in all your platforms filtering at line rate." The secondary and work in all your platforms filtering at line rate." The secondary
benefits of using uRPF Loose Check for other functions is a secondary benefits of using uRPF Loose Check for other functions is a secondary
benefit - not the primary goal for its creation. benefit - not the primary goal for its creation.
To facilitate the adoption to the industry, uRPF Loose Check was not To facilitate the adoption to the industry, uRPF Loose Check was not
patented. It was publicly published and disclosed in "Unicast Reverse patented. It was publicly published and disclosed in "Unicast Reverse
Path Forwarding (uRPF) Enhancements for the ISP-ISP Edge" Path Forwarding (uRPF) Enhancements for the ISP-ISP Edge"
[Greene2001]. [Greene2001].
 End of changes. 48 change blocks. 
112 lines changed or deleted 121 lines changed or added

This html diff was produced by rfcdiff 1.35. The latest version is available from http://tools.ietf.org/tools/rfcdiff/