Linux sunucularında firewall yapılandırması, sistem güvenliğinin temel taşlarından biridir.
Linux sunucularında firewall yapılandırması, sistem güvenliğinin temel taşlarından biridir. Ağ trafiğini filtreleyerek yetkisiz erişimleri engelleyen firewall’lar, sunucunuzu DDoS saldırıları, port taramaları ve kötü niyetli bağlantılardan korur. Bu rehberde, Ubuntu tabanlı sistemler için UFW ve CentOS/RHEL tabanlı sistemler için firewalld araçlarını ele alacağız. Adım adım talimatlarla, kurumsal ortamlara uygun pratik yapılandırmaları inceleyeceğiz. Firewall kurulumundan test aşamasına kadar her detayı kapsayarak, sunucunuzu güvenli hale getirmenize yardımcı olacağız.
UFW (Uncomplicated Firewall), Ubuntu ve Debian tabanlı Linux dağıtımlarında varsayılan olarak bulunur ve iptables’i basit bir arayüzle yönetir. Kurumsal sunucularda tercih edilmesinin nedeni, komut satırından kolay yönetilebilir olmasıdır. Öncelikle UFW’yi etkinleştirmek için terminalde sudo ufw enable komutunu çalıştırın. Bu komut, firewall’u başlatır ve yeniden başlatmalarda otomatik yüklenmesini sağlar.
Standart kurulumda SSH erişimini korumak için 22 numaralı TCP portunu açın: sudo ufw allow 22/tcp. HTTP trafiği için sudo ufw allow 80/tcp ve HTTPS için sudo ufw allow 443/tcp ekleyin. Kurumsal uygulamalar için belirli IP aralıklarını kısıtlayın, örneğin sadece şirket ağına izin verin: sudo ufw allow from 192.168.1.0/24 to any port 22. Durumu kontrol etmek üzere sudo ufw status verbose komutunu kullanın; bu, aktif kuralları ve log ayarlarını gösterir. Loglamayı etkinleştirmek için sudo ufw logging on ile /var/log/ufw.log dosyasını takip edin. Bu adımlar, sunucunuzu yalnızca gerekli trafiğe açar ve gereksiz portları kapatır, böylece saldırı yüzeyini minimize eder.
sudo ufw default deny incoming.sudo ufw default allow outgoing.sudo ufw reset (dikkatli kullanın).Bu yapılandırma ile UFW, 100’den fazla kuralı yönetebilir ve dinamik güncellemeleri destekler, kurumsal ölçekte idealdir.
Firewalld, Red Hat Enterprise Linux (RHEL), CentOS ve Fedora’da varsayılan firewall aracıdır. Zone tabanlı yapısı sayesinde, farklı ağ arayüzlerini ayrı güvenlik seviyelerine ayırır. Kurulum için sudo dnf install firewalld (veya yum) çalıştırın, ardından sudo systemctl start firewalld ve sudo systemctl enable firewalld ile kalıcı hale getirin. Public zone’u varsayılan olarak kullanın; bu, internete açık sunucular için uygundur.
Servis bazlı kurallar ekleyin: SSH için sudo firewall-cmd --permanent --add-service=ssh, ardından sudo firewall-cmd --reload. HTTP/HTTPS servislerini açmak için sudo firewall-cmd --permanent --add-service=http ve --add-service=https. Belirli portlar için sudo firewall-cmd --permanent --add-port=3306/tcp (MySQL gibi). IP kısıtlaması için sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22" accept'. Durumu görüntülemek için sudo firewall-cmd --list-all-zones kullanın. Firewalld’ın runtime ve permanent modları, değişiklikleri anında veya kalıcı uygular, kesintisiz yönetim sağlar.
Zone’lar, ağ arayüzlerini gruplayarak esneklik sağlar. Örneğin, internal zone için sudo firewall-cmd --permanent --zone=internal --add-interface=eth1. Her zone’un kendi kurallarını tanımlayın: sudo firewall-cmd --zone=public --add-service=dns. Bu, DMZ ve iç ağ ayrımını kurumsal standartlara uyarlar. Zone listesini sudo firewall-cmd --get-zones ile görün ve aktif zone’u sudo firewall-cmd --get-active-zones ile kontrol edin. Bu yaklaşım, 10’dan fazla zone ile karmaşık ağ topolojilerini yönetir.
Masquerading ile NAT desteği ekleyin: sudo firewall-cmd --zone=external --add-masquerade. Kurumsal VPN’ler için IPsec servislerini etkinleştirin: sudo firewall-cmd --permanent --add-service=ipsec. Port forwarding örneği: sudo firewall-cmd --permanent --add-forward-port=port=8080:proto=tcp:toport=80:toaddr=192.168.1.100. Bu kurallar, trafiği yönlendirerek load balancer’larda kullanılır ve güvenlik duvarını güçlendirir.
Firewall yapılandırmasını doğrulamak için nmap gibi araçlar kullanın: nmap -p 1-65535 localhost ile açık portları tarayın. Telnet veya nc ile bağlantı test edin: nc -zv sunucu_ip 22. Logları düzenli inceleyin; UFW için tail -f /var/log/ufw.log, firewalld için journalctl -u firewalld. Kurumsal ortamda, haftalık audit yapın ve otomatik yedekleme ekleyin: sudo cp /etc/ufw/ufw.conf /backup/.
En iyi uygulamalar arasında, yalnızca ihtiyaç duyulan portları açmak, rate limiting uygulamak ve fail2ban entegrasyonu yer alır. Örneğin, UFW’de sudo ufw limit 22/tcp ile brute-force saldırılarını sınırlayın. Firewalld’da rich rules ile geo-IP bloklama ekleyin. Düzenli güncellemelerle (sudo apt update && sudo apt upgrade veya dnf equivalent), güvenlik yamalarını uygulayın. Bu adımlar, sunucunuzun dayanıklılığını artırır ve uyumluluk standartlarını (örneğin PCI-DSS) karşılar.
Firewall yapılandırması, Linux sunucularınızın güvenliğinin vazgeçilmez parçasıdır. Bu rehberdeki adımları uygulayarak, trafiğinizi etkili yönetebilir ve olası tehditleri önleyebilirsiniz. Düzenli bakım ve izleme ile kurumsal seviye koruma sağlayın, sunucularınızı geleceğe hazır hale getirin.