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.

01-GİRİŞ

Firewalld servisinin durumunu kontrol etmek isterseniz aşağıdaki komutu kullanabilirsiniz.

# systemctl status firewalld

Alternatif kullanabileceğiniz başka bir komut ise aşağıdaki gibidir.

# firewall-cmd –stat

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

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

Not : Varsayılan zone ayrıca /etc/firewalld/firewalld.conf dosyasından değiştirilebilir.

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

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

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

Ö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

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…

You may also like...

Bir yanıt yazın