Ich habe schon seit einiger Zeit einen Rootserver, und habe mir auch schon des öfteren mir hier Tipps und Tricks geholt. Finde das Forum hier echt Klasse! Nun zu meiner Frage...
Ich habe nach langer sucherei mich entschlossen, für die Gameserver (CS:S) ein Script (mehrere ;-) ) zu schreiben, über die meine Teamkameraden die Server neustarten, hochfahren, herunterfahren können. Da direkt über PHP (wie auch des öfteren hier im Forum erwähnt) sehr unsicher ist, habe ich mir folgendes gedacht:
Im einen per htaccess gesicherten Bereich, ist ein Formular.
Der wwwrun schreibt in eine Datei die Zeile css1start.
Der Gameserveraccount greifft alle 5min zu und schaut ob was drin steht. Wenn ja nimmt er die Zeile und startet das Script folgendermaßen:
./srvscript 'ZEILE'
also
./srvscript css1start
Nun? Relativ Sicher oder Absolut Unsicher? Bzw. wie bekomm ich es sicherer hin.
Vielen Dank :-)
Sicherheit (Shellscript zum starten von Servern)
Re: Sicherheit (Shellscript zum starten von Servern)
Einer meiner favorisierten Ansätze.
Nur, dass du auf _keinen Fall_ willst:
Das würde eine mögliche Sicherheitslücke darstellen.
Was du willst ist sowas:
Dadurch wird die auszuführende Zeile nicht von Input-Werten gebildet und es kann schonmal nichts böses auf diesem Weg in die Kommandozeilen eingeschleust werden.
Nur, dass du auf _keinen Fall_ willst:
Code: Select all
./srvscript <ZEILE>
Was du willst ist sowas:
Code: Select all
switch <ZEILE> {
case 'css1start':
./srvscript css1 start
break
case 'css1stop'
./srvscript css1 stop
break
u.s.w.
}
-
- Posts: 6
- Joined: 2006-08-23 14:24
Re: Sicherheit (Shellscript zum starten von Servern)
Danke für die schnelle Antwort, ich dachte mir schon, dass man da irgendwie en Strick draus drehen kann. Danke für die andere Möglichkeit, werde es ausprobieren.
Re: Sicherheit (Shellscript zum starten von Servern)
genau stell Dir vor jemand leist dein .htaccess pw und übergibt
"start &; rm -rf / "
(oder so ähnlich)..
sowas willst Du nicht.. alle Daten die man eingeben kann sollten auf gültige Werte übergeben werden.
"start &; rm -rf / "
(oder so ähnlich)..
sowas willst Du nicht.. alle Daten die man eingeben kann sollten auf gültige Werte übergeben werden.