LinuxYazılarYazılım Konuları

Sunucu Güvenliği: Firewalld

Sunucu Güvenliği Serisi: Firewalld: Günümüzde, sunucu güvenliği büyük önem taşımaktadır. Bir sunucunun internete bağlı olduğu durumlarda, güvenlik açıklarının ve saldırıların önlenmesi için etkin bir güvenlik duvarı gereklidir. Firewalld, Linux tabanlı sistemlerde kullanılan bir güvenlik duvarı yönetim aracıdır.

Firewalld, esnek ve kullanıcı dostu bir arayüz sunarak güvenlik politikalarını kolayca yönetmeyi sağlar. Port ve servis bazlı filtreleme, ağ trafiği yönlendirme, paketlerin izlenmesi gibi birçok güvenlik özelliği sunar.

Bu yazıda, Firewalld’nin temel kullanımı, yapılandırma adımları ve yaygın kullanılan komutları ele alacağız. Ayrıca, güvenlik politikalarının nasıl oluşturulacağı ve yönetileceği konularına da değineceğiz.

FirewallD Nedir?

Firewalld
Sunucu Güvenliği: Firewalld 1

Firewalld, Ubuntu, Debian, CentOS, RHEL ve Fedora dahil olmak üzere birçok Linux dağıtımı için bir güvenlik duvarı yönetimi yazılımıdır. Linux çekirdeği tarafından sağlanan iptables filtreleme sistemi için (eklenti) görevini görür. Protokolden bağımsızdır, yani IPv4, IPv6, ethernet köprülerini ve IP setlerini destekler.

Firewalld Nasıl Çalışır?

FirewallD, iptables zinciri ve kurallarını kullanır. Bölgeler, bilgisayarlarınızın bağlı olduğu bir ağda sahip olduğunuz güven düzeyine bağlı olarak hangi trafiğe izin verilmesi gerektiğini belirten bir dizi kurala denir. 

Önemli Firewalld Kuralları

  • public: Varsayılan bölgedir. Sisteme yeni eklenen her ağ arayüzü bu kuralı kullanır. Varsayılan olarak, sadece ağ arayüzünden gelen “ssh, mdns ve dhcpv6-client” gibi servislerinin trafiğine izin verir.
  • home: Ev ağımız için kullanabileceğimiz bir krualdır. Varsayılan olarak “ssh”,“mdns”,“samba-client” ve “dhcpv6-client” servislerinin trafiğine izin verir.
  • work: İş ağımız için kullanabileceğimiz bir kuraldır. Varsayılan olarak “ssh”,”mdns” ve “dhcpv6-client” servislerinin trafiğine izin verir.
  • dmz: Halka açık fakat ağdaki diğer kullanıcıların yetkilerinin sınırlı olduğu durumlar için tercih edebileceğimiz bir uraldır.  Varsayılan olarak sadece “ssh” servisinin trafiğine izin verir.
  • internal: İç ağdaki servislerin, birbiriyle iletişim kurmasına izin vermek için kullanabileceğimiz bir kuraldır. Varsayılan olarak “ssh”,“mdns“,“samba-client” ve “dhcpv6-client” servislerinin trafiğine izin verir.
  • external: Dış ağdaki(internet ağı) servislerle kendi servislerimizi iletişime geçirmek istediğimizde kullanabileceğimiz kuraldır. Varsayılan olarak sadece “ssh” servisinin trafiğine verir. Aynı zamanda “masquerade” açıktır.
  • trusted: Varsayılan olarak hiç bir servis, port ve kaynak tanımlı değildir. Bu bölgeye eklenen servislere ve portlara gelecek olan paketlere, aynı zamanda eklenen kaynaklardan gelecek olan paketlere izin verir.
  • block: Varsayılan olarak hiç bir servis,port ve kaynak tanımlı değildir. Bu bölgeye eklenen servislere ve portlara gelecek olan trafik, aynı zamanda bu bölgeye eklenen kaynaklardan gelecek olan trafikler engellenir.  Bu sırada karşı tarafa IPv4 için “icmp-host-prohibited” mesajı, IPv6 için ise “icmp6-adm-prohibited” otomatik mesajı gönderilir.
  • drop:  Bu bölgeye eklenen servislere ve portlara gelecek olan trafik, aynı zamanda bu bölgeye eklenen kaynaklardan gelecek olan trafik engellenir.  Bu seçenekte ise karşı tarafa otomatik mesaj gönderilmez direk adı üstünde engellenir.

FirewallD Nasıl Kurulur?

Varsayılan olarak, Firewalld Linux işletim sistemlerinin çoğuna önceden yüklenmiştir. Ancak bazı işletim sistemi kurulumunun bir kısmı firewalld yi içermiyorsa, aşağıdaki komutla kurabilirsiniz:

sudo yum install firewalld        # CentOS/RHEL 8/7/6 
sudo dnf install firewalld        # Fedora and CentOS/RHEL 8 
sudo apt install firewalld        # Ubuntu and Debian  

Firewalld’yi kurduktan sonra, sistemi yeniden başlattıktan sonra başlaması için başlatmanız ve etkinleştirmeniz gerekir.

sudo systemctl start firewalld
sudo systemctl enable firewalld

FirewallD Durumunu kontrol etmek için:

systemctl status firewalld

FirewallD Varsayılan Ayarları

Varsayılan olarak public, firewalld’deki varsayılan bölgedir ve tüm ağ arayüzleri public zone ile yapılandırılmıştır. Varsayılan bölgeyi aşağıdaki komutla listeleyebilirsiniz:

firewall-cmd --get-default-zone

Çıktı:

public

Ardından, aktif tüm bölgelerin/kuralların bir listesini almak için aşağıdaki komutu yazın:

firewall-cmd --get-active-zones

Yazdıktan sonra, ekrandaki çıktı şu şekilde olmalıdır:

public
  interfaces: eth0 eth1

Firewall da Hizmetlere izin vermek veya reddetmek

Firewalld’de önceden tanımlanmış hizmetlere dayalı olarak gelen trafiğe izin verebilir ve reddedebilirsiniz.

Genel bölgedeki http hizmeti için gelen tüm trafiğe kalıcı izin vermek için aşağıdaki komutu yazın:

firewall-cmd --permanent --zone=public --add-service=http

Çıktı:

success

Genel olarak ftp hizmeti için gelen trafiğe kalıcı izin vermek için aşağıdaki komutu yazın:

firewall-cmd --permanent --zone=public --add-service=ftp

Çıktı:

success

Kalıcı olarak izin verdiğinizde sunucuyu yeniden başlatsanız bile yazdığınız kurallar yeniden başlatma ile kaybolmayacaktır.

Ardından, tüm değişiklikleri uygulamak için aşağıdaki komutu çalıştırın:

firewall-cmd --reload

Firewalld, sunucu güvenliği için etkili araçlardan biri olup, sunucunuzun ağ trafiğini kontrol etmenize ve potansiyel saldırılara karşı önlem almanıza yardımcı olur. Bu yazı rehberinde, Firewalld’nin temel kullanımı ve yapılandırması hakkında bilgi edinebilirsiniz.

Firewalld Dökümasyon sayfası için tıklayınız.

Diğer Sunucu Güvenliği (Firewall) Rehberleri:

Ubuntu UFW

İptables Nedir?

Önceki Sonraki
No Comments

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir