-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathdraft-ietf-grow-blackholing.xml
322 lines (288 loc) · 13.7 KB
/
draft-ietf-grow-blackholing.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
<?xml version="1.0"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc comments="yes"?>
<?rfc compact="yes"?>
<?rfc inline="yes"?>
<?rfc sortrefs="yes"?>
<?rfc subcompact="yes"?>
<?rfc symrefs="yes"?>
<?rfc toc="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc tocompact="yes"?>
<rfc category="std" docName="draft-ietf-grow-blackholing-01">
<front>
<title>BLACKHOLE BGP Community for Blackholing</title>
<author fullname="Thomas King" initials="T." surname="King">
<organization>DE-CIX Management GmbH</organization>
<address>
<postal>
<street>Lichtstrasse 43i</street>
<city>Cologne</city>
<code>50825</code>
<country>Germany</country>
</postal>
<email>[email protected]</email>
</address>
</author>
<author fullname="Christoph Dietzel" initials="C." surname="Dietzel">
<organization>DE-CIX Management GmbH</organization>
<address>
<postal>
<street>Lichtstrasse 43i</street>
<city>Cologne</city>
<code>50825</code>
<country>Germany</country>
</postal>
<email>[email protected]</email>
</address>
</author>
<author fullname="Job Snijders" initials="J." surname="Snijders">
<organization abbrev="NTT">NTT Communications, Inc.</organization>
<address>
<postal>
<street>Theodorus Majofskistraat 100</street>
<code>1065 SZ</code>
<city>Amsterdam</city>
<country>NL</country>
</postal>
<email>[email protected]</email>
</address>
</author>
<author fullname="Gert Döring" initials="G." surname="Döring">
<organization>SpaceNet AG</organization>
<address>
<postal>
<street>Joseph-Dollinger-Bogen 14</street>
<city>Munich</city>
<code>80807</code>
<country>Germany</country>
</postal>
<email>[email protected]</email>
</address>
</author>
<author fullname="Greg Hankins" initials="G." surname="Hankins">
<organization>Nokia</organization>
<address>
<postal>
<street>777 E. Middlefield Road</street>
<city>Mountain View</city>
<region>CA</region>
<code>94043</code>
<country>USA</country>
</postal>
<email>[email protected]</email>
</address>
</author>
<date month="June" year="2016" />
<abstract>
<t>
This document describes the use of a well-known Border Gateway
Protocol (BGP) community for blackholing in IP networks. This
well-known advisory transitive BGP community, namely BLACKHOLE,
allows an origin AS to specify that a neighboring network
should blackhole a specific IP prefix.
</t>
</abstract>
<note title="Requirements Language">
<t>
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
"OPTIONAL" are to be interpreted as described in <xref target="RFC2119" />
only when they appear in all upper case. They may also appear
in lower or mixed case as English words, without normative
meaning.
</t>
</note>
</front>
<middle>
<section anchor="intro" title="Introduction">
<t>
Network infrastructures have been increasingly hampered by DDoS
attacks. In order to dampen the effects of these DDoS attacks,
IP networks have offered BGP blackholing to neighboring
networks via various mechanisms such as described in
<xref target=" RFC3882" /> and <xref target="RFC5635" />.
</t>
<t>
DDoS attacks targeting a certain IP address may cause
congestion of links used to connect to other networks. In order
to limit the impact of such a scenario on legitimate traffic,
networks adopted a mechanism called BGP blackholing. A network
that wants to trigger blackholing needs to understand the
triggering mechanism adopted by its neighboring networks.
Different networks provide different mechanisms to trigger
blackholing, including but not limited to pre-defined blackhole
next-hop IP addresses, specific BGP communities or via an
out-of-band BGP session with a special BGP speaker.
</t>
<t>
Having several different mechanisms to trigger blackholing in
different networks makes it an unnecessarily complex,
error-prone and cumbersome task for network operators.
Therefore a well-known <xref target="RFC1997">BGP
community</xref> is defined for operational ease.
</t>
<t>
Having such a well-known BGP community for blackholing also
supports networks because:
<list style='symbols'>
<t> implementing and monitoring blackholing becomes easier
when implementation and operational guides do not cover
many options that trigger blackholing.
</t>
<t> the number of support requests from customers about how
to trigger blackholing in a particular neighboring
network will be reduced as the codepoint for common
blackholing mechanisms is unified.
</t>
</list>
</t>
<t>
Making it considerably easier for network operators to utilize
blackholing makes operations easier.
</t>
</section>
<section anchor="attribute" title="BLACKHOLE Attribute">
<t>
This document defines the use of a new well-known BGP transitive community,
BLACKHOLE.
</t>
<t>
The semantics of this attribute allow a network to interpret
the presence of this community as an advisory qualification to drop
any traffic being sent towards this prefix.
</t>
</section>
<section anchor="recommendation" title="Operational Recommendations">
<section anchor="morespecific" title="IP Prefix Announcements with BLACKHOLE Community Attached">
<t>
When a network is under DDoS duress, it MAY announce an IP
prefix covering the victim's IP address(es) for the purpose
of signaling to neighboring networks that any traffic
destined for these IP address(es) should be discarded. In
such a scenario, the network operator SHOULD attach
BLACKHOLE BGP community.
</t>
</section>
<section anchor="scope" title="Local Scope of Blackholes">
<t>
A BGP speaker receiving a BGP announcement tagged with the
BLACKHOLE BGP community SHOULD add a NO_ADVERTISE,
NO_EXPORT or similar community to prevent propagation of
this route outside the local AS.
</t>
<t>
Unintentional leaking of more specific IP prefixes to
neighboring networks can have adverse effects. Extreme
caution should be used when purposefully propagating IP
prefixes tagged with the BLACKHOLE BGP community outside
the local routing domain.
</t>
</section>
<section anchor="small" title="Accepting Blackholed IP Prefixes">
<t>
It has been observed that announcements of IP prefixes
larger than /24 for IPv4 and /48 for IPv6 are usually not
accepted on the Internet (see <xref
target="RFC7454">section 6.1.3</xref>). However,
blackhole routes should be as small as possible in order to
limit the impact of discarding traffic for adjacent IP
space that is not under DDoS duress.
Typically, the blackhole route's prefix length is as
specific as /32 for IPv4 and /128 for IPv6.
</t>
<t>
BGP speakers SHOULD only accept and honor BGP announcements
carrying the BLACKHOLE community if the announced prefix is
covered by a shorter prefix for which the neighboring
network is authorized to advertise.
</t>
</section>
</section>
<section anchor="iana" title="IANA Considerations">
<t>
The IANA is requested to register BLACKHOLE as a well-known BGP community with global significance:
<list>
<t>
BLACKHOLE (= 0xFFFF029A)
</t>
</list>
</t>
<t>
The low-order two octets in decimal are 666, amongst network
operators a value commonly associated with BGP blackholing.
</t>
</section>
<section anchor="security" title="Security Considerations">
<t>
BGP contains no specific mechanism to prevent the unauthorized
modification of information by the forwarding agent. This
allows routing information to be modified, removed, or false
information to be added by forwarding agents. Recipients of
routing information are not able to detect this modification.
Also, <xref target="RFC6810">RPKI</xref> and
<xref target="I-D.ietf-sidr-bgpsec-overview">BGPSec</xref> do
not fully resolve this situation. For instance, BGP communities
can still be added or altered by a forwarding agent even if
RPKI and BGPSec are in place.
</t>
<t>
The BLACKHOLE BGP community does not alter this situation.
</t>
<t>
A new additional attack vector is introduced into BGP by using
the BLACKHOLE BGP community: denial of service attacks for IP
prefixes.<!--Elaborate on the possible danger of -->
</t>
<t>
The unauthorized addition of the BLACKHOLE BGP community to an
IP prefix by a forwarding agent may cause a denial of service
attack based on denial of reachability. The denial of service
will happen if a network offering blackholing is traversed.
However, denial of service attack vectors to BGP are not new as
the injection of false routing information is already possible.
</t>
<t>
In order to further limit the impact of unauthorized BGP
announcements carrying the BLACKHOLE BGP community, the
receiving BGP speaker SHOULD verify by applying strict
filtering (see <xref target="RFC7454">section 6.2.1.1.2.</xref>)
that the peer announcing the prefix is authorized to do so. If
not, the BGP announcement should be filtered out.
</t>
<t>
The presence of this BLACKHOLE BGP community may introduce a
resource exhaustion attack to BGP speakers. If a BGP speaker
receives many IP prefixes containing the BLACKHOLE BGP
community, its internal resources such as CPU power, memory or
FIB capacity might exhaust, especially if usual prefix sanity
checks (e.g. such as IP prefix length or number of prefixes)
are disabled (see <xref target="small" />).
</t>
</section>
</middle>
<back>
<references title="Normative References">
<?rfc include="reference.RFC.1997"?>
<?rfc include="reference.RFC.2119"?>
</references>
<references title="Informative References">
<?rfc include="reference.RFC.3882"?>
<?rfc include="reference.RFC.5635"?>
<?rfc include="reference.RFC.6810"?>
<?rfc include="reference.RFC.7454"?>
<?rfc include="reference.I-D.ietf-sidr-bgpsec-overview"?>
</references>
<section anchor="acknowledgements" title="Acknowledgements">
<t>
The authors would like to gratefully acknowledge many people
who have contributed discussions and ideas to the making of
this proposal. They include Petr Jiran,
Yordan Kritski, Christian Seitz, Nick Hilliard, Joel Jaeggli,
Christopher Morrow, Thomas Mangin, Will Hargrave and Niels
Bakker.
</t>
</section>
</back>
</rfc>