Firewall

İptables kural ekleme ve yapısı

 

İptables kural ekleme ve yapısı

 

  • Kurallar bir kriter ve hedef(target) içerir.
  • Kriterler eşleşirse hedef için belirtilen kural çalışır.
  • Kriterler eşleşmezse bir sonraki kurala geçer.

Standart TARGET değerleri:

  • ACCEPT: Paketin iptables’tan geçmesine izin vermek için kullanılır.
  • DROP: Paketin iptables’tan geçmesini engellemek ,çöpe atmak anlamında kullanılır. Sisteminize bağlanmaya çalışan herhangi bir kişi, DROP sayesinde sistemin varlığını göremez.Çünkü paketi gönderen sisteme yanıt vermeden paketi düşürür.
  • QUEUE: Iptables , paketi kullanıcı alanına iletir.
  • RETURN: Paket , iptables tarafından reddedilir.Iptables , TCP’den “connection reset” ya da UDP veya ICMP’den “destination host unreachable” paketlerini gönderir.

**Red Hat Enterprise Linux’ta varsayılan  olarak bulunan en popüler Target’lar aşağıdaki gibidir.

  • LOG: LOG target’ı verilerek oluşturulan kuralla eşleşen tüm paketleri günlüğe kaydeder.
  • REJECT: Paketi gönderen sisteme error paketini gönderir ve paketi düşürür.

 

Chain komutları:

-A , –append  :Belirtilen chain’deki kuralların sonuna kural eklemek için kullanılır.

-I , –insert   :Belirtilen chain’de belirtilen id’ye göre kural eklenir. Örneğin; 5 kuralımız var. 2.sıraya kuralımızı eklemek için bu komutu kullanırız.

-D , –delete   :Berirtilen chain’deki kuralı silmek için kullanılır.

-L , –list   :Belirtilen chain’deki kuralları listelemek için kullanılır.

-F , –flush   :Belirtilen chain içindeki kuralların tamamını siler.

-N , –new-chain  :Yeni bir chain oluşturmak için kullanılır.

-X , –delete-chain   :Belirtilen chain’i silmek için kullanılır.

Yukarıda en çok kullanılan komutlar. Daha fazlası için komut satırına aşağıdaki komutları yazarak ulaşabilirsiniz.

man iptables ya da iptables  -h

 

Parametreler: 

-p , –protocol   : Protokol. TCP, UDP gibi.

-s , –source     : Kaynak. Hostname, ip adresi , network  adı vb verilmeli

-d , –destination : Hedef. Hostname ,ip adresi, network adı  vb verilmeli

-j , –jump         : Kuralın target’ını belirtirken kullanılır.

-g , –goto chain : İşlemin kullanıcı tarafından belirtilen bir chain’de devam edeceğini belirtir.

-i , –in-interface : Paketlerin alındığı arayüz ismi verilir. Örneğin:eth0

-o , –out-interface : Bir paketin gönderildiği arayüzün ismi verilir. Örneğin; ens160

Daha fazlası için yine aynı şekilde man iptables ‘tan bakabilirsiniz.

Kullanımı:

iptables –table [table] [chain_komut] [chain] [kural]

 

Basit bir kural oluşturalım.

iptables -A INPUT -j DROP

 

Yukarıdaki kurala göre ;

Kuralın , INPUT chain’de yazılması ve işlemesi gerekiyor. Gelen bir trafik için bir işlem yapılacağını belirtiyor.

-A diyerek INPUT chain’de yer alan kuralların sonuna bu kuralı eklemiş oluyoruz.

-j DROP diyerek gelen paketi çöpe at, engelle ve mesaj gönderme diyoruz.

Tam anlamı ise gelen trafiği engelleyen bir kural oluşturmuş oluyoruz.

**Yukarıdaki kuralda dikkat etmeniz gereken nokta ,table’ın belirtilmemiş olması. Eğer kuralda yazmıyorsa default olarak Filter Table için geçerlidir.

**Yukarıdaki gibi trafik engelleyen bir kural girildiğinde , aynı kuralın izin veren halini yazsanız bile öncelik olarak engellenen komutu dikkate alacaktır. Bu sebeple en son engelleme kuralını yazmanızı tavsiye ederim.

**Son olarak yazığınız kurallardan sonra aşağıdaki komutu çalıştırmayı unutmayın.

service iptables save

 

Click to comment

You must be logged in to post a comment Login

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

popüler yazılar

To Top
%d blogcu bunu beğendi: