"Enter"a basıp içeriğe geçin

CentOS/Ubuntu üzerine Firewalld Kurulumu

Firewalld (güvenlik duvarı), bir sistemin güvenlik duvarını ağ (veya güvenlik duvarı) trafiğini destekleyerek dinamik olarak yönetmek için iptables hizmetine bir alternatiftir ve yapılandırmaları yönetmek için bir D-Bus arayüzü sağlar. Kullanımı ve yapılandırması kolaydır ve artık RHEL / CentOS, Fedora ve diğer birçok Linux dağıtımında varsayılan güvenlik duvarı yönetim aracıdır.

Firewalld Hakkında Temel Bilgiler

Güvenlik duvarı üç katmandan oluşur, bunlar:

  • Core Layer: yapılandırma ve arka uçların işlenmesinden sorumludur (aşağıda listelenmiştir).
  • D-Bus Interface: güvenlik duvarı yapılandırmasını değiştirmenin ve oluşturmanın birincil yolu.
  • Backends: netfilter (güvenlik duvarı için kullanılan yerel çekirdek modülü) ile etkileşim için. İptables, ip6tables, ebtables, ipset, nft, linnftables; ağ yöneticisi; ve modüller.

Ağ bağlantılarının veya arabirimlerinin güven düzeyini tanımlayan ağ / güvenlik duvarı bölgelerini uygulayarak güvenlik duvarı kurallarını yönetir. Desteklenen diğer güvenlik duvarı özellikleri arasında hizmetler, doğrudan yapılandırma (ham iptables sözdizimini doğrudan iletmek için kullanılır), IPSet’ler ve ICMP türleri bulunur.

Firewalld tarafından iki tür yapılandırma ortamı desteklenir:

  • Yalnızca makine yeniden başlatılıncaya veya güvenlik duvarı hizmeti yeniden başlatılıncaya kadar etkili olan çalışma zamanı yapılandırması
  • kaydedilen ve ısrarla çalışan kalıcı konfigürasyon.

Güvenlik duvarı-cmd komut satırı aracı, çalışma zamanını ve kalıcı yapılandırmayı yönetmek için kullanılır. Alternatif olarak, arka plan programı ile etkileşim kurmak için güvenlik duvarı-yapılandırma grafik kullanıcı arabirimi (GUI) yapılandırma aracını kullanabilirsiniz.

Ek olarak, firewalld, diğer yerel hizmetler veya uygulamalar için, kök ayrıcalıklarıyla çalışıyorlarsa, güvenlik duvarı kurallarında doğrudan değişiklik talep etmeleri için iyi tanımlanmış bir arayüz sunar.

Firewalld için genel yapılandırma dosyası /etc/firewalld/firewalld.conf adresinde bulunur ve güvenlik duvarı özellikleri XML biçiminde yapılandırılır.

Önemli Güvenlik Duvarı Özelliklerini Anlama

Güvenlik duvarının temel özelliği ağ / güvenlik duvarı bölgeleridir. Diğer her özellik bir bölgeye sınırlıdır. Güvenlik duvarı bölgesi, bir bağlantı, arayüz veya kaynak adresi bağlama için güven düzeyini tanımlar.

Varsayılan yapılandırma, güvenilmeyenden güvenilene kadar bölgelerin varsayılan güven düzeyine göre sıralanmış bir dizi önceden tanımlanmış bölgeyle birlikte gelir: bırakma, engelleme, genel, harici, dmz, iş, ev, dahili ve güvenilir. / Usr / lib / firewalld / zones dizini altında saklanan dosyalarda tanımlanırlar.

CLI istemcisini kullanarak özel bölgelerinizi yapılandırabilir veya ekleyebilir veya mevcut dosyalardan / etc / firewalld / zones içinde bir bölge dosyası oluşturabilir veya kopyalayabilir ve düzenleyebilirsiniz.

Güvenlik duvarı altında bir diğer önemli kavram hizmetlerdir. Bir hizmet, bağlantı noktaları ve protokoller kullanılarak tanımlanır; bu tanımlar, bir web sunucusu veya uzaktan erişim hizmeti gibi belirli bir ağ hizmetini temsil eder. Hizmetler, / usr / lib / firewalld / services / veya / etc / firewalld / services / dizini altında depolanan dosyalarda tanımlanır.

Temel iptables / ip6tables / ebtables kavramlarını biliyorsanız, güvenlik duvarına doğrudan erişim sağlamak için doğrudan arabirimi (veya yapılandırmayı) da kullanabilirsiniz. Ancak, herhangi bir iptables bilgisi olmayanlar için, IPv4 ve IPv6 için daha karmaşık güvenlik duvarı kuralları oluşturmak için zengin dili kullanabilirsiniz.

Linux’ta Firewalld Paketi Nasıl Kurulur

CentOS 7’de, firewalld paketi önceden yüklenmiş olarak gelir ve aşağıdaki komutu kullanarak doğrulayabilirsiniz.

