CentOS/RHEL sistemlerinin standart güvenlik duvarı arayüzü olan Firewalld'un yönetimi, Zone (Bölge) kavramıyla port/servis erişimlerinin kontrol edilmesi ve kuralların kalıcı hale getirilmesi.
Firewalld servisi, systemd tarafından yönetilir ve sistemin açılışında otomatik olarak çalışır durumda olmalıdır.
sudo systemctl status firewalld
sudo systemctl start firewalld
sudo systemctl stop firewalld
sudo systemctl enable firewalld
sudo firewall-cmd --get-active-zones
Firewalld'un gücü, her Zone'un farklı bir güven seviyesine sahip olması ve kuralların bu Zone'lara uygulanmasıdır.
| Zone Adı | Güven Seviyesi | Kullanım Alanı |
|---|---|---|
| **public** | Düşük | Güvenilmeyen dış ağlar (internet) için. Gelen bağlantılar engellenir. |
| **internal** | Orta | Şirket içi güvenilir LAN segmenti için. |
| **trusted** | En Yüksek | Tüm ağ trafiğine izin verilen (Güvenilir Yöneticiler) Zone. |
| **drop** | Sıfır | Gelen tüm trafiği bildirim yapmadan sessizce düşürür. |
sudo firewall-cmd --get-default-zone
sudo firewall-cmd --zone=internal --change-interface=ens192 --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --zone=internal --list-all
Firewalld'da kural eklerken, port numarası yerine önceden tanımlı servis adlarını kullanmak (Örn: `ssh`, `http`) tercih edilir.
# Önce kuralı kalıcı olarak ekle
sudo firewall-cmd --zone=public --add-service=http --permanent
# Sonra değişiklikleri aktif hale getir
sudo firewall-cmd --reload
sudo firewall-cmd --zone=public --add-port=5432/tcp --permanent
sudo firewall-cmd --reload
# Servisi kapatma
sudo firewall-cmd --zone=public --remove-service=http --permanent
sudo firewall-cmd --reload
# Portu kapatma
sudo firewall-cmd --zone=public --remove-port=5432/tcp --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --zone=public --add-source=192.168.1.50/32 --add-service=ssh --permanent
sudo firewall-cmd --reload
**Kritik:** Bu kural, güvenlik açısından Root erişimi kapatıldıktan sonra (8. Adım) mutlaka yapılmalıdır.
← ÖNCEKİ: SYSTEMD & SERVİS YÖNETİMİ | SONRAKİ: SSH & SELINUX →