iptables und usertraffic ...

Rund um die Sicherheit des Systems und die Applikationen
Post Reply
fettbird
Posts: 9
Joined: 2004-08-15 16:31
 

iptables und usertraffic ...

Post by fettbird »

Hallo allerseits,

ich möchte gerne den Traffic, den Benutzer mit ihren Diensten
erzeugen(in meinem Fall irgendein gameserver) protokollieren.

Das heißt:
Benutzer Fred, betreibt einen Gameserver (der dienst wird als
Benutzer Fred ausgeführt). ich möchte jetzt den up/downstream für
benutzer fred und diesen server loggen.

Wie muss jetzt der Befehl lauten um das zu loggen für iptables ?
Oder besser gesagt gibt es vielleicht schon tools die mir die arbeit
abnehmen?

danke im voraus :-)

mfg Bene

p.s. ich kenne den artikel der tutorials über iam aber leider weiß ich nicht wie ich das für einen dienst eines benutzers ausführe ???
Anonymous
 

Re: iptables und usertraffic ...

Post by Anonymous »

Out of the box funktioniert das nicht .. jegliche Tools kannst du in dieser Hinsicht vergessen, weil man einen Gameserver nicht einfach nach *ports* statisch loggen kann aufgrund von diversen handshake Mechanismen.

Es gibt dennoch eine relativ triviale Lösung:

Schau dir den POM (patch-o-matic) patch von Netfilter für den Kernel an [1] .. dieser erlaubt das socketowner matchen auch in der INPUT chain, in der OUTPUT chain ist das standardmäßig vorhanden (sofern Netfilter im Kernel).

das ganze würde dann sofern du alles richtig eingespielt hast in etwa so aussehen:

Code: Select all

iptables -X account1
iptables -N account1
iptables -A account1 -j ACCEPT

iptables -A INPUT -d IP -p udp -m owner --uid-owner <socket-owner-id> -j account1
iptables -A INPUT -d IP -p tcp -m owner --uid-owner <socket-owner-id> -j account1
iptables -A OUTPUT -s IP -p udp -m owner --uid-owner <socket-owner-id> -j account1
iptables -A OUTPUT -s IP -p tcp -m owner --uid-owner <socket-owner-id> -j account1
Das <socket-owner-id> ist natürlich entsprechend zu ersetzen, in deinem Fall würdest du die id über

Code: Select all

id -u fred
herausbekommen.

Den eigentlichen traffic müsstest du dann ggf. über ein Script parsen und in einer mysqlDB addieren:

Code: Select all

iptables -vxnL account1 | grep ACCEPT | awk '{print $2}'
damit erhälst du die bytes in der chain account1

:wink:




Links:
[1] http://netfilter.org/patch-o-matic/pom- ... cketlookup
fettbird
Posts: 9
Joined: 2004-08-15 16:31
 

Re: iptables und usertraffic ...

Post by fettbird »

wow :-)
vielen dank.
werde das jetzt mal ausprobieren!

ich hoffe das ich das irgendwie hinbekomme!
teile mir den server mit nem freund!
ich (programmierer brauche datenbanken usw. er Schüler will onlinegaming!
und irgendwie muss ich das halt für ihn mitloggen! damit wir diesbezüglich genaue triaffic infos haben ...

melde mich gleich nochmal ob es funktioniert hat.
fettbird
Posts: 9
Joined: 2004-08-15 16:31
 

Re: iptables und usertraffic ...

Post by fettbird »

kann man das vielleicht auch irgendwie in iam einbinden ?

ich kriege das was du oben wirklich gut beschrieben hast nicht hin!

daher würde es mir mittlerweile schon reichen incomming und outgoing traffic für einzelne ports zu protokollieren!

wenn ich z.b. alles was auf 1716 kommt mit in iam aufnhemen möchte, was muss ich dann tun?

danke nochmals für die verschwendete zeit :-)
Anonymous
 

Re: iptables und usertraffic ...

Post by Anonymous »

fettbird wrote:kann man das vielleicht auch irgendwie in iam einbinden ?

ich kriege das was du oben wirklich gut beschrieben hast nicht hin!

