Moin,
spiele gerade ein wenig mit OpenBSD. Unter Linux gibt es Module für iptables, die p2p-Traffic erkennen und blocken. Gibt es solche Ansätze auch für OpenBSD und pf?
Gibt es andere Möglichkeiten, etwa über Snort? Wie würde das dann in etwa laufen? Gibt es Erfahrungen zu dem Thema?
Stefan
p2p blocken mit OpenBSD
Re: p2p blocken mit OpenBSD
Grundsätzlich erst mal nein. pf filtert nach interface, source und destination ip sowie sowie source und destination port. Zusätzlich kann pf OS fingerprinting (anhand der SYN-Pakete) und ist auch in der Lage, auf Verbindungshäufigkeiten (Absolutzahl Verbindungen, Anzahl neuer Verbindungen in einem bestimmten Zeitfenster) zu reagieren (siehe "Stateful Tracking Options" in der pf.conf man page).
Um ein externes Programm am Filterspaß teilhaben zu lassen, kann man pflog über ein Pseudo-Netzwerkdevice protokollieren lassen. Mit tcpdump kann man selbiges auslesen und die Daten entsprechend weiterverarbeiten. Entdeckt man dabei einen Fingerprint, der auf Filesharing hinweist, kann man die betreffende Adresse ja in eine persistente Tabelle eintragen, für die ganz oben im Regelsatz eine block quick rule besteht. Mit expiretable kann man Einträge dann nach einer bestimmten Quarantänezeit wieder aus der Blacklist-Tabelle werfen.
Um ein externes Programm am Filterspaß teilhaben zu lassen, kann man pflog über ein Pseudo-Netzwerkdevice protokollieren lassen. Mit tcpdump kann man selbiges auslesen und die Daten entsprechend weiterverarbeiten. Entdeckt man dabei einen Fingerprint, der auf Filesharing hinweist, kann man die betreffende Adresse ja in eine persistente Tabelle eintragen, für die ganz oben im Regelsatz eine block quick rule besteht. Mit expiretable kann man Einträge dann nach einer bestimmten Quarantänezeit wieder aus der Blacklist-Tabelle werfen.
“Some humans would do anything to see if it was possible to do it. If you put a large switch in some cave somewhere, with a sign on it saying 'End-of-the-World Switch. PLEASE DO NOT TOUCH', the paint wouldn't even have time to dry.” — Terry Pratchett, Thief of Time

