Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP auShellskripte als root übersführen, Sicherheit?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP auShellskripte als root übersführen, Sicherheit?

    Hi Leute,
    ich möchte über meine PHP-Webseite Shellskripte auf einem Linux-Server ausführen. Die Skripte benötigen jedoch Root-Rechte.
    Ich weiß das Thema wurde schon oft angesprochen, jedoch habe ich noch einige Fragen dazu, die ich nicht finden konnte.
    Und zwar habe ich momentan in der sudoers-Datei dem Apache volle Rechte gegeben: www-data ALL = NOPASSWD: ALL
    Und rufe dann in php so die Skripte auf shell_exec('sudo /pfad/scripts/test.sh)

    Ist das nicht ein großes Sicherheitsrisiko, wenn ich das so mache?
    Hat jemand eine sichere Lösung für mein Problem?

    gruß
    Feral

  • #2
    Naja... im Grunde kann jetzt jeder Benutzer der Gruppe "www-data" mach was er will....

    Kommentar


    • #3
      hmm stimmt. Und kennst du vielleicht eine andere Möglichkeit dafür? Oder eine Absicherung?
      Wenn kein anderer Benutzer in der Gruppe ist, ist es aber unkritisch oder?

      Kommentar


      • #4
        Ohne deinen Code gesehen zu haben behaupte ich jetzt einfach mal ja, weil du bei jeder Sicherheitslücke im CMS (falls du eines der großen benutzen solltest, dann musst du wenn du Pech hast nur einige Monate warten) deinen kompletten Server aus der Hand gibst.

        Außerdem hast du damit auch jedem FTP-Account indirekt ssh-Root Rechte gegeben.

        Da du selber deine Kenntnisse als Anfänger einstufst würde ich es in keinem Fall riskieren, dass du irgendwo einmal einen kleinen Codefehler gemacht hast, der den Anfang vom Ende bedeuten kann.

        Sucher lieber nach Alternativen, wie du es schaffst das Skript auch ohne Root-Rechte zu starten. (z.B. mit einem Cronjob der alle x Minuten schaut ob eine Datei existiert und falls ja diese dann löscht und das Skript ausführt)

        Was soll das Skript denn machen?

        PS: Da der Ordner var/www häufig von allen Benutzern beschrieben werden darf ist das auch kritisch, wenn kein anderer Nutzer in der Gruppe ist.

        Edit: 2Min Google: http://wiki.ubuntuusers.de/sudo/Konfiguration
        Da steht auch drinnen wie du nur ein bestimmtes Skript per Root ausführen kannst.

        Kommentar


        • #5
          Die Tatsache, dass bei apache nur der parent unter root läuft, sollte einem zu denken geben.
          muss aber nicht...

          Was soll das Skript denn machen?
          viele anwendungen (webmin / weboberflächen fw etc.) laufen unter root oder starten root scripte. obwohl dies eine grosser sicherheitslücke ist, halten das viele für vertretbar!

          http://www.webmin.com/security.html da es in perl geschrieben zu sein scheint, hilft die ein blick in die sourcen wohl weniger

          Kommentar


          • #6
            Der Admin soll seine eigenen Skripte auf der Seite verwalten können.
            Er kann dann bestimmten Benutzergruppen die Erlaubnis geben, ein Skript auszuführen.
            So Skripte wie Löschen, Anlegen und aktualisieren sind aber immer vorhanden.
            Ich kann also nicht sagen was späterhin der Administrator alles machen will mit seinen Skripten.
            Somit muss ich ihm die Möglichkeit bieten, die Skripte als root auszuführen.

            Kommentar


            • #7
              und wieso braucht man dafür root ?

              Kommentar


              • #8
                Auf einem Linuxsystem werden ja zum Ausführen von manchen Kommandos root-rechte benötigt. z.B. Passwört ändern, Benutzer anlegen, Benutzer bearbeiten und alle möglichen Dinge.
                Wenn der Admin dann ein Skript hinzufügt, welches Befehle enthält die nur als root ausführbar sind, können die Skripte ja schlecht ohne root-rechte ausgeführt werden?

                Oder versteh ich da was falsch?

                Kommentar


                • #9
                  user können das eigene passwort ändern.
                  wenn du neue user anlegen willst, was haben die für möglichekeiten?

                  systemuser hinzufügen etc kann man, wenn man unbedingt will, bei sudo sehr restriktiv handhaben. was warum und wie monitoring bei deinem ansazu wichtig ist, was was es sonst noch alles zu beachten gibt, hab den link grad nicht da...

                  wie dem auch sei, wenn du sowas wie webmin machen willst, nimm doch gleich webmin oder etwas neueres.

                  Kommentar

                  Lädt...
                  X