[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Merkwrdige IPTables-Meldungen



On Fri, Jan 10, 2003 at 01:41:30PM +0000, Harald Weidner wrote:
> Hallo,

Hallo!
 
> >ich habe meinem Paketfilter beigebracht, per default alles zu verweigern
> >und nur bestimmte Ports (SSH, Web, SMTP, POP3, etc) zu öffnen und auch
> >nur in bestimmte Richtungen (SSH und FTP nach aussen sind dicht, aber
> >von aussen offen).
> >
> >Zusätzlich habe ich mit
> >$IPT -A OUT    -m state --state ESTABLISHED,RELATED -j ACCEPT
> >$IPT -A INPUT  -m state --state ESTABLISHED,RELATED -j ACCEPT
> >
> >(OUT ist eine Zusammenfassung von FORWARD und OUTPUT)
> >
> >festgelegt, daß auf jeden Fall bestehende Verbindungen nicht gestört
> >werden sollen.
 
> Hast Du sichergestellt, dass diese "zusätzlichen" Regeln die ersten
> der jeweiligen Chains sind? Wenn andere Regeln vorher greifen und das
> Target dort DROP ist, dann ist es vorbei.

Davor steht nur "-P DROP" und "-m state INVALID -j DROP" für in+fw+out.
Heisst das, diese Pakete sind ungültig/kaputt?
 
> Speziell bei der OUT Chain (deren Sinn mir unklar ist) musst Du
> ausserdem darauf achten, dass nicht in den Chains OUTPUT und FORWARD
> weitere Regeln stehen, die vorher greifen.

OUT ist nur OUTPUT und FOWARD zusammengefasst, da ich nicht beide
seperat konfigurieren wollte.
Da der Rechner aber nicht routet, ist FORWARD doch eigentlich komplett
unnötig, oder?
 
> >Trotzdem kriege ich ab und an Meldungen wie diese im syslog
> >kernel: IN= OUT=eth0 SRC=193.111.112.14
> >	DST=134.28.62.2 LEN=100 TOS=0x12 PREC=0x00 TTL=64 ID=41329 DF PROTO=TCP
> >	SPT=22 DPT=3293 WINDOW=10944 RES=0x00 ACK PSH URGP=0 
> >kernel: IN= OUT=eth0 SRC=193.111.112.14
> >	DST=134.28.62.2 LEN=164 TOS=0x12 PREC=0x00 TTL=64 ID=41329 DF PROTO=TCP
> >	SPT=22 DPT=3293 WINDOW=10944 RES=0x00 ACK PSH URGP=0 
 
> Was genau an diesen Logs schlimm sein soll, musst Du noch erklären.

Diese Pakete bleiben hängen. -j LOG Targets sind ganz am Ende des
fw-Skriptes. Alles, was nicht durch vorige abgedeckt wurde, landet im
log, mit ein paar Ausnahmen und -m limit --limit 1/s.

> Eine solche Zeile entsteht genau dann, wenn eine Regel passt, die ein
> LOG Target enthält. An welcher Stelle stehen in Deiner Konfiguration
> LOG Targets?

s.o.
 
> >Wo liegt mein Denkfehler? Ich dachte, obige iptables-Regel sollte
> >bestehende Verbindungen nicht kappen. Oder habe ich mir einen Trojaner
> >eingefangen? ;*)
> 
> Bei so wenigen Informationen kann man nur raten, wo das Problem liegt.

Das hatte ich schon vermutet. Brauchst du das komplette Skript? Kannst
du gerne haben.

> Wenn ich es richtig verstehe, verdächtigst Du Netfilter, den Zustand
> der TCP-Verbindungen nicht oder nicht korrekt zu verfolgen. 

Das wäre eine Möglichkeit.

> Folgendes fällt mir dazu ein:
 
> - Falsche Reihenfolge der Regeln, siehe oben.
> - Irgendwo im Regelwerk fehlt ein "-m state --state NEW" bei einer
>   Regel, die eigentlich nur auf neu initiierte Verbindungen greifen
>   sollte.

Mal ganz allgemein: Bringt das was, wenn ich allgemein
ESTABLISHED,RELATED zulasse und bei allen expliziten Regeln noch NEW
benutze? Dann kann ich doch gleich generell Traffic über die jeweiligen
Ports zulassen.

> - Zu lange Idle-Zeiten innerhalb einer Verbindung. Der Kernel
> schmeisst Verbindungen, über die längere Zeit kein Paket geht, aus dem
> Speicher, um tote Verbindungen nicht ewig zu halten.

Das könnte es sehr gut sein. Das kommt jetzt drauf an, wie lange "zu
lange" ist - wenns 1-2 min sind, dann ist es das wahrscheinlich. Die
Maschine ist zeitweise ziemlich busy.

> - Eine der Seiten hat ein TCP RST geschickt

Macht sshd das? Oder ssh? Oder passiert das auf einer anderen Ebene?

> - Dein Netfilter läuft als Kernelmodul, und Dein Rechner ist so
> konfiguriert, dass Kernel-Module nach einiger Zeit der Inaktivität
> automatisch entladen werden. In diesem Fall vergisst der Kernel die
> Verbindungen.

Definitiv nicht.

> - Auf einer der Seiten wechselt die IP-Nummer, z.B. weil es sich um
> eine Dialup-Verbindung mit dynamischer IP-Nummernvergabe handelt.

Definitiv nicht.

> - Die maximale Anzahl gespeicherter Verbindungen wird überschritten
>   (steht bei Kernel 2.4.19 auf 2089, siehe conntrack_core.c).
 
Kann man das mittels /proc o.ä. hochschrauben?
Ich habe im Regelfall einige -zig bis hundert apache- und mysql-Tasks
laufen.

> Ich empfehle Dir, mal mein Firewall-Skript auszuprobieren. Du findest
> es auf meiner Homepage www.weidner.ch unter Download, ziemlich weit
> unten. Wenn es damit funktioniert, dann ist der Fehler bei Dir
> vermutlich im Regelsatz.

Neue Firewallskripte geben mir bei Rechnern, die >500km entfernt stehen,
immer ein mulmiges Gefühl. :-) Ich werde es mir aber definiiv mal
angucken. Danke!
 

(gaah.. ich hasse lag! Diese Mail wurde via ssh -> ssh-https-proxy.pl ->
ntlm-authproxy.pl -> ultralahmer NT Firmen-Proxy -> Webwasher-Proxy ->
Gateway -> sshd auf meinem Rechner zuhause geschrieben. SSH mit ca 1
Sekunde Lag, das SAUGT!!)

-- 
mfg, Jens Benecke	http://www.hitchhikers.de: Europas Mitfahrzentrale
When they encrypted TV (Macrovision) I said nothing - I don't have a TV.
When they encrypted DVD (CSS) I said nothing - I don't watch DVDs.
When they encrypted the OS (XP,XBOX) I said nothing - I don't use XP.
When they encrypted the internet I said nothing 
					- there was no one left to talk to.

Attachment: pgp26mQbBgnlC.pgp
Description: PGP signature


Reply to: