Login
Immer anmelden
SSL Login

 
Newsletter
Werbung
Shopping
International Shopping
 
 


Yatego Shopping bei über 10000 Händlern und über
3 Mio. Artikel.


Linux

:

Linux-Bücher

Handy
Shop

  und Computer.

Viele Services

:

Apple iPad Reader,


Ratgeber,

 

Techniktops,

 

Yatego Clicks

  & über 3000

Gutscheine.

 
So, 4. November 2001, 00:00

iptables - Die Firewall des Kernels 2.4

Protokollieren

Nicht nur zum Test, auch zur Überwachung von "schrägen" Mustern von IP-Paketen ist es sinnvoll, über diverse Dinge Protokoll zu führen. Dies kann mit dem LOG-Target sehr einfach geschehen. Alles Protokollierte wird im Syslog (/var/log/messages) mitgeschrieben.

Aufrufkonventionen:

-j LOG Falls die vorher spezifizierten Bedingungen zutreffen, wird das Paket geloggt. Im Gegensatz zu anderen Targets wird die Kette nach dieser Regel nicht verlassen, sondern die nächste Regel weiterhin getestet.
    --log-level <level> Legt den Grad der Meldung fest, die hiermit geloggt wird. Über das eigentliche Verhalten entscheidet die Einstellung des Syslog.
    --log-prefix <text> Stellt den angegebenen Text vor die eigentlich geloggte Meldung. Damit lassen sich verschiedene Nachrichten schnell unterscheiden.
    --log-tcp-sequence Mitloggen der TCP Sequence-Nummer.
    --log-tcp-options Optionen im TCP Header werden mitgeschrieben
    --log-ip-options Optionen im IP Header werden mitgeschrieben
 
-m limit Dieses Modul ist als Zusatz zum "LOG"-Target gedacht, um die Anzahl der Log-Einträge zu beschränken (bei DoS-Attacken).
    --limit <rate> / <zeit> Gibt die maximal durchschnittlich zu erreichende Rate pro Zeiteinheit an. z.B. 3/second, 5/minute, 3/hour, 100/day. Bei Überschreitung dieser Rate greift diese Regel nicht mehr.
    --limit-burst <zahl> Bei Überschreiten dieser Zahl wird das nachfolgende Target nicht mehr getroffen. Diese Option, deren Standardwert auf 5 steht, ist gedacht, um vor allem Log-Einträge nicht zu überfluten.

Sonstiges

Es gibt noch einige Kleinigkeiten, die erwähnenswert sein könnten. In diesem kleinen Workshop möchte ich mich jedoch auf das Erstellen eigener Chains beschränken. Eigene Chains - wozu? Eigene Chains verhalten sich wie "Unterprogramme", so daß öfter benötigte Aktionen (z.B. Loggen und Verwerfen) nur einmalig definiert werden müssen.

Beispiele:

# Alle benutzerdefinierten Chains der Tabelle "filter" Löschen
#
iptables -X
#
# Log and drop definieren als benutzerdefinierte Chain
#
iptables <strong>-N logdrop</strong>
iptables -A logdrop -j LOG --log-prefix "IPTABLES packed died: "
iptables -A logdrop -j DROP
 .
 .
 .
#
# Alles Unnütze verbieten, bestehende Verbindungen -> OK
#
iptables -A FORWARD -s $mynet -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD <strong>-j logdrop</strong>

Ein Blick unter die Haube

Einige der bereits im Text genannten Dateien des /proc Dateisystems seien an dieser Stelle nochmals genannt. Sie ermöglichen in beschränktem Umfang, einen Blick in die Arbeitsweise der Netfilter-Architektur zu werfen:

/proc/net/ip_conntrack zeigt alle derzeit aktiven Verbindungen (selbst bei verbindungslosen Protokollen wie UDP oder ICMP) an.
/proc/net/ip_tables_names Enthält die Liste aller zur Zeit geladenen Tables.
/proc/net/ip_queue Wird von den UserSpace-Queue-Routinen zur Kommunikation genutzt.

Verwendete Quellen

Folgende Quellen aus dem Internet sowie die man-Page von iptables halfen mir bei der Zusammenstellung zu diesem Workshop:

Kommentare (Insgesamt: 0 || Kommentieren )
Pro-Linux
Newsletter
Neue Nachrichten