BGP, internet omurgasının en kritik protokollerinden biridir. Fakat zayıf peering güvenliği, eksik prefix filtreleri veya yanlış policy tasarımı; route leak, prefix hijack, oturum manipülasyonu ve ani prefix patlaması gibi ciddi problemlere yol açabilir.
Aşağıdaki 5 adım, hem transit hem de private peering ortamlarında uygulanabilecek pratik bir BGP peering hardening checklist’idir.
1️⃣ Oturumu Koru: MD5 / TCP-AO + TTL Security
BGP TCP/179 üzerinde çalışır. Bu nedenle ilk savunma hattı, BGP oturumunun sadece beklenen komşu ile kurulmasını sağlamaktır.
MD5 / TCP-AO
Platform destekliyorsa TCP-AO, desteklemiyorsa yaygın pratik olarak TCP MD5 kullanılır.
router bgp 65000
neighbor 203.0.113.2 remote-as 65100
neighbor 203.0.113.2 password MyStrongSecret
Neden önemli?
- Yetkisiz TCP/BGP oturumu denemelerini zorlaştırır.
- Spoof edilmiş TCP segmentlerine karşı ek koruma sağlar.
- Peering tarafında “kimlik doğrulama” disiplini oluşturur.
Not:
password 7gibi eski tip obfuscation yöntemleri güvenli parola saklama değildir. Üretimde AAA, secret management ve mümkünse TCP-AO/key-chain yaklaşımı tercih edilmelidir.
TTL Security / GTSM
Doğrudan bağlı eBGP oturumlarında TTL değeri doğal olarak sınırlıdır. Ancak eBGP multihop veya loopback peering kullanıyorsanız TTL security kritik hale gelir.
Örnek konsept:
router bgp 65000
neighbor 203.0.113.2 remote-as 65100
neighbor 203.0.113.2 ttl-security hops 2
Neden önemli?
- Uzak kaynaklı sahte BGP paketlerini zorlaştırır.
- Peering’in beklenen topolojik mesafeden gelmesini sağlar.
- Control-plane saldırı yüzeyini küçültür.
2️⃣ Prefix Filtering: Inbound ve Outbound Policy Yazmadan Peering Açmayın
BGP güvenliğinin en kritik bölümü prefix filtrelemedir. En tehlikeli hata şudur:
permit any
Bunun yerine hangi prefix’in alınacağı ve hangi prefix’in duyurulacağı net tanımlanmalıdır.
Inbound prefix-list örneği
ip prefix-list PEER_IN seq 5 permit 198.51.100.0/24
ip prefix-list PEER_IN seq 10 permit 203.0.113.0/24 le 24
ip prefix-list PEER_IN seq 100 deny 0.0.0.0/0 le 32
!
route-map FILTER_IN permit 10
match ip address prefix-list PEER_IN
set local-preference 200
!
router bgp 65000
neighbor 203.0.113.2 route-map FILTER_IN in
Outbound filtreleme de şart
Sadece aldığınız route’ları değil, karşı tarafa duyurduğunuz prefix’leri de sınırlandırın.
ip prefix-list OUR_PREFIXES seq 5 permit 192.0.2.0/24
ip prefix-list OUR_PREFIXES seq 100 deny 0.0.0.0/0 le 32
!
route-map FILTER_OUT permit 10
match ip address prefix-list OUR_PREFIXES
!
router bgp 65000
neighbor 203.0.113.2 route-map FILTER_OUT out
Neden önemli?
- Yanlışlıkla full table / private prefix / default route duyurmanızı engeller.
- Karşı taraftan gelen hatalı veya beklenmeyen route’ları durdurur.
- Route leak riskini ciddi şekilde azaltır.
3️⃣ Max-Prefix ve Oturum Koruma Limitleri Koyun
Bir peer normalde 500 prefix gönderiyorsa, bir anda 50.000 prefix göndermeye başlaması ciddi bir alarmdır. Bu durum yanlış konfigürasyon, route leak veya saldırı belirtisi olabilir.
router bgp 65000
neighbor 203.0.113.2 maximum-prefix 5000 90 restart 120
Açıklama:
5000: Maksimum prefix limiti90: Limitin %90’ında uyarırestart 120: Oturum kapandıysa 120 dakika sonra tekrar dene
Neden önemli?
- Prefix flood etkisini sınırlar.
- Control-plane ve RIB/FIB kaynaklarını korur.
- Yanlışlıkla gelen route patlamalarını erken yakalar.
İpucu: Limitleri rastgele değil, baseline’a göre belirleyin. Normal prefix sayısı + büyüme payı + alarm eşiği şeklinde tasarlayın.
4️⃣ RPKI, AS-PATH ve Bogon Filtreleri ile Route Hijack Riskini Azaltın
Sadece komşuya güvenmek yetmez; route’un gerçekten doğru AS tarafından originate edilip edilmediğini de kontrol etmek gerekir.
RPKI Origin Validation
RPKI ile gelen prefix’in origin AS bilgisini doğrulayabilirsiniz.
Genel policy yaklaşımı:
RPKI Valid → kabul et
RPKI Unknown → policy’ye göre kabul/izle
RPKI Invalid → reddet veya düşük öncelik ver
Neden önemli?
- Prefix hijack riskini azaltır.
- Yanlış origin duyurularını yakalar.
- Transit/peering güvenliğini güçlendirir.
AS-PATH Filtering
Beklenmeyen AS path’leri filtrelemek için AS-PATH policy kullanın.
Örnek konsept:
ip as-path access-list 10 deny _65000$
ip as-path access-list 10 permit .*
!
route-map ASPATH_IN permit 10
match as-path 10
Neden önemli?
- Kendi AS’inizin yanlış yönden geri gelmesini engelleyebilirsiniz.
- Bilinen peering/transit politikalarını enforce edebilirsiniz.
- Route loop ve policy ihlallerini azaltırsınız.
Bogon / Reserved Prefix Filtering
Aşağıdaki prefix’ler internet peering’lerinden gelmemeli veya dışarı duyurulmamalıdır:
- RFC1918 private adresler
- Loopback / link-local
- Multicast
- Reserved / documentation prefix’leri
- Default route, eğer özel olarak anlaşılmadıysa
Bu filtreler hem inbound hem outbound uygulanmalıdır.
5️⃣ Sürekli İzleme, Alarm ve Değişiklik Disiplini Kurun
BGP güvenliği tek seferlik konfigürasyon değildir. Peering davranışı sürekli izlenmeli ve beklenmeyen değişikliklerde alarm üretilmelidir.
Hızlı doğrulama komutları
show ip bgp summary
show ip bgp neighbors 203.0.113.2
show ip bgp regexp _65000$
show route-map FILTER_IN
show ip prefix-list PEER_IN
show ip bgp neighbors 203.0.113.2 received-routes
show ip bgp neighbors 203.0.113.2 advertised-routes
İzlenecek metrikler
- Peer state değişimi
- Prefix count artışı
- RPKI invalid route sayısı
- AS-PATH anomalileri
- Route flap sıklığı
- Policy hit-count
- Unexpected default route
- Bogon/private prefix görünümü
Operasyonel standart
Her peering kuralı ve policy açıklamasında şu bilgiler bulunmalı:
[PEER=ISP-A][ASN=65100][OWN=NetOps][REQ=CHG-456][EXP=N/A][TYPE=BGP-SECURITY]
✅ 5 Adımlık BGP Peering Security Checklist
- MD5/TCP-AO veya desteklenen authentication yöntemi aktif mi?
- TTL Security / GTSM uygulanıyor mu?
- Inbound ve outbound prefix-list var mı?
- Max-prefix limiti baseline’a göre tanımlandı mı?
- RPKI origin validation kullanılıyor mu?
- AS-PATH ve bogon filtreleri mevcut mu?
- Monitoring ve alarm kuralları tanımlı mı?
- Peering policy değişiklikleri change kaydıyla yönetiliyor mu?
Sonuç
Güvenli BGP peering; sadece “neighbor up” görmek değildir. Gerçek güvenlik; kimle konuştuğunu doğrulamak, ne aldığını filtrelemek, ne duyurduğunu sınırlamak, route origin’i kontrol etmek ve anormallikleri sürekli izlemek ile sağlanır.
BGP’de küçük bir policy hatası, büyük bir routing krizine dönüşebilir. Bu yüzden her peering oturumu; kimlik doğrulama, prefix kontrolü, RPKI, max-prefix ve monitoring ile birlikte tasarlanmalıdır.
Cem Kemal Erbaş Network, Siber Güvenlik ve Teknik Rehberler