PF filtert nicht???

SteWo

OpenBSD User
Hallo Leute,

ich bin mittelprächtig besorgt: Wenn ich den gesammelten Sachverstand vieler FAQ-Seiten, Howtos und sonstiger Artikel richtig deute, dann will mir tcpdump sagen, daß PF nix filtert:
# pfctl -f /etc/pf.conf
# tcpdump -i pflog0 -o -ttt -vv -e -n
tcpdump: listening on pflog0, link-type PFLOG
^C
0 packets received by filter
0 packets dropped by kernel
#
Wenn PF nach 20min nix 'dropped', kann ich damit leben. Aber wenn tcpdump mir
sagt, daß PF NICHTS 'received' hat, kann der Packet Filter ja wohl nix getan
haben?

Könnte mir freundlicherweise jemand einen Hinweis geben, was ich hier falsch
mache? Ich stehe ziemlich auf dem Schlauch...

THX,
STEFAN

#################
### Meine /etc/pf.conf ###
#################

Code:
### MACROS ###
ext_if1 = "wpi0"
int_if = "127.0.0.1"
tcp_services = "{ ftp-data, ftp, ssh, domain, pop3, auth, nntp, http, https, 446, cvspserver, 2628, 5999, 8000, 8080 }"
udp_services = "{ domain, ntp }"
icmp_types = "{ echoreq, unreach }"

martians = "{ 127.0.0.0/8, 172.16.0.0/12, 10.0.0.0/8, 169.254.0.0/16, 192.0.2.0/24, 0.0.0.0/8, 240.0.0.0/4 }"

### OPTIONS ###
set loginterface $ext_if1
set block-policy return
set skip on lo0
set ruleset-optimization basic

### SCRUB ###
scrub in

### TRANSLATION ###
nat-anchor "ftp-proxy/*"
rdr-anchor "ftp-proxy/*"

rdr pass on $int_if proto tcp to port ftp -> 127.0.0.1 port 8021

antispoof for $ext_if1
anchor "ftp-proxy/*"

### FILTER ###
block in

block drop in quick on $ext_if1 from $martians to any
block drop out quick on $ext_if1 from any to $martians
pass out

pass quick on lo0 no state
antispoof quick for { lo0 }

pass inet proto tcp from any to any port $tcp_services flags S/SA
pass inet proto udp from any to any port $udp_services
pass inet proto icmp all icmp-type $icmp_types
 
hallo

bei keiner der Filterregeln kann ich den expliziten Befehl zum loggen erkennen.
Zumindest bei fbsd brauch pf das, um zu loggen.
so wie z.B:
Code:
# No incoming connections allowed.
block in [B]log [/B] on $ppp_if all

## Domain Hijack
block out [B]log [/B]quick on $ppp_if from any to  216.255.187.218
block out [B]log[/B] quick on $ppp_if from any to  216.255.177.212
block out [B]log[/B] quick on $ppp_if from any to  64.28.184.10

vielleicht
Code:
 ####Filter
block in
block in log on $ext_if1

hoffe das hilft...
 
Zuletzt bearbeitet:
Installiere doch einfach mal das package pftop (aktuell pftop-0.6.tgz). Dann kannst du dir in Ruhe alles in Echtzeit angucken. Nach der Installation einfach mit den Cursortasten die verschiedenen Bildschirme durchgehen. Mit der Leertaste lässt sich die Statistik sofort aktualisieren.

Ohne pftop ist pf doch nur halb so schön. ;)

http://www.eee.metu.edu.tr/~canacar/pftop/

Wo wir grade dabei sind ... zum Monitoring von pf ist auch pfstat interessant: http://www.benzedrine.cx/pfstat.html
 
Zuletzt bearbeitet:
Gelöst!

Hallo zusammen!

Zunächst allen, die sich Zeit genommen hatten und mir hier mit Tipps weiterhalfen, ein herzliches DANKE!

Pf wird seit jeher auf meinen Systemen über die rc.conf.local gestartet. Änderungen hatte ich stets mit pfctl -vvvf /etc/pf.conf überprüft, bevor ich sie mit pfclt -f /etc/pf.conf übernahm. Insofern war ich mir "eigentlich" sicher, daß PF läuft. Aber eben nur "eigentlich"...

metro's (und ouTi's) Hinweis war der Schlüssel zur Lösung: "Eigentlich" war ich mir sicher, daß ich mal ein
Code:
block in log on $ext_if1
eingetragen hatte. Aber offenbar war wohl schon vor einiger Zeit dies bei meinen Lern-Experimenten mit PF "unter die Räder" gekommen. Jedenfalls wiesen auch die letzten drei Backups kein "log" in der pf.conf aus. :ugly: Eine deutliche Indikation der These "Viel Arbeit schadet der Gesundheit viel"... in diesem Fall des Durchblicks.

Endorphine's Hinweis folgend habe ich zusätzlich pftop installiert, was auch läuft und mir ebenfalls PF's Aktivitäten bestätigt. pfstat ist nächstes Wochenende dran... Vielen Dank auch dafür!

Grüße,
SteWo
 
Zurück
Oben