Projet

Général

Profil

BGP » Historique » Version 36

Laurent GUERBY, 20/09/2012 07:37

1 20 Laurent GUERBY
{{>toc}}
2 20 Laurent GUERBY
3 1 Laurent GUERBY
h1. BGP
4 1 Laurent GUERBY
5 1 Laurent GUERBY
Nous utilisons BIRD sous Linux comme routeur BGP
6 1 Laurent GUERBY
7 1 Laurent GUERBY
http://bird.network.cz/
8 1 Laurent GUERBY
9 14 Laurent GUERBY
blog bgp http://www.renesys.com/blog/
10 15 Laurent GUERBY
flowspec http://www.slideshare.net/sfouant/an-introduction-to-bgp-flow-spec
11 16 Laurent GUERBY
DFZ = Default Free Zone archive http://archive.routeviews.org/
12 17 Laurent GUERBY
http://www.ripe.net/data-tools/stats/ris/routing-information-service
13 17 Laurent GUERBY
http://pch.net/resources/data/routing-tables/archive/
14 17 Laurent GUERBY
http://pch.net/resources/data/routing-tables/mrt-bgp-updates/
15 18 Laurent GUERBY
http://www.nanog.org/meetings/archive/
16 14 Laurent GUERBY
17 29 Laurent GUERBY
http://www.ipbcop.org/
18 29 Laurent GUERBY
IP Best Current Operational Practices Documented best practices for Engineers by Engineers
19 29 Laurent GUERBY
20 30 Laurent GUERBY
BGP best practices ANSSI
21 30 Laurent GUERBY
https://www.sstic.org/media/SSTIC2012/SSTIC-actes/influence_des_bonnes_pratiques_sur_les_incidents_b/SSTIC2012-Article-influence_des_bonnes_pratiques_sur_les_incidents_bgp-contat_valadon_nataf_2.pdf
22 30 Laurent GUERBY
23 3 Laurent GUERBY
h1. Evolutions de la conf BGP
24 3 Laurent GUERBY
25 3 Laurent GUERBY
* http://lists.tetaneutral.net/pipermail/technique/2011-December/000118.html
26 3 Laurent GUERBY
27 5 Laurent GUERBY
TODO: 
28 6 Laurent GUERBY
* mise en place d'un gestionaire de version style git au moins pour documentation
29 5 Laurent GUERBY
* Comment gerer les password MD5 du fichier de conf (les garder secrets tout en publiant le reste)
30 5 Laurent GUERBY
* Atelier ?
31 7 Laurent GUERBY
** Laurent GUERBY
32 9 Raphaël Durand
** Solarus
33 10 Raphaël Durand
** Ajouter son nom...
34 4 Laurent GUERBY
35 13 Laurent GUERBY
Alternative a MP BGP
36 13 Laurent GUERBY
http://tools.ietf.org/html/draft-ietf-idr-bgp-multisession-06
37 13 Laurent GUERBY
38 31 Laurent GUERBY
Add Path
39 31 Laurent GUERBY
http://tools.ietf.org/html/draft-ietf-idr-add-paths-07
40 31 Laurent GUERBY
support in bird ? http://marc.info/?l=bird-users&m=134409996129466&w=2
41 31 Laurent GUERBY
42 2 Laurent GUERBY
h1. Liens
43 2 Laurent GUERBY
44 2 Laurent GUERBY
* http://www.cl.cam.ac.uk/~tgg22/talks/BGP_TUTORIAL_ICNP_2002.ppt
45 11 Laurent GUERBY
* http://www.menog.net/menog-meetings/menog5/presentations/smith-32bit-asn-update.pdf
46 12 Laurent GUERBY
* AS4 http://www.rfc-editor.org/rfc/rfc4893.txt
47 19 Laurent GUERBY
* bonnes pratiques incidents BGP
48 19 Laurent GUERBY
** https://www.sstic.org/media/SSTIC2012/SSTIC-actes/influence_des_bonnes_pratiques_sur_les_incidents_b/SSTIC2012-Slides-influence_des_bonnes_pratiques_sur_les_incidents_bgp-contat_valadon_nataf.pdf
49 35 Laurent GUERBY
* test ping plus UDP http://www.broadband-forum.org/technical/download/TR-143.pdf
50 2 Laurent GUERBY
51 1 Laurent GUERBY
h1. Configuration Toulouse
52 1 Laurent GUERBY
53 1 Laurent GUERBY
<pre>
54 1 Laurent GUERBY
router id 91.224.148.2;
55 1 Laurent GUERBY
define myas = 197422;
56 1 Laurent GUERBY
57 1 Laurent GUERBY
58 1 Laurent GUERBY
protocol device {
59 1 Laurent GUERBY
	scan time 10;
60 1 Laurent GUERBY
        primary "eth0" 91.224.148.3;
61 1 Laurent GUERBY
}
62 1 Laurent GUERBY
63 1 Laurent GUERBY
protocol static static_bgp {
64 1 Laurent GUERBY
	import all;
65 1 Laurent GUERBY
	route 91.224.148.0/23 reject;
66 1 Laurent GUERBY
}
67 1 Laurent GUERBY
68 1 Laurent GUERBY
69 1 Laurent GUERBY
protocol kernel{
70 1 Laurent GUERBY
	import all;
71 1 Laurent GUERBY
	export all;
72 1 Laurent GUERBY
}
73 1 Laurent GUERBY
74 1 Laurent GUERBY
75 1 Laurent GUERBY
function avoid_martians()
76 1 Laurent GUERBY
prefix set martians;
77 1 Laurent GUERBY
{
78 1 Laurent GUERBY
  martians = [ 169.254.0.0/16+, 172.16.0.0/12+, 192.168.0.0/16+, 10.0.0.0/8+, 224.0.0.0/4+, 240.0.0.0/4+ ];
79 1 Laurent GUERBY
80 1 Laurent GUERBY
  # Avoid 0.0.0.0/X
81 1 Laurent GUERBY
  if net.ip = 0.0.0.0 then return false;
82 1 Laurent GUERBY
83 1 Laurent GUERBY
  # Avoid too short and too long prefixes
84 1 Laurent GUERBY
  if (net.len < 8) || (net.len > 24) then return false;
85 1 Laurent GUERBY
86 1 Laurent GUERBY
  # Avoid RFC1918 networks
87 1 Laurent GUERBY
  if net ~ martians then return false;
88 1 Laurent GUERBY
  return true;
89 1 Laurent GUERBY
}
90 1 Laurent GUERBY
91 1 Laurent GUERBY
filter bgp_OUT {
92 1 Laurent GUERBY
	if (net ~ [91.224.148.0/23]) then accept;
93 1 Laurent GUERBY
	else reject;
94 1 Laurent GUERBY
}
95 1 Laurent GUERBY
96 1 Laurent GUERBY
97 1 Laurent GUERBY
protocol bgp TOUIX {
98 1 Laurent GUERBY
        local as myas;
99 1 Laurent GUERBY
        neighbor 91.213.236.1 as 47184;
100 1 Laurent GUERBY
        preference 200;
101 1 Laurent GUERBY
        import where avoid_martians();
102 1 Laurent GUERBY
        export filter bgp_OUT;
103 1 Laurent GUERBY
}
104 1 Laurent GUERBY
105 1 Laurent GUERBY
protocol bgp JAGUAR {
106 1 Laurent GUERBY
	 local as myas;
107 1 Laurent GUERBY
	 neighbor 31.172.233.1 as 30781;
108 1 Laurent GUERBY
	 preference 50;
109 1 Laurent GUERBY
         import where avoid_martians();
110 1 Laurent GUERBY
         export filter bgp_OUT;
111 1 Laurent GUERBY
}
112 1 Laurent GUERBY
113 1 Laurent GUERBY
protocol bgp TETANEUTRAL {
114 1 Laurent GUERBY
	local as myas;
115 1 Laurent GUERBY
	neighbor 91.224.148.2 as myas;
116 1 Laurent GUERBY
	preference 100;
117 1 Laurent GUERBY
	import where avoid_martians();
118 1 Laurent GUERBY
	export all;
119 1 Laurent GUERBY
}
120 1 Laurent GUERBY
</pre>
121 20 Laurent GUERBY
122 33 Laurent GUERBY
h1. IRR
123 33 Laurent GUERBY
124 33 Laurent GUERBY
* From nanog:
125 33 Laurent GUERBY
http://www.clarksys.com/blog/2009/09/02/using-irr-with-level3/
126 33 Laurent GUERBY
whois -h filtergen.level3.net "RIPE::YOUR-AS-SET  -searchpath=RIPE;ARIN;RADB -recurseok -warnonly"
127 33 Laurent GUERBY
128 20 Laurent GUERBY
h1. Blackholing
129 20 Laurent GUERBY
130 24 Laurent GUERBY
h2. Attaques
131 24 Laurent GUERBY
132 24 Laurent GUERBY
* 20120629 http://lists.tetaneutral.net/pipermail/technique/2012-July/000406.html
133 36 Laurent GUERBY
* http://blog.cloudflare.com/65gbps-ddos-no-problem
134 24 Laurent GUERBY
135 34 Laurent GUERBY
h2. URPF
136 34 Laurent GUERBY
137 34 Laurent GUERBY
blacklister une/plusieures sources est relativement complexe à mettre en place sur une petite infrastructure car nécessite la mise en place de l'URPF (Unicast Reverse Path Forwarding).
138 34 Laurent GUERBY
139 34 Laurent GUERBY
http://www.cisco.com/web/about/security/intelligence/ipv6_rtbh.html
140 34 Laurent GUERBY
141 20 Laurent GUERBY
h2. RFC3882 
142 1 Laurent GUERBY
143 22 Laurent GUERBY
* http://www.ietf.org/rfc/rfc3882.txt
144 1 Laurent GUERBY
community AS:666 sur annonce /32 pour balckhole par AS upstream
145 1 Laurent GUERBY
146 22 Laurent GUERBY
* doc CISCO
147 22 Laurent GUERBY
http://www.cisco.com/web/about/security/intelligence/blackhole.pdf
148 22 Laurent GUERBY
149 28 Laurent GUERBY
h2. RFC1997
150 28 Laurent GUERBY
151 28 Laurent GUERBY
* http://www.ietf.org/rfc/rfc1997.txt
152 28 Laurent GUERBY
BGP Communities Attribute
153 28 Laurent GUERBY
154 28 Laurent GUERBY
* doc CISCO
155 28 Laurent GUERBY
http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_6-2/bgp_communities.html
156 28 Laurent GUERBY
157 22 Laurent GUERBY
h2. BIRD
158 22 Laurent GUERBY
159 22 Laurent GUERBY
* http://www.mail-archive.com/bird-users@atrey.karlin.mff.cuni.cz/msg01998.html
160 22 Laurent GUERBY
161 24 Laurent GUERBY
h2. Absolight
162 24 Laurent GUERBY
163 24 Laurent GUERBY
* communauté 29608:65001 sur /24..32 IPv4 et /41..128 IPv6 => blackhole
164 24 Laurent GUERBY
* test 20120703 IPv4 et IPv6, ça marche et convergence très rapide
165 24 Laurent GUERBY
166 22 Laurent GUERBY
h2. GIXE
167 22 Laurent GUERBY
168 1 Laurent GUERBY
* communauté 31576:666 sur /32 => blackhole
169 24 Laurent GUERBY
* test 20120703 => marche pas encore, signalé et dev a faire coté GIXE pour autoriser les /32
170 1 Laurent GUERBY
171 1 Laurent GUERBY
h2. Jaguar 
172 22 Laurent GUERBY
173 24 Laurent GUERBY
* https://extranet.jaguar-network.com/app/public/index.php?cmd=bgp-policy
174 22 Laurent GUERBY
* demande 20120702 : pas de communauté blackhole actuellement, en reflexion
175 22 Laurent GUERBY
* déploiement de matériel arbor networks, reglage a affiner (pas de detection d'attaque)
176 22 Laurent GUERBY
177 27 Laurent GUERBY
h2. Gitoyen
178 27 Laurent GUERBY
179 1 Laurent GUERBY
* demande 20120704 sur la liste, réponse 20120717
180 28 Laurent GUERBY
* Tata http://noc.easycolocate.nl/Teleglobe_bgp_comm.pdf
181 27 Laurent GUERBY
*** => black-hole route (host route or shorter prefix within customer’s RIR registred assignment) 64999:0
182 28 Laurent GUERBY
* Ielo  whois AS29075 => 29075:0 Null-route/Blackhole
183 32 Laurent GUERBY
* https://pad.ilico.org/p/cleanup-bgp-gitoyen
184 22 Laurent GUERBY
185 22 Laurent GUERBY
h2. France-IX
186 22 Laurent GUERBY
187 25 Laurent GUERBY
* community plan : https://apps.db.ripe.net/whois/lookup/ripe/aut-num/AS51706.html
188 26 Laurent GUERBY
* TODO tester
189 22 Laurent GUERBY
190 22 Laurent GUERBY
h2. Equinix-IX
191 1 Laurent GUERBY
192 26 Laurent GUERBY
* community plan : https://ix.equinix.com/ixp/mlpeCommunityInfo
193 26 Laurent GUERBY
* TODO tester
194 22 Laurent GUERBY
195 1 Laurent GUERBY
h2. TouIX
196 22 Laurent GUERBY
197 26 Laurent GUERBY
* demande acces switch et route server 20120702
198 22 Laurent GUERBY
* TODO
199 1 Laurent GUERBY
200 1 Laurent GUERBY
h2. Hurricane Electric
201 1 Laurent GUERBY
202 26 Laurent GUERBY
* http://www.he.net/adm/
203 1 Laurent GUERBY
* http://www.he.net/adm/blackhole.html
204 1 Laurent GUERBY
* TODO tester
205 28 Laurent GUERBY
206 28 Laurent GUERBY
h2. Sfinx
207 28 Laurent GUERBY
208 28 Laurent GUERBY
* http://www.renater.fr/route-servers-bgp?lang=fr
209 28 Laurent GUERBY
* whois  AS1304 =>
210 28 Laurent GUERBY
remarks:        1304:65281 = Apply NO-EXPORT community
211 28 Laurent GUERBY
remarks:        1304:65282 = Apply NO-ADVERTISE community