rpm -qa firewalld

Ubuntu 16.04 ve 18.04’te, gösterildiği gibi varsayılan paket yöneticisini kullanarak kurabilirsiniz.

sudo apt install firewalld

Linux’ta Firewalld Servisi Nasıl Yönetilir

Firewalld, systemctl komutu ile yönetilebilen normal bir systemd hizmetidir.

sudo systemctl start firewalld	#start the service for the mean time
sudo systemctl enable firewalld	#enable the service to auto-start at boot time
sudo systemctl status firewalld	#view service status

Firewalld hizmetini başlattıktan sonra, firewall-cmd aracını kullanarak daemon’un çalışıp çalışmadığını kontrol edebilirsiniz (aktif değilse, bu komut “çalışmıyor” sonucunu verecektir).

sudo firewall-cmd --state

Herhangi bir değişikliği kalıcı olarak kaydederseniz, güvenlik duvarını yeniden başlatabiliriz. Bu, güvenlik duvarı kurallarını yeniden yükleyecek ve durum bilgilerini saklayacaktır. Mevcut kalıcı konfigürasyon, yeni çalışma zamanı konfigürasyonu olacaktır.

sudo firewall-cmd --reload
Firewalld'de Güvenlik Duvarı Bölgeleri ile Nasıl Çalışılır

Mevcut tüm güvenlik duvarı bölgelerinin ve hizmetlerinin bir listesini almak için bu komutları çalıştırın.

sudo firewall-cmd --get-zones
sudo firewall-cmd --get-services

Default zone, açıkça başka bir bölgeye sınırlandırılmamış her güvenlik duvarı özelliği için kullanılan bölgedir. Ağ bağlantıları ve arayüzler için varsayılan bölge setini çalıştırarak elde edebilirsiniz.

sudo firewall-cmd --get-default-zone

default zone, örneğin harici olarak ayarlamak için aşağıdaki komutu kullanın. –Permanent seçeneğinin eklenmesinin yapılandırmayı kalıcı olarak ayarladığını (veya kalıcı yapılandırma ortamından bilgilerin sorgulanmasını sağladığını) unutmayın.

sudo firewall-cmd --set-default-zone=external
ya da
sudo firewall-cmd --set-default-zone=external --permanent
sudo firewall-cmd --reload 

Şimdi, bir bölgeye nasıl arayüz ekleneceğine bakalım. Bu örnek, kablosuz ağ bağdaştırıcınızı (wlp1s0) home zone kullanılan home zone nasıl ekleyeceğinizi gösterir.

sudo firewall-cmd --zone=home --add-interface=wlp1s0

Bir arayüz yalnızca tek bir bölgeye eklenebilir. Onu başka bir bölgeye taşımak için, –change-interface anahtarını gösterildiği gibi kullanın veya –remove-interface anahtarını kullanarak önceki bölgeden kaldırın, ardından onu yeni bölgeye ekleyin.

Genel bir WI-FI ağına bağlanmak istediğinizi varsayarak, kablosuz arayüzünüzü aşağıdaki gibi genel bölgeye geri taşımalısınız:

sudo firewall-cmd --zone=public --add-interface=wlp1s0
sudo firewall-cmd --zone=public --change-interface=wlp1s0

Aynı anda birçok bölgeyi kullanabilirsiniz. Arayüzler, hizmetler, bağlantı noktaları, protokoller gibi etkinleştirilmiş özelliklere sahip tüm aktif bölgelerin bir listesini almak için şunu çalıştırın:

sudo firewall-cmd --get-active-zones

Önceki nokta ile ilgili olarak, Belirli bir bölge hakkında, yani içine eklenen veya etkinleştirilen her şey hakkında daha fazla bilgi edinmek istiyorsanız, şu komutlardan birini kullanın:

$ sudo firewall-cmd --zone=home --list-all
ya da 
$ sudo firewall-cmd --info-zone public

Diğer bir kullanışlı seçenek de, size kalıcı bir bölgenin hedefini gösteren –get-target’tır. Hedef şunlardan biridir: varsayılan, ACCEOT, DROP, REJECT. Çeşitli bölgelerin hedefini kontrol edebilirsiniz:

 sudo firewall-cmd --permanent --zone=public --get-target  
 sudo firewall-cmd --permanent --zone=block --get-target  
 sudo firewall-cmd --permanent --zone=dmz --get-target  
 sudo firewall-cmd --permanent --zone=external --get-target
 sudo firewall-cmd --permanent --zone=drop --get-target

Firewalld’de Bağlantı Noktaları Nasıl Açılır ve Engellenir

Güvenlik duvarında bir bağlantı noktası (veya bağlantı noktası / protokol kombinasyonu) açmak için, bunu –add-port seçeneğiyle bir bölgeye eklemeniz yeterlidir. Bölgeyi açıkça belirtmezseniz, varsayılan bölgede etkinleştirilecektir.

