gameserver in chroot

#0
21.05.2004, 17:23
...neu hier

Beiträge: 2
#1 hi,

ich habe es schon in diversen foren für gameserver admins versucht, allerdings konnte ich in denen niemanden finden der sich mit chroot auskennt, deswegen versuche ich es einmal hier..
da chroot ja eigentlich ein gänginges Mittel ist die Sicherheit etwas zu erhöhen... soweit ich weiss ;)

Und zwar geht es darum dass ich meinen UT2003 server in einem chroot unter einem nonpriv user laufen lassen will da ich dem server programm als solches nicht so argh sehr traue.

Ich habe es geraume Zeit mit den standard linux befehlen versucht :
chroot, su, sudo ... etc.

Das ging allerdings alles schief also habe ich mir die folgenden C Befehle rausgesucht:

chdir
chroot
setgid
setuid
execv

und hab die in ein kleines c proggy gepackt und führe die auch in dieser reihenfolge aus....
Das funktioniert auch soweit... allerdings hab ich nun das problem,
dass der gameserver die host Adressen seiner masterserver bei denen
er sich anmelden muss nicht auflösen kann.....
er bringt immer die Fehlermeldung
gethostbyname failed (TRY_AGAIN)

Also habe ich die gängigen dateien die mit DNS resolv zu tun haben
wie host.conf, hosts und resolv.conf
und sogar die wichtigsten devices wie udp,tcp,icmp und ip mit ins chroot gelegt... aber immer noch kein Erfolg.
In diversen NG's habe herausgefunden dass dieses Problem wohl häufiger auch mit diversen ftp servern etc. im chroot auftritt... aber ich konnte nirgends eine Lösung dafür finden.

Meine Linux distro ist SuSe 9.0 mit der Kernelversion 2.4.45 (Strato Standardkernel)


Hat irgendjemand eine Idee was ich vergessen haben könnte...
schon mal vielen Dank im Vorraus

bye Haqim
Seitenanfang Seitenende
22.05.2004, 03:37
Member
Avatar Xeper

Beiträge: 5288
#2

Zitat

a chroot ja eigentlich ein gänginges Mittel ist die Sicherheit etwas zu erhöhen
Ach ja? - das ist mir neu.
Ich denke was du in wirklichkeit suchst nennt sich "user mode linux".
Und wenn du wahre Sicherheit möchtest versuche dich mal in sowas wie www.grsecurity.net einzuarbeiten.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
23.05.2004, 11:21
...neu hier

Themenstarter

Beiträge: 2
#3 Hi,

Zitat

Ach ja? - das ist mir neu.
mhh.. wieso bringt denn chroot nix ??
Ich meine fast jeder FTP server oder postfix z.B. unterstützen nen chroot schon nativ. Außerdem muss chroot wohl doch etwas bringen sonst hätten die grsecurity leute sich nicht die Arbeit gemacht es zu bearbeiten.

Natürlich ist chroot kein Allheilmittel, das weiss ich auch.... aber wofür ich es verwenden willl sollte es ausreichen.
Ich will verhindern dass ein amoklaufender gameserver unter umständen mir irgendwelche systemdateien zerschiesst, außerdem weiss doch kein schwein welche Löcher in diesen Teilen noch vorhanden sind die noch gar nicht bekannt sind.

was das grsecurity angeht .. danke für den link das sieht recht interessant an... auch wenn as mit wahre sicherheit ein wenig übertrieben war.
In dem einen paper von den machern heisst es ja z.B. auch:

Zitat

Though grsecurity and its ACL system are in no means perfect security, they greatly
increase the difficulty of successfully compromising the system.
bye
Haqim
Dieser Beitrag wurde am 23.05.2004 um 11:29 Uhr von Haqim editiert.
Seitenanfang Seitenende
23.05.2004, 13:07
Member
Avatar Xeper

Beiträge: 5288
#4

Zitat

Ich meine fast jeder FTP server oder postfix z.B. unterstützen nen chroot schon nativ.
Ja und nicht nur fast sondern alle. Das ist ja auch das wofür chroot benutzt wird (bezüglich des FTPd's) - das hat aber nichts mit sicherheit zu tuen.

Zitat

Außerdem muss chroot wohl doch etwas bringen sonst hätten die grsecurity leute sich nicht die Arbeit gemacht es zu bearbeiten.
Kleiner denkfehler - wie wärs denn mit: Chroot bringt was gerade weil es überarbeitet worden ist. - chroot ist mit grsecurity sehr viel sicher, es wurde aber nicht für Sicherheit erfunden.

Zitat

... auch wenn as mit wahre sicherheit ein wenig übertrieben war.
Das denke ich eher weniger - Wenn du alles richtig einstellst kann nicht mal mehr root auch nur irgendeine Datei löschen, du kannst verzeichnisse verstecken etc. mit grsec2 kannst du jedem Benutzer sogar rechte verteilen... - Ich denke nicht das ich da übertrieben habe.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
24.05.2004, 07:30
...neu hier

Beiträge: 3
#5

Zitat

Xeper postete

Zitat

Ich meine fast jeder FTP server oder postfix z.B. unterstützen nen chroot schon nativ.
Ja und nicht nur fast sondern alle. Das ist ja auch das wofür chroot benutzt wird (bezüglich des FTPd's) - das hat aber nichts mit sicherheit zu tuen.

Zitat

Außerdem muss chroot wohl doch etwas bringen sonst hätten die grsecurity leute sich nicht die Arbeit gemacht es zu bearbeiten.
Kleiner denkfehler - wie wärs denn mit: Chroot bringt was gerade weil es überarbeitet worden ist. - chroot ist mit grsecurity sehr viel sicher, es wurde aber nicht für Sicherheit erfunden.

Zitat

... auch wenn as mit wahre sicherheit ein wenig übertrieben war.
Das denke ich eher weniger - Wenn du alles richtig einstellst kann nicht mal mehr root auch nur irgendeine Datei löschen, du kannst verzeichnisse verstecken etc. mit grsec2 kannst du jedem Benutzer sogar rechte verteilen... - Ich denke nicht das ich da übertrieben habe.
ich habe mir das paper auch mal durchgelesen. solche kernel patches sind natürlich immer mehr oder weniger sicher. woher weißt Du denn das dadurch nicht neue sicherheitslücken aufgerissen werden? da traue ich linus torwald ein bisschen mehr... ;-)

mich würde aber auch mal interessieren wie dass mit chroot funktioniert. schließlich könnte der prozess dann nur sein eigenes verzeichnis als root verzeichnis sehen, womit der zugriffsbereich stark eingeschränkt wäre.
Seitenanfang Seitenende
24.05.2004, 09:29
Member
Avatar Xeper

Beiträge: 5288
#6

Zitat

woher weißt Du denn das dadurch nicht neue sicherheitslücken aufgerissen werden? da traue ich linus torwald ein bisschen mehr... ;-)
A) wahrscheinlich
B) unlogisch

Die Frage stellt sich überhaupt gar nicht - wenn niemand mehr irgendwas ausführen kann es sei denn es steht in den ACL's drin wo genau steht wo welcher Prozess auf welche datei zugreifen kann dazu noch kernel restrictions, soll das vielleicht ein scherz sein? - Selbst wenn der kernel verwundbar wäre (zb. ein alter 2.4.18) würde man keinen exploit ausführen können.
Der Kommentar mit Linus Torvalds ist auch irgendwie daneben, Linus Torvalds übernimmt hier maintenence und die organisation (mehr oder weniger) - was glaubst du wieviele andere Entwickler and den Linux kernel beteiligt sind.... Außerdem kümmert sich Linus Torvalds ja auch nicht um grsec das ist nicht seine Aufgabe. Ich denke die komplette Unterstellung ist sinnlos, hättest du dir nur die FAQ auf www.grsecurity.net durchgelesen. Dann könnte man abschließend sagen - oh ja woher weißt du das du nicht ständig vergiftet wirst nur weil du Essen im Supermarkt kaufst, was wäre wenn ich sagen würde der Mensch könnte so wie er jetzt ist weit über 200 Jahre alt werden würde er sich nicht ständig mit giften belasten - woher weißt du also was du ist? - du weißt es nicht. Faktisch kann man nicht alles kontrollieren, es sei denn du hast die Fähigkeit alles selbst zu tuen - solltest du das haben bist du wohl den anderen Menschen weit überlegen, trozdem würdest du nicht die Zeit haben. Und ich glaube kaum das du dich von einem Gemüse-Anbau im Garten dein ganzes Leben ernähren könntest.

Zitat

