[[:mac|{{ :Apple.png?40|}}]] ===== PF konfigurieren und einsetzen ===== Mit Mac OS 10.10 (Yosemite) hat Apple die aus dem FreeBSD Fundus übernommene >>ipfw<< Firewall((https://de.wikipedia.org/wiki/Ipfw)) endgültig gegen die neuere Version des, ebenfalls ursprünglich für OpenBSD entwickelten, >>pf<< Paket Filter((https://de.wikipedia.org/wiki/Pf_%28Paketfilter%29)) ersetzt. Über einige Major Releases von Mac OS konnte man sowohl die alte wie auch die neue Version benutzen, ab Mac OS 10.10 dann nur noch >>pf<<. Wirklich neu ist >>pf<< eigentlich nicht, denn es ist bereits seit 2004 Teil des BSD Projekts, kommt aber erst seit der Inkompatibilität von >>ipfw<< so richtig in den Fokus der Aufmerksamkeit der Mac Anwender und Administratoren. Ein ausführliches Tutorial zu >>pf<< finden Sie auf den Seiten des OpenBSD Projekts((http://www.openbsd.org/faq/pf/)). Wie auch >>ipfw<< arbeitet >>pf<< mit Regelsätzen. Die Stärke von >>pf<< bzw. der wohl signifikanteste Unterschied zu >>ipfw<< ist der zusätzliche Funktionsumfang hinsichtlich des Ausbalancieren des Datenverkehrs auf mehrere Netzwerkschnittstellen und Priorisierung von bestimmten Diensten (QoS), was jedoch die Komplexität in der Administration erheblich gesteigert. ==== Konfiguration ==== Die grundlegenden Elemente zur Steuerung von >>pf<< ist das Kommando >>pfctl<<((https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man8/pfctl.8.html)) und diverse Konfigurationsdateien: * >>/etc/pf.conf<<:((https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man5/pf.conf.5.html)) Wird beim Systemstart geladen wird und beinhaltet uA die Regeln bzw. die Regelsatzdateien. * >>/etc/pf.anchors/com.apple<<:((http://www.openbsd.org/faq/pf/anchors.html)) Das Default >>Anchor<< File, welches in der Konfigurationsdatei >>/etc/pf.conf<< aufgerufen wird. Standardmäßig ist diese Datei erst mal ohne Regeln. >>Anchors<< sind Dateien die eine Sammlung von Regeln oder weitere >>Anchors<< enthalten. * >>/etc/pf.os<<:((http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-4.2/cat5/pf.os.0?query=pf.os&sec=5&manpath=OpenBSD-4.2)) Beinhaltet die Fingerprints etlicher Betriebssysteme um diese ggf zu identifizieren.