Aşağıdaki örnek, sırasıyla HTTP ve HTTPS protokolleri aracılığıyla gelen web trafiğine izin vermek için bağlantı noktası 80 ve 443’ün nasıl ekleneceğini gösterir:

sudo firewall-cmd --zone=public --permanent --add-port=80/tcp --add-port=443/tcp

Ardından, güvenlik duvarını yeniden yükleyin ve genel bölgede etkinleştirilmiş özellikleri bir kez daha kontrol edin, yeni eklenen bağlantı noktalarını görebilmelisiniz.

sudo firewall-cmd --reload
sudo firewall-cmd --info-zone public

Güvenlik duvarında bir bağlantı noktasını engellemek veya kapatmak da aynı derecede kolaydır; –remove-port seçeneğiyle bağlantı noktasını bir bölgeden kaldırmanız yeterlidir. Örneğin, halka açık alanda 80 ve 443 numaralı bağlantı noktalarını kapatmak için.

sudo firewall-cmd --zone=public --permanent --remove-port=80/tcp --remove-port=443/tcp

Bağlantı noktası veya bağlantı noktası / protokol kombinasyonu kullanmak yerine, bir bağlantı noktasının atandığı hizmet adını bir sonraki bölümde açıklandığı gibi kullanabilirsiniz.

Firewalld’de Hizmetler Nasıl Açılır ve Engellenir

Güvenlik duvarında bir hizmeti açmak için –add-service seçeneğini kullanarak etkinleştirin. Bölge ihmal edilirse, varsayılan bölge kullanılacaktır.

Aşağıdaki komut http hizmetini genel bölgede kalıcı olarak etkinleştirecektir.

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

–Remove-service seçeneği bir hizmeti devre dışı bırakmak için kullanılabilir

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

Firewalld Kullanarak Disable IP Masquerading Nasıl Etkinleştirilir ve Devre Dışı Bırakılır

IP Masquerading (IPMASQ veya MASQ olarak da bilinir), bir ağdaki ana bilgisayarlarınızın Linux sunucunuzun (IPMASQ ağ geçidi) atanmış genel IP’yi kullanarak İnternet ile iletişim kurmasına izin veren Linux ağında bir NAT (Ağ Adresi Çevirisi) mekanizmasıdır.

Bu bire çok bir eşlemedir. Görünmez ana bilgisayarlarınızdan gelen trafik, internetteki diğer bilgisayarlara Linux sunucunuzdan geliyormuş gibi görünecektir.

IP maskelemesini istediğiniz bir bölgede, örneğin halka açık bölgede etkinleştirebilirsiniz. Ancak bunu yapmadan önce, maskelemenin etkin olup olmadığını kontrol edin (“no” devre dışı olduğu ve “yes” ise aksi anlamına gelir).

sudo firewall-cmd --zone=public --query-masquerade
sudo firewall-cmd --zone=public --add-masquerade

Maskeleme için tipik bir kullanım durumu, bağlantı noktası iletimi gerçekleştirmektir. Uzak bir makineden, sshd arka plan programının 5000 numaralı bağlantı noktasında dinlediği IP 10.20.1.3 ile dahili ağınızdaki bir ana bilgisayara SSH yapmak istediğinizi varsayarsak.

Aşağıdakileri yayınlayarak Linux sunucunuzdaki 22 numaralı bağlantı noktasına tüm bağlantıları hedef ana makinenizdeki istenen bağlantı noktasına iletebilirsiniz:

sudo firewall-cmd --zone=public --add-forward-port=port=22=proto=tcp:toport=5000:toaddr=10.20.1.3

Bir bölgede maskelenmeyi devre dışı bırakmak için –remove-masquerade anahtarını kullanın.

sudo firewall-cmd --zone=public --remove-masquerade

Firewalld’de ICMP Mesajı Nasıl Etkinleştirilir ve Devre Dışı Bırakılır

ICMP (Internet Control Message Protocol) mesajları ya bilgi talepleridir ya da bilgi taleplerine verilen cevaplardır ya da hata durumundadır.

Güvenlik duvarında ICMP mesajlarını etkinleştirebilir veya devre dışı bırakabilirsiniz, ancak bundan önce desteklenen tüm icmp türlerini listeleyin.

sudo firewall-cmd --get-icmptypes

İstediğiniz bir blok türü eklemek veya kaldırmak için.

sudo firewall-cmd --zone=home --add-icmp-block=echo-reply
ya da 
sudo firewall-cmd --zone=home --remove-icmp-block=echo-reply

–List-icmp-Blocks anahtarını kullanarak bir bölgeye eklenen tüm icmp türlerini görüntüleyebilirsiniz.

sudo firewall-cmd --zone=home --list-icmp-blocks

kaynak – https://www.tecmint.com/install-configure-firewalld-in-centos-ubuntu/

Başka bir yazımızda görüşmek üzere,

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.