1. Foren
  2. Kommentare
  3. Security
  4. Alle Kommentare zum Artikel
  5. › Sicherheitslücke: Nutzer des Apache…

Wer lässt den Apache denn unter root laufen?

  1. Thema

Neues Thema Ansicht wechseln


  1. Wer lässt den Apache denn unter root laufen?

    Autor: echtwahr 02.04.19 - 11:54

    kwt.

  2. Re: Wer lässt den Apache denn unter root laufen?

    Autor: RipClaw 02.04.19 - 12:04

    echtwahr schrieb:
    --------------------------------------------------------------------------------
    > kwt.

    So ziemlich jeder. Jedenfalls den Mutterprozess.

    Die Kindprozesse werden mit geringeren Rechten ausgeführt aber der Mutterprozess ist fast immer root. Ansonsten könnte er sich auch nicht an Port 80 und 443 binden.

  3. Re: Wer lässt den Apache denn unter root laufen?

    Autor: Gonzales 02.04.19 - 12:32

    RipClaw schrieb:
    --------------------------------------------------------------------------------
    > […] der
    > Mutterprozess ist fast immer root. Ansonsten könnte er sich auch nicht an
    > Port 80 und 443 binden.

    mit capabilities schon *klugscheiss*

  4. Re: Wer lässt den Apache denn unter root laufen?

    Autor: mifritscher 02.04.19 - 13:29

    Viele Programme holen sich auch erst die Ports und wechseln dann zum entsprechenden nicht-root User.

  5. Re: Wer lässt den Apache denn unter root laufen?

    Autor: RipClaw 02.04.19 - 14:40

    Gonzales schrieb:
    --------------------------------------------------------------------------------
    > RipClaw schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > […] der
    > > Mutterprozess ist fast immer root. Ansonsten könnte er sich auch nicht
    > an
    > > Port 80 und 443 binden.
    >
    > mit capabilities schon *klugscheiss*

    Das wäre möglich aber ich habe noch keine Distribution erlebt die Apache nicht als root startet.
    Ich habe jetzt noch nicht geprüft was Apache eigentlich an Capabilities benötigt um erfolgreich ohne root zu starten.

  6. Re: Wer lässt den Apache denn unter root laufen?

    Autor: Stephan Windmüller 02.04.19 - 14:45

    RipClaw schrieb:
    --------------------------------------------------------------------------------
    > Das wäre möglich aber ich habe noch keine Distribution erlebt die Apache
    > nicht als root startet.

    Starten vielleicht, um die Ports zu öffnen, aber die weitere Verarbeitung übernehmen Prozesse unter einer unprivilegierten ID. Bei Debian z.B. www-data.

  7. Re: Wer lässt den Apache denn unter root laufen?

    Autor: RipClaw 02.04.19 - 14:51

    Stephan Windmüller schrieb:
    --------------------------------------------------------------------------------
    > RipClaw schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Das wäre möglich aber ich habe noch keine Distribution erlebt die Apache
    > > nicht als root startet.
    >
    > Starten vielleicht, um die Ports zu öffnen, aber die weitere Verarbeitung
    > übernehmen Prozesse unter einer unprivilegierten ID. Bei Debian z.B.
    > www-data.

    Das ist korrekt aber der Mutterprozess läuft weiter unter dem Benutzer root.

    Und genau dieser Umstand scheint es zu ermöglichen das man über diesen Bug Root-Rechte bekommen kann wenn man nach der Beschreibung auf der Fehlerseite geht.

  8. Re: Wer lässt den Apache denn unter root laufen?

    Autor: Gonzales 02.04.19 - 14:53

    RipClaw schrieb:
    --------------------------------------------------------------------------------
    > Das wäre möglich aber ich habe noch keine Distribution erlebt die Apache
    > nicht als root startet.

    Das stimmt, ich habe mir die Frage auch schon gestellt und bin zu dem Schluß gekommen, daß der Weg, httpd als root zu starten und dann ein seteuid()/setegid() je nach httpd-Konfiguraton auszuführen, eventuell gangbarer ist, als daß der Anwender an den systemd-units rumpfuschen muß, sofern es sich beim gewünschten User nicht unbedingt um "apache" handelt.

    > Ich habe jetzt noch nicht geprüft was Apache eigentlich an Capabilities
    > benötigt um erfolgreich ohne root zu starten.

    das sollte ausreichen:
    - setcap cap_net_bind_service=+pe /usr/sbin/httpd
    - chown -R apache: /var/log/httpd /run/httpd
    - ggf. Konfiguration in tmpfiles.d anpassen (legt /run/httpd an)
    - systemd-unit anpassen (User= und Group= setzen)

  9. Re: Wer lässt den Apache denn unter root laufen?

    Autor: Stephan Windmüller 02.04.19 - 15:09

    RipClaw schrieb:

    > Das ist korrekt aber der Mutterprozess läuft weiter unter dem Benutzer
    > root.
    >
    > Und genau dieser Umstand scheint es zu ermöglichen das man über diesen Bug
    > Root-Rechte bekommen kann wenn man nach der Beschreibung auf der
    > Fehlerseite geht.

    Im Text heißt es, die Root-Rechte erhalte man über das Ausführen von CGI-Scripts. Die werden aber doch nicht vom root-Prozess ausgewertet?

  10. Re: Wer lässt den Apache denn unter root laufen?

    Autor: RipClaw 02.04.19 - 15:19

    Stephan Windmüller schrieb:
    --------------------------------------------------------------------------------
    > RipClaw schrieb:
    >
    > > Das ist korrekt aber der Mutterprozess läuft weiter unter dem Benutzer
    > > root.
    > >
    > > Und genau dieser Umstand scheint es zu ermöglichen das man über diesen
    > Bug
    > > Root-Rechte bekommen kann wenn man nach der Beschreibung auf der
    > > Fehlerseite geht.
    >
    > Im Text heißt es, die Root-Rechte erhalte man über das Ausführen von
    > CGI-Scripts. Die werden aber doch nicht vom root-Prozess ausgewertet?

    Über die CGI Skripte kann man offenbar das Scoreboard manipulieren und so Code im Kontext des Mutterprozesses ausführen.

    Die Fehlerbeschreibung im Original ist: In Apache HTTP Server 2.4 releases 2.4.17 to 2.4.38, with MPM event, worker or prefork, code executing in less-privileged child processes or threads (including scripts executed by an in-process scripting interpreter) could execute arbitrary code with the privileges of the parent process (usually root) by manipulating the scoreboard. Non-Unix systems are not affected.

  11. Re: Wer lässt den Apache denn unter root laufen?

    Autor: Bizzi 02.04.19 - 22:22

    > Non-Unix systems are not affected.
    because Windoof hat schließlich auch kein "root" - Ist soetwas nicht logisch?

  12. Re: Wer lässt den Apache denn unter root laufen?

    Autor: hungkubwa 03.04.19 - 09:27

    Bizzi schrieb:
    --------------------------------------------------------------------------------
    > > Non-Unix systems are not affected.
    > because Windoof hat schließlich auch kein "root" - Ist soetwas nicht
    > logisch?

    Viel mehr, weil man unter Windows keine Adminrechte braucht um sich an Port 80 und 443 zu binden... Ich mein, was soll der Schwachsinn überhaupt, dass man unter Linux für alle Ports <1024 Root Rechte braucht?

  13. Re: Wer lässt den Apache denn unter root laufen?

    Autor: RipClaw 03.04.19 - 09:49

    hungkubwa schrieb:
    --------------------------------------------------------------------------------
    > Bizzi schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > > Non-Unix systems are not affected.
    > > because Windoof hat schließlich auch kein "root" - Ist soetwas nicht
    > > logisch?
    >
    > Viel mehr, weil man unter Windows keine Adminrechte braucht um sich an Port
    > 80 und 443 zu binden...

    Da bin ich mir nicht so sicher ob das stimmt. Mein Kenntnisstand ist das man auch unter Windows einen privilegierten Benutzer benötigt um sich an Ports unter 1024 zu binden.
    Da ich allerdings wenig mit Windows mache kann diese Information bereits veraltet sein.

    Der Apache unter Windows ist meiner Meinung nach nicht betroffen da er ein anderes Modell für die Kommunikation der Prozesse untereinander verwendet.

    > Ich mein, was soll der Schwachsinn überhaupt, dass
    > man unter Linux für alle Ports <1024 Root Rechte braucht?

    Es war mal eine Sicherheitsmaßnahme so das nicht Hinz und Kunz einfach Server auf den unteren Ports starten konnten.

    Heutzutage ist das Modell überholt und mit Capabilities (z.B. CAP_NET_ADMIN) kann man auch einem Prozess der als unprivilegierter Benutzer gestartet wurde die Möglichkeit geben sich an einem Port unter 1024 zu binden.

    Allerdings benötigt Apache auch mindestens noch die Möglichkeit den Benutzer zu wechseln.
    Das kann man theoretisch auch mit Capabilities lösen aber mir wäre nicht bekannt das das in Apache Anwendung findet.

  14. Re: Wer lässt den Apache denn unter root laufen?

    Autor: hungkubwa 03.04.19 - 11:23

    RipClaw schrieb:
    --------------------------------------------------------------------------------
    > hungkubwa schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Bizzi schrieb:
    > >
    > ---------------------------------------------------------------------------
    >
    > > -----
    > > > > Non-Unix systems are not affected.
    > > > because Windoof hat schließlich auch kein "root" - Ist soetwas nicht
    > > > logisch?
    > >
    > > Viel mehr, weil man unter Windows keine Adminrechte braucht um sich an
    > Port
    > > 80 und 443 zu binden...
    >
    > Da bin ich mir nicht so sicher ob das stimmt. Mein Kenntnisstand ist das
    > man auch unter Windows einen privilegierten Benutzer benötigt um sich an
    > Ports unter 1024 zu binden.
    > Da ich allerdings wenig mit Windows mache kann diese Information bereits
    > veraltet sein.
    >
    > Der Apache unter Windows ist meiner Meinung nach nicht betroffen da er ein
    > anderes Modell für die Kommunikation der Prozesse untereinander verwendet.
    >
    > > Ich mein, was soll der Schwachsinn überhaupt, dass
    > > man unter Linux für alle Ports <1024 Root Rechte braucht?
    >
    > Es war mal eine Sicherheitsmaßnahme so das nicht Hinz und Kunz einfach
    > Server auf den unteren Ports starten konnten.
    >
    > Heutzutage ist das Modell überholt und mit Capabilities (z.B.
    > CAP_NET_ADMIN) kann man auch einem Prozess der als unprivilegierter
    > Benutzer gestartet wurde die Möglichkeit geben sich an einem Port unter
    > 1024 zu binden.
    >
    > Allerdings benötigt Apache auch mindestens noch die Möglichkeit den
    > Benutzer zu wechseln.
    > Das kann man theoretisch auch mit Capabilities lösen aber mir wäre nicht
    > bekannt das das in Apache Anwendung findet.

    Ne, unter Windows sind keine Adminrechte nötig für Ports unter 1024. Du kannst problemlos einen TCP Listener in Visual Studio auf Port 80 erzeugen und debuggen. Ohne Admin (habs gerade hier auf der Arbeit getestet. Habe keine Adminrechte).

    Und das mit den Capabilities... Um die Einzurichten braucht man ja wieder Adminrechte.
    ICH sehe keinen Sicherheitsgewinn, wenn ich einen Webserver nicht auf Port 80 aber stattdessen auf Port 8000 binden kann.

  15. Re: Wer lässt den Apache denn unter root laufen?

    Autor: RipClaw 03.04.19 - 11:36

    hungkubwa schrieb:
    --------------------------------------------------------------------------------

    > Und das mit den Capabilities... Um die Einzurichten braucht man ja wieder
    > Adminrechte.
    > ICH sehe keinen Sicherheitsgewinn, wenn ich einen Webserver nicht auf Port
    > 80 aber stattdessen auf Port 8000 binden kann.

    Der Sicherheitsgewinn liegt darin das nicht Hinz und Kunz einfach einen Webserver auf Port 80 starten können wenn da in dem Moment nichts läuft. Hier könnte dann jemand Schadcode ausliefern bei jedem Zugriff der in dem Moment stattfindet.

    Stell dir vor du startest einen FTP Server auf Port 21 wenn der gerade nicht läuft und greifst dann alle FTP Logins ab. Oder aber du startest einen SSH Server auf Port 22 und greifst da alle Daten von allen Leuten ab die sich da einloggen wollen.

    Du kannst nicht davon ausgehen das sich nur berechtigte Personen auf einem Server aufhalten. Ein Fehler in CMS System kann dafür sorgen das jemand eine Shell auf einem Server geöffnet bekommt und dann ist er da mit einem unprivilegierten Benutzer drauf. Wenn er dann das machen kann was eigentlich nur der Administrator machen könnten sollte dann haben wir ganz andere Probleme.

  16. Re: Wer lässt den Apache denn unter root laufen?

    Autor: hungkubwa 03.04.19 - 12:45

    Wieso sollte ich mich auf meinen Server mit SSH verbinden, wenn ich nicht sowieso bereits einen SSH Dienst dort laufen habe? Gleiches gilt für HTTP.
    Und ob andere sich fälschlicherweise mit meinem Server zu verbinden versuchen, soll mir doch egal sein. Wenn ich mich versehentlich mit einem falschen Server verbinde und dort mein Passwort eingebe, dann muss ich das Passwort eh als kompromittiert betrachten.

    Und was hindert mich daran, einen HTTP Server auf Port 8080 zu starten und dann einfach auf diesen Port zu verlinken? -> http://bla.de:8080/bösesscript.js



    1 mal bearbeitet, zuletzt am 03.04.19 12:55 durch hungkubwa.

  1. Thema

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Zum Login