daher würde es mir mittlerweile schon reichen incomming und outgoing traffic für einzelne ports zu protokollieren!

wenn ich z.b. alles was auf 1716 kommt mit in iam aufnhemen möchte, was muss ich dann tun?

danke nochmals für die verschwendete zeit :-)
Du musst einfach nen eigenen neuen kernel backen wo der POM patch mit drin ist .. und wie gesagt nach ports loggen bringt dir bei nem gameserver nichts.
Ansonsten habe ich von IAM keine Ahnung da ich mir Dinge die ich brauche selber schreibe :wink:
mutombo
Posts: 184
Joined: 2003-06-19 06:10
 

Re: iptables und usertraffic ...

Post by mutombo »

dafür gibts doch sogar ne howto von mir ;)

http://www.debianhowto.de/howtos/de/use ... index.html

ist halt mit ipac-ng
fettbird
Posts: 9
Joined: 2004-08-15 16:31
 

Re: iptables und usertraffic ...

Post by fettbird »

und damit kann ich den traffic von nem gameserver richtig loggen ?
kase
Posts: 1031
Joined: 2002-10-14 22:56
 

Re: iptables und usertraffic ...

Post by kase »

smashie wrote: und wie gesagt nach ports loggen bringt dir bei nem gameserver nichts.
Kommt auf den GameServer an. Bei einem Counter-Strike Server ist es zB so, dass mehr als 95% über den Port 27015 fließen, dh, wenn man diesen Port misst, hat man schon eine recht hohe Genauigkeit, und brauch nicht groß Kernel patchen, usw.

Ansonsten würde ich ipac-ng sogar iam bevorzugen, da iam inzwischen doch etwas veraltet ist. (IMHO)
fettbird
Posts: 9
Joined: 2004-08-15 16:31
 

Re: iptables und usertraffic ...

Post by fettbird »

mir reicht eine ungefähre angabe!
hauptsache mein freund verbraucht mit der daddelei nicht zuviel traffic!
und dafür reicht dieses ipac-ng ja ?
danke für all euere tipps
Anonymous
 

Re: iptables und usertraffic ...

Post by Anonymous »

fettbird wrote:mir reicht eine ungefähre angabe!
hauptsache mein freund verbraucht mit der daddelei nicht zuviel traffic!
und dafür reicht dieses ipac-ng ja ?
danke für all euere tipps
dazu musst du den Kernel trotzdem Patchen .. und das mit den 95% über den port 20715 stimmt nicht .. habe ich aus eigener Erfahrung getestet :wink:
fettbird
Posts: 9
Joined: 2004-08-15 16:31
 

Re: iptables und usertraffic ...

Post by fettbird »

ok,
habe das kernel patchen nach dieser anleitung versucht:
(bin genau danach vorgegangen)
http://www.debianhowto.de/howtos/de/use ... tions.html

aber leider sucht der bei mir nach den dateien die er zu brauchen scheint in den falschen verzeichnissen:

Code: Select all

linux:/usr/src/linux # patch -p1 < ../owner-socketlookup.patch
can't find file to patch at input line 4
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -urN a/include/net/tcp.h b/include/net/tcp.h
|--- a/include/net/tcp.h        2002-11-29 00:53:15.000000000 +0100
|+++ b/include/net/tcp.h        2003-03-27 15:33:45.000000000 +0100
--------------------------
File to patch:
ich nutze suse 9.1
jemand nen tip ?
Anonymous
 

Re: iptables und usertraffic ...

Post by Anonymous »

back doch einfach nen neuen eigenen Kernel .. zu jeder Kenerl option gibts ne 'help' da sollte man mit ein wenig Verstand nichts falsch machen können
kase
Posts: 1031
Joined: 2002-10-14 22:56
 

Re: iptables und usertraffic ...

Post by kase »

Du brauchst den Kernel nicht patchen.

Falls du Debian hast, installier ipac-ng nach diesem HowTo:
http://www.debianhowto.de/howtos/de/ipa ... ac-ng.html

