Header Menu

Linux sunucularda Güvenlik Duvarı(Firewall) konfigürasyonu nasıl yapılır? resim

Linux sunucularda Güvenlik Duvarı(Firewall) konfigürasyonu nasıl yapılır?

Linux sunucularda güvenlik duvarı (firewall) konfigürasyonu genellikle aşağıdaki araçlarla yapılır:


1. ufw (Uncomplicated Firewall) – Basit ve kullanıcı dostu

Ubuntu ve türevlerinde yaygındır.

Kurulum (gerekirse):

sudo apt install ufw

 

Temel kullanım:

# Etkinleştir

sudo ufw enable

# SSH erişimini izinle (önemli!)

sudo ufw allow ssh

veya sudo ufw allow 22

# Belirli bir portu aç

sudo ufw allow 80/tcp

# Portu kapat

sudo ufw deny 21/tcp

# Durumu kontrol et

sudo ufw status verbose

# Tüm gelen bağlantıları reddet, sadece izin verilenleri al

sudo ufw default deny incoming sudo ufw default allow outgoing


2. firewalld – Dinamik yönetim aracı (RHEL/CentOS/Fedora)

Kurulum (varsa):

sudo yum install firewalld

 

Temel kullanım:

# Başlat ve etkinleştir

sudo systemctl start firewalld sudo systemctl enable firewalld

# Servis izinle (örnek: http)

sudo firewall-cmd --permanent --add-service=http

# Port izinle

sudo firewall-cmd --permanent --add-port=8080/tcp

# Değişiklikleri uygula

sudo firewall-cmd --reload

# Aktif kuralları görüntüle

sudo firewall-cmd --list-all


3. iptables – Daha gelişmiş ve ayrıntılı kontrol

Genellikle sistem düzeyinde daha esnek kontroller sağlar, ancak kullanımı daha karmaşıktır.

 

Örnek kurallar:

# Tüm bağlantıları reddet

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

# SSH'e izin ver

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

# Mevcut bağlantılara izin ver

sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Kuralları kaydet (dağıtıma göre değişir)

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

iptables yerine nftables kullanımı artık daha yaygınlaşmaktadır (özellikle Debian 10+, Ubuntu 20.04+, RHEL 8+).

 

Konfigürasyon Örneği; 

  • Sadece SSH (22), HTTP (80) ve HTTPS (443) portlarını dışarıdan erişime açık bırakmak.

  • Geri kalan tüm gelen bağlantıları reddetmek.


1. ufw Konfigürasyonu (Ubuntu/Debian)

# UFW'yi başlatmadan önce kurallar tanımlanır

sudo ufw default deny incoming sudo ufw default allow outgoing

# SSH (22), HTTP (80), HTTPS (443) izin ver

sudo ufw allow ssh sudo ufw allow 80/tcp sudo ufw allow 443/tcp

# UFW'yi etkinleştir

sudo ufw enable # Durumu kontrol et sudo ufw status verbose


2. firewalld Konfigürasyonu (CentOS/RHEL/Fedora)

# firewalld başlat ve kalıcı yap

sudo systemctl start firewalld sudo systemctl enable firewalld

# Güvenlik bölgesini kontrol et

(default: public) sudo firewall-cmd --get-default-zone

# SSH, HTTP, HTTPS servislerine izin ver (kalıcı olarak)

sudo firewall-cmd --permanent --zone=public --add-service=ssh sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https

# Gerekli değilse diğer tüm portları kapatma işlemi

sudo firewall-cmd --permanent --set-target=DROP # Ayarları yeniden yükle sudo firewall-cmd --reload

# Aktif kuralları göster

sudo firewall-cmd --list-all


3. iptables Konfigürasyonu (Tüm Linux’lar – Gelişmiş kullanıcılar için)

# Tüm politikaları sıfırla sudo

iptables -F sudo iptables -X sudo iptables -t nat -F sudo iptables -t nat -X

# Varsayılan politikaları ayarla

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

# Gelen trafiğe izin ver:

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT sudo iptables -A INPUT -i lo -j ACCEPT

# localhost erişimine izin ver

# Kuralları kaydet (Debian/Ubuntu için)

sudo sh -c "iptables-save > /etc/iptables/rules.v4"

# Kuralları kaydet

(CentOS için) sudo service iptables save

12 Görüntüleme