Bu doküman da, Debian 10 (Buster) üzerinde Firewalld’ı nasıl yükleyeceğiniz ve yapılandırılabildiğimize bakacağız. Firewalld IPv4, IPv6, Ethernet köprüleri ve ipset güvenlik duvarı ayarları desteği ile Linux güvenlik duvarı yönetim aracıdır.Firewalld, Linux çekirdeğinin netfilter çerçevesinin ön uç görevi görür.Bu Linux dağıtımları RHEL 7 ailesi için varsayılan bir güvenlik duvarı yönetim yazılımı dır ama Linux dağıtımları Debian ailesinde de kullanılabilir.

Debian 10 ‘a Güvenlik Duvarı Yükleme

Güvenlik duvarı paketi resmi Debian 10 apt depolarında mevcuttur.Yükleme, terminaldeki komutların altında, sudo ayrıcalıklarına sahip kök kullanıcı kadar hızlıdır.

sudo apt update
sudo apt -y install firewalld

Bu komutlar, Debian 10’a güvenlik duvarı yükler ve hizmeti ön yüklemeden başlatacak şekilde ayarlar.Paket ayrıntılarını aşağıdaki şekilde görebilir siniz.

$ apt policy firewalld
firewalld:
  Installed: 0.6.3-5
  Candidate: 0.6.3-5
  Version table:
 *** 0.6.3-5 500
        500 http://deb.debian.org/debian buster/main amd64 Packages
        100 /var/lib/dpkg/status

Servisin çalışma durumunda olduğunu doğrulayın

$ sudo firewall-cmd --state
 running

$ systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/lib/systemd/system/firewalld.service; enabled; vendor preset
   Active: active (running) since Sun 2019-07-07 06:35:14 EDT; 1min 33s ago
     Docs: man:firewalld(1)
 Main PID: 7955 (firewalld)
    Tasks: 2 (limit: 2319)
   Memory: 24.5M
   CGroup: /system.slice/firewalld.service
           └─7955 /usr/bin/python3 /usr/sbin/firewalld --nofork --nopid

Ufw servisi etkinleştirilmiş ise varsıyalan güvenlik duvarının firewalld olması için ufw devre dışı bırakmanız gerekmektedir.

sudo ufw disable

Debian 10’da Firewalld kullanma

Firewall paketlerimiz yüklendi ve servisimiz çalışır duruma geldi. Artık nasıl kurallar ekleyeceğimize dair bir kaç örnek yapabiliriz.

1 – Yapılandırılan tüm güvenlik duvarı kurallarını listeleme

$ sudo firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources: 
  services: dhcpv6-client ssh
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

güvenlik duvarılı hizmeti başlattığınızda sshve dhcpv6-clienthizmetlerine varsayılan olarak izin verilir.

2 – Enabled/disabled servisler listele

Aktif veya pasif hizmetlerin tam listesine ulaşmak için aşağıdaki komutu kullanabilir siniz.

sudo firewall-cmd --get-services

3 – Servise izin verme / Servis listeleri

Güvenlik duvarında bir servise izin vermek için komut aşağıdaki gibidir.

$ sudo firewall-cmd --add-service="service adı" --permanent

Aşağıdaki örnekte http servisi etkinleştirecektir.

$ sudo firewall-cmd --add-service="http" --permanent
success
$ sudo firewall-cmd --reload

Tek komutta birden fazla servis eklemek içini servisleri virgül ile ayırarak yazmanız gerekmektedir.

$ sudo firewall-cmd --add-service={http,https,smtp,imap} --permanent --zone=public
$ sudo firewall-cmd --reload

4 – TCP bağlantı noktasını aktif etme

TCP bağlantı noktasını etkinleştirmek için gerekli kural aşağıdaki gibi olması gerekmektedir.

$ sudo firewall-cmd --add-port=port/tcp --permanent
$ sudo firewall-cmd --reload

8080 ve 8443 portlarına izin vermek için aşağıdaki gibi bir kural yazmamız gerekir.

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --zone=public --add-port={8080,8443}/tcp --permanent
sudo firewall-cmd --reload

5 – Yeni zone ekleme

Yeni firewall zone oluşturmak için aşağıdaki komutu kullanabiliriz.

$ sudo firewall-cmd --new-zone=zonename --permanent

E.g

$ sudo firewall-cmd --new-zone=private --permanent
$ sudo firewall-cmd --reload

6 – Zone’da specific servis/port aktif etme

Her hangi bir zone’da servisleri aktif etmek için

sudo firewall-cmd --zone=<zone> --add-port=<port>/tcp --permanent
sudo firewall-cmd --zone=<zone> --add-port=<port>/udp --permanent
sudo firewall-cmd --zone=<zone> --add-service=<service> --permanent
sudo firewall-cmd --zone=<zone> --add-service={service1,service2,service3} --permanent

7 – interface’e zone ekleme

Birden fazla bağlantısı olan sunucular için her interface için farklı zone ekleyebilir siniz.

sudo firewall-cmd --get-zone-of-interface=eth1 --permanent
sudo firewall-cmd --zone=<zone> --add-interface=eth1 --permanent

8 – Belirli IP’den gelen isteklere izin verme

$ sudo firewall-cmd --add-rich-rule 'rule family="ipv4" service name="ssh" \
source address="192.168.0.12/32" accept' --permanent
$ sudo firewall-cmd --add-rich-rule 'rule family="ipv4" service name="ssh" \
source address="10.1.1.0/24" accept' --permanent

9 – Kuralları listele

sudo firewall-cmd --list-rich-rules

10 – Port yönlendirme

# Enable masquerading
$ sudo firewall-cmd --add-masquerade --permanent

# Port forward to a different port within same server ( 22 > 2022)
$ sudo firewall-cmd --add-forward-port=port=22:proto=tcp:toport=2022 --permanent

# Port forward to same port on a different server (local:22 > 192.168.2.10:22)
$ sudo firewall-cmd --add-forward-port=port=22:proto=tcp:toaddr=192.168.2.10 --permanent

# Port forward to different port on a different server (local:7071 > 10.50.142.37:9071)
$ sudo firewall-cmd --add-forward-port=port=7071:proto=tcp:toport=9071:toaddr=10.50.142.37 --permanent

11 – Bir portun veya servisin kaldırılması

Bir portu veya servisi güvenlik duvarından kaldırmak için, --add komutunu –-remove komutu ile değiştirerek yazmanız gerekmektedir.

sudo firewall-cmd --zone=<zone> –-remove-port=<port>/tcp --permanent

Yorum Bırakın