Stellenmarkt
  1. Bahlsen GmbH & Co. KG, Hannover
  2. Schaeffler Technologies AG & Co. KG, Nürnberg, Schweinfurt
  3. Berufsförderungswerk Leipzig, Leipzig
  4. Phone Research Field GmbH, Hamburg

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Spiele-Angebote
  1. 4,99€
  2. (u. a. Far Cry 5 für 14,99€, Far Cry New Dawn für 17,99€, Far Cry für 3,99€)
  3. 3,99€


Haben wir etwas übersehen?

E-Mail an news@golem.de


Data Scientist: Ein Mann, der mit Daten Leben retten will
Data Scientist
Ein Mann, der mit Daten Leben retten will

Senfgelbes Linoleum im Büro und weniger Geld als in der freien Wirtschaft - egal, der Data Scientist Danilo Schmidt liebt seinen Job an der Charité. Mit Ärzten entwickelt er Lösungen für Patienten. Die größten Probleme dabei: Medizinersprech und Datenschutz.
Ein Porträt von Maja Hoock

  1. Computerlinguistik "Bordstein Sie Ihre Erwartung!"
  2. OpenAI Roboterarm löst Zauberwürfel einhändig
  3. Faceapp Russische App liegt im Trend und entfacht Datenschutzdebatte

