Broadcastlogging abstellen, Log aus Konsole umleiten

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
DarkAngelfire
Beiträge: 1
Registriert: 16.01.2006 16:04:07

Broadcastlogging abstellen, Log aus Konsole umleiten

Beitrag von DarkAngelfire » 16.01.2006 16:14:28

Hi Leute,
Ich setzte gerade einen Debian Sarge Server auf, bei dem es auf eine hohe Sicherheitsstufe ankommt. Um die nicht verwendeten Ports zu schließen habe ich von harry.homelinux.org den Iptables Generator verwendet. Diese Firewall scheint auch laut nmap zu funktionieren, nur sobald man das Script startet loggt diese Firewall alle Zugriffe dierekt in die Konsole.
Erste Frage: Wie kann ich die Loggs aus der Konsole umleiten, so das sie nur in /var/log/ * auftauchen z.B. firewall oder auch messages?
Bzw. was muss ich in /etc/syslog.conf ändern?
Zweite Frage: Wie kann ich der Firewall beibringen die Broadcastanfragen der ganzen Clients nicht zu loggen. Alle Broadcastmeldungen werden als UDP mit der Mac: ff:ff:ff:ff:ff:ff geloggt. Und da diese Meldungen überhand nehmen, würde das Logfile überlaufen!
Das Fettgedruckte habe ich hinzugefügt um zu versuchen die Mac zu filtern bevor sie geloggt werden kann, nur leider funktioniert das noch nicht so ganz... Die Broadcasts tauchen trotzdem auf.

Firewallscript:

Code: Alles auswählen

#!/bin/bash
# ---------------------------------------------------------------------
# Linux-iptables-Firewallskript, Copyright (c) 2006 under the GPL
# Autogenerated by iptables Generator v1.20 (c) 2002-2005 by Harald Bertram 
# Please visit http://www.harry.homelinux.org for new versions of
# the iptables Generator (c).
#
#
# If you have questions about the iptables Generator or about
# your Firewall-Skript feel free to take a look at out website or
# send me an E-Mail to webmaster@harry.homelinux.org.
#
# My special thanks are going to Lutz Heinrich (trinitywork at hotmail dot com)
# who made lots of Beta-Testing and gave me lots of well qualified
# Feedback that made me able to improve the iptables Generator.
# --------------------------------------------------------------------
#
### BEGIN INIT INFO
# Provides: IP-Paketfilter
# Required-Start: $network $local_fs
# Required-Stop: $local_fs
# Default-Start: 3 5
# Default-Stop: 0 1 2 4 6
# Short-Description: Harry's IP-Paketfilter
# Description: Harry's IP-Paketfilter provides reasonable
#      IP-Security for Home-Computers and small networks
### END INIT INFO
#

case "$1" in
  start)
    echo "Starte IP-Paketfilter"

    # iptables-Modul
    modprobe ip_tables
    # Connection-Tracking-Module
    modprobe ip_conntrack
    # Das Modul ip_conntrack_irc ist erst bei Kerneln >= 2.4.19 verfuegbar
    modprobe ip_conntrack_irc
    modprobe ip_conntrack_ftp

    # Tabelle flushen
    iptables -F
    iptables -t nat -F
    iptables -t mangle -F
    iptables -X
    iptables -t nat -X
    iptables -t mangle -X

    # Default-Policies setzen
    iptables -P INPUT DROP
    iptables -P OUTPUT DROP
    iptables -P FORWARD DROP

    # MY_REJECT-Chain
    iptables -N MY_REJECT

    # MY_REJECT fuellen
    iptables -A MY_REJECT -p tcp -m limit --limit 7200/h -j LOG --log-prefix "REJECT TCP "
    iptables -A MY_REJECT -p tcp -j REJECT --reject-with tcp-reset
