BLOG

ANASAYFA > BLOG > + Iptables Uygulaması Giriş Seviyesi
2008-07-20

Iptables Uygulaması Giriş Seviyesi

Iptables hakkında bilmeniz gerekenler konusunda kısa bilgileri her kesimden sistem yöneten kişilerin anlayabileceği bir dilde anlatacağım.


Iptables Linux ve Unix yada BSD tabanlı sunucularımız üzerinden geçen trafiğin erişim denetimini sağlayan kural tabanlı bir uygulamadır. Iptables günümüzde birçok firewall yazılımının entegresi olarak kullanılmakta olan kural tabanlı bir erişim denetleyicisi olarak adlandırılabilir.
Iptables ile erişim denetimi dışında birçok işlem yapılabilmektedir. Bunları daha sonraki dokümanlarımızda bahsedeceğiz bu doküman temel bilgi amacı niteliğinde ve herkesin bilmesi gereken bilgilerden oluşacaktır.


Iptables kural tabanlı işlem denetimi yapar bu işlemler genellikle işlem, prosedür, protokol, hedef, kaynak, denetim şeklinde sıralı olarak gider. İşlemler kural zinciri olarak birçok doküman da zincir olarak tanımlanır. İşlem parametreleri hakkında bilgiler alt kısımda yer almaktadır.


A : Yeni kural eklemek I : Aralıklara kural eklemek L : Kuralları Listelemek N : İşlem eklemek X : İşlem silmek D : Kural Silmek F : Tüm kuralları silmek Z : Sayaçları sıfırlamak R : Kuralı Değiştirmek


Örnek belirtecek olursak tırnak içerisinde yazıyorum “iptables –F” iptables içersindeki tüm kuralları sıfırlar. Bunu genelde iptables kullanımı hakkında bilgi sahibi olmayan sistem yöneten kişiler firewall yazılımlarının kullanıcıları banlamasından dolayı duyduğu rahatsızlıkla yazmakta ve amacını bilmemektedir. Dokümanı sonuna kadar okuduğunuzda iptables e tam anlamı ile hakim olamasanız da bu giriş bilgileri işlerinizi çok daha fazla kolaylaştıracaktır.


Konumuza devam edelim.. İşlem sıralarından bahsediyorduk bir sonraki işlem prosedür ve prosedür yapılacak işlemin prosedürünü belirtir. Sadece üç adet prosedür mevcut bunları tırnak içersinde virgül ile ayırarak yazıyorum “INPUT , OUTPUT , FORWARD” bu üç temel prosedürün anlamları söyle.


INPUT : Dışarıdan gelen paketler. OUTPUT : Dışarıya çıkan paketler. FORWARD: Dışarıdan gelen ve bizim üzerimizden geçip çıkan paketler.


İşlem sırasına göre sonraki iş protokol dür. Protokol denetimin yapılacağı yeri göstermektedir. Protokoller hakkında pek fazla bilgi vermeyeceğim bunu zaten biliyorsunuzdur yine belirli protokoller mevcut bunlar “TCP, UDP, ICMP, IGMP” bu protokoller ile denetim yapıyoruz. Protokolleri kullanabilmek için “-p” parametresini kullanıyoruz. (Tırnak içinde belirttim küçük harf ile yazılır)


Diğer bir işlem ise Hedef yapılacak denetim işleminin hedefini belirtmemiz gerekir hedef içinde “-d” parametresini kullanıyoruz Hedef belirtmek için yine tırnak içinde gösteriyorum “ –d 10.0.0.2” dediğimizde 10.0.0.2 ip adresini hedef olarak belirtmiş oluyoruz. Aynı şekilde hedef portunuda “–dport” parametresi ile berkitiyoruz. Yine bir örnek yapacak olursak “ –d 10.0.0.2 –dport 80” dediğimizde 10.0.0.2 ip numarasının 80 numaralı portunu hedef olarak belirlemiş oluruz.


