twitterlinkedinemail

7 Ekim 2012 Pazar

Iptables nedir? ne değildir?

Merhabalar...
'WebGüvenligi.Net' için yazdığım bu blog yazısında sizlere dilim döndüğünce temel seviyede Iptables’tan bahsedicem.
Iptables netfilter takımı ve birçok destekleyici tarafından geliştirilen bir komut satırı yazılımıdır. Linux çekirdeğiyle konuşarak paket süzme kurallarını belirler.
Iptables, Linux işletim sisteminin varsayılan güvenlik duvarıdır. Bu güvenlik duvarı servislerin çalıştığı portlardan geçen trafiği engelleyebilir, başka bir porta yönlendirme yapabilir.
Iptables hakkında açıklayıcı bilgi verdikten sonra iptables komutlarını ve kullanımını resimli olarak göreceğiz;
Konsolda “# iptables -h” komutunu kullanarak yardım konularını inceleyebilirsiniz.

“-L” parametresiyle Iptables güvenlik duvarıyla ilgili kuralları listeleyebilirsiniz.
Şimdilik herhangi bir kural belirlenmediği için boş olan bu kurallar listesinde, dışarıdan içeriye olan trafik INPUT, içeriden dışarıya giden trafik OUTPUT ve yönlendirmeyle ilgili kurallar bulunmaktadır. Port açmak için kullanılan kalıp ifade “# iptables -A INPUT -p tcp --dport <PORT NUMARASI> -j ACCEPT” şeklindedir. Tabi udp portla ilgili kullanmak istersek “tcp” yerine “udp” yazmalıyız. Port kapatmak içinse “# iptables -A INPUT -p tcp --dport <PORT NUMARASI> -j REJECT” komutu kullanılmalıdır. ACCEPT ve REJECT ifadelerine dikkat ediniz. Şimdi bunu birkaç örnekle pekiştirelim.
İlk önce yerel sistemimizi nmap ile tarayalım ve portlarımızın durumunu görelim.

Şimdi de yukarıda bahsettiğimiz ifadeleri kullanarak birkaç deneme yapalım:


Bu denemelerden sonra kural listesini tekrar kontrol edelim. Bakalım istediğimiz kurallar oluşmuş mu? Bunun için “# iptables -L” komutunu kullanıyorduk:

Kurallar listesinde bizim belirlediğimiz filtrelere, kısaltmalara göre bir liste oluşturulur. Tüm bu kuralları iptal etmek istediğimiz zaman “# iptables -F” komutunu kullanabiliriz. Sistemimize gelen tüm trafiği ve sistemimizden dışarıya giden tüm trafiği engellemek için “# iptables -P INPUT DROP” ve “# iptables -P OUTPUT DROP” komutlarından faydalanabiliriz. Pekii sistemimize belli bir porttan akan trafiği başka bir porta yönlendirmek için ne yapmalıyız? Bunun için örneğin 80 nolu porttan akan trafiği (yani http/internet) başka bir porta yönlendirmek için “# iptables -t nat -A PREROUTING -p tcp --destination-port -j REDIRECT --to-port <PORT NUMARASI>” komutu kullanılabilir. 
Bu giriş seviyesinde anlattığım IPTABLES makalesi umarım faydalı olmuştur, iyi çalışmalar.

Hiç yorum yok:

Yorum Gönder