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 “
Leave a Reply