Konular

Iptables Örnekleri

Iptables kullanımı hakkında güzel örneklerin olduğu bir site

Iptables Örnekleri

Iptables komutunun kullanımda temel kavramlar şunlardır:

INPUT bilgisayarımıza gelen paketler için uygulanacak kuralları içeren zincirdir.
OUTPUT bilgisayarımızdan dışarı giden paketler için uygulanacak kuralları içeren zincirdir.
FORWARD bilgisayarımızdan geçen yönlendirilecek paketler için uygulanacak kuralları içeren zincirdir.
ACCEPT paket kabul edilir.
DROP paket engellenir ve paketi gönderen kişi paketin engellendiğinden haberdar edilmez.
REJECT paketi engeller fakat paketi gönderen kişiye paketin gönderilemediği haber edilir.
Kavramları kısaca öğrendiğimize göre gelelim iptablesda nasıl ayar yapılır. Bunu yapmak kavramları bildikten sonra oldukça kolay olacaktır. Ana komutlar şunlardır:


-A –append : Belirli bir zincirin sonuna bir kural eklemek için;

Code:
iptables -A INPUT ...
iptables -A OUTPUT ...

-D –delete : Zinciri silmek için kullanılan komut; Silme işlemi için ya zincir numarası belirtilir ya da kuralın kendisi.

Code:
iptables -D INPUT 1
iptables -D INPUT --dport 80 -j DROP

-R –replace : Mevcut zinciri değiştirmek için;

Code:
iptables -R INPUT 1 -s 192.168.0.1 -j DROP

-I — insert : Genel zincir içinde belirlenmiş bir alana bir zincir daha eklemek için;

Code:
iptables -I INPUT 1 --dport 80 -j ACCEPT

-L –list : Kuralları listeler;

Code:
iptables -L # zincirdeki tüm kuralları listeler
iptables -L INPUT # Sadece INPUT kurallarını listeler

-F –flush : Zincirdeki tüm kuralları siler;

Code:
iptables -F INPUT # INPUT zincirindeki tüm kuralları siler
iptables -F # Tüm kuralları siler

-N –new-chain : Yeni bir zincir oluşturur

Code:
iptables -N LOG_DROP

-X –delete-chain : Bir zinciri siler.

Code:
iptables -X LOG_DROP # Sadece LOG_DROP zincirini siler
iptables -X # Tüm zincirleri siler

-P –policy : Kernelin bir zincirdeki kurala karşılık hangi hareket tarzını göstermesi gerektiğini söyler ACCEPT, REJECT, DROP … ;

Code:
iptables -P INPUT DROP

! karakteri ile belirli bir kural içerinde ayrıcalık oluşturabilir; Örneğin tüm gelen tcp bağlantılarını engellemek ama 10.42.42.42 IP’ye ayrıcalık tanımak istiyoruz;

Code:
iptables -A INPUT -p tcp --source ! 10.42.42.42 -j DROP

-p –protocol : Kuralda kullanılacak protokol tipini belirtir: tcp, udp, icmp, all. Örneğin tüm icmp trafiğini engellemek için.

Code:
iptables -A INPUT -p icmp -j DROP

-s –source : Kaynak adresini belirtmek için kullanılır; Örneğin 192.168.42.42 no’lu ipden gelen tüm tcp trafiğini kabul etmek için.

Code:
iptables -A INPUT -p tcp -s 192.168.42.42 -j ACCEPT

-d –destination : Varış adresini belirler. Örneğin 10.1.0.1 no’lu ipye tcp trafiği için port yönlendirmesi yapılacaksa

Code:
iptables -A FORWARD -p tcp -d 10.1.0.1 -j ACCEPT

-i –in-interface : Belirli bir ağ arayüzünün gelen bağlantıları için belirli bir kuralı uygulama (Sadece INPUT, FORWARD ve PREROUTING). Örneğin eth0 aygıtında tüm gelen icmp trafiğini engellemek için

Code:
iptables -A INPUT -p icmp -i eth0 -j DROP

-o –out-interface : Belirli bir ağ arayüzünün giden bağlantıları için belirli bir kuralı uygulama (Sadece OUTPUT, FORWARD ve PREROUTING). Örneğin eth0 aygıtında tüm giden icmp trafiğini engellemek için