[b]iptables -A INPUT -m mac --mac-source FF:FF:FF:FF:FF:FF -j REJECT[/b]
    iptables -A MY_REJECT -p udp -m limit --limit 7200/h -j LOG --log-prefix "REJECT UDP "
    iptables -A MY_REJECT -p udp -j REJECT --reject-with icmp-port-unreachable
    iptables -A MY_REJECT -p icmp -m limit --limit 7200/h -j LOG --log-prefix "DROP ICMP "
    iptables -A MY_REJECT -p icmp -j DROP
    iptables -A MY_REJECT -m limit --limit 7200/h -j LOG --log-prefix "REJECT OTHER "
    iptables -A MY_REJECT -j REJECT --reject-with icmp-proto-unreachable

    # MY_DROP-Chain
    iptables -N MY_DROP
    iptables -A MY_DROP -m limit --limit 7200/h -j LOG --log-prefix "PORTSCAN DROP "
    iptables -A MY_DROP -j DROP

    # Alle verworfenen Pakete protokollieren
    iptables -A INPUT -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "INPUT INVALID "
    iptables -A OUTPUT -m state --state INVALID -m limit --limit 7200/h -j LOG --log-prefix "OUTPUT INVALID "

    # Korrupte Pakete zurueckweisen
    iptables -A INPUT -m state --state INVALID -j DROP
    iptables -A OUTPUT -m state --state INVALID -j DROP

    # Stealth Scans etc. DROPpen
    # Keine Flags gesetzt
    iptables -A INPUT -p tcp --tcp-flags ALL NONE -j MY_DROP

    # SYN und FIN gesetzt
    iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j MY_DROP

    # SYN und RST gleichzeitig gesetzt
    iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j MY_DROP

    # FIN und RST gleichzeitig gesetzt
    iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j MY_DROP

    # FIN ohne ACK
    iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j MY_DROP

    # PSH ohne ACK
    iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j MY_DROP

    # URG ohne ACK
    iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j MY_DROP

    # Loopback-Netzwerk-Kommunikation zulassen
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A OUTPUT -o lo -j ACCEPT

    # Connection-Tracking aktivieren
    iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

    # HTTP
    iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 80 -j ACCEPT

    # SMB/CIFS
    iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 137 -j ACCEPT
    iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 138 -j ACCEPT
    iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 139 -j ACCEPT
    iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 445 -j ACCEPT
    iptables -A INPUT -i eth0 -m state --state NEW -p udp --dport 137 -j ACCEPT
    iptables -A INPUT -i eth0 -m state --state NEW -p udp --dport 138 -j ACCEPT
    iptables -A INPUT -i eth0 -m state --state NEW -p udp --dport 139 -j ACCEPT
    iptables -A INPUT -i eth0 -m state --state NEW -p udp --dport 445 -j ACCEPT

    # SSH
    iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 22 -j ACCEPT

   #Webmin
    iptables -A INPUT -i eth0 -m state --state NEW -p tcp --dport 10000 -j ACCEPT


    # Default-Policies mit REJECT
    iptables -A INPUT -j MY_REJECT
    iptables -A OUTPUT -j MY_REJECT

    # Max. 500/Sekunde (5/Jiffie) senden
    echo 5 > /proc/sys/net/ipv4/icmp_ratelimit

    # Speicherallozierung und -timing für IP-De/-Fragmentierung
    echo 262144 > /proc/sys/net/ipv4/ipfrag_high_thresh
    echo 196608 > /proc/sys/net/ipv4/ipfrag_low_thresh
    echo 30 > /proc/sys/net/ipv4/ipfrag_time

    # TCP-FIN-Timeout zum Schutz vor DoS-Attacken setzen
    echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout

    # Maximal 3 Antworten auf ein TCP-SYN
    echo 3 > /proc/sys/net/ipv4/tcp_retries1

    # TCP-Pakete maximal 15x wiederholen
    echo 15 > /proc/sys/net/ipv4/tcp_retries2

    ;;

  stop)
    echo "Stoppe IP-Paketfilter"
    # Tabelle flushen
    iptables -F
    iptables -t nat -F
    iptables -t mangle -F
    iptables -X
    iptables -t nat -X
    iptables -t mangle -X
    # Default-Policies setzen
    iptables -P INPUT ACCEPT
    iptables -P OUTPUT ACCEPT
    iptables -P FORWARD ACCEPT
    ;;

  status)
    echo "Tabelle filter"
    iptables -L -vn
    echo "Tabelle nat"
    iptables -t nat -L -vn
    echo "Tabelle mangle"
    iptables -t mangle -L -vn
    ;;

  *)
    echo "Fehlerhafter Aufruf"
    echo "Syntax: $0 {start|stop|status}"
    exit 1
    ;;

esac
Vielleicht könnt ihr mir ja helfen...

Vielen Dank schonmal,

DarkAngelfire

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 16.01.2006 18:04:20

Also, wegen der Sache mit den Log-Meldungen auf der Konsole, da solltest du ueber die Forumssuche fuendig werden, dazu gibts einige Threads: klogd war da glaub ich ein ganz gutes Stichwort.
Der REJECT fuer die Broadcasts muesste passen denke ich.

Methusalix

Broadcastlogging abstellen, Log aus Konsole umleiten

Beitrag von Methusalix » 16.01.2006 20:41:26

Hallo,

ich habe zu der Frage 2 Anmerkungen. Ich kenne diesen Firewall-Generator nicht; aber geloggt wird das was Du loggen willst und auch wohin. Ich habe mir die Datei im Detail nicht angeschaut, aber wenn Du Dich mit diesem Generator beschäftigst, dann wirst Du auch herausfinden, wohin was geloggt wird.
Mit dem fettgedrucktem wird sich gar nichts ändern da es aus der Sicht einer Shell einen Kommentar darstell; d.h. alle Zeilen die mit # beginnen, werden nicht ausgeführt.
Wenn Du für Deine Bedürfnisse die syslog.conf ändern muß - wo ist das Problem? Konfigurationsdateien sind dazu da, um sie gegebenenfalls anzupassen.
Vielleicht hilft dies etwas für die Orientierung.

Gruß
Matthias

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 17.01.2006 00:35:59

Ach ja, was mir noch eingefallen ist: wenn du die Firewall-Logs wirklich nur in einer Datei haben willst, empfiehlt es sich statt syslogd den syslog-ng einzusetzen. Damit kann man die Meldungen dann viel besser ausfiltern.

Antworten