Günümüzde ağ kavramı çok büyük bir hızla gelişmektedir. Bu ağ kavramı geliştikçe çeşitli saldırı türleri, ağ tehditleri gibi kullanıcılar ve şirketlerin aleyhine durumlarda ortaya çıkabilmektedir. Bu tür ağlar için tehdit'e neden olan sorunlar ve saldırılarda büyük bir hızla çoğalmaktadır. Bu saldırı ve tehditler çoğaldığı gibi bu tehditlere ve saldırılara karşı da güvenlik amacı ile çeşit çeşit yöntemler, protokoller ortaya da çıkmaktadır. Yani ağ kavramı gelişiyorsa, ağ tehditleri de gelişir, ağ tehditi gelişiyor ise ağ güvenliği de gelişmektedir.
Bugün ağ tehditlerine karşı bir önlem almamıza yardımcı olan ve ağda yönlendirme işlemine yardımcı olan Unicast Reverse Path Forwading (URPF) adlı ağ protokolünü öğreneceğiz.
URPF Protokolü Nedir?
Unicast Reverse Path Forwading (URPF) Türkçe karşılığı ise Ters yol yönlendirme anlamına gelmektedir.
Bu protokol kaynaklarda ki (tablolar) Ip adreslerinin erişimini ve erişebilirliğini yönetmek (kontrol) etmek amacı ile oluşturulmuş bir yönlendirme protokolü diyebiliriz.
Bu protokol genellikle ISP ( Internet Service Provider/İnternet Servis Sağlayıcısı) tarafından tercih edilmektedir. Bunun sebebi ise ISP'e bağlı olan müşterinin sahte Ip adresi oluşturmaya engel olmakta olduğu içindir.
Ayrıca sahte Ip adreslerini tespit edebildiği için DDos (Denial-of-service attack/ Hizmet reddi Saldırısı) saldırılarına büyük ölçüde engel olabilmektedir.
URPF protokolünün bir başka amacı ise L3 cihazların da yani yönlendiriciler için kötü amaç ile çalışmasını engellemek için yönlendiricilerde ki trafiği güvenlik için kontrolde edebilmektedir.
URPF Yöntemleri Nelerdir?
Protokolümüzde iki tane yöntem mevcuttur. Şimdi bu yöntemlere bakalım.
Strict Mode (Katı Modu/Yöntemi)
Yönlendirme tablosunun arayüzünü takip eden bir yöntemdir. Bu yöntem ne işimize yarayacak derseniz ise bir arayüzü giriş ve çıkış paketlerinin aynı arayüzde olması gerekmektedir. Bu yöntem/mod ile giriş ve çıkış paketleri aynı arayüzde olmasını sağlayacaktır.
Loose Mode (Gevşeklik Modu/Yöntemi)
Bu yöntem ise FIB tablosunda (Forwarding information base/Yönlendirme bilgi tabanı) bulunan Ip adreslerini kontrol etmektedir. FIB tablosu ise içinde Ip ve MAC adreslerini bulunduran bir dinamik tablolardan biridir.
URPF Protokolünün Çalışma Mantığı
URPF protokolünün çalışması için ilk önce Cisco network aracı olan CEF (Cisco Express Forwarding) adlı ekipmanı aktif hale getirmeniz gerekmektedir.
CEF'in ne olduğuna dair küçük bir bilgilendirme yapayım,
CEF, 3.katman için hazırlanmış Ip adreslerini anahtarlamak ve ağ trafiğin performansı üst seviyeye çıkarmak amacı ile ortaya çıkan Cisco teknolojisidir.
URPF protokolünde CEF teknolojini etkinleştirildikten sonra protokolün bir ağ arayüzün de (interface) aktif hale getirilmesi gerekmektedir. URPF arayüzde aktifleştirildikten sonra protokol bu işlemi kullanan cihazın arayüzünde gerçekleştirilen ağ trafiğini incelemeye başlamaktadır. Cihazın ana Ip adresi ve arayüzü ayrıca denerlenmektedir. Böylece dışarıdan gelen Ip adresin kullanıcıya ait olup olmadığını böyle tespit edebilmektedir.
Bu işlem gerçekleşirken etkinleştirdiğimiz CEF teknolojisinin bize yardımı dokunacaktır.
Bu yardım ise protokolün kaynak Ip adres ve arayüzü incelemesi için FIB tablosunda ki bulunan Ip adreslerine erişim sağlayarak ana Ip adres daha kolay takibi yapılacaktır. İşte tam olarak CEF, protokolünün FIB tablosuna erişim ve incelemesi için yardımcı bir teknoloji haline gelmektedir.
URPF protokolünü daha iyi anlamak için küçük bir örnek verelim.
Bu örnek asimetrik yönlendirme nedeni ile normal trafiği nasıl engellediğini göreceğiz. Hemen örneğimize bakalım.
Görselde görüldüğü gibi 4 adet router (yönlendirici) mevcut. En başta bulunan tabloda birinci yönlendirici ve dördüncü yönlendiricilerde loopback yani sanal arayüz mevcuttur. Bu sanal arayüzler LAN varmış gibi ağ kullanımına veya fiziksel port olmadığı için loopback'ler kullanılabilir. Bizdeki loopback'ler ise tamamen sanal arayüz ile alakalıdır.
Lookback'lerden sonraki tabloda ise konfigüre edilmemiş yönlendiriciler mevcuttur.
Yönlendirme işlemi birinci yönlendiriciden ikinci yönlendiriciye, ikinci yönlendiriciden dördüncü yönlendiriciye, dördüncü yönlendiriciden üçüncü yönlendiriciye, üçüncü yönlendiriciden birinci yönlendiriciye gidecek şekilde yönlendirme işlemi ayarlanmıştır.
Bu görüntü ise yukarıda bulunan tablonun şema halidir. Birazdan oluşacak değişimi şema üzerinden daha rahat anlayacağız.
R1 (birinci yönlendirici) tarafından geriye doğru döngü yaparak R4 (dördüncü yönlendirici) bir ping atılır. Bu ping işlemi yapılırken R1>R2>R4 rotasını kullanarak gerçekleştirilir. Atılan pinge geri cevap olarak da R4, R1'e ping atar. Bu işlemde de R4>R3>R1 rotasını kullanır. Burada asimetrik yönlendirmeyi yapan yönlendirici R1'dir.
Bu görsel bize yukarıda yapılan yönlendirme rotasını göstermektedir. Şimdi asimetrik iletiminin etkisini göreceğiz.
Bir ağ trafiğinin yönlendirme işlemini reddetmek ve reddedilenleri aynı günlük tablosuna eklemek için erişim listesi 1 yapılmıştır.
Erişim listesi 1 yapıldıktan sonra ters yol iletimi için arayüz ayarlarınıFa0/0 olarak ayarlandıktan sonra erişim listesi olan 1 adresi çağrılır.
Bu yapılandırmayı yaptıktan hemen sonra R1'in, R4'e attığı paketler düşüş gözlemlenecektir.
ICMP, bize "İstek Zaman Aşımına Uğradı" gibi bir hata komutu verecektir. Bu hata komutu bize IP adreslerinde ayrışyıtılma sorunu kaynaklı olacaktır. Bu sebepten ötürü Ip adresinde ki hatayı ayıklamamız gerecektir. Bu işlemler terminalden yapıldığı için "Debug IP packet" komutunu yazarak Ip adresin hatalarını ayıklıyoruz.
Bu işlemden sonra ise R4'ten R1'e gelen trafiklerin RFP uyumsuzluk nedeni ile trafiğin iptal olduğuna dair mesajları oluşturulan günlük görmemiz mümkün olacaktır. Bunun sebebi ise R4'ten iletilen trafik R3 üzerinden R1'e gitmektedir. Lakin R3'ün arayüzü Fa0/0 olduğu için geçiş sağlanamadığı için bu trafik iletilemez bir hale gelir. Böylece asimetrik yönlendirme ağ trafiğine engel olmuş olmaktadır.
Bu protokol ile DDoS saldırılarına karşı büyük ölçüde önleyebilmesi bizler için önemli bir avantajdır. Çünkü dünya da çoğu saldırı DDoS türünde olmaktadır. Gerek web sitelere gerekte kişisel Ip adreslere bu saldırılara yapılmaktadır. Bu saldırıya karşı web sitelerde Cloudflare gibi önlemler alınırken, kişisel Ip adresleri için de bu protokol kullanılabilir. Tabii ki sadece saldırıları önlemek adına değil ağda yönlendirme işlemi yapmak için de kullanabilirsiniz.
Bugün ağ tehditlerine karşı bir önlem almamıza yardımcı olan ve ağda yönlendirme işlemine yardımcı olan Unicast Reverse Path Forwading (URPF) adlı ağ protokolünü öğreneceğiz.

