PF (Güvenlik Duvarı)

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

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 6 Ağustos 2017 tarihinde Wayback Machine sitesinde arşivlendi. 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 10 Ağustos 2020 tarihinde Wayback Machine sitesinde arşivlendi. ve Ryan McBride tarafından kapsamlı bir şekilde yeniden tasarlandı. Henning Brauer şu anda PF'nin ana geliştiricisidir.

Özellikler

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

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:

  • FreeBSD Sürüm 5.3'ten itibaren
  • Apple Mac OS X Lion (OS X 10.7),[3] Mountain Lion (OS X 10.8), Mavericks (OS X 10.9) Yosemite (OS X 10.10), El Capitan (OS X 10.11), Sierra (macOS Sierra 10.12).
  • Apple iOS, tüm iPhone'larda ve iPad'lerde
  • NetBSD Sürüm 3.0'den itibaren
  • DragonFly BSD Sürüm 1.2'den itibaren
  • Debian GNU/kFreeBSD
  • Oracle Solaris
  • QNX ve böylece birçok BlackBerry akıllı telefon modelinde
  • pfSense ücretsiz açık kaynak FreeBSD tabanlı güvenlik duvarı/yönlendirici
  • Microsoft Windows için bir güvenlik duvarı çözümü ve güvenlik ürünü olan Core force, PF'den türetilmiştir.

Açıklamalı örnek pf.conf dosyası

## 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

Dış bağlantılar

Kaynakça

  1. "CVS: cvs.openbsd.org: src; Remove ipf". 30 Mayıs 2001. 12 Temmuz 2020 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Kasım 2014.
  2. "OpenBSD 3.0". 1 Aralık 2001. 19 Mart 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Kasım 2014.
  3. "IPFW(8) Manual Page". Apple, Inc. 27 Eylül 2012. 18 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Kasım 2014. This utility is DEPRECATED. Please use pfctl(8) instead.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.