Konrad Rosenbaum konrad@silmor.de (Mo 11 Mai 2009 13:43:46 CEST):
On Mon, May 11, 2009 11:53, Heiko Schlittermann wrote:
- -A ineth -p udp -m udp --sport 53 -j ACCEPT -A ineth -p tcp -m tcp --syn -j DROP -A ineth -p tcp -m tcp --dport 1024: -j ACCEPT
*) Was soll das?
Das soll zumindest besser sein als gar keine Firewall - was leider sehr haeufig anzutreffen ist. Ich behaupte nicht alle Details ueber netfilter zu wissen.
Alles UDP, was von Port 53 kommt, ist gut?
Nein, nur 95% sind gut. Der Rest wird vom Resolver gefilter oder kaeme auch durch eine Stateful-FW durch.
Nun, wer sagt, daß es zum Resolver geht, und nicht z.B. zum Portmapper oder woanders hin? Nur, weil es *von* Port 53/UDP kommt, muß es noch keine Antwort auf Anfragen Deines Resolvers sein, oder?
Die stateful FW (soweit 'state' bei UDP Sinn hat) hilft hier insofern, als daß sie auch noch Zielport auf der eigenen Maschine mit in die Betrachtung einbezieht (es muß halt die Antwort kommen zum Quellport des ausgehenden Paketes, und das innerhalb eines bestimmten Zeitfensters).
Von ``-m state --state ESTABLISHED,RELATED'' hälst Du nix?
Ich wuerde nicht sagen "nix", aber in diesem speziellen Fall: "relativ wenig".
Auf der anderen Seite schadet es nicht. Ich werde es heute abend mal mit in die Anleitung einbauen.
Wenn wir schon dabei sind und aus lauter Neugier: warum stossen Dir die beiden Zeilen danach (s.o.) nicht auf? ;-)
Doch, die waren mir auch aufgefallen, und bei zweimal hinsehen, habe ich dann gesehen, daß es 'poor man's state' sein könnte... Du könntest sicher auch das finale ACCEPT weglassen, wenn Du die SYN blockst, sollte niemand mehr Verbindungen aufbauen können.
Die sind die stateless-Fassung von -A ineth -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
Ja.