Unicast Reverse Path Forwarding

Unicast Reverse Path Forwarding

Unicast Reverse Path Forwarding (URPF), ağ üzerinde istenmiyen trafiğin kontrol edilmesini  sağlayan bir güvenlik özelliğidir. Router’lar gelen pakedin kaynak adresinin erişilebilirliğinini kontrol edilmesini sağlar. Router iletilen pakedin kaynak adresini ve paket iletim tablosunu (FIB) kullanarak bu kontorolü yapar.

İki tip çalışma şeklı vardır:

  • Strict Mode (Sıkı şekil)
  • Loose Mode (Ğevşek şekil)

Strict Mode :

URPF’in ilk aşamasıdır. Gelen pakedin kaynak adresine doğru olan route’un (Geri dönüş Route), pakedin alındığı interface’e doğru olup olmadığı kontrol edilir. Bir başka deyişle söz konusu interface’e gelen paketlerin o interface’e atanmış ip adres bloğundan geldiğinin kontrol edilmesidir.

URPF Strich Mode

Strict mode isminden de anlaşıldığı üzere oldukça sıkı bir kontrol yapmaktadır. Asimetrik routing’in olası olduğu yerlerde veya bir pakedin beklendiği interface’den gelmediği durumlarda sorun yaratabilir. Bu tarz durumlar, birden fazla çıkışı olan networklerde (multi-homed), özellikle ISP’lerde olabilir.

Loose Mode :

URPF’in ikinci aşamasıdır. Strict (katı) mode’un aksine, gelen pakedin kaynak adresinin sadece FIB tablosunda olup olmadığına bakar. Yani kaynak adresi için bir FIB tablosunda (route tablosunda) bir kayıt olması yeterlidir. Dolayısı ile asimetrik için bir sorun oluşturmaz.

Cisco’da kullanımı :

ip verify unicast source reachable-via (rx|any) [allow-default] [allow-self-ping] [<list>] interface komutu ile kullanılır.

İnterface üzerinde uygulanma sırası ;

  1. Giriş ACL kontrol edilir.
  2. URPF kontrolü yapılır.
  3. CEF tablosu kullanılır ve çıkış interface bulunur.
  4. Çıkış ACL kontrol edilir.
  5. Paket iletilir.

Eğer kaynak için null0 doğru route eklenmiş ise paket her iki modda’da drop edilir.

URPF istatistikleri global olarak veya interface seviyesinde tutulabilir.Global seviyedeki istatistik, giriş interface hakkında bilgi vermez.İnterface seviyesindeki istatistik ise bu konuda bize bilgi verir. Ayrıca URPF dropları hakkında iki tip bilgi sunar.

• URPF DROPS : URPF başarısız olan. ACL ile iletilemesine izin verilmiş olsa bile!
• URPF SUPPRESSED DROPS : ACL URPF ile başarısız olmuş ama ACL ile iletilmesine izin verilmiş.

URPF kontrolünden geçen paket tekrar bir ACL kontrolüne aktarılabilir. Kullanılan ACL ile log seçeneğide kullanılarak kontrol yapılabilir.

ACL kullanılması veya kullanılmaması durumunda, URPF başarılı olması veya olmaması durumunda bile bu giriş interface istatistiklerinde URPF Drops olarak görülür.

URPF Tunnellenmiş paketleri kontrol etmez. GRE, L2TP, PPTP.

Nerelerde Nasıl kullanılmalıdır :

Kullanıcı networklerine olabildiğince yakın uygulamalıdır. Müşteri ile olan bağlantılarda Strict Mode kullanılabilir. Fakat birden fazla bağlantılı kullanıcılarda (multi-homed), geri dönüş route ile kullanıcının çıkış yaptığı bağlantı farklı olabilir. Bu durumlarda kullanıcı hangi interface’den geri dönülmesini istediğini BGP kullanarak ayarlanmalıdır. Kullanıcı BGP communitilerini kullanarak bunu ISP bildirebilir. ISP’de local pref veya weight kullanarak kendi routing tablolarını düzenler. Weight kullanmak AS-PATH prepen’de karşı daha avantajlıdır.

ISP-ISP bağlantının olduğu ve IXP bağlantılarında Loose Mode kullanılması gerekmektedir. Zira asimetrik routing söz konusu olabilir.

Ayrıntılı bilgi için :

UNICAST REVERSE PATH FORWARDING ENHANCEMENTS FOR THE INTERNET SERVICE PROVIDER

 DOS/DDOS Karşı uygulaması :

IDS veya firewall ile birlikte oldukça hızlı bir reaksiyon sağlamaktadır.

URPF uygulmasında eğer geri dönüş route’u, yani pakedin kaynak ip adresi  NULL0 route edilmiş ise paket iletilmes ve hemen silinir. Bu özellikden yararlanarak atak yapan ip adreslerinden gelen paketlerin ISP girişlerinde drop edilmesi sağlanır. Default route kullanmayan URPF loose mode ile giriş interfacelerine uygulanır.

Atak yapan ip addresleride next-hop’u bu ip olacak şekilde, giriş routerlarına anons edilir. Dolayısı ile bu ipler null0 route edilmiş olur.

İlk olarak IDS/Firewall atağı sezer ve atack yapan ip adresini bir sunucuya, Network Management Station (NMS) bildirir.

Bu syslog aracılığı ile olabilir. NMS sunucusunda çalışan bir syslog sunucusu bu bilgiyi alır almaz, atak yapan ip için route dağıtacak cihaza bu route’u yazar. Syslog-ng ve bir perl script kullanılarak bu yapılabilir. Syslog-ng gelen syslog bilgisinin incelenmesi ve uygun formatta dış bir program aracılığı ile route sunucusuna ilgilli route’u bildirir.

Söz konusu route’dan IBGP ile next-hop’u null0’a route edilmiş ip olacak şekilde anons edilir.

Edge’de ise URPF loose mode kullanılarak atağı yapan ip network’e ilk girdiği yerde drop edilir.