Und adde einfach 27015 zur Ã?berwachung. Wenn dir die 95% zu ungenu sind, dann adde einfach 27000 bis 27030 tcp und udp, dann hast du auf jeden Fall sämtlichen Traffic zu 100% erfasst.

(Mal abgesehen von Layer2 Traffic, den eh nur dein Switch erfasst, und iptables nicht mitloggen kann)
fettbird
Posts: 9
Joined: 2004-08-15 16:31
 

Re: iptables und usertraffic ...

Post by fettbird »

ja aber ich muss doch diese "owner-socketlookup" sache noch mit in den kernel backen! und ich habe suse 9.1. (jaja ich weiß ;-))

hat da einer nen tip wie man was in den kernel nachträglich reinbaut?

und kann mir einer mal die genauen iptables commands geben um alle
udp und tcppacket die über 1716 zu erwischen ?

danke weiterhin :-)
Anonymous
 

Re: iptables und usertraffic ...

Post by Anonymous »

fettbird wrote:ja aber ich muss doch diese "owner-socketlookup" sache noch mit in den kernel backen! und ich habe suse 9.1. (jaja ich weiß ;-))

hat da einer nen tip wie man was in den kernel nachträglich reinbaut?

und kann mir einer mal die genauen iptables commands geben um alle
udp und tcppacket die über 1716 zu erwischen ?

danke weiterhin :-)
Nein wenn du nach Portranges gehst musst du das nicht unbedingt .. dann wird halt jeglicher traffic auf den spezifischen ports gelogged .. halte ich für ne schwachsinns methode .. ich frage mich wirklich wo das Problem ist nen Kernel zu backen.

Desweiteren gab ich dir die _genauen_ commands bereits im 1. Posting :wink:
fettbird
Posts: 9
Joined: 2004-08-15 16:31
 

Re: iptables und usertraffic ...

Post by fettbird »

hast ja recht :-)
gibt bei mir nur irgendwie die probleme, das in dem patchfile schwachsinnige ordnerangaben sind!
die dateien gibt es bei mir aber in ganz anderen ordner als es die patchfile erwartet!
naja :-( werde mir das morgen nochmal anschauen!
versuchen den scheiss kernel mit diesem owner /netfilter patch zu bezwingen und dann mal weiter sehen ...
mfg Bene
Anonymous
 

Re: iptables und usertraffic ...

Post by Anonymous »

die Pathangaben sind bei einem Patch vollkommen irrelevant .. hol dir von kernel.org nen 2.4.27er danach make menuconfig und entsprechend alles durchgehen .. danach POM benutzen und patchen das klappt wunderbar
fettbird
Posts: 9
Joined: 2004-08-15 16:31
 

Re: iptables und usertraffic ...

Post by fettbird »

habe aber nen 2.6 kernel!
geht das damit trotzdem ?
wahrscheinlich nicht! woher kriegt man denn den richtigen patch für die 2.6 version ?
Anonymous
 

Re: iptables und usertraffic ...

Post by Anonymous »

fettbird wrote:habe aber nen 2.6 kernel!
geht das damit trotzdem ?
wahrscheinlich nicht! woher kriegt man denn den richtigen patch für die 2.6 version ?
ja geht es siehe patch-o-matic-ng ... benutz keinen SuSE Kernel sondern back dir nen eigenen :roll:
mutombo
Posts: 184
Joined: 2003-06-19 06:10
 

Re: iptables und usertraffic ...

Post by mutombo »

so hab mir den thread nochmal komplett durchgelesen.
also ipac-ng geht auch mit kernel2.6, der patch ist nur nötig wenn man traffic userbasierend loggen will.

mich würde mal interessieren wo z.b. CS noch traffic verursacht?

Für CS 1.6 mit STEAM sind es diese Ports:
UDP 1200
UDP 27000 to 27015 inclusive
TCP 27030 to 27039 inclusive
Für 1.5:
Incoming UDP to local destination 27015.
In and out UDP to local destination 27011.
Outgoing UDP to remote destination 27010, 27012.
Outgoing TCP to remote destination 5273.
Outgoing TCP to remote destination 7002.

hier steht doch ganz klar welche ports wohin traffic verursachen.
Post Reply