<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Pf_%28Paketfilter%29</id>
	<title>Pf (Paketfilter) - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Pf_%28Paketfilter%29"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Pf_(Paketfilter)&amp;action=history"/>
	<updated>2026-06-06T21:08:20Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Pf_(Paketfilter)&amp;diff=260027&amp;oldid=prev</id>
		<title>imported&gt;Prüm: /* Weblinks */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Pf_(Paketfilter)&amp;diff=260027&amp;oldid=prev"/>
		<updated>2022-09-10T09:49:58Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Weblinks&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{SEITENTITEL:pf (Paketfilter)}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;pf&amp;#039;&amp;#039;&amp;#039; – eine Abkürzung von &amp;#039;&amp;#039;packet filter&amp;#039;&amp;#039; (deutsch: Paketfilter) – ist eine [[Firewall]]-[[Software]], die ursprünglich für das Betriebssystem [[OpenBSD]] geschrieben wurde.&lt;br /&gt;
&lt;br /&gt;
pf dient neben seiner Funktion als [[Paketfilter]] auch als [[Network Address Translation|NAT]]-Software, d.&amp;amp;nbsp;h. zum Übersetzen von Internetadressen eines privaten Netzwerks in das [[Internet]], und kann außerdem die [[Datenübertragungsrate]]n des gefilterten bzw. übersetzten Netzverkehrs regulieren (siehe [[QoS]]).&lt;br /&gt;
Des Weiteren bietet pf eine Filterung anhand des Betriebssystems, erweiterte Paketbehandlung (Zusammenbau fragmentierter Pakete) und einen Authentifizierungsmodus namens pf-auth.&lt;br /&gt;
&lt;br /&gt;
== Geschichte ==&lt;br /&gt;
pf entstand, als das OpenBSD-Projekt aufgrund von Lizenzproblemen den bis dahin enthaltenen Paketfilter [[IPFilter]] entfernte und einen Ersatz benötigte. Er wurde im Juni 2001 von [[Daniel Hartmeier]] ins Leben gerufen und ist seit OpenBSD 3.0 (veröffentlicht am 1. Dezember 2001) Bestandteil von [[OpenBSD]]. Inzwischen wurde pf auch auf [[FreeBSD]], [[NetBSD]], [[DragonFly BSD]] und [[Mac OS X]] portiert.&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
&amp;lt;!-- so auch zu finden in [[OpenBSD-Sicherheitsmerkmale]], beides von [[User:Der Messer]] --&amp;gt;&lt;br /&gt;
PF lässt sich mit (im Vergleich zu [[iptables]]) einfach zu lesenden Regeln konfigurieren, die in etwa der folgenden Syntax folgen. Dabei stellen runde Klammern &amp;lt;code&amp;gt;(…|…)&amp;lt;/code&amp;gt; notwendige Elemente, eckige Klammern &amp;lt;code&amp;gt;[…|…]&amp;lt;/code&amp;gt; optionale Elemente dar:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 (pass|block [drop|return|return-icmp|return-icmp6|return-rst]|match) [in|out] [log] [quick]&lt;br /&gt;
 [on &amp;lt;interface&amp;gt;] [on rdomain &amp;lt;number&amp;gt;] [inet|inet6] [proto (tcp|udp|icmp|icmp6)]&lt;br /&gt;
 ([from &amp;lt;src&amp;gt; [port &amp;lt;src&amp;gt;][os &amp;lt;src&amp;gt;]|to &amp;lt;dest&amp;gt; [port &amp;lt;dest&amp;gt;]]|all) [flags &amp;lt;a&amp;gt;/&amp;amp;lt;b&amp;amp;gt;]&lt;br /&gt;
 [icmp-type &amp;lt;type&amp;gt; code &amp;amp;lt;code&amp;gt;|icmp6-type &amp;lt;type&amp;gt; code &amp;amp;lt;code&amp;gt;] [probability &amp;lt;number&amp;gt;]&lt;br /&gt;
 [user &amp;lt;user&amp;gt;] [nat-to &amp;lt;src&amp;gt;|rdr-to &amp;lt;dst&amp;gt;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die folgenden Regeln blockieren alle Pakete von Hosts, die keine Mails einliefern dürfen (blocked_hosts), und erlauben es für alle anderen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 blocked_hosts = { 223.33.14.23, 34.12.34.0/24, 17.0.0.0/8 }&lt;br /&gt;
&lt;br /&gt;
 pass in on em0 inet proto tcp from any to self port 25,587&lt;br /&gt;
 block in on em0 inet proto tcp from $blocked_hosts to self port 25,587&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Dabei ist em0 das Netzwerkinterface, auf dem die Filterung stattfindet, &amp;#039;&amp;#039;in&amp;#039;&amp;#039; die Richtung (eingehend), &amp;#039;&amp;#039;inet&amp;#039;&amp;#039; steht für [[IPv4]]-Pakete, &amp;#039;&amp;#039;proto tcp&amp;#039;&amp;#039; trifft auf [[Transmission Control Protocol|TCP]]-Pakete zu, die symbolische Konstante &amp;#039;&amp;#039;any&amp;#039;&amp;#039; trifft auf alle Hosts zu (IP-Schreibweise &amp;#039;&amp;#039;0.0.0.0&amp;#039;&amp;#039;), und &amp;#039;&amp;#039;self&amp;#039;&amp;#039; ist die eigene IP-Adresse des jeweiligen Interfaces.&lt;br /&gt;
&lt;br /&gt;
Eine Besonderheit von PF ist, dass immer die letzte passende Regel zutrifft, also normalerweise unten die spezialisiertesten Regeln stehen und oben die allgemeinsten ([[Blacklisting]]). [[Whitelisting]] wird durch eine alles verbietende Regel am Anfang und folgende, erlaubende Regeln realisiert.&lt;br /&gt;
&lt;br /&gt;
Daher würde die &amp;#039;&amp;#039;&amp;#039;umgekehrte&amp;#039;&amp;#039;&amp;#039; Reihenfolge der hier beschriebenen Regeln dazu führen, dass jeder Mails einliefern dürfte, da die in der ersten Regel blockierten Hosts in der zweiten Regel durchgelassen würden.&lt;br /&gt;
&lt;br /&gt;
Das nächste Beispiel zeigt eine exemplarische [[Network Address Translation|NAT]]-Lösung, die z.&amp;amp;nbsp;B. auf einem Router laufen kann:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 ext_schnittstelle = em0&lt;br /&gt;
 intern_netz = 192.168.0.0/16&lt;br /&gt;
&lt;br /&gt;
 match out on $ext_schnittstelle inet from $intern_netz to any nat-to $ext_schnittstelle&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;match&amp;#039;&amp;#039; trifft hierbei auf Pakete zu, entscheidet aber nicht über Durchlassen oder Blockieren. Alle Pakete, die die Firewall über die Schnittstelle &amp;#039;&amp;#039;$ext_schnittstelle&amp;#039;&amp;#039; verlassen und IPv4-Pakete (&amp;#039;&amp;#039;inet&amp;#039;&amp;#039;) aus dem eigenen (internen) Netz &amp;#039;&amp;#039;$intern_netz&amp;#039;&amp;#039; sind, werden mit der Absenderadresse von &amp;#039;&amp;#039;$ext_schnittstelle&amp;#039;&amp;#039; versehen. Weitere Regeln für eine funktionierende NAT-Firewall sind nicht mehr nötig.&lt;br /&gt;
&lt;br /&gt;
Außerdem ist PF in der Lage, als TCP-Proxy zu fungieren, somit die eingehenden TCP-Verbindungen zu bestätigen und erst danach an die Anwendungen weiterzureichen. Dies verhindert [[SYN-Flood]]s.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[ipfw]], [[iptables]] (Paketfilter anderer Betriebssysteme)&lt;br /&gt;
* [[pfSense]] – eine Firewall-/Routerdistribution mit pf und einer Web-GUI&lt;br /&gt;
* [[OPNsense]] – stateful Firewalldistribution mit pf und Web-GUI, basierend auf FreeBSD 10.1-RELEASE&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* {{Literatur&lt;br /&gt;
   |Autor=Peter N.M. Hansteen&lt;br /&gt;
   |Titel=The Book of PF: A No-Nonsense Guide to the OpenBSD Firewall&lt;br /&gt;
   |Auflage=3.&lt;br /&gt;
   |Verlag=No Starch Press&lt;br /&gt;
   |Datum=2014&lt;br /&gt;
   |ISBN=978-1-59327-589-1}}&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.openbsd.org/ Website von OpenBSD]&lt;br /&gt;
* [http://www.openbsd.org/faq/pf/ Englischsprachige Anleitung zu pf vom OpenBSD-Projekt] mit Beispielen&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Paketfilter]]&lt;br /&gt;
[[Kategorie:Freie Sicherheitssoftware]]&lt;br /&gt;
[[Kategorie:BSD-Software]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Prüm</name></author>
	</entry>
</feed>