URPF Protokolü Nedir?
Unicast Reverse Path Forwading (URPF) Türkçe karşılığı ise Ters yol yönlendirme anlamına gelmektedir.
Bu protokol kaynaklarda ki (tablolar) Ip adreslerinin erişimini ve erişebilirliğini yönetmek (kontrol) etmek amacı ile oluşturulmuş bir yönlendirme protokolü diyebiliriz.
Bu protokol genellikle ISP ( Internet Service Provider/İnternet Servis Sağlayıcısı) tarafından tercih edilmektedir. Bunun sebebi ise ISP'e bağlı olan müşterinin sahte Ip adresi oluşturmaya engel olmakta olduğu içindir.
Ayrıca sahte Ip adreslerini tespit edebildiği için DDos (Denial-of-service attack/ Hizmet reddi Saldırısı) saldırılarına büyük ölçüde engel olabilmektedir.
URPF protokolünün bir başka amacı ise L3 cihazların da yani yönlendiriciler için kötü amaç ile çalışmasını engellemek için yönlendiricilerde ki trafiği güvenlik için kontrolde edebilmektedir.
URPF Yöntemleri Nelerdir?
Protokolümüzde iki tane yöntem mevcuttur. Şimdi bu yöntemlere bakalım.
Strict Mode (Katı Modu/Yöntemi)
Yönlendirme tablosunun arayüzünü takip eden bir yöntemdir. Bu yöntem ne işimize yarayacak derseniz ise bir arayüzü giriş ve çıkış paketlerinin aynı arayüzde olması gerekmektedir. Bu yöntem/mod ile giriş ve çıkış paketleri aynı arayüzde olmasını sağlayacaktır.
Loose Mode (Gevşeklik Modu/Yöntemi)
Bu yöntem ise FIB tablosunda (Forwarding information base/Yönlendirme bilgi tabanı) bulunan Ip adreslerini kontrol etmektedir. FIB tablosu ise içinde Ip ve MAC adreslerini bulunduran bir dinamik tablolardan biridir.
URPF Protokolünün Çalışma Mantığı
URPF protokolünün çalışması için ilk önce Cisco network aracı olan CEF (Cisco Express Forwarding) adlı ekipmanı aktif hale getirmeniz gerekmektedir.
CEF'in ne olduğuna dair küçük bir bilgilendirme yapayım,
CEF, 3.katman için hazırlanmış Ip adreslerini anahtarlamak ve ağ trafiğin performansı üst seviyeye çıkarmak amacı ile ortaya çıkan Cisco teknolojisidir.
URPF protokolünde CEF teknolojini etkinleştirildikten sonra protokolün bir ağ arayüzün de (interface) aktif hale getirilmesi gerekmektedir. URPF arayüzde aktifleştirildikten sonra protokol bu işlemi kullanan cihazın arayüzünde gerçekleştirilen ağ trafiğini incelemeye başlamaktadır. Cihazın ana Ip adresi ve arayüzü ayrıca denerlenmektedir. Böylece dışarıdan gelen Ip adresin kullanıcıya ait olup olmadığını böyle tespit edebilmektedir.
Bu işlem gerçekleşirken etkinleştirdiğimiz CEF teknolojisinin bize yardımı dokunacaktır.
Bu yardım ise protokolün kaynak Ip adres ve arayüzü incelemesi için FIB tablosunda ki bulunan Ip adreslerine erişim sağlayarak ana Ip adres daha kolay takibi yapılacaktır. İşte tam olarak CEF, protokolünün FIB tablosuna erişim ve incelemesi için yardımcı bir teknoloji haline gelmektedir.
URPF protokolünü daha iyi anlamak için küçük bir örnek verelim.
Bu örnek asimetrik yönlendirme nedeni ile normal trafiği nasıl engellediğini göreceğiz. Hemen örneğimize bakalım.

Görselde görüldüğü gibi 4 adet router (yönlendirici) mevcut. En başta bulunan tabloda birinci yönlendirici ve dördüncü yönlendiricilerde loopback yani sanal arayüz mevcuttur. Bu sanal arayüzler LAN varmış gibi ağ kullanımına veya fiziksel port olmadığı için loopback'ler kullanılabilir. Bizdeki loopback'ler ise tamamen sanal arayüz ile alakalıdır.
Lookback'lerden sonraki tabloda ise konfigüre edilmemiş yönlendiriciler mevcuttur.
Yönlendirme işlemi birinci yönlendiriciden ikinci yönlendiriciye, ikinci yönlendiriciden dördüncü yönlendiriciye, dördüncü yönlendiriciden üçüncü yönlendiriciye, üçüncü yönlendiriciden birinci yönlendiriciye gidecek şekilde yönlendirme işlemi ayarlanmıştır.

Bu görüntü ise yukarıda bulunan tablonun şema halidir. Birazdan oluşacak değişimi şema üzerinden daha rahat anlayacağız.
R1 (birinci yönlendirici) tarafından geriye doğru döngü yaparak R4 (dördüncü yönlendirici) bir ping atılır. Bu ping işlemi yapılırken R1>R2>R4 rotasını kullanarak gerçekleştirilir. Atılan pinge geri cevap olarak da R4, R1'e ping atar. Bu işlemde de R4>R3>R1 rotasını kullanır. Burada asimetrik yönlendirmeyi yapan yönlendirici R1'dir.