Code:
iptables -A OUTPUT -p icmp -o eth0 -j DROP

–sport –source-port : Kaynak portu ya da sıra halindeki portları [1024:2042] belirlemek için kullanılır. Birden fazla port belirtilcekse -m multiport parametresi kullanılır.

Code:
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
iptables -A INPUT -p udp --sport 80 -j DROP
iptables -A INPUT -p tcp -m multiport --sport 3128,21,1000 -j DROP
iptables -A INPUT -p tcp --sport 1024:2042 -j ACCEPT

–dport –destination-port : Sıra halindeki varış portlarını belirtmek için kullanılır. Birden fazla port belirtilcekse -m multiport parametresi kullanılır.

Code:
iptables -A OUPUT -p tcp --dport 110 -j DROP
iptables -A OUPUT -p udp --dport 110 -j DROP
iptables -A OUPUT -p tcp -m multiport --dport 110,4242,119 -j DROP
iptables -A OUPUT -p tcp --dport 4925:4633 -j ACCEPT

–mac-source : MAC adresini belirtmek için kullanılır. Örneğin 42:AA:42:AA MAC adresinden gelen tüm trafiği engellemek için

Code:
iptables -A INPUT --mac-source 42:42:AA:42:42:AA -j DROP

–state : Belirli bir paket durumunun karşılaştırması için kullanılır. (ESTABLISHED, NEW, INVALID, RELATED)

Code:
iptables -A INPUT -i eth0 -p tcp --sport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --dport 80 -m state --state ESTABLISHED -j ACCEPT

4.1. Bazı Örnekler:

(Örneklerde ağ arayüzü eth0 kabul edilmiştir.)
Ön ayarlı kuralların yüklenmesi: (Tüm ağ trafiğini engeller)

Code:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

Loopback için izin ver:

Code:
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

Web trafiğine izin ver:

Code:
iptables -A INPUT -i eth0 -p tcp -m tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp -m tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

DNS’ye izin ver:

Code:
iptables -A INPUT -i eth0 -p udp -m udp --sport 53 -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp -m udp --dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m tcp --sport 53 -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp -m tcp --dport 53 -j ACCEPT

FTP’ye izin ver:

Code:
iptables -A INPUT -i eth0 -p tcp -m tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp -m tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp -m tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT

IRC’ye izin ver:

Code:
iptables -A INPUT -i eth0 -p tcp -m tcp --sport 6667 -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp -m tcp --dport 6667 -j ACCEPT
iptables -A INPUT -i eth0 -p udp -m tcp --sport 133 -j ACCEPT # tanımlama portu
iptables -A OUTPUT -o eth0 -p udp -m tcp --dport 133 -j ACCEPT # tanımlama port

Belirli bir ip için izin ve ya da engelle:

Code:
iptables -A INPUT -s 10.123.452.36 -j ACCEPT
iptables -A INPUT -s 10.123.452.36 -j DROP

4.2. Iptables Kurallarının Belirlenmesi İçin Script Kullanma:

Size nette bulduğum firewall scriptlerinin bir derlemesini vermek istiyorum. Arzu edilirse script ek kurallarla değiştirilebilir. (Tabi biraz iptables çalışmanız gerekecektir )
İlk scriptimiz tüm firewall ayarlarımızı sıfırlamak için:
Gnomeda iseniz gnome-terminal, kdede iseniz konsole’u açıyoruz. Ben gnome-terminal üzerinden gedit ile scripti anlatıcam. Kde için gedit yerine kwrite kullanabilirsiniz.

Code:
 gedit firewall_reset.bash

Gedit sayfasına şu scripti kopyalıyoruz.

Code:
#!/bin/sh
#
# Ön tanımlı ayarlı kuralları uygula
#
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
#
# NAT tablosu için ön tanımlı ayarları uygula
#
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
#
# Tüm kuralları sil
#
iptables -F
iptables -t nat -F
#
# Tüm zincirleri sil
#
iptables -X
iptables -t nat -X
# Sonuç mesajı
echo " [Resetleme sonu]"

Sonra kaydedip çıkıyoruz ve scriptimizi executable çalıştırılabilir hale getiriyoruz.

Code:
chmod  +x  firewall_reset.bash

