Hallo !
Ich arbeite derzeit an einem Steuerungsprogramm für meine Spieleserver (SRCDS falls es jemanden interessiert). Da Spieleserver regelmässig Ziel von "Scriptkiddie-Attacken" sind, muss dieses ziemlich sicher realisiert werden.
Die Plattform ist Linux, und ich bin relativ firm in der Administration von Unix/Linux-Systemen. Das exakte Problem ist jetzt folgendes :
Die Spieleserver laufen unter einem bestimmten Benutzer (nennen wir ihn im Folgenden mal "srcds"), und der Apache-Webserver ebenfalls (als "www-data"). Ich möchte nun gern über PHP einige Init-Scripte nutzen (start/stop/restart), allerdings ist es (aufgrund von Dateiberechtigungen etc.) unbedingt erforderlich, dass diese Scripte als Benutzer "srcds" ausgeführt werden. Die einzige Lösung der ich mir derzeit bewusst bin, ist die Nutzung von "sudo" .. allerdings müsste ich hierfür wiederum die "/etc/sudoers"-Datei anpassen und definieren, dass der "www-data"-Benutzer ohne Passwort via sudo als "srcds" auf diese Scripte/Kommandos zugreifen darf. Dies führt jedoch (meiner Meinung nach) die Sicherheitsstruktur wieder ad absurdum, denn sobald eine (hoffentlich nicht vorhandene) Sicherheitslücke in der Webseite entdeckt und genutzt werden sollte, hat der Angreifer automatisch die Möglichkeit Kommandos als "srcds" auszuführen, der zwar im Vergleich zu root stark eingeschränkt ist, aber dennoch mehr Rechte hat als der eigentliche "www-data"-Benutzer.
Lange Rede, kurzer Sinn : gibt es eventuell einen sichereren Weg ? Ein vernünftiges (sicheres) Login-Management für den entsprechenden administrativen Teil der Website ist natürlich bereits vorhanden und braucht nicht in die Überlegungen mit einbezogen zu werden.
Vielen Dank im Vorraus,
Oliver
Ich arbeite derzeit an einem Steuerungsprogramm für meine Spieleserver (SRCDS falls es jemanden interessiert). Da Spieleserver regelmässig Ziel von "Scriptkiddie-Attacken" sind, muss dieses ziemlich sicher realisiert werden.
Die Plattform ist Linux, und ich bin relativ firm in der Administration von Unix/Linux-Systemen. Das exakte Problem ist jetzt folgendes :
Die Spieleserver laufen unter einem bestimmten Benutzer (nennen wir ihn im Folgenden mal "srcds"), und der Apache-Webserver ebenfalls (als "www-data"). Ich möchte nun gern über PHP einige Init-Scripte nutzen (start/stop/restart), allerdings ist es (aufgrund von Dateiberechtigungen etc.) unbedingt erforderlich, dass diese Scripte als Benutzer "srcds" ausgeführt werden. Die einzige Lösung der ich mir derzeit bewusst bin, ist die Nutzung von "sudo" .. allerdings müsste ich hierfür wiederum die "/etc/sudoers"-Datei anpassen und definieren, dass der "www-data"-Benutzer ohne Passwort via sudo als "srcds" auf diese Scripte/Kommandos zugreifen darf. Dies führt jedoch (meiner Meinung nach) die Sicherheitsstruktur wieder ad absurdum, denn sobald eine (hoffentlich nicht vorhandene) Sicherheitslücke in der Webseite entdeckt und genutzt werden sollte, hat der Angreifer automatisch die Möglichkeit Kommandos als "srcds" auszuführen, der zwar im Vergleich zu root stark eingeschränkt ist, aber dennoch mehr Rechte hat als der eigentliche "www-data"-Benutzer.
Lange Rede, kurzer Sinn : gibt es eventuell einen sichereren Weg ? Ein vernünftiges (sicheres) Login-Management für den entsprechenden administrativen Teil der Website ist natürlich bereits vorhanden und braucht nicht in die Überlegungen mit einbezogen zu werden.
Vielen Dank im Vorraus,
Oliver
Kommentar