Header Menu

Linux Sunucularında Firewall Yapılandırması ve Güvenlik Duvarları resim

Linux Sunucularında Firewall Yapılandırması ve Güvenlik Duvarları

Linux Sunucularında Firewall Yapılandırması ve Güvenlik Duvarları
 

Linux sunucularında güvenlik duvarları (firewall), sunucunun güvenliğini sağlamak ve istenmeyen trafiği engellemek için kullanılır. Güvenlik duvarı, gelen ve giden ağ trafiğini filtreleyerek, sadece belirlenen kurallara uyan trafiğe izin verir. Bu, sunucuyu dış saldırılara karşı korumanın önemli bir parçasıdır.

Linux’ta kullanılan başlıca güvenlik duvarı yazılımları şunlardır:

  • UFW (Uncomplicated Firewall): Ubuntu gibi dağıtımlarda yaygın olarak kullanılır, kullanıcı dostu bir güvenlik duvarıdır.
  • firewalld: Red Hat, CentOS ve Fedora gibi dağıtımlarda tercih edilen modern bir güvenlik duvarı yönetim aracıdır.
  • iptables: Daha ayrıntılı ve düşük seviyeli bir güvenlik duvarı yapılandırması sunar.

Aşağıda bu güvenlik duvarlarının yapılandırılmasına dair detaylı bilgi bulabilirsiniz.

1. UFW (Uncomplicated Firewall)

UFW, özellikle Ubuntu tabanlı sistemlerde varsayılan olarak gelen basit ve kullanıcı dostu bir güvenlik duvarıdır. İleri düzey yapılandırma seçeneklerine rağmen, basit komutlarla hızlıca güvenlik sağlamak için idealdir.

UFW’yi Yükleme ve Aktifleştirme:

UFW’nin kurulu olup olmadığını kontrol edin ve gerekiyorsa yükleyin:

sudo apt install ufw

Güvenlik duvarını etkinleştirin:

sudo ufw enable

Varsayılan olarak, UFW tüm gelen bağlantıları engeller ve tüm giden bağlantılara izin verir. Bunu değiştirmek için kurallar belirleyebilirsiniz.

UFW Kuralları:

Gelen HTTP (port 80) ve HTTPS (port 443) trafiğine izin vermek:

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

SSH (port 22) bağlantısına izin vermek:

sudo ufw allow 22/tcp

Belirli bir IP adresinden gelen trafiğe izin vermek:

sudo ufw allow from 192.168.1.100

UFW durumunu görmek:

sudo ufw status

Belirli bir kuralı silmek:

sudo ufw delete allow 80/tcp

2. firewalld

 

firewalld, Red Hat, CentOS ve Fedora gibi dağıtımlarda yaygın olarak kullanılır. Dinamik bir yapıdadır ve güvenlik duvarı kurallarını yeniden başlatmadan değiştirebilir.

firewalld’yi Yükleme ve Başlatma:

firewalld’yi yükleyin:

sudo yum install firewalld  # CentOS/RHEL için
sudo systemctl start firewalld
sudo systemctl enable firewalld

firewalld Zoneleri:

firewalld, ağ arayüzlerini güvenlik seviyelerine göre farklı zonelere ayırır. Örneğin:

  • public: Genel ağlarda kullanılır, minimum güvenlik sağlar.
  • trusted: Güvenilir ağlar için tüm trafiğe izin verir.

Zone durumunu görmek için:

sudo firewall-cmd --get-active-zones

firewalld Kuralları:

HTTP ve HTTPS trafiğine izin vermek:

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload  # Değişiklikleri uygulamak için

SSH trafiğini engellemek:

sudo firewall-cmd --zone=public --remove-service=ssh --permanent
sudo firewall-cmd --reload

Belirli bir portu açmak (örneğin 8080):

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload

3. iptables

 

iptables, daha detaylı ve düşük seviyeli yapılandırma sunan bir güvenlik duvarıdır. Diğer güvenlik duvarlarına kıyasla daha esnektir ve ağ paketlerini katmanlı olarak işleyebilir.

iptables Komutları:

Tüm gelen HTTP trafiğine izin vermek:

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

Belirli bir IP’den gelen trafiği engellemek:

sudo iptables -A INPUT -s 192.168.1.100 -j DROP

Kuralları listelemek:

sudo iptables -L

Kuralları kaydetmek ve kalıcı hale getirmek:

CentOS/RedHat:

sudo service iptables save

Ubuntu/Debian:

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

iptables Zincirleri:

  • INPUT: Gelen trafiği kontrol eder.
  • OUTPUT: Giden trafiği kontrol eder.
  • FORWARD: Sunucuya ulaşmayan, yönlendirilen trafiği kontrol eder.

Güvenlik Duvarı Yapılandırma İpuçları:

  • Varsayılan Politikalar: Varsayılan olarak tüm gelen trafiği engellemek ve sadece belirli bağlantılara izin vermek daha güvenlidir.

 UFW’de:

sudo ufw default deny incoming

iptables’de:

sudo iptables -P INPUT DROP

  • SSH Güvenliği: SSH bağlantılarını güvence altına almak için yalnızca belirli IP'lere izin vermek ya da SSH portunu değiştirmek önemlidir.

  • Güvenlik Testleri: Güvenlik duvarı yapılandırmanızın etkin olup olmadığını test etmek için araçlar (nmap, netcat vb.) kullanabilirsiniz.

 

Sonuç olarak, Linux sunucularında güvenlik duvarları yapılandırmak, sunucunun dış tehditlere karşı korunmasında kritik bir adımdır. Seçtiğiniz güvenlik duvarı aracına göre (UFW, firewalld veya iptables) kurallarınızı dikkatlice belirlemeli ve sadece ihtiyaç duyulan trafiğe izin vermelisiniz. 

22 Görüntüleme