İptables Firewall Kullanımı

İptables Firewall Kullanımı

Linux sistemlerde güvenliği sağlamanın en kritik yollarından biri, iptables kullanarak gelen ve giden ağ trafiğini kontrol etmektir. iptables, paket filtreleme (packet filtering) prensibine dayanır ve sisteminize gelen, sisteminizden giden veya sisteminiz üzerinden geçen veri paketlerini belirlenen kurallar çerçevesinde yönetir.

1. iptables Nedir ve Neden Kullanılır?

iptables, Linux çekirdeğinde bulunan netfilter modülü ile çalışan bir güvenlik duvarı sistemidir. Karmaşık ve özelleştirilebilir güvenlik kuralları oluşturmayı sağlar. iptables kullanarak:

🔹 Belirli IP adreslerini ve portları engelleyebilirsiniz.
🔹 DDoS ve brute-force saldırılarına karşı güvenlik sağlayabilirsiniz.
🔹 Ağ trafiğini filtreleyerek belirli protokollere izin verebilir veya engelleyebilirsiniz.
🔹 NAT (Network Address Translation) kullanarak ağ yapılandırmalarınızı yönetebilirsiniz.

iptables, gelişmiş güvenlik duvarı kurallarına ihtiyaç duyan sistem yöneticileri ve güvenlik uzmanları için güçlü bir araçtır.

2. iptables Kurulumu ve Temel Yapılandırma

Çoğu modern Linux dağıtımında iptables varsayılan olarak gelir. Eğer sisteminizde yüklü değilse, aşağıdaki komutla yükleyebilirsiniz:

sudo apt update && sudo apt install iptables -y  # Debian/Ubuntu
sudo yum install iptables-services -y  # CentOS/RHEL

iptables servisinin aktif olup olmadığını kontrol edelim:

sudo systemctl status iptables

Eğer servis çalışmıyorsa başlatabilirsiniz:

sudo systemctl start iptables
sudo systemctl enable iptables

3. iptables Temel Kavramlar

iptables, kurallar (rules) ile çalışır ve trafiği zincirler (chains) içerisinde belirli tablolarla yönetir. Temel olarak 3 ana zincir kullanılır:

🔹 INPUT: Sisteme gelen paketleri kontrol eder.
🔹 OUTPUT: Sistemden çıkan paketleri kontrol eder.
🔹 FORWARD: Sunucu üzerinden geçen paketleri kontrol eder (örneğin, bir yönlendirici – router olarak kullanılıyorsa).

Varsayılan iptables yapılandırmasını görmek için:

sudo iptables -L -v

Bu komut mevcut kuralları listeler.

4. iptables Temel Kurallar

4.1. Varsayılan Politikaları Belirleme

Tüm gelen bağlantıları engelleyip yalnızca belirli trafiğe izin vermek için aşağıdaki komutları kullanabilirsiniz:

sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT

Bu komutlarla:
Gelen bağlantılar (INPUT) varsayılan olarak reddedilir.
İleriye yönlendirme (FORWARD) engellenir.
Giden bağlantılar (OUTPUT) serbest bırakılır.

4.2. SSH ve Web Trafiğine İzin Verme

SSH, HTTP ve HTTPS gibi temel servisleri açmak için aşağıdaki komutları kullanabilirsiniz:

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT  # SSH erişimine izin ver
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT  # HTTP erişimine izin ver
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT  # HTTPS erişimine izin ver

Eğer SSH için varsayılan portu değiştirdiyseniz (örneğin, 2222), şu komutu kullanabilirsiniz:

sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT

4.3. Belirli Bir IP Adresine veya Ağa İzin Verme

Belli bir IP adresine giriş izni vermek için:

sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT

Belli bir IP bloğuna izin vermek için:

sudo iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT

4.4. Belirli Bir IP Adresini Engelleme

Belli bir IP adresinden gelen tüm trafiği engellemek için:

sudo iptables -A INPUT -s 203.0.113.45 -j DROP

4.5. DDoS Saldırılarına Karşı Koruma

Sürekli olarak belirli bir IP’den gelen aşırı bağlantıları engellemek için aşağıdaki rate limiting kuralını kullanabilirsiniz:

sudo iptables -A INPUT -p tcp --dport 22 -m limit --limit 3/min --limit-burst 5 -j ACCEPT

Bu kural, her dakika en fazla 3 bağlantıya izin verir ve saldırılara karşı koruma sağlar.

5. iptables Kurallarını Kaydetme ve Yedekleme

iptables kuralları sistem yeniden başlatıldığında kaybolur. Kalıcı hale getirmek için şu adımları uygulayabilirsiniz:

🔹 Mevcut kuralları kaydetmek için:

sudo iptables-save > /etc/iptables/rules.v4

🔹 Kaydedilmiş kuralları geri yüklemek için:

sudo iptables-restore < /etc/iptables/rules.v4

🔹 CentOS/RHEL için:

sudo service iptables save

6. iptables Kurallarını Listeleme ve Yönetme

Mevcut kuralları listelemek için:

sudo iptables -L -v

Belirli bir kuralı silmek için:

sudo iptables -D INPUT -s 203.0.113.45 -j DROP

Tüm kuralları sıfırlamak için:

sudo iptables -F

Belirli bir zinciri sıfırlamak için:

sudo iptables -F INPUT

Özetle

iptables, Linux sistemler için son derece güçlü bir güvenlik duvarı aracıdır ve ağ trafiğini detaylı şekilde yönetme imkanı sunar. Gelişmiş filtreleme kuralları ile sunucularınızı saldırılara karşı koruyabilir, belirli servisleri güvenli hale getirebilir ve sisteminizin siber tehditlere karşı dayanıklılığını artırabilirsiniz.

💡 Unutmayın: iptables yapılandırmalarınızı düzenli olarak gözden geçirmek ve yedeklemek, olası bir güvenlik açığını önlemenize yardımcı olacaktır!

Yorum gönder

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