PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache und chroot



rep
02.02.08, 19:08
Hallo Leute,

ich habe es nun geschafft, das der Apache und php4 und php5 als fcgi in einer chroot Umgebung laufen. Das ist ja nichts so außergewöhnliches.
Ich lese aber überall das ein Suid binary im chroot vermieten werden soll, aber suexec hat ja sowas, um zu funktionieren.

Da nun aber auch von php keine E-Mails mehr zu verschicken sind, und auch postfix viele dieser binaries hat, frage ich mich was ich nun machen soll. Ich habe die chroot Umgebung eigentlich aufgebaut, damit man keine Komandos wie wget oder lynx nutzen kann, bzw. läcken andere Programme nicht ausgenutzt werden könnne.

Ich bin leider von unsicheren Installationen geplagt. Jemand einen Vorschlag, oder einen neuen Blickwinkel für mich?

Bin für jeden Hinweis dankbar.


Habe auch schon "mini_sendmail" probiert, doch ist das nicht so ganz kompatibel zu den Standardparmetern, und PHPMailer bzw. der Standard aus der php.ini sollten schon Funktionieren.

Gruß rep

rep
05.02.08, 14:18
Auch hier keiner eine Idee?
wenn ich E-Mails senden könnte, dann wäre das doch schon mal super...

gruß
rep

drcux
05.02.08, 19:24
Vielleicht versteht keiner dein Geschreibsel?

rep
05.02.08, 21:49
Dann fang ich einfach noch mal an.

Ich habe ein chroot Umgebung für Hostingpakete geschaffen. Da laufen logischerweise der Apache und php4+php5 drin. Dies mittels suExec und fcgi. Dabei habe ich nun ein Problem:

es sind nun keine E-Mails mehr versendbar, da /usr/sbin/sendmail nicht vorganden ist. Um das aber in dir Chroot zu bekommen sind so viele Programme und Binarys sowei Einstellungen nötig, das ich mir nicht vorstellen kann das dies alles so machen.


Hinzu kommt eine kleine Nebenfrage, die aber auch nicht unwichtig ist. Wenn man sich über chroot Umgebungen allgemein informiert, wird halt überall gesagt das man suid Programme vermeinden soll, weil man darüber leicht die chroot verlassen könnte.

Nun hat suExec und wenn man komplett postfix auch in die chroot holt auch dieses viele suid Programme. Ist die chroot dann unsinnig, oder was gibt es hier für andere Möglichkeiten.

Roger Wilco
06.02.08, 10:06
es sind nun keine E-Mails mehr versendbar, da /usr/sbin/sendmail nicht vorganden ist. Um das aber in dir Chroot zu bekommen sind so viele Programme und Binarys sowei Einstellungen nötig, das ich mir nicht vorstellen kann das dies alles so machen.
Installiere einen kleinen MTA (ssmtp, nbsmtp, nullmailer...) in der chroot-Umgebung, der die E-Mails an den richtigen MTA außerhalb via SMTP weitergibt.


Wenn man sich über chroot Umgebungen allgemein informiert, wird halt überall gesagt das man suid Programme vermeinden soll, weil man darüber leicht die chroot verlassen könnte.
Nur wenn die Prorgamme das SUID-Bit gesetzt haben und root gehören und die Ausführung beliebiger Befehle (z. B. durch Fehler im Programm) zulassen. Zusätzlich kann man chroot-Umgebungen über Kernelerweiterungen wie grSecurity weiter absichern.

rep
06.02.08, 13:31
Installiere einen kleinen MTA (ssmtp, nbsmtp, nullmailer...) in der chroot-Umgebung, der die E-Mails an den richtigen MTA außerhalb via SMTP weitergibt.


versuch ich mal. Ne idee wie ich den Standard von Debian Etch 4.0 über aptitude installieren kann, ohne konflikte mit Postfix zu bekommen. Brauch das ja "nur" für die chroot. Oder sollte ich das selbst kompilieren?




