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