Firewall mit pf

Schröder

BSD Anfänger
Ich bin gerade dabei eine Firewall mit pf zu Installieren,
Dazu brauche ich eure hilfe, denn ich verstehe es nicht ganz.

1. Um pf beim Systemstart zu starten, müssen wir ... /etc/rc.conf aktivieren.
Code:
pf_enable="YES"
pf_rules="/etc/pf.conf"
pflog_enable="YES"
pflog_logfile="/var/log/pflog"

Abgearbeitet!

2. da ich bei serverzeit die sache mit pf abarbeite um es zu verstehen
erstelle ich die datei /etc/pf.conf

bei mir in FreeBSD /usr/share/examples/pf for syntax and examples. steht das
#ext_if="ext0"
#int_if="int0"

Bei serverzeit steht, Hinweis: lnc0 musst du natürlich durch dein Interface ersetzen.
if = "{ lnc0 }"

Müsste ich das durch meine Netzwerkarte ersetzen ? em0 ?
Aus webmin Netzwerkschnittstellen
em0 Gigabit ethernet 192.168.178.21 255.255.255.0 Aktiv

also int_if="em0" ??




Auch was ich noch nicht verstehe

Hiermit werden die Regeln aus pf.conf geladen und die, die sich noch im Arbeitsspeicher befinden, gelöscht! # pfctl -f /etc/pf.conf


/root# pfctl -f /etc/pf.conf
No ALTQ support in kernel
ALTQ related functions disabled
/root#


wäre nett von euch mir einen Tipp zu geben.



Gruß Schröder
 
Bei serverzeit steht, Hinweis: lnc0 musst du natürlich durch dein Interface ersetzen.
if = "{ lnc0 }"

Müsste ich das durch meine Netzwerkarte ersetzen ? em0 ?

Ja.

Auch was ich noch nicht verstehe

/root# pfctl -f /etc/pf.conf
No ALTQ support in kernel
ALTQ related functions disabled
/root#

Unter UNIX heißt es meistens: keine Ausgabe=keine Fehler.
Hier meldet pf nur, dass kein ALTQ-Support im Kernel ist, brauchst du warscheinlich auch nicht. Nachsehen, ob die Regeln geladen wurden kannst du mit:

# pfctl -sa

Lies bitte die Manpages zu pfctl und pf.conf.

Rob
 
Zuletzt bearbeitet:
Konnte deinem Schreibstil nicht 100%ig folgen, aber ich denke, du hast alles richtig verstanden. (War das deine Frage?)
 
Hallo Schröder.

Hier auch nochmal die exzellente pf-FAQ vom OpenBSD Projekt auf Deutsch: http://www.openbsd.org/faq/pf/de/index.html

Aber Vorsicht: Evtl. funktioniert nicht alles aus der Doku auch auf deinem System, da die pf-Version bei OpenBSD neuer ist als die von FreeBSD. Im Zweifelsfall in deine manpages gucken.
 
Hiermit werden die Regeln aus pf.conf geladen und die, die sich noch im Arbeitsspeicher befinden, gelöscht! # pfctl -f /etc/pf.conf

wenn du ganz sicher gehen willst, kannst du auch ein
Code:
pfctl -F all -f /etc/pf.conf
absetzen ;) da wird dann erst mal alles gelöscht (Regeln, States, etc) und die neuen geladen.
 
Die man-Page von pfctl verrät auch weitere Parameter für den Schalter -F, z.B. rules, wenn nur die Filterregeln gelöscht und neugeladen werden sollen. Hilfreich kann für den Anfang auch folgendes sein:
Code:
pfctl -ng -f /etc/pf.conf
Das führt einen Syntaxcheck durch.

Gruß c.
 
Danke für Antworten...
Aber mir macht der Syntax in der pf.conf Probleme

bei mir in FreeBSD unter examples. steht das
#ext_if="ext0"
#int_if="int0"

Bei serverzeit steht, Hinweis: lnc0 musst du natürlich durch dein Interface ersetzen.
if = "{ lnc0 }"


meine Netzwerkkarte ist em0
 
danke *master

ich habe es gerade getestet mit deiner angabe
/root# pfctl -ng -f /etc/pf.conf
/etc/pf.conf:11: syntax error
/root#


in meiner pf.conf habe ich nur
if = "{em0}"

stehen.
 
Danke für Antworten...
Aber mir macht der Syntax in der pf.conf Probleme

bei mir in FreeBSD unter examples. steht das
#ext_if="ext0"
#int_if="int0"

Bei serverzeit steht, Hinweis: lnc0 musst du natürlich durch dein Interface ersetzen.
if = "{ lnc0 }"


meine Netzwerkkarte ist em0

if, ext_if oder int_if sind nur Variablen. Die sind nicht an pf gebunden.
In den examples werden 2 Interfaces definiert, in der Konfiguration auf serverzeit wird halt nur eins benutzt, bzw. eine Liste von Interfaces. Da du nur ein Interface hast (em0), kannst du also if="{ em0 }" setzen.

Rob
 
Hast du mal ins FreeBSD-Handbuch geschaut, es sollte auch manpages geben. Generell ist das Thema Firewall schon komplex und je nachdem welche man benutzt schon Stoff für lange Stunden.
 
Er meint bestimmt sowas wie ein Tool, block mal dies und öffne mal das und jenes mag ich auch nicht und dort noch Häckchen. Es gibt Fronend wie firewallbuilder zum erstellen der Scripte, Webmin hat ja auch sowas ähnliches drin. Mit Häckchen wie unter Windows gibts so richtig nicht, eventuell bringt KDE oder Gnome sowas mit.

Du kannst dir ja unter webmin das mal anschauen wenn es mit pf funktioniert, finde es selbst sehr unübersichtlich und die andere Seite, manche Frontend's unterstützen nur Grundfunktion der Firewall's.
 
Alternativ davon alles selbst einzurichten könntest du auch anstatt FreeBSD zu benutzen es mit pfSense probieren. Würde mir persönlich den Spaß am rausfinden "wie was funktioniert und warum geht das jetzt bitte nicht" nehmen, aber es kann einem als anfänger einiges erleichtern!
 
Guten morgen,

ich arbeite gerade das BSDHandbuch ab, dabei fällt mir immer wieder auf
pass in inet proto tcp from { 10.10.0.0/24 $trusted } to port 22

wofür steht dieses /24 an der IP ? das verstehe ich noch nicht.



Gruß Schröder
 
alle IP' von im Netzwerk oder Netzwerkbereich von 10.10.0.0 bis 10.10.0.255 , trusted heißt soviel wie sicher oder zuverlässige Benutzer zu port 22 (ssh) a pass. haben Zugriff.
Den Bereich kannst du dir selbst anpassen, eine einzelne IP oder 192.168.0.0/24 etc.

Guten Morgen.
 
Zurück
Oben