Weiter Zurück [Inhalt] Online Suche im Handbuch LITTLE-IDIOT NETWORKING

10.5 Zählen von Paketen (Accounting)

Das Zählen von Paketen ist recht einfach. Hier ein Beispiel:

ipfwadm -A -a -P tcp -S 0/0 -D 10.0.0.1 21
ipfwadm -A -a -P tcp -S 0/0 -D 10.0.0.1 20
ipfwadm -A -a -P tcp -S 10.0.0.1 21 -D 0/0
ipfwadm -A -a -P tcp -S 10.0.0.1 20 -D 0/0

Dieses Beispiel zählt den FTP Traffic zum und vom Server 10.0.0.1 nach überall hin. Port 20 ist der Datenkanal, über den die Pakete laufen, Port 21 ist der Verbindungskanal für FTP. Die Option -A steht für Accounting, die Option -a für append. Werden die Accounting-Regeln gerade neu aufgesetzt, so muß das -a durch -i ersetzt werden. Die Regeln kann man mit ipfwadm -Af alle geleichzeitig löschen. Zum Löschen von einzelnen Regeln lesen Sie bitte die Hilfe durch: ipfwadm -h, oder schauen Sie auf der Site http://www.xos.nl das ausführliche Handbuch durch.

ipfwadm -A -a -P tcp -S 0/0 -D 10.0.0.1 53
ipfwadm -A -a -P udp -S 0/0 -D 10.0.0.1 53
ipfwadm -A -a -P tcp -S 10.0.0.1 53 -D 0/0
ipfwadm -A -a -P udp -S 10.0.0.1 53 -D 0/0

Dieses Beispiel zählt den Traffic für den Nameserver. Da dieses Protokoll sowohl UDP als auch TCP verwendet, müssen beide Protokolle angegeben werden.

Warum 0/0 ?. Das Problem bei dem Zählen von Paketen ist, daß man nicht weiß, welchen Ausgangsport der anfragende Client verwendet. Es ist immer nur der Zielport bekannt, in diesem Fall Port 53. Daher 0/0.

Für das Zählen von anderen Protokollen muß man die Portnummer eines Dienstes genau kennen. Die möglichen Protokolle findet man in der Datei /etc/protocols, die tatsächlich aktivierten in der Datei /etc/inetd.conf. Es könnte jedoch auch sein, daß Dämonen per Hand aktiviert wurden, diese also nicht in der Datei /etc/inetd.conf für einen automatischen Start eingetragen wurden. Mit netstat -a kann man sich alle aktiven Dämonen/Dienste und deren Portbindung an die jeweiligen Interfaces ausgeben lassen:

root@tunix:/etc > netstat -a|more
Active Internet connections (including servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 *:6000                  *:*                     LISTEN      
tcp        0      0 *:3128                  *:*                     LISTEN      
tcp        0      0 localhost:1105          localhost:1106
ESTABLISHED 
tcp        0      0 localhost:1106          localhost:1105
ESTABLISHED 
tcp        0      0 localhost:1052          localhost:1104
ESTABLISHED 
tcp        0      0 localhost:1104          localhost:1052
ESTABLISHED 
tcp        0      0 localhost:1030          localhost:1050
ESTABLISHED 
tcp        0      0 localhost:1050          localhost:1030
ESTABLISHED 
tcp        0      0 localhost:1027          localhost:1028
ESTABLISHED 
tcp        0      0 localhost:1028          localhost:1027
ESTABLISHED 
tcp        0      0 localhost:1024          localhost:1026
ESTABLISHED 
tcp        0      0 localhost:1026          localhost:1024
ESTABLISHED 
tcp        0      0 *:www                   *:*                     LISTEN      
tcp        0      0 *:ssh                   *:*                     LISTEN      
tcp        0      0 *:linuxconf             *:*                     LISTEN      
tcp        0      0 *:midinet               *:*                     LISTEN      
tcp        0      0 *:btx                   *:*                     LISTEN      
tcp        0      0 *:http-rman             *:*                     LISTEN      
tcp        0      0 *:auth                  *:*                     LISTEN      
tcp        0      0 *:finger                *:*                     LISTEN      
tcp        0      0 *:pop3                  *:*                     LISTEN      
tcp        0      0 *:login                 *:*                     LISTEN      
tcp        0      0 *:shell                 *:*                     LISTEN      
tcp        0      0 *:printer               *:*                     LISTEN      
tcp        0      0 *:telnet                *:*                     LISTEN      
tcp        0      0 *:ftp                   *:*                     LISTEN      
tcp        0      0 *:time                  *:*                     LISTEN      
tcp        0      0 *:chargen               *:*                     LISTEN      
tcp        0      0 *:daytime               *:*                     LISTEN      
tcp        0      0 *:discard               *:*                     LISTEN      
tcp        0      0 *:echo                  *:*                     LISTEN      
tcp        0      0 *:2049                  *:*                     LISTEN      
tcp        0      0 *:722                   *:*                     LISTEN      
tcp        0      0 *:690                   *:*                     LISTEN      
tcp        0      0 *:sunrpc                *:*                     LISTEN      
udp        0      0 *:1026                  *:*                                 

Alle Ports, die auf "LISTEN" stehen, sind aktiv. Wie man sehen kann, sind viel zu viele Dienste unnötig aktiviert. Dieses ist ein Beispiel einer standardmäßig installierten LINUX Distribution. Es gibt einfach zu viele Angriffspunkte für Cracker.

Die Dienste ECHO, DISCARD und CHARGEN sind z.B. in der S.u.S.E. Distribution unnötig deaktiviert. Wenn diese deaktiviert werden, dann funktionieren z.B. TELNET und andere Dienste, wie PING nicht mehr korrekt. Es kann dann erhebliche Zeitverzögerungen beim Verbindungsaufbau oder beim Abbruch geben.

Auf einer Firewall sollten nur die unbedingt notwendigen Dienste und Dämomen laufen.

Für die Kernel 2.0 und 2.2 gibt es auf der Site http://www.freshmeat.net Kernelerweiterungen, die sogar für einzelne User Accounting durchführen können. Diese müssen in den Kernel einkompiliert werden. Zur einfacheren Bedienung finden sich dort auch Frontends, mit denen das Paketezählen sehr einfach ist. Diese Funktionieren auch mit der IPCHAINS Firewall im Kernel 2.2


Weiter Zurück [Inhalt] Online Suche im Handbuch LITTLE-IDIOT NETWORKING