*BSD Sistemlerde PF (Packet Filter) Güvenlik Duvarının Yönetimi

1

Merhabalar

Bu yazıda *BSD sistemlerde varsayılan olarak gelen PF ‘in çalıştırılması, durdurulması ve durumunu kontrol etmek için pfctl aracının kullanımından ve detaylarından bahsedeceğim. PF açık kaynak kodlu güvenlik duvarı yazılımıdır. PF ilk olarak OpenBSD işletim sistemi ile kullanılırken zamanla diğer *BSD sistemlerine uyarlanmıştır.

PF firewall varsayılan olarak kurulu gelmektedir fakat aktif değildir.

FreeBSD sistemlerde her açılışta çalışmasını sağlamak ve aktif etmek için,

root@FreeBSD#: nano /etc/rc.conf

pf_enable="YES"
pf_log="YES"
pf_logfile="/var/log/pflog"
pf_rules="/etc/pf.conf"
pf_flags=""

OpenBSD sistemlerde her açılışta çalışmasını sağlamak ve  aktif etmek için,

root@OpenBSD#: nano /etc/rc.conf.local

pf_enable="YES"
pf_rules="/etc/pf.conf"
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
pflog_flags=""

PF güvenlik duvarını kapatmak isterseniz aşağıdaki komutu kullanabilirsiniz.

root@FreeBSD#: pfctl -d

pfctl disabled

tekrardan PF ‘i aktif etmek isterseniz aşağıdaki komutu kullanabilirsiniz.

root@FreeBSD#: pfctl -e

pfctl enabled

Güvenlik duvarı durum tablosunu (state table) görüntülemek isterseniz aşağıdaki komut kullanılabilir.

root@FreeBSD#: pfctl -ss

Filter istatistiklerini görmek isterseniz aşağıdaki komutu kullanabilirsiniz.

root@FreeBSD#: pfctl -s info

Status: Enabled for 1 days 09:26:06 Debug: Urgent

State Table Total Rate
  current entries 0
  searches 6364 4.1/s
  inserts 0 0.0/s
  removals 0 0.0/s

Counters
 match 6363 4.1/s
 bad-offset 0 0.0/s
 fragment 0 0.0/s
 short 0 0.0/s
 normalize 0 0.0/S
 memory 0 0.0/s
 bad-timestamp 0 0.0/s
 congestion 0 0.0/s
 ip-option 0 0.0/s
 proto-cksum 0 0.0/s
 state-mismatch 0.0/s
 state-insert 0 0.0/s
 state-limit 0 0.0/s
 src-limit
...

NAT kurallarını listelemek isterseniz aşağıdaki komut kullanılabilir.

root@FreeBSD#: pfctl -s nat

Firewall kurallarını listelemek isterseniz aşağıdaki komutu kullanabilirsiniz. Daha ayrıntılı bilgi için -v parametresi eklenebilir.

root@FreeBSD#: pfctl -s rules

root@FreeBSD#: pfctl -s -v rules

Yukarıdaki kullandığımız bütün kurallar hakkında, bütün bir şekilde bilgi almak istersek aşağıdaki komut kullanabilir. Bütün istatistikler komut satırına sığmayacağı için pfctl -s all |less komutu kullanılabilir ve enter tuşuna basarak ilerleyebilir yada boşluk tuşuna basarak komut satırına sığdığı bölüm kadarıyla ilerleyebilirsiniz.

root@FreeBSD#: pfctl -s all

Sadece filter kurallarını yüklemek isterseniz aşağıdaki komut kullanılabilir. Diğer kurallar reddedilecektir sadece filter kuralları yüklenecektir.

root@FreeBSD#: pfctl -Rf /etc/pf.conf

Sadece nat kurallarını yüklemek isterseniz aşağıdaki komut kullanılabilir. Diğer kurallar reddedilecektir sadece nat kuralları yüklenecektir.

root@FreeBSD#: pfctl -Nf /etc/pf.conf

Sadece pf.conf dosyasını okusun ve yeni kuralları yüklemesini istersek aşağıdaki komut kullanılabilir.

root@FreeBSD#: pfctl -f /etc/pf.conf

Güvenlik duvarı nat kurallarını silmek isterseniz aşağıdaki komut kullanılabilir.

root@FreeBSD#: pfctl -F nat

Filter kurallarını silmek isterseniz aşağıdaki komut kullanılabilir. Kurallara bağlı olmayan istatistikler silinecektir.

root@FreeBSD#: pfctl -F rules

Filter bilgilerini silmek isterseniz aşağıdaki komut kullanılabilir. Kurallara bağlı olmayan istatistikler silinecektir.

root@FreeBSD#: pfctl -F info

Aşağıdaki komut yukarıda saydığımız herşeyi siler. Örneğin; filter, nat, state table, vb. istatistikler gibi. Kullanırken dikkat !

root@FreeBSD#: pfctl -F all

*BSD sistemlerde komut satırına düşüp aşağıdaki komutları kullanarak bir kullanıcının veya network aralığına ait hostların durum tablosundaki bağlantılarını öldürebilirsiniz.

root@FreeBSD#: pfctl -k 192.168.1.1  "Bir hostun durum tablosundaki tüm bağlantılarını öldürür."

root@FreeBSD#: pfctl -k 192.168.1.1 -k 192.168.1.2   "İki hostun durum tablosundaki tüm bağlantılarını öldürür."  

root@FreeBSD#: pfctl -k 192.168.1.0/24  "Bir network aralığına ait hostların durum tablosundaki tüm bağlantılarını öldürür." 

root@FreeBSD#: pfctl -k 192.168.1.0/24 -k 172.16.16.0/16  "İki network aralığına ait hostların durum tablosundaki tüm bağlantılarını öldürür."  

root@FreeBSD#: pfctl -k id -k 482950000018  "Bir id numarasının durum tablosundaki tüm bağlantılarını öldürür."

FreeBSD 10 sürümünü ilk kurduğunuz zaman /etc/pf.conf dosyası gelmez ise aşağıdaki komutları kullanarak örnek bir pf.conf dosyasına sahip olabilirsiniz.

root@FreeBSD#: cp /usr/share/examples/pf/pf.conf /etc/pf.conf

root@FreeBSD#: pfctl -e -f /etc/pf.conf

root@FreeBSD#: /etc/rc.d/pf restart

” Online pfSense Firewall & Router Eğitimi | www.udemy.com/pfsense-training “

Tagged with: , , , , , , , , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Archives