Linux Multiuser Webserver auf Apache2

Hallo ich versuche derzeit ein Linux Multiuser Webserver auf zu setzen.
Arbeite jetzt schon seid einigen Jahren mit Linux Ubuntu und stelle immer mehr Sachen auf Linux um. Nu müssen unsere Windows IIS dran glauben.

Ziel:
Externer Kunde bekommt ein Usernamen und Passwort und kann mit FTP dann Daten / ein CMS wie Wordpress hochladen. Über ein eine Domain kann er dann drauf zu greifen und das Wordpress installieren…

Ist Zustand:
Mein Apache2 kann zwischen php Versionen wechseln, wenn ich diese in der vHost Conig angebe:

 <FilesMatch \.php$>
  SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost"
</FilesMatch>

im DocumentRoot liegt dann eine .user.ini in der ich php Einstellungen vornehmen. Derzeit nur open_basedir. Die .user.ini gehört dem Root und darf nur von anderen gelesen werden.
Das läuft auch alles gut. Auch weitere vHost könnte ich so erstellen.

Problem:
proFTPd nutze ich um den DocumentRoot nach außen für den FTP User zu „veröffentlichen“
Sendet er jetzt seine Daten gehören sie ja z.b. ftpuser1:ftpuser1 Berechtigung 755 oder 655. Nun kann der Apache2 da aber ja nicht mitspielen, der kommt ja mit www-data.

Ich hatte dann was von fpm-pool gelesen. Dort kann ich für jeden vHost einen eigenen Pool anlegen wo ich dann user und group auf ftpuser1 setzen kann. (vielleicht kann man das mit der user.ini ja auch in dem eigenen Pool einstellen, dass ist aber ein anderes Thema)

Aber ich glaube dem Apache2 muss auch noch beigebracht werden als ftpuser1 zu kommen. Da er ja sonst die Daten nicht ändern darf.

Vielleicht bin ich da mit meinen Gedanken auch auf dem Holzweg. Oder ich habe mittlerweile so viel probiert das ich es allgemein Kaputt gemacht habe. Dann würde ein. Probiere es noch mal, den es hört sich richtig an, reichen, das ich morgen noch mal von 0 Starte :smiley:

Habt ihr da eine Idee, oder könnt mir sogar sagen, wie so etwas umgesetzt wird.

Ich würde mir auf gar keinen Fall so etwas ans Bein binden. Damit kannst du nur verlieren. Ein paar Sachen falsch konfiguriert und Kunde A sieht die Daten von Kunde B. Oder irgendein Fremder kriegt durch irgendeine Fehlkonfiguration eigenen Code auf deinen Server und führt ihn aus.
Außerdem musst du dann regelmäßig (!) updaten und das Zeug pflegen. Sowas macht man nicht nebenbei und schon gar nicht ohne Erfahrung.

Vorschlag: Gib ein bisschen Geld aus und kaufe Plesk, damit administrierst du das alles ohne Erfahrung und hast eine brauchbare und per default sichere Schnittstelle zum Kunden.

Oder noch besser, weil du noch weniger Arbeit damit hast. Miete einen managed Server, dann musst du dich um gar nichts mehr kümmern, hast aber alle Freiheiten für deine Kunden.

Nochmal… niemand, wirklich niemand braucht einen unsicher konfigurierten Webserver frei im Netz. Dein Weg wird dich vermutlich schnell zu shodan und ggf. auch auf den heise Newsticker bringen. Sowas ist ganz schlecht fürs Geschäft.

1 Like

Danke für deine Antwort,

ich bin mir deiner Sicherheitsbedenken schon bewusst. Im Moment geht es auch erstmal um eine Machbarkeitsstudie. Sollte ich oder mein Chef nachher Sicherheitsbedenken haben werden wir uns andere Wege suchen.
Aber erstmal ist es so, dass ich so ein Server aufsetzen soll. Außerdem hilft es dem eigenen Wissen nicht, wenn man einfach fertige Systeme Kauft. Den verlassen sollte man sich auf so was dann auch nicht. Es schadet aber auch nicht, sich so ein Wissen an zu eignen und dann zu sagen. OK ich weiß wie es theoretisch geht auch praktisch würde es laufen, aber aus folgenden Gründen würde ich dann doch z.b. Plesk wählen.

1 Like

Da würde ich aber nicht nur die jetzige Machbarkeit bei der Einrichtung prüfen, sondern auch die wiederkehrenden Pflegeaufwände. Und was ist, wenn du mal 2 Monate ausfällst? Gibt es eine Vertretung für dich, die dann das genauso gut pflegen kann? Das wird sich finanziell niemals rechnen, schon gar nicht, wenn das nur nebenbei gemacht wird und deine Aufgaben eigentlich woanders liegen.