mich würde aber auch mal interessieren wie dass mit chroot funktioniert. schließlich könnte der prozess dann nur sein eigenes verzeichnis als root verzeichnis sehen, womit der zugriffsbereich stark eingeschränkt wäre.
Wie ich ja schon erleutert habe ist das technisch gesehen so nicht machbar - Sowas nennt sich "user mode linux", da bekommt dann jeder user auf seinem server ein virtuellen server mit allen libs etc. Das ist natürlich voraussetzung damit Prozesse in einem chroot funktionieren können ohne auf das restliche Hauptsystem zugriff zu haben. Allerdings wird der Bedarf durch Implementationen wie grsec komplett aufgehoben. Es sei denn es sollte noch einen bestimmten anderen Grund geben warum jeder Benutzer eine eigene virtuelle Umgebung benötigt.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
24.05.2004, 18:27
Member
Avatar Emba

Beiträge: 907
#7

Zitat

Es sei denn es sollte noch einen bestimmten anderen Grund geben warum jeder Benutzer eine eigene virtuelle Umgebung benötigt.
ein hauptgrund für mich zum einsatz von UML ist die simulation ganzer netze - quasi als emulator mehrerer maschinen und ersatz für VMWARE und Co.

zum kernel und grsec kann ich nur sagen, dass es sehr lange dauert, bis "fremder" code einer anderen entwicklung in den kernel einfließt - dies hat man bei der implementation von UML und SElinux gesehen

@xeper
bitte kläre mich mal auf, worin du denn sinn von chroot siehst, wenn nicht in sicherheit?

greez
Seitenanfang Seitenende
24.05.2004, 23:12
Member
Avatar Xeper

Beiträge: 5288
#8 @Emba

Um den Benutzer in eine andere Umgebung zu verfrachten (ftp daemon zb.)
Aber auch chroot hat ne menge mögliche Sicherheitslücken die ja gerade durch kernel patches wie grsec dicht gemacht werden.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
25.05.2004, 12:08
Member
Avatar Emba

Beiträge: 907
#9

Zitat

Um den Benutzer in eine andere Umgebung zu verfrachten (ftp daemon zb.)
und worin liegt der sinn nun genau?
du beschreibst, was es macht, aber nicht wofür es ist ;)
los, raus mit der sprache, ich will noch was lernen !!!

ja, ich weiß, dass chroot schon einige schwachstellen hatte

greez
Seitenanfang Seitenende
25.05.2004, 12:50
Member
Avatar Xeper

Beiträge: 5288
#10 @Emba

DESCRIPTION
Run COMMAND with root directory set to NEWROOT.

Da direkt aus der manpage.
Alles was ich nur sagen wollte ist das es nicht dafür entwickelt worden ist wofür ihr es benutzen wollt - mit sicherheit etc.
Es ist dafür da um einen Benutzer ein neues root directory zu geben.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
25.05.2004, 12:57
Member
Avatar Emba

Beiträge: 907
#11

Zitat

DESCRIPTION
Run COMMAND with root directory set to NEWROOT.
ja schon, aber ich verstehe nicht, warum du dieses "gefängnis" (chroot jail) nicht im zusammenhang mit sicherheit sehen möchtest ??!?!!

der sinn, einen prozess eine neue root umgebung zu simulieren, liegt IMHO darin, ihn auf kopien von files in einer eingeschränkten umgebung laufen zu lassen, damit er keinen zugriff auf wichtige systembereiche hat und bei fehlfunktionen andere dienste beeinträchtigen kann

aber stimmt schon: der chroot-code ist auch durch fehler aufgefallen, sodass es nur eine temporäre zwischenlösung sein kann

die capabilities von grsec ziehe ich dann auch vor

greez
Seitenanfang Seitenende
29.06.2004, 10:27
Ehrenmitglied

Beiträge: 831
#12 Wenn du dich nun doch für chroot entscheiden möchtest würde ich mir das hier an deiner Stelle anschauen ...

http://www.pf-lug.de/forum/beitraege.php?tid=608&sid=-1&bid=-1

P.s.
chroot ist immernoch besser als gar keine Trennung vom System@xeper
__________
http://linux.regionnet.de/ - http://www.pf-lug.de/ - http://www.4logistic.de/ - http://www.pfenz.de
Seitenanfang Seitenende
14.12.2009, 12:18
...neu hier

Beiträge: 1
#13 Gibt es irgendwelche neuen Empfehlungen im Gameserver Bereich? TS3 Unterstützung wäre prima. Irgenjemand schon Erfahrung gehabt?
__________
Mein derzeitiger Gamserver Provider
Seitenanfang Seitenende
Um auf dieses Thema zu ANTWORTEN
bitte erst » hier kostenlos registrieren!!

Folgende Themen könnten Dich auch interessieren: