Firewall Reject mi , Drop mu ?

Firewall cihazlarında bir paketi iki farklı şekilde kabul etmeyebilirsiniz. Bunlardan biri Reject etmek bir diğer ise Drop (Deny) etmek.

Bir paketi Reject yaptığınızda kabul etmeme sebebini gönderici tarafa ICMP ile bildirirsiniz. Drop ederseniz, gönderici tarafa bildirmeden paketi düşürmüş olursunuz. Aşağıdaki diyagram bu küçük farkı çok güzel açıklar.

r1 - Firewall Reject mi , Drop mu ?

Drop etmenin Reject’e göre bir kaç faydasını şöyle sayabiliriz.

  1. Reject yaptığınızda alıcıya bir sebep yolladığınızdan gereksiz yere trafik oluşabilir.
  2. Reject yaptığınızda göndericiye bir şeyler yollarsınız. Gereksiz yere DoS yapmış olursunuz.
  3. Reject yaptığınızda gönderici kötü niyetli ise ona küçükte olsa bilgi sağlamış olursunuz.

Reject etmenin faydası ise hata mesajı gönderildiğinden dolayı ağ bazlı yaşanacak bir problemin çözümünde fayda sağlar.

Bunlardan yola çıkarak iç ağınız için reject kullanmak, internetten gelen paketler için ise drop kullanmak mantıklı olabilir.

Örnek uygulama

n6 1 - Firewall Reject mi , Drop mu ?

Yukarıdaki gibi NAT ‘lanmış bir sanal makinemiz olduğunu düşünürsek; 192.168.47.1 fiziksel makinemizden 192.168.47.130 sanal makinesine telnet ile erişmek isteyelim.

Aşağıdaki gibi bir DROP kuralı girildiğini düşünelim.

iptables -I INPUT -s 192.168.47.1 -j DROP

Bu durumda Wireshark çıktısı:

r2 - Firewall Reject mi , Drop mu ?

Çıktı da görüldüğü üzere sanal makinemiz herhangi bir cevap dönmüyor. Fiziksel makine de isteği tekrarlıyor ve timeout’a düştüğünde telnet sonlanıyor.

Aşağıdaki gibi REJECT kuralı girilirse:

iptables -I INPUT -s 192.168.47.1 -j REJECT

Bu durumda Wireshark çıktısı:

r3 - Firewall Reject mi , Drop mu ?

Bir önceki durumdan farklı olarak isteği yapana cevap olarak ICMP olarak dönülmektedir.