Firewalld ile Güvenlik Duvarı Yapılandırma-1
FirewallD Nedir ?
Sistemlerimize gelen ve giden ağ trafiğini izleme ve filtrelemesine güvenlik duvarı (firewall) denir. Yerel cihazımızda sistemin güvenlik duvarını dinamik olarak ve D-Bus arayüzü ile konfigürasyonları kolayca yönetimini sağlayan güvenlik duvarı yönetim aracına firewalld denir.
Firewalld’ de ağ trafiği yönetiminde kolaylık sağlaması için zone ve service kullanmaktadır. Firewall (güvenlik duvarı) üzerinde yapılan değişikliklerde servis yeniden başlatılmadan yapılması en önemli avantajlardandır.
![](https://demironur.com/wp-content/uploads/2022/03/firewalld-1024x480.png)
01-GİRİŞ
Firewalld servisinin durumunu kontrol etmek isterseniz aşağıdaki komutu kullanabilirsiniz.
# systemctl status firewalld
![](https://demironur.com/wp-content/uploads/2022/03/1.png)
Alternatif kullanabileceğiniz başka bir komut ise aşağıdaki gibidir.
# firewall-cmd –stat
![](https://demironur.com/wp-content/uploads/2022/03/2.png)
Firewalld servisini başlatmak/durdurmak veya yeniden başlatmak isterseniz aşağıdaki komutları kullanabilirsiniz.
# systemctl stop firewalld
# systemctl start firewalld
# systemctl restart firewalld
Tamamen firewalld güvenlik duvarını devre dışı bırakmak isterseniz aşağıdaki komutu kullanabilirsiniz.
# systemctl disable firewalld
Firewalld güvenlik duvarını yeniden etkinleştirmek için,
# systemctl enable firewalld
02-PANİK SEÇENEĞİ
Acil durumlarda tüm ağ trafiğini engellemek isterseniz aşağıdaki komutu kullanabilirsiniz.
# firewall-cmd --panic-on
Not: SSH yaparken yaparsanız bağlantınız kopar, sizde panik olmayın 🙂
Panic modda olduğunu görmek için
# firewall-cmd –query-panic
![](https://demironur.com/wp-content/uploads/2022/03/3.png)
Kapatmak için
# firewall-cmd --panic-off
Güvenlik duvarının durumunu kontrol etmek isterseniz aşağıdaki komutu kullanmanız yeterli olacaktır.
# firewall-cmd –state
NOT : Bir ayarın kalıcı olarak ayarlanmasını istiyorsanız –permanent parametresini kullanabilirsiniz. Aksi takdirde yapılan ayarlar sistem yeniden başlatılana kadar sürecektir. Yapılan ayarların hemen aktif olmasını istiyorsanız –reload parametresini kullanabilirsiniz
03-Zone Seçenekleri
Zone tanımı, ağ bağlantıları için güven düzeyini tanımlar. Bu bağlantı yalnız bir zone’a dahil olabiliyor, ancak bir zone için birçok ağ bağlantısı kullanılabilir. Zone’ler, ağda sahip olduğunuz güven düzeyine bağlı olarak, hangi trafiğe izin verilmesi gerektiğini belirleyen, önceden tanımlanmış kural kümeleridir. Güvenlik duvarında önceden tanımlanmış Zone’ler aşağıdaki gibidir.
drop : Tüm gelen ağ paketlerini engeller. Yalnızca giden ağ bağlantıları için izin verilir.
block : Tüm gelen ağ bağlantılarını engeller ve IPv4 için icmp-host-prohibited mesajı döndürür, IPv6 için ise icmp6-adm-prohibited döndürür.
Public : Ortak kullanım için oluşturulmuş bir zone olup sadece seçili gelen bağlantılar izin verilir.
external : Sisteminiz NAT maskeleme açıkken bir yönlendirici gibi davrandığında harici ağlarda uygulanır. Yalnızca seçilmiş olup gelen bağlantılara izin verilir.
dmz : Sistem ağınızdaki diğer sistemlere sınırlı erişimi olan arındırılmış bir bölgedeki (DMZ) sistemler veya istemciler için kullanılır. Varsayılan olarak yalnızca SSH trafiğine izin verir.
work : Çalışma alanı, çalışma sistemleri veya istemciler için uygulanır. Ağdaki diğer tüm istemciler için genel bir güven düzeyi vardır ve yalnızca seçili gelen bağlantılara izin verilir.
home : Ev alanlarında kullanım için oluşturulmuş çalışma alanıdır. Tüm PC’lere güvenilir ve yalnızca seçili gelen bağlantılara izin verilir.
internal : Yalnızca, sisteminizin NAT maskelemesi etkinleştirilmiş bir yönlendirici gibi davrandığı dahili ağlarda uygulanır. Diğer bilgisayarlar güvenilirdir ve yalnızca belirli birkaç gelen bağlantıya erişim izni verilir.
trusted : Tüm ağ bağlantıları için kabul edilir. Tüm sistemlere güvenir.
Libvirt : Çekirdek tabanlı sanal makinelerin (KVM) ağların çalışma alanıdır.
Sistemde varsayılan hangi zone kullanıldığını öğrenmek isterseniz aşağıdaki komutu kullanabilirsiniz.
# firewall-cmd --get-default-zone
[root@demironur ~]# firewall-cmd --get-default-zone
public
Sistem ağ arayüzleri, zone ‘lara atanmış kaynakları ve onlar hakkında bilgi almak isterseniz aşağıdaki komut kullanılabilir.
# firewall-cmd --get-active-zones
[root@demironur ~]# firewall-cmd --get-active-zone
public
interfaces: enp0s3
Tüm kullanılabilir zone ‘ların listesini almak isterseniz aşağıdaki komutu kullanabilirsiniz.
# firewall-cmd --get-zones
[root@demironur ~]# firewall-cmd --get-zones
block dmz drop external home internal libvirt nm-shared public trusted work
Varsayılan olarak kullandığınız bir zone alanını başka bir zone ile değiştirmek isterseniz aşağıdaki komutu kullanabilirsiniz. Varsayılan zone artık work ismindeki zone olacaktır.
# firewall-cmd --set-default-zone=work
# firewall-cmd --get-default-zone
![](https://demironur.com/wp-content/uploads/2022/03/4.png)
Not : Varsayılan zone ayrıca /etc/firewalld/firewalld.conf dosyasından değiştirilebilir.
![](https://demironur.com/wp-content/uploads/2022/03/5.png)
Sistem ağ arabirimleri geçici yada kalıcı bir şekilde herhangi bir zone’a atanabilir. Geçici olarak enp0s3 ağ arabirimini internal zone’a atamak için aşağıdaki komutu kullanmanız yeterli olacaktır.
# firewall-cmd --zone=internal --change-interface=enp0s3
![](https://demironur.com/wp-content/uploads/2022/03/6.png)
Yukarıdaki komutun aynısı sadece kalıcı olarak internet zone ‘unu enp0s3 ağ arayüzüne atamak için aşağıdaki komut kullanılabilir.
# firewall-cmd --permanent --zone=internal --change-interface=enp0s3
Bir zone ‘a eklediğiniz ağ arabirimini geçici olarak kaldırmak isterseniz aşağıdaki komutu kullanabilirsiniz. Kalıcı olarak kaldırmak için –permanent parametresini ekleyebilirsiniz.
# firewall-cmd --zone=internal --remove-interface=enp0s3
Sistem enp0s3 ağ arabiriminin hangi zone ile ilişkili olduğunu öğrenmek isterseniz aşağıdaki komutu kullanabilirsiniz. Aşağıdaki çıktıda enp0s3 ağ arabiriminin internet zone ile ilişkili olduğunu görmekteyiz.
# firewall-cmd --get-zone-of-interface=enp0s3
[root@demironur ~]# firewall-cmd --get-zone-of-interface=enp0s3
internal
Belirtilen network aralığı ile ilişkili olan zone ‘ları listelemek isterseniz aşağıdaki komutu kullanabilirsiniz.
# firewall-cmd --get-zone-of-source=192.168.100.0/24
Genel geçerli zone yapılandırmasını görmek istersek aşağıdaki komutu kullanabiliriz.
# firewall-cmd --list-all
Özel bir zone yapılandırmasını görmek isterseniz zone ismini –zone=zone_ismi parametresini kullanabilirsiniz.
# firewall-cmd --list-all --zone=dmz
Kalıcı olarak bir zone oluşturmak isterseniz aşağıdaki komutu kullanabilirsiniz. Örneğin, deneme adlı bir zone oluşturmak için,
# firewall-cmd --permanent --new-zone=deneme
# firewall-cmd –reload
![](https://demironur.com/wp-content/uploads/2022/03/7.png)
Tamamen bir zone silmek isterseniz aşağıdaki komutu kullanabilirsiniz. Örneğin, oluşturulmuş olduğumuz deneme adlı zone ‘u silmek için,
# firewall-cmd --permanent --delete-zone=deneme
![](https://demironur.com/wp-content/uploads/2022/03/8.png)
Önceden tanımlanmış servisleri görüntülemek istersek aşağıdaki komutu kullanabiliriz.
# firewall-cmd --get-services
Aşağıdaki komut tüm zone ‘ların etkin listesini ve onlar hakkında detaylı bilgi verir.
# firewall-cmd --list-all-zones
![](https://demironur.com/wp-content/uploads/2022/03/9.png)
Yukarıda güvenlik duvarını firewalld ile yapılandırmanın bir kısmını (Servislerin durumu, kapat, aç, zone, panik modu) basitçe paylaşımını yapmaya çalıştım.
Vakit ayırıp yazımı okuduğunuz için teşekkür ederim.
Başka yazımda görüşmek dileğiyle…