αα½ααααΈ αααα»αααααα Alexander Azimov α αα Yandex αααα»ααααααΎααααααααααααα½ααα·αα·ααααααααα ααααΌα ααΆααααΆαααααααααααααΆαααΉααααααΌαα ααα»αααααααααααααΎαααΉααα·ααΆαα’αααΈαα·ααΈααΆα BGP α
αα½ααααααΆα ααα»α Yandex ααΆαααΎαααααΎαααΆα ROV (Route Origin Validation) αα
α
ααα»α
αααααΆααααΆαα½αααααΌαα ααΆαααΆααα’αα ααααΌα
ααΆα
ααα»α
ααααΆααααααΌαα
ααΆα
ααααααααα ααΌαα’αΆαααΆααααααα’αααΈααΌαα ααα»αααααΆααααΌαααΆαααααΎ αα·ααααααααααΆααΉααααααΆαααααα’ααααααααααΆαα½αααααα·ααααα·ααααΌαααααΆααααα
BGP αα·αα’αααΈααααα»αααΆαα½αααΆα
α’ααααααα ααααΆααΉαααΆ BGP ααααΌαααΆααα ααΆα‘αΎαααΆαα·ααΈααΆαααΆαααααΌαα’αααααααα ααααααΆαααΆααααα αα ααΆαααααΌα α ααα½αααααααΈααααΎααααΆααααΆααααααααααααΎαα‘αΎαα ααααααααααα BGP α’ααα»αα αααααααααααααααααΆα αααΎαααΆαααααααααΆααα ααΆαααααααααα»αααΆα ααααααααααααααα·α αα ααΆαααΈααααα·ααααα·αα VPN αα SD-WAN ααΆαααααα α αΎααααααΆααααΆαααααΎααααααα·ααΈααΌα ααΆ ααΆαααΉααααααΌααααααΆααα§ααααααααααΆααΌα SDN αααααααααααα·α αααα ααααΆα BGP αα ααΆα’αααΈαααααααααααΉααααααααΆαααα·ααΈααΆαα
ααΌαα 1 α BGP SAFI
α ααα»α’αααΈααΆαααΆ BGP ααΆαααα½α (αα·αααααααα½αααΆα) ααΆαααααΎααααΆααα αααΎαααΌα αααα? ααΆαααΌαα ααα»α ααααααΈαα
- BGP ααΊααΆαα·ααΈααΆααααα½αααααααααααΎαααΆααααΆααααααααααααααα (AS);
- BGP ααΆαααααα»ααααααααααα»ααααααα TLV (type-length-value) α ααΆα/α αΆα αα·ααΈααΆααα·ααααααααααΆααα―ααα αααα»αααΏαααααα ααα»αααααααααΆααα·αααΆαα’αααΈαααα½αααΆαα α ααα»α ααααααααααΆαααααα·ααααα·ααααΌαααααΆαααα ααΆαααααααα½αααΆαααα ααααα αααΎααααα»αααΆαααααΆααααΆαα»αα»αααΆααααααααααα ααΆ ααΆααΆαααΆαααααα·ααΈααΆαααααΌαααααααα
ααΎααΆααααΆααααα αΆα’αααΈ? ααα»ααα αα·ααΈααΆααα·αααΆαααααααΆααααααααΆααααααΆαα½ααααααΆαααααα½ααα·αα·αααααΆαααααΉαααααΌαααααααααΆααααααα½αααΆααααααα αααααΊ BGP ααΊααΆαα·ααΈααΆαααΆαααΏαα»αα α·αααααΆαα»αα ααααα·αααΎα’αααα ααααααΆαααα·αααααααΆα₯α‘αΌααααα’αααααΆααα αΆαααααααΆα Rostelecom, MTS α¬ Yandex ααΌα!
αααααααα’ααααΎ IRRDB - ααα’αααα»αααα’αΆααααααααα»αα
αααα½αααΎαα‘αΎαα α ααα»α’αααΈααΆαααΆα’ααΈαααΊαα·ααα
ααααααΎαααΆααααα»αααααΆαααΆααααααα? ααΆα / α
αΆα ααΆααααΎαααΆαααΆαα
αααΎα ααα»αααααααα»ααααααΆαα½αααααΆααα ααΆαααα»αα‘αΎαααΆαααααααααΆαα αααααααΎα²αααααααααΆαα·ααΆααααΌααα·αα’αΆα
α
αΌαααααΎαααΆαααΆαα αααααΈααΆαααααααΆααααααα½α Hacker αα
αααα»α BGP αααααα»αααΎαα‘αΎαααααα ααα»ααααααΆααα·αααααααααΈααΆαα
αααΎααα
αααααααΆαααααΈααα α»αα α§ααΆα αααααααααΆαααα
α’ααααα 2. ααΆαααααΆααα αΆααα ααΆα ααα Cloudflare
ααα»αααααα ααα ααα»α’αααΈααΆαααΆααΆααα·αααααααααΈααααααααΎαα‘αΎααααααΆααααααΆααα½ααααααα α αΎααα·ααααααΆαααααΆαααααα? αααααΆααααααα»αα αα»αααΉααααααΌαααααΎααΌαααααΆααα·ααααααααΆααααα ααααααααΆαααααΌαααΎααααΈαααααααααΆααα’αααΈααααα½αααααα½αααΆαααΈα’ααααα·αααΆα BGP α ααΆαααΌαααααΆααα·ααααααααααααααΆα αααΎα ααααα½αα ααα½αααααΌαααΆαααααααααααααα’αααα α»αααααα (RIPE, APNIC, ARIN, AFRINIC) ααααααΆα’ααααααα―αααΆααα (ααααΈαααα»αααΊ RADB) α αΎαααααΆααααα»αααα’αααα α»ααααααααΆααααΌααααααααααααααααα»αα αα»ααααααααα (ααααα·α 3 , NTT ααα)α ααΆααΊααΆααΆαα’ααα»αα ααααααΌαααααΆααα·ααααααααΆααααααααααΆαααΆαααααΌαα’ααααααααααααΆαααααααΆααααααΆααααααααααα·ααααα·ααΆαααααααΆα
ααααααΆαααΆαααααααΆα nuances α ααααααΆαα’αααΈααααΌαααααΌαααΆααα·αα·ααααααααα’ααααΎααααα» ROUTE-OBJECTS αα·α AS-SET α α αΎαααααα·αααΎααααΌααααααααααααΆαα’αα»ααααΆααααααΆααααααααα IRRDB ααααααααΆααααααΆααααΈααΈααα·αααΆαααΆαα’αα»ααααΆαααΆααααΆααααα αααααΊααααΆααααΆααα’αΆα ααααααααααΆααααΆαααα αααα»ααααα»ααααααα½ααα α αΎααααα ααα»αααααααααΆαααααααααα’ααααααααααααΆααΆαααΎα ααΎαααΈααααα ααα ααΆααααααααααΆαααΆααααααα AS-SET αααΆαααΌαααααΆα IRR ααααααααααΆαα·αααααΌαααΆαααΆααΆαααα’αΆα ααΆαα±ααααΆααααααααΆαααα½αα±ααααααΆααααα’αΎαααΆαα½αααΉαααΆαααΆαααααααΆααααααΆααααααΆαααααααΆααααααα·ααααα·ααααΌαααααΆαααα ααααααααΆαααααααααααααΆαααα·αααΆαααααΆααααααΌαα’αααΈααΆααα’ααα
αααα αΆααααααα½ααααααααααααΊααααΌααααΆαααααΎααααΆαα AS-SET α ααΆαααΈαα ααα»α αα ααΈαααα
- αα ααααααααααα·ααααα·ααααα½αααΆαα’αα·αα·ααααααΈ ααΆααααααααΆαα AS-SET ααααααΆ ααα»ααααααααΎααααα·ααααααααΆα ααα
- ααααααααα½αα―αααααΌαααΆαααααααα ααΆαααααααααααα α ααα»α αααααΆααααΆαα½αα’αα·αα·ααααα»αααααα
ααΆαααααα ααααααααααΎαααααααα BGP αα½αααΆααααααααααααααΆαααααααααααα·α ααααααα α ααα»α αααααΆααααΆαα½αα’αα·αα·αα αα·αααΆαααΏαα»αα α·αααααΆαα»αααΎα’αααΈαααααΆαααααΈααααΌαα ααΆα αα·αα’ααααααααααααΆααααααΆαα IP α
ααΎα’αααΈααΆααΆααααα½αααααααα»ααααααααααα’ααααΎ AS-SET? α’αααΈααααα½αα±ααα αΆααα’αΆαααααααααα»ααααααΊααΆαααα»αααααααααααΈ - ααααΆαα’αααΈαααα ααα»ααααααααααΆααααααααααα»αααα α‘αΎαααααααααααααααααΆαααΆαααααααααααααααΆαααΌαααααΆαααΎ IRRDB α αΎαααΆααααΌα αααααΆααΆααα·α RPKI α
RPKI
αα αααα»ααα·ααΈααΆαααααα½α ααααΆαααααααα RPKI α’αΆα ααααΌαααΆααα·αααΆααΆααΌαααααΆααα·ααααααα ααα αΆαααααααααααααΆα’αΆα ααααΌαααΆααααααααααΆααααααααααΆααα αααα»αααααΈ ROA (Route Object Authorization) α’αααα α»αα αααααααΆααΊααΆααα αΆααααααα αα’αΆααααααΆα α αΎααααααααααΆαααα½αααΆααΊααΈαα (αα»ααααα asn, max_length)α ααααΆαα ααΆαα»ααααααααααΌα ααΆααααααα ααα αΆαααα $prefix address space ααΆαααααααα·αααα·α±ααααα AS $asn ααΎααααΈααααααααααΆααα»ααααααααααΆααααααααα·αααααΆα $max_lengthα α αΎαααααααααααααααΎααααΆαααααααΆαα RPKI α’αΆα αα·αα·αααααΎαααΌαααααΆααααΆαα’αα»ααα αα»ααααα - ααΆαααα·αααααΌααα ααΆαααααΌα.
ααΌαααΆαααΈ 3. ααααΆαααααααα RPKI
ααααα» ROA ααααΌαβααΆαβααααΎβααΆβαααααααΆαβα’ααβαααβαααβααΆβααΌαβααβα αΎα ααα»ααααβαα αΌαβααβαααβαααβααααΈαβααα αα½αβααΆβαα·αβααΆβαα βααβααΆαβαα βααΎβαααααΆαβαααα»αβαα·ααΆαα»αααααααα· IETF ααα»αααααα αα αααα»ααααα·ααααααααα»αα ααα»αααααααΆααααΏααααααααΆαααα αα½αα±ααααααΆα - ααΈααααΆααα·αααα’α αααααΆααααΈααΆαααααΎαααααααΆαααααΌαααΆααααα αα ααΆαααΎαααΉαα α·αααααΊααΆ ROA ααΆαααΆααααααΆααααΉαααΆααα½α BGP ααααα·ααααααΆααΆααα·αα α’αααααΆααααα αΆαα’αΆα ααααααΆααααααααααααΆαααΌαααααΆαααΎ ROA ααΆααααΆαααΆααααα½αααααααα αΌαααα AC ααααΉαααααΌααα ααΎαααααΌαα α αΎαααααΆαααα ααααααααΆααααααα αααααΆαααααα ααα αΆαα‘αΌααΈαααααααΆααααΊααααΌαααααααα ααααΆαααααΎααααΆαα ROA α α αΎαααΆααΆααα·α α ααα»α’αααΈααΆαααΆααΎαααααΌαααΆααα αα αααα·ααααΆ ααααα·αααΎααΆαα·αααααΎαααΆα?
α ααα»βα’αααΈβααΆαβααΆβαααβαααβααααΌαβααααΌαβα α·ααα? αααααααααα·ααααααΆααΆααα·αααΆαααααα»ααααααα ROA αα·αααΆαααΆααααααΆααααΉααααααααΆααααααα½α Hacker αα αααα»α BGP ααα»αααα ααΆαααΆααααααΆααααΉαααΆααα½α α ααΆα ααααα αααααα§ααΆα αααααΈααΆαααα ααααΆααα·αα·αααααα αααα»α BGP αααααΆααααααΆααΏαααααααΆα ααΌα ααααΆαααααααα αα·αααΌα ααααααααααΆαααΌαααααΆαααΎ IRR αα ROV α’αΆα ααααΌαααΆαααααΎαα·αααααΉααααα α ααα»α αααααΆααααΆαα½αα’αα·αα·ααααα»ααααααα ααα»αααααααααΆαααα α ααα»α αααααΆααααΆαα½ααα·ααααααααα· αα·αα’ααααααααα αααααααααα αααααΊαα½αααΆαα½αααΉαααΆαααααΆααααα RPKI ααΆαααΏαα»αα α·αααααΎα’αΆαα·ααΆααααα»αααΆααααααα·α αααααααΈ BGP α
α₯α‘αΌαααα ααΆααα·αα·αααααΎαααααΌααααααα’ααααΎ ROA αααα»αααααΌαααΆαα’αα»ααααααΆαααααΎαααααα’ααααααααααΆαααα α’ααΊααα»α IX αααααααα»ααααα»ααααα ααααααΌαααααα·αααααΉαααααΌααα½α α αΎααααα»αα ααααααααα·ααααα·ααααααΆααααααΆαα 1 ααΆααΆαααααααααα»αααΆαααααα AT&T αααααΆαααΎαααααΎαααΆαααααααα α ααα»α αααααΆααααΆαα½αααααΌαα ααΆααααααααα½αα α’ααααααααααΆαα·ααΆααααΆααααααααα»ααα·ααα·αααααααααααααα α αΎαααααα·ααααα·ααααΉααααααΌαααααΆααααααααΆαααα·αααΆααααΆαα’αα»ααααααΆααααααααααααΆαα ααααα·αααΆαααααΆααααααΆααααΆααα’αααΈααΆα‘αΎαα α ααα»α’αααΈααΆαααΆααααα·ααααα·ααααΆααα’αααααα’αα»αααα RPKI? α ααααΎαααΊααΆααααα ααΎααααΈααΆαααΆαα ααΆα αααα ααααααα’αααααΈααα α»αααααα’ααααααα αααα αΎαααΆααΌαα ααα»ααα Yandex ααΊααΆαααα»αα αα»ααα½ααααα»αα αααααααα»αα αα»αααααΌααααα αααα»ααα ααααααα»αααααΈααααα½ααααα αΌα ROV αα ααααααααααΆααααααααα½αα
ααΎααΉαααΆαα’αααΈααΎαα‘αΎααααααΆαα?
α₯α‘αΌαααα ααΎαααΆαααΎαααΆααα·αα·αααααΎαααααααΆαααααΌααα α ααα»α αααααΆαααααααΆαα ααα»α ααααΆααααααΌαα ααΆα ααα αα·αααΆαααααΆααα―αααα αα αααα’ααΆααααααααΈ ααΆααααααααααΆααααααΉαααααΌαααΆαααΎαααααΎαααΆαααΆαα½αα’ααααααααααααΆα ααΆα αααααΆαααΎαααααα
ααΎβαααβαααααβααΆαβαα»αβααααΆβα’αααΈβαααβα’ααα? ααααα·αααΎα’αααα
αααααααΎααα»ααααα·ααΆαααα
ααΆα
αααααααΌααααΆααααααΆαααααα’ααα αα·α Yandex ααΎαααΌαααααΆαα
- α
α»αα αααααααΆααΎααα α’αΆααααααΆαααααα’αααα
αα αααα»ααα·ααααα RIPE - ααΆααΆααααα αααΆαααα 5-10 ααΆααΈααΆαααααα ααΆβααΉαβααΆαααΆαβααΆαβαααααΆααβααααβααΎαβαα βαααα»αβααααΉαααα·ααΆαααβαααβααΆαβααααΆβααααΆααβαα½α βααα βα’αΆααααααΆαβααααβα’αααβαααβαα·αβααΉαβαααα½α (α αΎαβααΆβααΉαβαα·αβααΆβααΎαβα‘αΎαβαα·αβααΌαβαα·αβααΆαα); - ααα‘αΎαααααΆαααααααΆαα RPKI αααααααΎαα
αα αα½α (
ripe-validator ,ααααααα ) αα·αααΎαααααΎαααΆααα·αα·αααααααΌααα ααααααααααααΆα - ααΆααΉαα αααΆααααα αααΎαααα ααα»ααααααααααα ααΆααΉααα·αααααα±ααααΆαααΆαααααΆαααααααα αα αααααααΆαα½αα‘αΎαα
Yandex ααααΆααααααΆαα’αα·ααααααααααααααααααααααααα’ααααΎααααα» RPKI ααααΈ -
αααα»αααΉααα·ααΆααααα’α·αα’αααΈ ASPA αααα»ααααααααα½ααααα
α―ααααα·ααΈα Next Hop α αα αααα·αααααΈ Netflix, Facebook, Dropbox, Juniper, Mellanox αα·α Yandex ααααΉααα·ααΆααα
ααΈααααααααα ααααα·αααΎα’αααα
αΆααα’αΆααααααααΎαααααΆαααα αα·αααΆαα’αα·ααααααααααααΆααΆαααα’ααΆαα ααΌααα
ααααα: www.habr.com