Temel Iptables Kullanımı

Cryptograph 29.03.201523:34 Linux 4992    
Facebookta Paylaş

Iptables Linux bilgisayarlarda firewall olarak kullanılan bir yazılımdır. Iptables ile sisteminize gelen ve sisteminizden giden bağlantıları engelleyebilir, farklı bir yere yönlendirebilir veya izin verebilirsiniz. Iptables kurallar zinciri, bu kurallar zincirlerine ait parametreler ve bağlantı hedefleri ile birlikte çalışmaktadır.

Kural Zincirleri
INPUT Gelen paketleri tanımlamak için.
OUTPUT Giden paketleri tanımlamak için.
FORWARD Yönlendirilen paketleri tanımlamak için.
PREROUTING Sadece NAT için geçerlidir. Gelen paketlerin değiştirilmesi için.
POSTROUTING Sadece NAT için geçerlidir. Giden paketlerin değiştirilmsi için.

Kural Hedefleri
ACCEPT Paketlerin geçisine izin vermek için.
DROP Paketlerin geçişini reddetmek için.
REJECT Paketlerin erişimi reddedilir ve gönderici bu konuda bilgilendirilir.
RETURN Zincirin sonuna gönderilir.
QUEUE Paketler kullanıcı alanına gönderilir.

Kural Parametreleri
-A ZİNCİR Zincire kural ekler.
-E ZİNCİR Zinciri yeniden adlandırır.
-D ZİNCİR Zincirden bir kural siler.
-D ZİNCİR Zincirden belirtilen numaradaki kurali siler.
-L ZİNCİR Belirtilen zincirdeki kurallari gösterir.
-E ZİNCİR Zinciri yeniden adlandirir.
-l ZİNCİR Zincirde belirtilen numaralı alana kuralı ekler.
-R ZİNCİR Zincirde kuralın yerine başkasını koyar.
-R ZİNCİR Zincirde belirtilen numaralı alana bir başkasını koyar.
-N ZİNCİR Yeni bir zincir oluşturur.
-X ZİNCİR Kullanıcının eklediği bir zinciri siler.
-F ZİNCİR Zincirdeki kuralların tümünü siler.
-P ZİNCİR Zincire genel politika ekler.

Kural Seçenekleri
! Kuralı tersine çevirir.
-s Bağlantı sağlayacak adresi belirtmek içn kullanılır 127.0.0.1/255.0.0.0 gibi..
-p UDP,TCP,ICMP,ALL bağlantı protokollerini belirtmek için kullanılır. ALL hepsini tanımlamak içindir.
--dport İstek gelen portu tanımlamak için kullanılır.
-j Kural için belirtilen zincirde hedef belirtir.-j ACCEPT gibi
-t Tabloyu belirtir.Nat tablosu için -t nat şeklinde yazılır.
-V Iptables'ın versiyonunu öğrenmek için kullanılır.

Kural zincireleri INPUT,OUTPUT,FORWARD ve POSTROUTING PREROUTING büyük harfler ile yazılır.

Örnek olarak

iptables -A INPUT -p tcp --dport 8880 -s 127.0.0.1 -j ACCEPT

127.0.0.1 IP adresinden 8880 portuna gelen TCP paketlerini kabul etmek için kullanılan bir komuttur

iptables -A INPUT -p tcp --dport 8880 -j DROP

8880 portuna gelecek tüm TCP paketlerini reddetmek için kullanılan bir komuttur.

iptables -A INPUT -p tcp --dport 8880 -j DROP ! -s 127.0.0.1

8880 portuna 127.0.0.1 IP adresi dışında gelecek tüm TCP paketlerini reddetmek için kullanılır. Ancak 8880 portuna bir kaç farklı IP adresinden bağlantı yapılmasına izin verecekseniz eğer bu kuraldan sonraki tanımlayacağınız veya önceki tanımlı olan izinler geçersiz kalacaktır.

Kurallarımızı tanımlarken ilk önce izin vereceğimiz kuralları tanımlamamız daha sonra gelecek bağlantıları engelleyecek kuralları tanımlamamız gerekmektedir. Yani belirli bir sıralama ile tanımlama yapmamız gerekmektedir.

Örnek olarak 8880 Plesk panel portunu ele alalım. Bu porta sadece belirli IP adreslerinden gelecek TCP bağlantılarına izin verip geri kalan bağlantıların reddedilmesi istiyorsak tanımlamamız aşağıdaki gibi olmalıdır.

iptables -A INPUT -p tcp --dport 8880 -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -p tcp --dport 8880 -s 123.123.123.123 -j ACCEPT
iptables -A INPUT -p tcp --dport 8880 -s 321.321.321.321 -j ACCEPT
iptables -A INPUT -p tcp --dport 8880 -j DROP

Kuralları tanımladık ancak Iptables servislerini yeniden başlattığımızda tanımlı kurallar silinmektedir. Kuralların silinmemesi için aşağıdaki komutları çalıştırmamız gerekmektedir.

service iptables save
chkconfig iptables on

Okuyucu Yorumları (0 Yorum)

Söz Sırası Sizde

Benzer Konular

Benzer KonularPaylaşmanın asaletini hiçbir zaman bencilliğin çirkinliğine bırakmayın!

​​​​​​​​​​​​​​​​​​​​​​​​​

MERAK EDİLENLER

İLETİŞİM

  • alpay[at]cryptograph.gen.tr
  • İstanbul ikametgah