Ardından scriptimizi çalıştırıyoruz ve firewall ayarlarımızı resetliyoruz (eğer iptables ile oynamadıysanız zaten önayarlı olarak bu scriptin içeriği gibidir ayarlar).

Code:
sudo sh firewall_reset.bash

Mevcut ayarları kaydetmek için şu komutu girip iptables’ı tekrar başlatıyoruz (Herhangi bir sorunda bu adımları tekrar edin ve ayarları bu şekilde resetleyin).

Code:
 #Ubuntu ve türevi dağıtımlar için
sudo /etc/init.d/iptables save
sudo /etc/init.d/iptables restart
Code:
#Archlinux türevi dağıtımlar için
 sudo /etc/rc.d/iptables save
 sudo /etc/rc.d/iptables restart

Ardından firewall kuralları için gerekli scripti yazalım.
Yine gnome-terminalden şu komutları girip gedit penceresine scripti yapıştırıp kaydediyoruz ve scripti çalıştırılabilir hale getiriyoruz.

Code:
gedit firewall_settings.bash
Code:
#!/bin/bash
# Kendi ağınızdaki ipler için ayarlayın
LAN=192.168.0.1/24
# Kendi ip'nizi belirtin
OWNIP=192.168.1.2

# Tüm ayarları sil
iptables -F
iptables -X
# Ön tanımlı ayarları geri yükle. Tüm bağlantıları kabul et
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

# Yeni iki zincir oluştur
iptables -N FIREWALL
iptables -N TRUSTED

# ESTABLISHED ve RELATED gelen bağlantılara izin ver
iptables -A FIREWALL -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Loopback trafiğine izin ver
iptables -A FIREWALL -i lo -j ACCEPT

# Gönderilen tüm paketleri TRUSTED zincirine yolla
iptables -A FIREWALL -j TRUSTED

# Diğer tüm paketleri engelle
iptables -A FIREWALL -j DROP

# Tüm gelen INPUT paketleri FIREWALL zincirine yolla
iptables -A INPUT -j FIREWALL

# Tüm forward edilmiş paketleri engelle DROP, internet paylaşmadığımız farzediliyor.
iptables -A FORWARD -j DROP

# amule portları
iptables -A TRUSTED -i eth0 -p udp -m udp --dport 5349 -j ACCEPT
iptables -A TRUSTED -i eth0 -p udp -m udp --dport 5351 -j ACCEPT
iptables -A TRUSTED -i eth0 -p tcp -m tcp --dport 5348 -j ACCEPT

# bittorrent portları
iptables -A TRUSTED -i eth0 -p tcp -m tcp --dport 6881:6889 -j ACCEPT

# samba (Netbios'suz)
iptables -A TRUSTED -i eth1 -p tcp -m tcp -s $LAN --dport 445 -j ACCEPT

# Samba (Netbios)
iptables -A TRUSTED -i eth1 -p udp -m udp -s $LAN --dport 137:139 -j ACCEPT
iptables -A TRUSTED -i eth1 -p udp -m udp --sport 137:138 -j ACCEPT

# Sonuç mesajı
echo " [Iptables kuralları uygulandı] "
Code:
chmod +x firewall_settings.bash
Code:
sudo sh firewall_settings.bash
Code:
#Ubuntu ve türevi dağıtımlar için
sudo /etc/init.d/iptables save
sudo /etc/init.d/iptables restart
Code:
#Archlinux ve türevi dağıtımlar için
sudo /etc/rc.d/iptables save
sudo /etc/rc.d/iptables restart

5. Sonuç

Artık güvenlik duvarımız gayet temiz bir şekilde kullanıma hazır ve çalışıyor .
Şayet tcp için port açma ihtiyacı duyarsanız ;

Code:
iptables -A TRUSTED -i eth0 -p tcp -m tcp --dport port_numarası -j ACCEPT

udp için port açacaksanız;

Code:
iptables -A TRUSTED -i eth0 -p udp -m udp --dport port_numarası -j ACCEPT

Yeni bir iptables kuralı girdiğinizde aşağıdaki adımları tekrarlamanız gerekmektedir.

Code:
#Ubuntu ve türevi dağıtımlar için
sudo /etc/init.d/iptables save
sudo /etc/init.d/iptables restart
Code:
#Archlinux ve türevi dağıtımlar için
sudo /etc/rc.d/iptables save
sudo /etc/rc.d/iptables restart