Nur wenn die Prorgamme das SUID-Bit gesetzt haben und root gehören und die Ausführung beliebiger Befehle (z. B. durch Fehler im Programm) zulassen. Zusätzlich kann man chroot-Umgebungen über Kernelerweiterungen wie grSecurity weiter absichern.


Hallo, bei "suexec" von Apache ist es ja so, das es root gehört. Da sonst die Funktion die es verfolgt selbst auch nicht gegeben ist. Klar ist es "nur" eine potenzielle Gefahr, und nicht grundsätzlich, doch man will ja so viel wie möglich verhindern. Wir gehen einfach mal davon aus, das die suexec Sicherheit über der Wahrscheinlichkeit steht das dort leicht was ausgenutzt werden könnte. Und wenn man deswegen die chroot weglässt, wäre es auch ein Schritt weniger für Angreifer .-)

Hast du zu den Kernelsachen noch Links? also etwas was sich konkret auf Sicherheit in chroot Umgebungen auswirkst, keine Grundsätzlichen Kernelhärtungen... das würde ich dann lieber noch was nach hinten schieben, alles auf einmal geht ja nicht :-)


Ach ja, und danke für den Tipp.

Roger Wilco
06.02.08, 13:43
Oder sollte ich das selbst kompilieren?
Ich würde den jeweiligen Mini-MTA selbst statisch bauen und bei Bedarf in die jeweilige chroot-Umgebung kopieren.

rep
06.02.08, 15:55
werde mich mal ein bisschen über die bei google informieren :-)
aber vielleicht noch eine Kleinigkeit, ne Spool gibt es da nicht, wenn also der relay nicht funktioniert, dann sind die E-Mails weg, ist das korrekt?

Oder gibt es da vielleicht auch einen Mailer der so was ansatzweise ein bisschen beherscht. Also in der "Größenkategorie" :-)

Ansonsten hast du mir aber schon mal sehr geholfen, danke.

Roger Wilco
06.02.08, 16:02
aber vielleicht noch eine Kleinigkeit, ne Spool gibt es da nicht, wenn also der relay nicht funktioniert, dann sind die E-Mails weg, ist das korrekt?
Ja, das ist richtig, aber IMHO vernachlässigbar, da der richtige MTA ja normalerweise weiterhin auf dem gleichen System (eben in nicht der chroot-Umgebung) läuft.


Oder gibt es da vielleicht auch einen Mailer der so was ansatzweise ein bisschen beherscht. Also in der "Größenkategorie" :-)
Nein, MTAs mit einer eigenen Queue sind i. d. R. wieder größer mit den gleichen Anforderungen wie Postfix, Exim usw.

rep
06.02.08, 16:05
hast ja recht, wenn der relay auf dem selben Server läuft wäre es genau das selbe Problem, wie wenn er direkt genutzt würde... Das war eine Blöde Frage.... Sorry... Und danke noch mal.

rep
06.02.08, 18:02
so, nun hab ich mich aber mal damit beschäftigt. Ich hatte mich für nbsmtp entscheiden, das kompiliert und in die chroot gebracht... da hab ich mir mal die Parameter angesehen....

Standard in Skripten ist ja "sendmail -t -i" und das könnte ich in der php.ini ändern, aber es gibt cgi Skripts oder auch den PHPMailer, der um den Absender korrekt setzen zu können direkt das sendmail binary anspricht, und die Parameter und deren Funktionalität von -t -i und auch -f kennt.

Ich werde das gleich mal checken, mit dem PHPMailer und so, aber was ist denn aus den Programmen geworden die sendmail kompatibel sind... gibt es da nichts?

rep
06.02.08, 22:32
So, nun ist es aber so weit...
ich habe esmtp genommen, und das legt auch direkt Symlinks an für Sendmail, und kennt genau die gleichen Paramter. Das ist super und funktioniert gut.

Dann ist das Problem schon mal gelöst :-) Danke für alle die geholfen haben.

Gruß
rep