Linux’ta Güvenlik Duvarı (iptables ve firewalld) Kullanımı

Linux’ta Güvenlik Duvarı (iptables ve firewalld) Kullanımı

Linux işletim sistemlerinde güvenliği sağlamak için en önemli araçlardan biri güvenlik duvarlarıdır (firewall). Linux’ta yaygın olarak kullanılan iki güvenlik duvarı yönetim sistemi iptables ve firewalld’dir. Bu yazıda, iptables ve firewalld kullanarak güvenlik duvarı yapılandırmalarını detaylı bir şekilde anlatacağım.


1. Güvenlik Duvarı Nedir ve Neden Önemlidir?

Güvenlik duvarı, yetkisiz ağ erişimlerini engelleyen bir sistemdir. Linux sunucularında güvenliği sağlamak için belirli bağlantılara izin verebilir veya engelleyebilirsiniz.

🔹 Örneğin: Bir sunucunun sadece SSH (22) ve HTTP (80) bağlantılarını kabul etmesini, diğer tüm istekleri reddetmesini sağlayabilirsiniz.

Linux’ta güvenlik duvarı yönetmek için iki ana araç bulunur:

  • iptables: Eski ama güçlü bir güvenlik duvarı yöneticisi.
  • firewalld: iptables üzerine kurulu, daha modern ve kolay bir yönetim sağlar.

2. iptables Kullanımı

iptables, ağ paketlerini filtrelemek için kullanılan güçlü bir güvenlik duvarı aracıdır.

Temel iptables Komutları

İşlem Komut
Mevcut kuralları listeleme sudo iptables -L -v -n
Tüm kuralları sıfırlama sudo iptables -F
Belirli bir portu açma (SSH – 22) sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
Belirli bir portu engelleme sudo iptables -A INPUT -p tcp --dport 23 -j DROP
Tüm gelen bağlantıları engelleme sudo iptables -P INPUT DROP

Örnek: SSH ve HTTP’yi Aç, Diğer Tüm Bağlantıları Engelle

sudo iptables -F
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 -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT

Bu komut seti: SSH (22), HTTP (80) ve HTTPS (443) izin verir. Diğer tüm bağlantıları engeller.

🔹 Kuralları kalıcı yapmak için:

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

3. firewalld Kullanımı

firewalld, iptables’e kıyasla daha esnek ve kullanıcı dostu bir güvenlik duvarı yönetim sistemidir.

Firewalld’yi Başlatma ve Kontrol Etme

sudo systemctl start firewalld
sudo systemctl enable firewalld
sudo firewall-cmd --state

Temel firewalld Komutları

İşlem Komut
Aktif bölgeleri listeleme sudo firewall-cmd --get-active-zones
Belirli bir portu açma (SSH – 22) sudo firewall-cmd --permanent --add-service=ssh
Belirli bir portu kapatma sudo firewall-cmd --permanent --remove-service=http
Mevcut kuralları listeleme sudo firewall-cmd --list-all
Firewalld’yi yeniden yükleme sudo firewall-cmd --reload

Örnek: SSH, HTTP ve HTTPS’yi Aç, Diğer Tüm Bağlantıları Engelle

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

🔹 firewalld’de kurallar kalıcıdır, --permanent parametresi ile kaydedilir.


4. Temel Güvenlik Senaryoları

Linux sistemlerinde yaygın olarak kullanılan güvenlik duvarı kurallarına birkaç örnek:

1️⃣ SSH (22) Portunu Belirli IP’lere Açmak

Eğer sadece belirli bir IP’nin SSH erişimi olmasını istiyorsanız:

📌 iptables ile:

sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP

📌 firewalld ile:

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" service name="ssh" accept'

2️⃣ Tüm Gelen Trafiği Engelle, Sadece Belirli Portları Aç

📌 iptables ile:

sudo iptables -P INPUT DROP
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

📌 firewalld ile:

sudo firewall-cmd --permanent --remove-service=all
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

5. Kalıcı Kurallar ve Otomatik Yükleme

iptables kurallarını kalıcı yapmak için:

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

firewalld’de yapılan değişiklikler kalıcıdır, ancak firewalld servisini etkin tutmanız gerekir:

sudo systemctl enable firewalld

6. Özetle;

Linux güvenliğini artırmak için iptables veya firewalld kullanarak gelen ve giden trafiği yönetmek kritik bir adımdır.

Gereksiz tüm bağlantı noktalarını kapatın.
Sadece belirli IP adreslerine izin verin.
Düzenli olarak güvenlik duvarı kurallarınızı gözden geçirin.
Güvenlik politikalarınızı düzenli olarak güncelleyin.

Bu yöntemleri kullanarak Linux sunucunuzu daha güvenli hale getirebilirsiniz!

Yorum gönder

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