29 Ekim 2026 - 03:12
Linux’ta Güvenlik Duvarı (iptables ve firewalld) Kullanımı Görseli
Linux

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

0 Yorumlar

Uzaktaki bir Linux sunucusunda güvenlik duvarını düzenlerken ilk hedef yeni kuralı eklemek değil, yönetim erişimini kaybetmemektir. Mevcut SSH oturumunu açık tutun; sağlayıcı konsolu gibi bağımsız bir erişim yolunun çalıştığını doğrulamadan varsayılan politikayı değiştirmeyin.

Kuralları hangi araç yönetiyor?

iptables, nftables, firewalld ve UFW adlarını aynı sunucuda görmek, hepsini ayrı ayrı yapılandırmanız gerektiği anlamına gelmez. Önce dağıtımın ve mevcut kurulumun kullandığı yöneticiyi belirleyin. Aşağıdaki komutlar inceleme içindir; eksik komut veya pasif servis tek başına “güvenlik duvarı yok” kanıtı değildir.

BASH
systemctl is-active firewalld
sudo firewall-cmd --state
sudo firewall-cmd --get-active-zones
sudo iptables --version
sudo nft list ruleset

iptables çıktısındaki nf_tables, komutun nftables altyapısını kullandığını gösterebilir. Bu yüzden firewalld'ı her sistemde iptables üzerine çalışan bir arayüz diye tanımlamak doğru değildir. Yönetici araç çalışıyorsa onun ürettiği kuralları başka araçla değiştirmek, sonraki yeniden yüklemede değişikliğin kaybolmasına veya çakışmasına yol açabilir.

firewalld ile sınırlı bir HTTPS denemesi

Bu örnek, zaten firewalld tarafından yönetilen bir sunucu içindir. UFW kullanan sistemde sırf örneği uygulamak için firewalld başlatmayın. public örnek bölgedir; önce gerçek ağ arayüzünün veya kaynak adresinin bağlı olduğu bölgeyi bulun. Web hizmetinizin gerçekten 443 üzerinde dinlediğini de kontrol edin.

BASH
sudo firewall-cmd --zone=public --list-all
sudo firewall-cmd --permanent --zone=public --list-all
sudo firewall-cmd --info-service=https
sudo firewall-cmd --zone=public --query-service=https
sudo ss -lntp

Başlangıç durumunu bakım kaydına alın. Hizmet zaten açıksa bu örneğin geri alma adımını uygulamayın. Henüz açık olmayan HTTPS hizmetini geçici olarak eklemek için:

BASH
sudo firewall-cmd --zone=public --add-service=https --timeout=10m
sudo firewall-cmd --zone=public --query-service=https

Bu işlem on dakikalık bir çalışma zamanı kuralıdır; kalıcı ayar değildir. Ayrı bir istemciden yeni HTTPS bağlantısı kurun. Sunucunun kendisinden yapılan istek, dışarıdan erişim yolunu sınamaz. Gerekliyse hem IPv4 hem IPv6 adresini kontrol edin.

Çalışma zamanı ve kalıcı ayarı ayrı kontrol edin

Deneme başarılıysa ve hizmetin sürekli açık kalması isteniyorsa kalıcı yapılandırmaya ekleyebilirsiniz:

BASH
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --permanent --zone=public --query-service=https

Kalıcı ekleme, geçici kuralın süresini uzatmaz. Kalıcı ayarın çalışma zamanına alınması için yapılacak --reload öncesinde iki yapılandırmanın tamamını karşılaştırın: başka geçici kurallar kaybolabilir. Yönetim erişiminin kalıcı yapılandırmada da bulunduğunu doğrulayın ve yeniden yüklemeyi kontrollü bakım adımı olarak yapın. Sonrasında yeni SSH ve HTTPS bağlantılarını tekrar sınayın.

Vazgeçerseniz yalnızca bu denemede eklediğiniz hizmeti kaldırın. Kalıcı ekleme yaptıysanız iki taraftan da kaldırmanız gerekir; önceden var olan bir HTTPS iznini silmeyin.

BASH
sudo firewall-cmd --zone=public --remove-service=https
sudo firewall-cmd --permanent --zone=public --remove-service=https

iptables ile inceleme, kural silmek değildir

BASH
sudo iptables -S
sudo ip6tables -S
sudo iptables -L INPUT -n -v --line-numbers
sudo iptables-save

Bunlar mevcut durumu okumaya yardımcı olur. iptables -F ile bütün kuralları temizlemek veya gelişigüzel INPUT DROP politikası koymak bir başlangıç kurulumu değildir. Mevcut bağlantılar, loopback, SSH portu ve IPv6 hesaba katılmadan yapılan değişiklik erişimi kesebilir. Kuralların yeniden başlatmada nasıl yüklendiği dağıtıma ve kullanılan yöneticiye bağlıdır; tek bir dosya yolu her sistem için geçerli değildir.

HTTPS hala ulaşılmıyorsa bulut güvenlik grubu, yönlendirme, uygulamanın dinlediği adres ve konteyner ağını inceleyin. Bir hizmet eklemiş olmak diğer bütün trafiğin kapalı olduğunu kanıtlamaz. Komut ayrıntıları için firewall-cmd başvurusunu kullanın.

Benzer Yazılar

Yorumlar (0)

Henüz yorum yok. İlk yorum yapan sen ol!

Yorum Yap