Frage zu PF - table persist

michaelffm

Well-Known Member
Hallo,

ich habe in meiner pf.conf eine Einschränkung eingebaut, dass nicht zu viele Loginversuche an meinen SSH Deamon kommen

Code:
table <sshblacklist> persist file "/root/sshblacklist"
block in quick from <sshblacklist> to any
pass in log proto tcp from any to any port ssh flags S/SA keep state (max-src-conn 10, max-src-conn-rate 5/30, overload <sshblacklist> flush global)

Soweit funktioniert der auch - nach 10 kurzfristigen Verbindungsaufbauten ist Schluss.
Allerdings bleibt die Datei /root/sshblacklist immer leer.

Woran liegt das?

Gruß + danke
 
Ich bin mir nicht sicher: Er tut die geblockten src-ips in die Table <sshblacklist>. Diese Tabelle läd er auch aus der Datei. Gespeichert wird die Table allerdings nicht in der Datei.

Grüße!
 
Ja PF darf in das file schreiben.
-rw-rw-rw- 1 root wheel 0 Jun 8 18:32 sshblacklist

Hm, dachte das "persist file" einfach nur auf die Datei pointet als Speicheradresse für die table.
Kann man sich die aktuelle table irgendwie anzeigen lassen?
 
Code:
# pfctl -t sshblacklist -T show
zeigt die Table sshblacklist.

Habe das gleiche Problem. Wenn ein Host gegen die Regeln verstößt wird die IP in die Tabelle eingetragen. Mit o. g. Befehl rotzt er auch die entsprechenden Adressen aus. Nach einem Reboot jedoch bringt der Befehl nix mehr zurück...
 
Jo die ist voll die table (nebenbei: erschreckend voll :D)
Hm dann scheint man echt doch ein Befehl zu brauchen, dass die table immer in ein file geschrieben wird.
Hmmm
 
Ja würd ich gern aber ich muss auf den Dienst aus einem Netz zugreifen, wo eigentlich nur Port 22 durchgeht...
Obwohl - mit Port 80 hab ich es noch nicht versucht ^^

So ich werfe jetzt regelmäßig die table in das file.
/sbin/pfctl -t sshblacklist -T show > /root/sshblacklist

Notiz an mich, da ich das Forum häufer lese als meine Aufzeichnungen ^^
So lade ich das File manuell in die table
/sbin/pfctl -t sshblacklist -T replace -f /root/sshblacklist


Das müsste gehen.
Und jede Stunde lass ich
pfctl -t sshblacklist -T expire 86400
laufen damit die table gesäubert wird.
 
Zuletzt bearbeitet:
Zurück
Oben