
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.
iptables servisinin aktif olup olmadığını kontrol edelim:
Eğer servis çalışmıyorsa başlatabilirsiniz:
Bu komut mevcut kuralları listeler.
Bu komutlarla:
Eğer SSH için varsayılan portu değiştirdiyseniz (örneğin, 2222), şu komutu kullanabilirsiniz:
Belli bir IP bloğuna izin vermek için:
Bu kural, her dakika en fazla 3 bağlantıya izin verir ve saldırılara karşı koruma sağlar.
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.
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:
BASH
sudo apt update && sudo apt install iptables -y # Debian/Ubuntu
sudo yum install iptables-services -y # CentOS/RHEL
BASH
sudo systemctl status iptables
BASH
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).
BASH
sudo iptables -L -v
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:
BASH
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
- ✅ 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:
BASH
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
BASH
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:
BASH
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
BASH
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:
BASH
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:
BASH
sudo iptables -A INPUT -p tcp --dport 22 -m limit --limit 3/min --limit-burst 5 -j ACCEPT
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:
BASH
sudo iptables-save > /etc/iptables/rules.v4
- 🔹 Kaydedilmiş kuralları geri yüklemek için:
BASH
sudo iptables-restore < /etc/iptables/rules.v4
- 🔹 CentOS/RHEL için:
BASH
sudo service iptables save
6. iptables Kurallarını Listeleme ve Yönetme
- ✔ Mevcut kuralları listelemek için:
BASH
sudo iptables -L -v
- ✔ Belirli bir kuralı silmek için:
BASH
sudo iptables -D INPUT -s 203.0.113.45 -j DROP
- ✔ Tüm kuralları sıfırlamak için:
BASH
sudo iptables -F
- ✔ Belirli bir zinciri sıfırlamak için:
BASH
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!
Benzer Yazılar

Nginx ve Apache Güvenliği
0 Yorumlar

Linux’ta Güncelleme ve Yama Yönetimi
0 Yorumlar
Yorumlar ()
Henüz yorum yok. İlk yorum yapan sen ol!