PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Sicherheit] Systemdateien per Webinterface editieren



AceTheFace
27-08-2005, 16:26
Hi,

ich bin gerade dabei ein Webinterface für unseren Mail-/Webinterface in PHP zu schreiben. "Ziel ist es allen “Serverkunden” eine einfache Administrationsoberfläche zur Verfügung zu stellen. Dem einfachen eMail-User, der sein Passwort ändern oder seinen Mailfilter anpassen möchte, dem Domain-Admin, der neue Mailboxen oder Subdomains anlegen möchte oder dem Serveradmin, der ganz einfach neue Domains inkl. deren Admins anlegen möchte."

Und damit das alles funktioniert, muss ich neben DB-Zugriffen dem Webserver eben auch erlauben beispielsweise die Mailbox unter "/home/vmail/domain.tld/user" inklusive einer .mailfilter darin zu erstellen. Oder ein Domainadmin will seine vhosts konfigurieren, schon braucht er Zugriff auf die "/etc/apache2/site-available" bzw. "/etc/apache2/site-enabled".

Ist von sowas absolut abzuraten? Oder gibt es einfach nur Dinge, die man beachten sollte? Wenn ja, würde ich mich über Vorschläge, Ratschläge etc. freuen.

Gruß und danke,
Ace

P.s.: Fertige Lösungen a la Confixx, Visas etc. kommen nicht in Frage.

Romanday
28-08-2005, 11:02
Hi,
Und damit das alles funktioniert, muss ich neben DB-Zugriffen dem Webserver eben auch erlauben beispielsweise die Mailbox unter "/home/vmail/domain.tld/user" inklusive einer .mailfilter darin zu erstellen. Oder ein Domainadmin will seine vhosts konfigurieren, schon braucht er Zugriff auf die "/etc/apache2/site-available" bzw. "/etc/apache2/site-enabled".

Ist von sowas absolut abzuraten? Oder gibt es einfach nur Dinge, die man beachten sollte? Wenn ja, würde ich mich über Vorschläge, Ratschläge etc. freuen.
.

Ich würde dir davon abraten, wenn dies ein öffentlicher Server ist.
Wie willst Du jede Veränderung protokolieren, und entsprechend reagieren?
Irgendwelche Dienste per www starten, stoppen lädt zur Manipulation gerade ein.
Aus diesem Grund sind ja Confixx und ähnliche Produkte entstanden.

AceTheFace
28-08-2005, 14:00
Ich würde dir davon abraten, wenn dies ein öffentlicher Server ist.
Wie willst Du jede Veränderung protokolieren, und entsprechend reagieren?
Irgendwelche Dienste per www starten, stoppen lädt zur Manipulation gerade ein.
Aus diesem Grund sind ja Confixx und ähnliche Produkte entstanden.

Naja, den Usern wird nat. nur gestattet "ihre" Dateien für vhosts und mailfilter zu editieren. Es wird auch kein Feld "Dateiname" geben, in das der User die zu editierende Datei eingibt. Sondern einfach "Mailfilter konfigurieren" und er bekommt seine Datei zu sehen. Das neu Laden der Configs wird dann vom System selbst per cronjob durchgeführt.

Gruß,
Ace

Romanday
28-08-2005, 14:56
Naja, den Usern wird nat. nur gestattet "ihre" Dateien für vhosts und mailfilter zu editieren. Es wird auch kein Feld "Dateiname" geben, in das der User die zu editierende Datei eingibt. Sondern einfach "Mailfilter konfigurieren" und er bekommt seine Datei zu sehen. Das neu Laden der Configs wird dann vom System selbst per cronjob durchgeführt.

Gruß,
Ace

Egal wie man es dreht mir ist unwohl dabei.
Wenn Du dich nicht davon abbringen läßt, stell dem User eine
feste Auswahl von Konfigurationmöglichkeiten zur Verfügung.
Die prüfst du dann, und schreibst deine Mailconfig usw. selber.
Das macht zwar viel Arbeit, aber Du hast mehr Möglichkeiten
bei Fall X einzugreifen.

Außerdem würde ich die ersten 2 Wochen den Cron per Hand starten,
um irgendwelche Errors abzufangen. Irgendetwas hat immer vergessen.

Solange die Kids nicht wegen Sachbeschädigung u. a. anderem verknackt
werden, gibt es kaputte Schultoiletten und Websiten.;-)

Stell die Frage mal anders rum. Was kann im schlimmsten Fall passieren?

[0x[90]|
28-08-2005, 15:19
Ich muss im Auftrag eines Unternehmens zZ. genau das selbe schreiben wie du, nur ein wenig umfangreicher (Konfiguration fuer Apache, Samba, Postfix, etc pp). Da die Software unter dem Unternehmenseigenen Linux laufen und damit ausgeliefert werden soll, habe ich mir folgendes ueberlegt: Ich packe das ganze in ein Bundle welches einen separaten kleinen Webserver enthaelt, welcher als Root auf einem bestimmten Port laeuft und nur das Webinterface ausfuehrt. Somit ist es A) moeglich, Apache in jeglicher Form zu configurieren, ohne das Webinterface unbrauchbar zu machen und B) eine eigene kleine und vor allem sichere Umgebung fuer das ganze bereitzustellen.
Vllt. hilft dir dieser Vorschlag weiter :)