WG: AW: 2 Instanzen von Apache - geht das, wenn ja - wie?

Niels Dettenbach linux at eichsfeld.net
Mo Dez 7 07:34:04 CET 2009


...sorry, die ist gestern wohl nicht über die Liste gegangen:

-- Urspr. Mitt. --
Betreff: AW: 2 Instanzen von Apache - geht das, wenn ja - wie?
Von: "Niels Dettenbach" <nd at syndicat.com>
Datum: 06.12.2009 17:09

Hallo Hans,

sorry für das schräge Quoting - macht mein Telefon leider so.

Ja,
natürlich kann man einen Apache(2) httpd auch mehrfach - mit verschiedenen Konfigurationen und sicher auch verschiedenen Usern - starten.

Fraglich ist nur, ob Du hierzu Deine eigenen Apaches kompilieren musst. Soweit ich sehe betrifft dies nur die betr. Default-Einstellungen - d.h. Du müsstes wohl alle von Dir aufgezählten Dinge auch ohne speziell übersetzes HTTPD binary (d.h. mit Konfigurationsdatei und/oder shell optionen) realisieren können. Ev. macht es aber dennoch Sinn, hier Deinen eigenen httpd zu kompilieren...

Dein Freund dürfte in jedem Fall erstmal:
	man httpd
	man httpd.conf
sein.

Mit -f kannst Du einen relativen (ServerRoot - wohl wie in httpd einkompiliert) oder stattdessen absoluten Pfad zur Konfiguration angeben.

Benutzer und Gruppe gibt man dann in der Konfig per
User www-user1
Group www-group1
an.

Ebenso gilt dies auch für Ports und Interfaces (siehe "Listen").

Allerdings:
Soweit ich webmin kenne, bringt es doch einen eigenen HTTP-Service mit - läuft auf einem eigenen Port (z.B. Default 10000) und hat mit Deinem Apache nix am Hut. Kann natürlich sein, das Du allen Webmin-Traffic zusätzlich durch einen Apache schleifen willst...

Je nach Sicherheitsempfinden lassen sich weitgehend ähnliche Sicherheitsbedingungen aber auch mit allein einem httpd - natürlich entsprechend durchdachter Konfiguration - realisieren. Das aber ist sicher Geschmacksache.

Wenn ich richtig verstehe, planst Du statt z.B. webmin / usermin eine eigene Admin-Anwendung (a la "Confixx", "Plesk" & Co.) für z.B. Deine "Hosting-Anwender" / "-Kunden". Wie "sicher" diese letztendlich ist, hängt wohl hauptsächlich von deren Programmierung / Implementierung selbst ab und was man "sicher" haben möchte. 

Der die Anwendung "treibende" httpd dürfte da weniger das (Sicherheits-)Problem sein - so zumindest einige Erfahrungen mit derart Lösungen.

Wenn Du z.B. einen Großteil der Benutzerkonfigurationen und -Rechte (sagen wir mal AAA) über LDAP bzw. eine SQL-Datenbank regelst, benötigt der betr. httpd für das Management nur "minimale" Rechte (muß aber immerhin Zugriff auf die DB bzw. LDAP bekommen...).

Leider habe ich lange nicht alle ./configure Optionen für den aktuellen Apache im Kopf, aber zur "Maximierung" der Sicherheit in Deinem Sinne macht es ev. Sinn, möglichst viele unnötige Features gar nicht erst einzukompilieren oder (wo möglich) einige "feste" Vorgaben einzubauen - möglicherweise auch einen chroot zu verwenden. Ob und wo das Sinn macht, hängt sehr von Deinem Konzept ab, das wir natürlich alle nicht im Detail kennen. 

Eine letzte Option wäre auch, das Management wie (auch) die "Benutzerkonfigurationen" /"-rechte" (AAA) je auf einem eigenen Server - physikalisch oder virtualisiert halt - zu bringen.

Viel Glück soweit.
hth
Cheers,

Niels.
---
Niels Dettenbach
http://www.syndicat.com

-- Urspr. Mitt. --
Betreff: 2 Instanzen von Apache - geht das, wenn ja - wie?
Von: Hans-Dietrich Kirmse <hd.kirmse at gmx.de>
Datum: 06.12.2009 15:52

Hallo,

ich habe (erstmal) eine eher theoretische Frage: kann ich Apache 2 mal
starten? Ich meine nicht, dass der Apache 2 mehrere Prozesse belegt, das
macht er doch sowieso, sondern ich möchte, dass der Apache mit 2
verschiedenen Konfigurationen und was noch wichtiger ist, unter 2
verschiedenen UID gestartet werden kann. Momentan läuft bei mir der
Apache unter der UID www-data. Ich verwende ein Debian Lenny.

Hintergrund dieser Überlegung ist, dass die Administration weitestgehend
per Webinterface stattfinden soll. Andererseits wird jedem User auch ein
html_public-Verzeichnis bereitgestellt, wo PHP verfügbar ist. Anzahl der
Accounts > 500.

Nun ist es ja so, wenn ich Webmin nutzen würde, dann würde die
Administration ja auf einem anderen Webserver und damit auch unter einer
anderen UID ablaufen. Damit hätte die User keine Chance, z.B. mittels
eigener PHP-Scripte irgendetwas unter der UID des 2. Webservers
auszuführen, weil dann sudo unterscheiden könnte. Nun steht bei uns aber
Webmin als 2. Webserver nicht zur Debatte, sondern da wir uns nur
(leidlich) mit Apache auskennen, sollte es (wenn möglich) ein 2. Apache
sein.

Meine Frage: kann mir/uns da jemand weiterhelfen?

Ich würde mich über Antworten sehr freuen.

Mit freundlichen Grüßen aus Saalfeld
Hans-Dietrich