Sonraki işlem sıramızda Kaynak yer almaktadır. Yapılacak işin kaynağını “–s” parametresi ile belirtiriz. Kullanımı aynı Hedef işlemi gibidir. Port belirtmek içinde “–sport” parametresi kullanılır.
Son işlemimiz denetimdir. Yapılacak işin denetimini belirtmemiz gerekmektedir. Denetim yapmak için kullanılan betiklerin bazılarının anlamları şunlardır.


DROP : Yasaklamak ACCEPT : İzin vermek REJECT : Yasaklamak ve yasak cevabı göndermek LOG : İşlemlerimizin kaydını tutmak


Bu dokümanımızda temel olarak iptables e giriş yapacağımızdan dolayı sadece bu kadar bilgi verilecek olup sonraki dokümanlarımızda iptables ile harikalar yaratacağız. Şimdi çeşitli örnekler yaparak konuyu anlamanızı sağlayacağım..


iptables –L
Bu komut ile tüm iptables kurallarını listeleyebiliriz.


iptables –F
Bu komut ile var olan tüm kuralları sıfırlayabiliriz.


Şimdi işlem sıramıza göre sunucumuzun 80 portunu kapatalım


iptables –A INPUT -p tcp -s 0/0 –dport 80 -j DROP


tekrar işlem sırasını hatırlatıyorum yukarıdaki komut ile –A kullanarak yeni bir kural ekleyeceğimizi, INPUT ile dışarıdan sunucumuza gelen istekleri, -p tcp ile tcp protokolünü, -s 0/0 ile tüm ip adreslerini kaynak olarak belirterek, –dport 80 ile 80 portunu hedef gösterip, DROP ile yasakladık.


Sunucumuzda 80 portu kapalı olsaydı DROP yerine ACCEPT yazmamızla 80 portunu açabilirdik..


Şimdi biraz daha iyi kavradığınızı düşünüyorum.


Sunuculara ping paketlerı ICMP protokolü aracılığı ile gider örnek


iptables -A INPUT -p ICMP -j DROP


yazmamız sunucumuza ping atılmasını yasaklar…


Yine bir başka örnek de ip banlamak yani uzaklaştırmak olsun..


iptables -A INPUT -s 10.0.0.2 -j DROP


bu komut ile 10.0.0.2 numaralı ip adresini sunucumuzdan uzaklaştırmış olduk..


Yine iptables yardımı ile belirli ip aralıklarını sunucumuzdan uzaklaştırabiliriz. Yine bir örnek yapmak gerekirse.


iptables -A INPUT -s 10.0.0.0/8 -j DROP


komudu /8 networkunu yani 10.0.0.0 dan 10.255.255.255’e kadar olan ip aralıgını sunucudan uzaklaştıracaktır.


bunu /16 ve /24 olarakda yapabiliriz. Tekrar bir örnek yapacak olursak


iptables -A INPUT -s 192.168.1.0/24 -j DROP


komudu 192.168.1.0 dan 192.168.1.255’e kadar olan ip aralığını sunucumuzdan uzak tutacaktır. Bu sayede belirli servis sağlayıcısı veya ülkelere ait ip aralıklarını sunucumuza erişimini engelleyebiliriz.


Engellenen bir ip adresini bloktan kaldırmak için –A yerine –D kullanarak engelini kaldırabiliriz. Yine bir örnek yapacak olursak


iptables -D INPUT -s 10.0.0.2 -j DROP


komutu 10.0.0.2 ip adresinin engelini kaldıracaktır. Hatırlarsınız –A yeni kural eklemek –D ise kural silmekti..


iptables hakkında sormak istediklerinizi yazabilirsiniz.


İyi Çalışmalar dilerim.

Avatar
Abdullah Altunbaş Teknik Şef
Netinternet Bilişim Teknolojileri A.Ş.'de teknik konularda liderlik yapıyorum. 15 yıldır bu alanda çalışıyorum ve özellikle sistem yönetimi, ağ teknolojileri ve yazılım geliştirme konularına odaklanıyorum.
Yorumlar

Henüz yorum yok.

Yorum Yap