PF (Güvenlik Duvarı)

Vikipedi, özgür ansiklopedi
Gezinti kısmına atla Arama kısmına atla

PF (Packet Filter, aynı zamanda pf), BSD lisanslı bir stateful paket filtresi olup, güvenlik duvarı için merkezi bir yazılım parçasıdır. Netfilter (iptables), ipfw ve ipfilter ile karşılaştırılabilir.

PF, OpenBSD için geliştirildi, ancak birçok diğer işletim sistemine aktarıldı.

Tarihçe[değiştir | kaynağı değiştir]

PF, ilk olarak, kural sözdiziminin çoğunu türettiği Darren Reed'in IPFilterinin yerine geçmek üzere tasarlandı. IPFilter, OpenBSD geliştiricilerinin lisansıyla ilgili kaygıları nedeniyle 30 Mayıs 2001'de OpenBSD'nin CVS ağacından kaldırılmıştır.[1]

PF'in ilk versiyonu Daniel Hartmeier tarafından yazılmıştır. 1 Aralık 2001'de yayımlanan OpenBSD 3.0'da çıktı.[2]

Daha sonra Henning Brauer tarafından yazılan kod çoğunlukla Henning Brauer ve Ryan McBride tarafından kapsamlı bir şekilde yeniden tasarlandı. Henning Brauer şu anda PF'nin ana geliştiricisidir.

Özellikler[değiştir | kaynağı değiştir]

Filtreleme sözdizimi, IPFilter'e benzer ve bazı değişikliklerle daha anlaşılır hale getirilir. Ağ Adresi Çevirisi (Network Address Translation, NAT) ve Hizmet Kalitesi (Quality of Service, QoS), ALTQ kuyruklama yazılımını içe aktararak ve PF yapılandırmasına bağlayarak PF, QoS'ye entegre edilmiştir. Yük devretme ve yedekleme için pfsync ve CARP, oturum kimlik doğrulaması için authpf ve zor FTP protokolünün güvenlik duvarını kapatmayı kolaylaştırmak için ftp-proxy gibi özellikler de PF'yi genişletti. Aynı zamanda PF, SMP (Symmetric multiprocessing, Simetrik çoklu işlem) ve STO (Stateful Tracking Options, Durum İzleme Seçenekleri)ni destekler.

Birçok yenilikçi özellikten biri de PF'nin günlüğüdür(logs). PF'nin günlüğü, pf.conf içindeki kural başına yapılandırılabilir ve günlükler, kullanıcı düzeyindeki programlar için çekirdek düzeyinde moddan verileri kaldırmanın tek yolu olan pflog adlı bir sözde ağ arabirimi tarafından PF'den sağlanmaktadır. Günlükler, OpenBSD'de özellikle amaç için genişletilmiş olan tcpdump gibi standart araçlar kullanılarak veya pflogd arka plan programını kullanarak tcpdump/pcap ikili biçiminde diske kaydedilebilir.

Kullanılan dağıtımlar[değiştir | kaynağı değiştir]

Kendi ev platformu olan OpenBSD üzerinde çalışan PF, diğer birçok diğer işletim sistemine taşınmıştır.

Ancak bununla birlikte, yeteneklerde büyük farklılıklar olduğuna dikkat etmek gerekmektedir. OpenBSD'nin daima en son sürümünü en çok özelliklere sahiptir.

PF şu anda şu işletim sistemlerinde kullanılmaktadır:

Açıklamalı örnek pf.conf dosyası[değiştir | kaynağı değiştir]

## Macros

# The internal interface (connected to the local network).
int_if="xl0"

## Options

# Set the default policy to return RSTs or ICMPs for blocked traffic.
set block-policy return

# Ignore the loopback interface entirely.
set skip on lo0

## Translation rules

# NAT traffic on the interface in the default egress interface group (to
# which the interface out of which the default route goes is assigned) from the
# local network.
match out on egress from $int_if:network to any nat-to (egress)

## Filtering rules

# Default deny rule, with all blocked packets logged.
block log all

# Pass all traffic to and from the local network, using quick so that later
# rules are not evaluated if a packet matches this. Some rulesets would restrict
# local traffic much further.
pass quick on $int_if all

# Permit all traffic going out, keep state so that replies are automatically passed;
# many rulesets would have many rules here, restricting traffic in and out on the
# external (egress) interface. (keep state is not needed in the newest version of pf)
pass out keep state

Kitapça[değiştir | kaynağı değiştir]

Dış bağlantılar[değiştir | kaynağı değiştir]

Vikikitap
Vikikitapta bu konu hakkında daha fazla bilgi var:

Kaynakça[değiştir | kaynağı değiştir]

  1. ^ "CVS: cvs.openbsd.org: src; Remove ipf". 2001-05-30. Erişim tarihi: 2014-11-07. 
  2. ^ "OpenBSD 3.0". 2001-12-01. 19 Mart 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 2014-11-07. 
  3. ^ "IPFW(8) Manual Page". Apple, Inc. 2012-09-27. 18 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 2014-11-07. This utility is DEPRECATED. Please use pfctl(8) instead.