Gördüğünüz gibi gayet kolay bir şekilde iptables yapılandırması yaparak güvenlik duvarımızı kişiselleştirebiliriz. Iptables ayarlaması için yazılmış GTK ve QT arayüzleri de mevcut. Örneğin GTK ile yazılmış firestarter kullanımı gayet kolay bir arayüzdür.

 

iptables ile belirli bir portu belirli bir ip aralığına yasaklamak için:

iptables -I FORWARD -m tcp -p tcp --dport 443 -m iprange --src-range  192.168.0.100-192.168.0.254 -j REJECT
iptables -I FORWARD -m udp -p udp --dport 443 -m iprange --src-range  192.168.0.100-192.168.0.254 -j REJECT

 

Kaynak

 

 

Yorumunuzu Ekleyin

Ipcop Kurulumu

Özellikle bir yerel ağı internet için filitrelemek istiyorsanız Ipcop aradığınız çözümlerden biri olabilir.

23,457 Okunma 1 Yorum 27/04/2011 11:07:41

Iptables Nasıl Kullanılır?

Internete bağlanan her sistem potansiyel saldiri tehlikelerine gebedir.Bir saldirgan direkt olarak veya kendini gizleyerek sisteme sızmak isteyebilir.Güncel Linux çekirdeklerinde kullanılan firewall'larin son gözdesi iptables, paket filtrelemesi yaparak erişim yetkisini belli bir seviyede tutar.Bilinmelidir ki sistem kurulmaya başladigi andan itibaren, yönetim politikasinin belirlenmeye başlamasi ve firewall'un bu politika üzerine inşası şarttır.Netfilter ( iptables ) kurulmadan önce, kullanıcının gereksiz servisleri çalıştırmaması ve gerekli olanlarda daha seçici davranması gerekir.

20,908 Okunma Henüz yorum yapılmamış 06/06/2011 09:32:30

SmoothWall Express 3.0 Kurulumu

Açık Kaynak Kodlu Firewall Projesi 3.0 Kurulum Bilgileri

20,381 Okunma Henüz yorum yapılmamış 13/10/2011 22:23:16 24/10/2014 11:50:48

Smoothwall URL Filter Kurulumu

Dosya, Kelime, Site, Url, İp bazlı erişim ve yasaklama işlemleri

20,212 Okunma Henüz yorum yapılmamış 13/08/2012 11:51:41 20/01/2014 14:37:04

Ipcop ile Ultrasurf Engellemek

Transparent modda 443 portunu squid acl leri ile engelleyemezsiniz. Iptables kullanarak kısıtlma yapabilirsiniz. Bu işi iptables ile yapabilirsiniz.

18,928 Okunma Henüz yorum yapılmamış 18/05/2011 11:57:30 24/10/2014 11:51:18

Smooth Wall İle Ağ Protolü Yasaklamak

smootwall ile ağ üzerinde kullanılan Remote access, File transfer, Email and News, Instant Messaging, Multimedia, Gaming, Web gibi protokollerden dilediğinizi yasaklayabilirsiniz.

17,421 Okunma Henüz yorum yapılmamış 10/08/2012 12:10:56 24/10/2014 12:06:40

SmoothWall Express Kullanımı

SmoothWall Express Menüleri ve Kullanımı

17,299 Okunma Henüz yorum yapılmamış 13/10/2011 13:04:34 24/01/2014 13:06:24

Icop Add On server Kurulumu

IPCop tan daha iyi verim alabilmek için addon server kurup diğer addonları (eklentileri) kurmanız gerekiyor.

17,214 Okunma Henüz yorum yapılmamış 02/05/2011 11:44:35

Smoothwall ile Transparent Olmayan Proxy Kullanmak

Genel olarak transparent proxy kullanılsada, transparent olmayan proxy daha gelişmiş içerik filitrelemesi yapmaktadır. Aynı zamanda UltraSurf gibi HTTPS üzerinden webe çıkan uygulamalarda engellenmektedir.

16,929 Okunma Henüz yorum yapılmamış 17/10/2011 12:51:44 24/10/2014 11:52:42

Cop Filter Eklentisi

