İçeriğe geç
RinLayer
Routing

RPKI ve ROA Nedir, Nasıl Devreye Alınır?

Kendi IP bloğunuzu duyuruyorsanız, aynı bloğu başkasının duyurmasını engelleyen bir şey yok. RPKI tam olarak bunu çözüyor ve kurulumu sanıldığı kadar zahmetli değil.

2 dk
2 dk okumaRouting

BGP tasarlandığında güvene dayalı bir sistem olarak kurgulanmıştı. Bir otonom sistem bir prefix duyurduğunda komşuları bunu doğrulamaz, kural olarak kabul eder. Sonucunu zaman zaman haberlerde görüyoruz: bir operatör yanlışlıkla ya da kasten başkasının bloğunu duyuruyor ve o trafik günlerce yanlış yere akıyor.

RPKI (Resource Public Key Infrastructure), bu boşluğu kriptografik olarak kapatmayı hedefler. Mantığı sade: hangi otonom sistemin hangi prefix'i duyurmaya yetkili olduğunu, IP bloğunun gerçek sahibi imzalı bir kayıtla ilan eder.

ROA nedir?

ROA (Route Origin Authorization), RPKI'nin temel yapı taşıdır. Üç bilgiden oluşur: duyurulacak prefix, duyurmaya yetkili AS numarası ve izin verilen azami prefix uzunluğu. RIPE NCC üyesiyseniz bu kaydı LIR portalinden birkaç dakikada oluşturabilirsiniz.

Örnek bir ROA şu üç alanı taşır:

text
Prefix      : 203.0.113.0/24
Origin AS   : AS64500
Max length  : /24

Bu kayıt yayınlandığında, AS64500 dışındaki bir otonom sistemin aynı prefix'i duyurması, doğrulama yapan operatörlerde "invalid" olarak işaretlenir ve büyük ihtimalle reddedilir.

Max length tuzağı

En sık yapılan hata max length alanını gereğinden geniş bırakmak. /22'lik bir bloğunuz varsa ve max length'i /24 yaparsanız, saldırgan sizin bloğunuzun içinden daha spesifik bir /24 duyurduğunda bu duyuru "valid" görünür, çünkü izin verdiğiniz aralığa düşer. Daha spesifik prefix her zaman kazandığı için trafik yine kaçırılır.

ROV: doğrulamayı kendi tarafınızda açmak

ROA yayınlamak sizi başkalarının kaçırmasına karşı korur. Ama kendi ağınızı hatalı duyurulara karşı korumak için Route Origin Validation'ı (ROV) kendi yönlendiricilerinizde açmanız gerekir. Bunun için bir RPKI validator (Routinator, rpki-client, FORT gibi) çalıştırıp yönlendiricilerinizi RTR protokolüyle bu validator'a bağlarsınız.

Doğrulama sonucunda her rota üç durumdan birini alır:

  • Valid: geçerli bir ROA ile eşleşiyor, kabul edilir.
  • Invalid: prefix için ROA var ama duyuran AS veya uzunluk uyuşmuyor. Reddedilmeli.
  • NotFound: prefix için hiç ROA yayınlanmamış. Kabul edilir, internetin bir kısmı hâlâ bu durumda.

Devreye alırken izlenecek sıra

  1. 1Duyurduğunuz tüm prefix'lerin envanterini çıkarın; hangi AS'ten, hangi uzunlukta duyurulduğunu doğrulayın.
  2. 2Her prefix için doğru max length ile ROA oluşturun.
  3. 3Birkaç gün bekleyip kendi duyurularınızın dışarıdan "valid" göründüğünü doğrulayın.
  4. 4Validator'ı kurun ve yönlendiricileri RTR ile bağlayın; ilk aşamada sadece işaretleme yapın, reddetmeyin.
  5. 5İnvalid rotaların hacmini ve etkisini ölçün; beklenmeyen bir kayıp yoksa reddetmeye geçin.

Sıraya uymakta fayda var. ROV'u ölçüm yapmadan doğrudan reddetme moduna alırsanız, kendi müşterilerinizin hatalı yapılandırılmış prefix'lerini de kesersiniz ve beklemediğiniz bir kesinti çıkar.

IRR kayıtlarını unutmayın

RPKI, IRR (Internet Routing Registry) kayıtlarının yerini almaz. Birçok transit sağlayıcı hâlâ prefix filtrelerini IRR'den üretir. Güncel olmayan bir route/route6 nesnesi, RPKI tarafınız kusursuz olsa bile yeni bir prefix duyurduğunuzda filtrelenmenize yol açar. İkisini birlikte güncel tutun.

BGPRPKIRIPEGüvenlik
Tüm yazılar

Ağınız İçin Ne Yapabiliriz?

Durumunuzu anlatın, ne gerektiğini konuşalım. İlk görüşme ve kapsam çıkarma ücretsiz.