Sunucu Yönetimi

Linux'ta Firewall Nasıl Yapılandırılır? UFW ve iptables Rehberi

17 görüntülenme 29.04.2026

Firewall (Güvenlik Duvarı) Neden Gereklidir?

İnternete açık bir sunucu, sürekli otomatik tarama araçları ve kötü amaçlı yazılımların hedefi haline gelir. Bu tehditlerle mücadelede güvenlik duvarı (firewall), sunucunuza gelen ve giden ağ trafiğini belirli kurallara göre filtreleyerek yetkisiz erişimi engeller. Düzgün yapılandırılmış bir firewall; brute-force saldırılarını, port taramalarını ve yetkisiz servis erişimlerini engelleyerek sunucunuzun güvenliğini önemli ölçüde artırır.

Linux sunucularda firewall yönetimi için iki temel araç öne çıkar: UFW (Uncomplicated Firewall) ve iptables. UFW, iptables'ın karmaşık söz dizimini kolaylaştıran bir ön yüzdür; Ubuntu ve Debian tabanlı sistemlerde yaygın olarak kullanılır. iptables ise daha düşük seviyeli ve güçlü bir araçtır; tüm Linux dağıtımlarında mevcuttur ve gelişmiş kural tanımlamaları yapılmasına imkan tanır.

UFW ile Firewall Yapılandırması

UFW (Uncomplicated Firewall), özellikle Ubuntu ve Debian tabanlı sistemlerde en çok tercih edilen güvenlik duvarı yönetim aracıdır. Basit ve okunabilir komut yapısıyla firewall kurallarını kolayca oluşturabilir ve yönetebilirsiniz.

# UFW kurulumu (Ubuntu/Debian):
apt install ufw

# UFW'yu etkinleştirme (dikkat: SSH portunu açmadan önce etkinleştirmeyin!):
ufw allow 22/tcp      # SSH portuna izin ver
ufw allow 80/tcp      # HTTP
ufw allow 443/tcp     # HTTPS
ufw enable            # Firewall'u başlat

# Mevcut kuralları listele:
ufw status verbose

# Belirli bir IP'ye izin ver:
ufw allow from 203.0.113.10

# Belirli bir porta belirli IP'den izin ver:
ufw allow from 203.0.113.10 to any port 3306  # MySQL

# Bir portu tamamen kapat:
ufw deny 3306/tcp

UFW'yu aktifleştirmeden önce SSH portunuza mutlaka izin verin. Aksi takdirde sunucunuza SSH bağlantısı kuramaz ve erişiminizi kaybedebilirsiniz. Bu kritik noktayı asla atlamamanızı öneririz.

iptables ile Gelişmiş Firewall Kuralları

iptables, tüm Linux dağıtımlarında çalışan düşük seviyeli bir firewall aracıdır. AlmaLinux, CentOS ve RHEL tabanlı sistemlerde genellikle firewalld servisi üzerinden iptables kuralları yönetilir.

# Mevcut iptables kurallarını listele:
iptables -L -n -v

# Temel kural seti oluşturma:
# Tüm gelen trafiği engelle
iptables -P INPUT DROP
# Tüm iletilen trafiği engelle
iptables -P FORWARD DROP
# Giden trafiğe izin ver
iptables -P OUTPUT ACCEPT

# Loopback'e izin ver
iptables -A INPUT -i lo -j ACCEPT

# Kurulu bağlantılara izin ver
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# SSH, HTTP, HTTPS portlarına izin ver
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# Kuralları kaydet (AlmaLinux/CentOS):
service iptables save

firewalld ile Kural Yönetimi (AlmaLinux/CentOS)

AlmaLinux ve CentOS tabanlı sistemlerde iptables yerine firewalld servisi varsayılan olarak kullanılır. firewalld, zone tabanlı bir yapıyla daha esnek kural yönetimi sunar.

# firewalld durumunu kontrol et:
systemctl status firewalld

# Mevcut kuralları listele:
firewall-cmd --list-all

# Port açma:
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload

# Servis bazlı izin:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

# Belirli bir IP'yi engelle:
firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=203.0.113.0/24 drop"
firewall-cmd --reload

Brute-Force Saldırılarına Karşı Fail2Ban

Firewall kurallarına ek olarak Fail2Ban kullanmak, özellikle SSH brute-force saldırılarına karşı etkili bir savunma katmanı ekler. Fail2Ban, belirli sayıda başarısız giriş denemesinden sonra kaynak IP adresini otomatik olarak engeller.

# Fail2Ban kurulumu:
apt install fail2ban    # Ubuntu/Debian
yum install fail2ban    # AlmaLinux/CentOS

# Servis başlatma:
systemctl enable fail2ban
systemctl start fail2ban

# SSH koruması için /etc/fail2ban/jail.local dosyası:
[sshd]
enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 5
bantime  = 3600    # 1 saat engelle

Firewall yapılandırması, sunucu güvenliğinin kritik bir bileşenidir; ancak tek başına yeterli değildir. Güncel yazılım, güçlü şifreler ve SSH anahtar doğrulaması ile birleştirildiğinde çok daha güçlü bir güvenlik katmanı oluşturur. HostingKontrol olarak sunucu güvenliği yapılandırması konusunda profesyonel destek sunmaktayız.

Bu makale işinize yaradı mı?

Paylaş: Twitter LinkedIn