Projet

Général

Profil

BGP » Historique » Version 35

Laurent GUERBY, 10/09/2012 21:58

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 24 Laurent GUERBY
134 34 Laurent GUERBY
h2. URPF
135 34 Laurent GUERBY
136 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).
137 34 Laurent GUERBY
138 34 Laurent GUERBY
http://www.cisco.com/web/about/security/intelligence/ipv6_rtbh.html
139 34 Laurent GUERBY
140 20 Laurent GUERBY
h2. RFC3882 
141 1 Laurent GUERBY
142 22 Laurent GUERBY
* http://www.ietf.org/rfc/rfc3882.txt
143 1 Laurent GUERBY
community AS:666 sur annonce /32 pour balckhole par AS upstream
144 1 Laurent GUERBY
145 22 Laurent GUERBY
* doc CISCO
146 22 Laurent GUERBY
http://www.cisco.com/web/about/security/intelligence/blackhole.pdf
147 22 Laurent GUERBY
148 28 Laurent GUERBY
h2. RFC1997
149 28 Laurent GUERBY
150 28 Laurent GUERBY
* http://www.ietf.org/rfc/rfc1997.txt
151 28 Laurent GUERBY
BGP Communities Attribute
152 28 Laurent GUERBY
153 28 Laurent GUERBY
* doc CISCO
154 28 Laurent GUERBY
http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_6-2/bgp_communities.html
155 28 Laurent GUERBY
156 22 Laurent GUERBY
h2. BIRD
157 22 Laurent GUERBY
158 22 Laurent GUERBY
* http://www.mail-archive.com/bird-users@atrey.karlin.mff.cuni.cz/msg01998.html
159 22 Laurent GUERBY
160 24 Laurent GUERBY
h2. Absolight
161 24 Laurent GUERBY
162 24 Laurent GUERBY
* communauté 29608:65001 sur /24..32 IPv4 et /41..128 IPv6 => blackhole
163 24 Laurent GUERBY
* test 20120703 IPv4 et IPv6, ça marche et convergence très rapide
164 24 Laurent GUERBY
165 22 Laurent GUERBY
h2. GIXE
166 22 Laurent GUERBY
167 1 Laurent GUERBY
* communauté 31576:666 sur /32 => blackhole
168 24 Laurent GUERBY
* test 20120703 => marche pas encore, signalé et dev a faire coté GIXE pour autoriser les /32
169 1 Laurent GUERBY
170 1 Laurent GUERBY
h2. Jaguar 
171 22 Laurent GUERBY
172 24 Laurent GUERBY
* https://extranet.jaguar-network.com/app/public/index.php?cmd=bgp-policy
173 22 Laurent GUERBY
* demande 20120702 : pas de communauté blackhole actuellement, en reflexion
174 22 Laurent GUERBY
* déploiement de matériel arbor networks, reglage a affiner (pas de detection d'attaque)
175 22 Laurent GUERBY
176 27 Laurent GUERBY
h2. Gitoyen
177 27 Laurent GUERBY
178 1 Laurent GUERBY
* demande 20120704 sur la liste, réponse 20120717
179 28 Laurent GUERBY
* Tata http://noc.easycolocate.nl/Teleglobe_bgp_comm.pdf
180 27 Laurent GUERBY
*** => black-hole route (host route or shorter prefix within customer’s RIR registred assignment) 64999:0
181 28 Laurent GUERBY
* Ielo  whois AS29075 => 29075:0 Null-route/Blackhole
182 32 Laurent GUERBY
* https://pad.ilico.org/p/cleanup-bgp-gitoyen
183 22 Laurent GUERBY
184 22 Laurent GUERBY
h2. France-IX
185 22 Laurent GUERBY
186 25 Laurent GUERBY
* community plan : https://apps.db.ripe.net/whois/lookup/ripe/aut-num/AS51706.html
187 26 Laurent GUERBY
* TODO tester
188 22 Laurent GUERBY
189 22 Laurent GUERBY
h2. Equinix-IX
190 1 Laurent GUERBY
191 26 Laurent GUERBY
* community plan : https://ix.equinix.com/ixp/mlpeCommunityInfo
192 26 Laurent GUERBY
* TODO tester
193 22 Laurent GUERBY
194 1 Laurent GUERBY
h2. TouIX
195 22 Laurent GUERBY
196 26 Laurent GUERBY
* demande acces switch et route server 20120702
197 22 Laurent GUERBY
* TODO
198 1 Laurent GUERBY
199 1 Laurent GUERBY
h2. Hurricane Electric
200 1 Laurent GUERBY
201 26 Laurent GUERBY
* http://www.he.net/adm/
202 1 Laurent GUERBY
* http://www.he.net/adm/blackhole.html
203 1 Laurent GUERBY
* TODO tester
204 28 Laurent GUERBY
205 28 Laurent GUERBY
h2. Sfinx
206 28 Laurent GUERBY
207 28 Laurent GUERBY
* http://www.renater.fr/route-servers-bgp?lang=fr
208 28 Laurent GUERBY
* whois  AS1304 =>
209 28 Laurent GUERBY
remarks:        1304:65281 = Apply NO-EXPORT community
210 28 Laurent GUERBY
remarks:        1304:65282 = Apply NO-ADVERTISE community