Bu görsel bize yukarıda yapılan yönlendirme rotasını göstermektedir. Şimdi asimetrik iletiminin etkisini göreceğiz.
Bir ağ trafiğinin yönlendirme işlemini reddetmek ve reddedilenleri aynı günlük tablosuna eklemek için erişim listesi 1 yapılmıştır.
Erişim listesi 1 yapıldıktan sonra ters yol iletimi için arayüz ayarlarınıFa0/0 olarak ayarlandıktan sonra erişim listesi olan 1 adresi çağrılır.
Bu yapılandırmayı yaptıktan hemen sonra R1'in, R4'e attığı paketler düşüş gözlemlenecektir.

ICMP, bize "İstek Zaman Aşımına Uğradı" gibi bir hata komutu verecektir. Bu hata komutu bize IP adreslerinde ayrışyıtılma sorunu kaynaklı olacaktır. Bu sebepten ötürü Ip adresinde ki hatayı ayıklamamız gerecektir. Bu işlemler terminalden yapıldığı için "Debug IP packet" komutunu yazarak Ip adresin hatalarını ayıklıyoruz.
Bu işlemden sonra ise R4'ten R1'e gelen trafiklerin RFP uyumsuzluk nedeni ile trafiğin iptal olduğuna dair mesajları oluşturulan günlük görmemiz mümkün olacaktır. Bunun sebebi ise R4'ten iletilen trafik R3 üzerinden R1'e gitmektedir. Lakin R3'ün arayüzü Fa0/0 olduğu için geçiş sağlanamadığı için bu trafik iletilemez bir hale gelir. Böylece asimetrik yönlendirme ağ trafiğine engel olmuş olmaktadır.

Bu protokol ile DDoS saldırılarına karşı büyük ölçüde önleyebilmesi bizler için önemli bir avantajdır. Çünkü dünya da çoğu saldırı DDoS türünde olmaktadır. Gerek web sitelere gerekte kişisel Ip adreslere bu saldırılara yapılmaktadır. Bu saldırıya karşı web sitelerde Cloudflare gibi önlemler alınırken, kişisel Ip adresleri için de bu protokol kullanılabilir. Tabii ki sadece saldırıları önlemek adına değil ağda yönlendirme işlemi yapmak için de kullanabilirsiniz.