İçerisinde Clamav ve Fprot virüs tarayıcıları olan ve spam maillere kadar filitreleyen bir ipcop eklentisi

16,628 Okunma Henüz yorum yapılmamış 31/05/2011 14:39:30

SmoothWall Express 3.1 Kurulumu

Açık Kaynak Kodlu Firewall Projesi SmoothWall Express 3.1 Kurulum Bilgileri

16,354 Okunma Henüz yorum yapılmamış 13/01/2014 11:29:29 20/01/2014 11:32:27

URLFilter Eklentisi

SmoothWall ve IpCop için kurul aynı sadece kaynak dosyalar farklıdır...

16,327 Okunma Henüz yorum yapılmamış 31/05/2011 15:44:45

Smootwall ile Ultrasurf Engellemek

Ultrasurf, Hotspotshild gibi https üzerinden veri çekebilen ve böylelikle web filitrelerini aşan yazılımlara karşı smoothwall ile başa çıkmanız mümkün.

14,392 Okunma Henüz yorum yapılmamış 04/04/2013 12:52:14 24/10/2014 11:54:49

smoothwall ile Web Hızını Adil Dağıtmak

Toplam internet hızınızı var olan bilgisayarlarınıza adil olarak paylaştırmak için smoowwall Download throttling ayarlarını kullanabilirsiniz.

12,857 Okunma Henüz yorum yapılmamış 24/01/2014 11:23:13 11/04/2014 11:25:07

Iptables ile Web Filitreleme

iptables ile youtube.com, facebook.com gibi bazı özel adresleri nasıl engelleyebilirsiniz?

12,652 Okunma Henüz yorum yapılmamış 20/02/2014 13:11:40 24/10/2014 11:48:37

Smoothwall Ayar Detayları

Çeşitli smoothwall sorunları için çözümler

11,839 Okunma Henüz yorum yapılmamış 11/02/2014 14:54:15 02/12/2015 14:54:34

İptables

IP Tables, güvenlik duvarı için Linux'ta kullanılan temel araçlardan birisidir. Linux'un çekirdek uzayındaki güvenlik duvarı gerçekleştirimi olan netfilter ile etkileşime giren, kullanıcı uzayında çalışan bir takım araçların bir araya gelmesinden oluşmuştur.

7,399 Okunma Henüz yorum yapılmamış 16/02/2016 00:15:15

Smoothwall 3.1 ile Ip Yasaklama

Httpsli URLleri engelemek için bu sitelerin ipsini yasaklamak yeterli.

1,550 Okunma Henüz yorum yapılmamış 05/03/2020 13:50:44 05/03/2020 13:51:17

Pfsense Squid ve SquidGuard Paketlerinin Kurulması

Makalemizin bu kısmında sizlere web filtreleme, kullanıcı bazlı kısıtlama yapabileceğimiz squid ve squidguard paketlerinin kurulumu ve yapılandırması hakkında bilgi vereceğim. Makale serimizin önceki bölümlerinde Pfsense hakkında yeteri kadar açıklama ve ön bilgi verdiğim için lafı fazla uzatmadan konun anlatımına geçmek istiyorum.

1,478 Okunma Henüz yorum yapılmamış 07/01/2020 10:56:37 07/01/2020 10:57:07

Pfsense Kurulum ve ilk Ayarlar

Sistem güvenliği ve kullanıcıların kontrol altında tutulması için piyasada bir çokfirewall ve benzeri gerek donanımsal gerekse yazılımsal olarak bir çok ürün bulunmaktadır. Pfsense ?de BSD tabanlıyazılımsal bir firewalldır. Ürününmsn yada program yasklama,web içerik filtreleme,kullanıcı kısıtlama ve vpn gibi çok kullanışlı özellikleri bulunmaktadır.

1,434 Okunma Henüz yorum yapılmamış 05/02/2020 11:17:43 06/02/2020 14:37:06

Pfsense ile Messenger Yasaklama

Pfsense konulu makalemizin serimizin bu bölümünde 5651 yasalı kanun gereği kullanıcılarımız internet log ?larının kayıt altına alınması konusunu inceleyeceğiz.

1,381 Okunma Henüz yorum yapılmamış 07/01/2020 10:53:20

Yükleniyor...