Firewall Yapılandırma: iptables ve ufw Rehberi
Linux sunucunuzda iptables ve ufw ile firewall yapılandırma, SSH/HTTP/HTTPS port kuralları oluşturma, kuralları kalıcı hale getirme ve test etme rehberi.
İçindekiler
Firewall Yapılandırma: iptables ve ufw Rehberi
Firewall (güvenlik duvarı), sunucunuza gelen ve giden ağ trafiğini denetleyen temel güvenlik bileşenidir. Linux sistemlerde iki popüler araç öne çıkar: düşük seviyeli ve güçlü iptables ile kullanıcı dostu ufw (Uncomplicated Firewall). Bu rehberde her ikisini de ele alacağız.
REXE sunucularında ağ seviyesinde Path Panel firewall'u aktiftir. Sunucu içi firewall, ek bir güvenlik katmanı sağlar. Her iki katmanı birlikte kullanmanız önerilir.
iptables Temelleri
iptables, Linux çekirdeğinin netfilter altyapısını yöneten komut satırı aracıdır. Paket filtreleme, NAT ve port yönlendirme gibi işlemleri gerçekleştirir.
Mevcut Kuralları Görüntüleme
# Tüm kuralları listele
sudo iptables -L -n -v
# Satır numaralarıyla listele
sudo iptables -L -n -v --line-numbers
# NAT tablosunu görüntüle
sudo iptables -t nat -L -n -v
Temel iptables Kavramları
| Kavram | Açıklama |
|---|---|
| Chain | Kural zinciri: INPUT, OUTPUT, FORWARD |
| Table | Kural tablosu: filter, nat, mangle |
| Target | Kural eylemi: ACCEPT, DROP, REJECT |
| Match | Eşleşme kriteri: port, protokol, IP |
Temel Kurallar Oluşturma
# Loopback arayüzüne izin ver
sudo iptables -A INPUT -i lo -j ACCEPT
# Mevcut bağlantılara izin ver
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# SSH portuna izin ver (port 22)
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# HTTP portuna izin ver (port 80)
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# HTTPS portuna izin ver (port 443)
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# Diğer tüm gelen trafiği engelle
sudo iptables -A INPUT -j DROP
DROP kuralını eklemeden önce SSH portuna izin verdiğinizden emin olun. Aksi takdirde sunucuya erişiminizi kaybedebilirsiniz.
Kural Silme
# Kural numarasıyla sil
sudo iptables -D INPUT 3
# Kural içeriğiyle sil
sudo iptables -D INPUT -p tcp --dport 80 -j ACCEPT
# Tüm kuralları temizle
sudo iptables -F
Belirli IP'ye İzin Verme / Engelleme
# Belirli IP'ye SSH izni ver
sudo iptables -A INPUT -s 192.168.1.100 -p tcp --dport 22 -j ACCEPT
# Belirli IP'yi tamamen engelle
sudo iptables -A INPUT -s 10.0.0.5 -j DROP
# IP aralığını engelle
sudo iptables -A INPUT -s 192.168.1.0/24 -j DROP
iptables Kurallarını Kalıcı Hale Getirme
iptables kuralları varsayılan olarak sunucu yeniden başlatıldığında kaybolur. Kalıcı hale getirmek için:
Debian/Ubuntu
# iptables-persistent kur
sudo apt install iptables-persistent -y
# Mevcut kuralları kaydet
sudo netfilter-persistent save
# Kuralları yükle
sudo netfilter-persistent reload
RHEL/CentOS/AlmaLinux
# iptables-services kur
sudo yum install iptables-services -y
# Servisi etkinleştir
sudo systemctl enable iptables
sudo systemctl start iptables
# Kuralları kaydet
sudo service iptables save
ufw ile Firewall Yönetimi
ufw, iptables'ın karmaşıklığını gizleyen kullanıcı dostu bir araçtır. Ubuntu ve Debian sistemlerde varsayılan olarak gelir.
ufw Kurulum ve Etkinleştirme
# ufw kur (genellikle zaten kurulu)
sudo apt install ufw -y
# Durumu kontrol et
sudo ufw status verbose
# Varsayılan politikaları ayarla
sudo ufw default deny incoming
sudo ufw default allow outgoing
ufw'yu etkinleştirmeden önce SSH portuna izin vermeyi unutmayın!
Temel ufw Kuralları
# SSH'a izin ver
sudo ufw allow ssh
# veya port numarasıyla:
sudo ufw allow 22/tcp
# HTTP ve HTTPS'e izin ver
sudo ufw allow http
sudo ufw allow https
# veya:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Özel port açma
sudo ufw allow 8080/tcp
# ufw'yu etkinleştir
sudo ufw enable
ufw Kural Yönetimi
# Kuralları numaralı listele
sudo ufw status numbered
# Kural sil (numara ile)
sudo ufw delete 3
# Kural sil (içerik ile)
sudo ufw delete allow 8080/tcp
# Belirli IP'ye izin ver
sudo ufw allow from 192.168.1.100
# Belirli IP'yi engelle
sudo ufw deny from 10.0.0.5
# ufw'yu devre dışı bırak
sudo ufw disable
# Tüm kuralları sıfırla
sudo ufw reset
Uygulama Profilleri
ufw, yaygın uygulamalar için hazır profiller sunar:
# Mevcut profilleri listele
sudo ufw app list
# Nginx profilini etkinleştir
sudo ufw allow 'Nginx Full'
# OpenSSH profilini etkinleştir
sudo ufw allow 'OpenSSH'
Firewall Kurallarını Test Etme
nmap ile Port Tarama
# Başka bir makineden sunucunuzu tarayın
nmap -sT -p 22,80,443 SUNUCU_IP
# Tüm portları tara
nmap -sT SUNUCU_IP
netstat / ss ile Dinlenen Portları Kontrol
# Dinlenen TCP portlarını listele
sudo ss -tlnp
# Tüm bağlantıları listele
sudo ss -tunap
# netstat ile (eski sistemler)
sudo netstat -tlnp
Bağlantı Testi
# Belirli porta bağlantı testi
telnet SUNUCU_IP 80
# nc ile test
nc -zv SUNUCU_IP 443
# curl ile HTTP testi
curl -I http://SUNUCU_IP
Güvenlik Önerileri
Firewall yapılandırmasında en az ayrıcalık ilkesini uygulayın: yalnızca ihtiyaç duyulan portları açın.
- SSH portunu değiştirin: Varsayılan 22 yerine yüksek bir port kullanın
- Rate limiting uygulayın: Brute-force saldırılarına karşı
- Fail2Ban kurun: Başarısız giriş denemelerini otomatik engelleyin
- Düzenli denetim yapın:
iptables -Lveyaufw statusile kuralları kontrol edin - Yedek alın: Kuralları dosyaya kaydedin
# iptables kurallarını dosyaya kaydet
sudo iptables-save > /etc/iptables/rules.v4
# Dosyadan yükle
sudo iptables-restore < /etc/iptables/rules.v4
Sonuç
iptables güç ve esneklik sunarken, ufw hız ve kullanım kolaylığı sağlar. Yeni başlayanlar için ufw, ileri düzey yapılandırmalar için iptables tercih edilebilir. Her iki araç da REXE sunucularınızda Path Panel firewall'uyla birlikte kullanılabilir. Firewall yapılandırmanızı düzenli olarak gözden geçirmeyi ve gereksiz açık portları kapatmayı unutmayın.
İlgili Makaleler
VDS Sunucuya SSH ile Bağlanma Rehberi (PuTTY & Terminal)
Linux VDS sunucunuza SSH ile bağlanma adımları: PuTTY, Terminal, anahtar tabanlı kimlik doğrulama, Path Panel firewall kuralı ve güvenlik ipuçları.
Windows VDS'e RDP ile Bağlanma ve Güvenlik Rehberi
Windows Server VDS sunucunuza Uzak Masaüstü (RDP) ile bağlanma adımları, NLA güvenlik ayarları, Path Panel firewall kuralı ve sorun giderme rehberi.
VDS Sunucu İşletim Sistemi Değiştirme Rehberi (Reinstall)
REXE panel üzerinden VDS sunucunuzun işletim sistemini değiştirme adımları, yedekleme önerileri, desteklenen Linux ve Windows Server sürümleri.