Gebrauchtwagen: Was beim Kauf eines gebrauchten Elektroautos wichtig ist
Gebrauchtwagen
Was beim Kauf eines gebrauchten Elektroautos wichtig ist

Noch steht der Markt für gebrauchte Teslas und andere Elektroautos am Anfang der Entwicklung. Für eine verlässliche Wertermittlung benötigen Käufer ein Akku-Zertifikat. Das bieten private Verkaufsberater an. Ein österreichisches Startup will die Idee groß rausbringen.
Ein Bericht von Dirk Kunde

  1. Elektroautos EU-Kommission billigt höheren Umweltbonus
  2. Elektroauto Jaguar muss I-Pace-Produktion mangels Akkus pausieren
  3. 900 Volt Lucid stellt Serienversion seines Luxus-Elektroautos vor

Kommunikation per Ultraschall: Nicht hörbar, nicht sichtbar, nicht sicher
Kommunikation per Ultraschall
Nicht hörbar, nicht sichtbar, nicht sicher

Nachdem Ultraschall-Beacons vor einigen Jahren einen eher schlechten Ruf erlangten, zeichnen sich mittlerweile auch einige sinnvolle Anwendungen ab. Das größte Problem der Technik bleibt aber bestehen: Sie ist einfach, ungeregelt und sehr anfällig für Missbrauch.
Eine Analyse von Mike Wobker


    1. Versorger-Allianz 450: Warum Blaulichtorganisationen nicht mehr Frequenzen brauchen
      Versorger-Allianz 450
      Warum Blaulichtorganisationen nicht mehr Frequenzen brauchen

      Kein Plan und kein Geld bei den Blaulichtorganisationen für ein Funknetz bei 450 MHz - das kritisiert das Stadtwerkekonsortium Versorgerallianz 450. Das Tetra-Digitalfunknetz von Polizei, Feuerwehr und Rettungskräften liefert Spitzenwerte von 28,8 KBit/s.

    2. Inexio: Deutsche Glasfaser will mehrere Tausend neue Jobs schaffen
      Inexio
      Deutsche Glasfaser will mehrere Tausend neue Jobs schaffen

      Das neue Gemeinschaftsunternehmen von Deutsche Glasfaser und Inexio braucht viel mehr Personal und will massenhaft Haushalte anschließen. 600.000 bis 700.000 Haushalte pro Jahr sollen FTTH bekommen.

    3. Dreams im Test: Bastelwastel im Traumiversum
      Dreams im Test
      Bastelwastel im Traumiversum

      Bereits mit Little Big Planet hat das Entwicklerstudio Media Molecule eine Kombination aus Spiel und Editor produziert, nun geht es mit Dreams noch ein paar Schritte weiter. Mit dem PS4-Titel muss man sich fast schon anstrengen, um nicht schöne Eigenkreationen zu erträumen.


    1. 16:22

    2. 14:35

    3. 14:20

    4. 13:05

    5. 12:23

    6. 12:02

    7. 11:32

    8. 11:15