Hallo Zusamman,
ich bastel gerade an einem Webserver für meinen Verein, meinem Bruder und mich. Ich möchte uns eine Plattform schaffen, auf der wir an den Webseiten basteln können, bevor wir sie zum richtigen Hoster umziehen und scharf schalten.
Distribution: Squeezer
Mein Problem: Normal liegen die Webseiten unter /var/www und können von Apache und root eingesehen werden. Standardmäßig stehen die Zugriffsberechtigungen auf 755 und Benutzer:Gruppe ist www-data:www-data
Ich möchte jetzt, dass meine Vereinskollegen, nicht in den anderen Verzeichnissen rumkruschten können und umgekehrt. Sie aber über Samba und Joomla Dateien im Verzeichnis der Webseite ändern können.
Mein erster Ansatz: Ich lege einen Symlink im /home/[Benutzer] auf das entsprechende Verzeichnis. Dann ändere ich die Benutzerverhältnisse auf [Benutzername]:www-data Ich füge den [Benutzer] aber nicht der Gruppe www-data zu, da ich verhindern möchte, dass er überall reinschauen kann. (z.B. in die Verzeichnissen der anderen Webseiten.)
Ergebnis: Ich kann als [Benutzer] zwar über Samba oder direkt zugreifen und schreiben, jedoch wenn ich aus joomla heraus Daten schreibe, bekommen die wieder den Eigentümer www-data:www-data. Ich müsste somit wieder die uid anpassen.
Mein nächster Versuch war, die jeweiligen Webseiten in die Benutzerverzeichnisse abzulegen und über einen Symlink in das /var/www-Verzeichnis zu verlinken. Damit kommt aber Apache nicht zurecht. Die Benutzerverzeichnisse sind bei mir Lesegeschützt.
Wie geht man in meinem Fall vor? Kann ich dem Prozess Samba und Apache weitere Gruppenzugehörigkeiten zuweisen?
Viele Grüße Andreas
Hallöchen Andreas,
in der httpd.conf steht unter anderem drin, unter welchem Benutzer und welcher Gruppe der Apache (httpd) laufen soll, die stehen bei Dir vermutlich noch auf www-data. Das kannst Du gern ändern, musst aber aufpassen, dass der neue "geänderte" Benutzer noch auf die restlichen Verzeichnisse zugreifen darf (pid-File, Apache-Logs, etc). Darüber hinaus kannst Du Dich auch dazu entscheiden, PHP nicht als Modul sondern als Fast-CGI laufen zu lassen. Du hast dann also zwei "Zugriffsmodi" ... normale html-Dateien werden vom Apache-Benutzer ausgeliefert, der muss also Zugriff auf die Dateien haben (lesend reicht aus), also entweder den Apache-Benutzer in die Gruppe des Webseitenbenutzers einfügen oder aber den Webseitenbenutzer in die Apache-Gruppe mit aufnehmen. PHP würde im Falle als Modul ebenfalls mit dem Apache-Benutzer laufen, oder aber Du nutzt fastcgi, dann kannst Du jedem PHP-Thread einen eigenen Benutzer geben.
Die Verzeichnisse, wo die Dinger starten sollen, kannst Du direkt im vhost einstellen. Der Standard-Apache bringt ein Art "fallback" vhost mit, der steht meist ebenfalls in der httpd.conf. Weitere vhosts werden später meist includiert, da steht also irgendwo in Deiner httpd.conf ein include mit einem "vhost" im Namen. Je nach Distri und Installation des Apachen können das durchaus auch mehrere sein, daher würde ich Dir vorschlagen, alle Includes die mit vhosts zu tun haben rauszuwerfen und Dich auf eine zu beschränken, in der definierst Du dann deine gesamten vhosts. Den "Standard" vhosts im Apachen schmeisst Du ebenfalls noch raus und so können nur die, die Du in Deiner einzelnen includierten Datei definiert hast dran kommen.
Ferner würde ich Dir empfehlen, für jede Webseite einen eigenen Benutzer und eine eigene Gruppe mit seinem jeweiligen Document-Root als Home-Verzeichnis anzulegen. Die Ordner könntest Du via Samba oder FTP (ohne anonymous Zugriff) freigeben und schon kann jeder nur in seinen Ordner rein. Bei Samba dann darauf achten, dass Du eine authentifizierung mit schickst (security = user).
Ein vhost könnte beispielsweise wie folgt aussehen (hier in diesem Falle mit php-fcgi
<VirtualHost *:80> ServerName example.com ServerAlias example.com *.example.com DocumentRoot /home/example/ ServerAdmin webmaster@example.com Alias /fcgi-bin/ /pfad/zum/fcgi-Verzeichnis </VirtualHost>
im fcgi-Verzeichnis muss dann eine php.ini und ein php-wrapper liegen (gilt nur bei der Verwendung von fastcgi, im Falle von mod_php muss die Zeile mit dem fcgi-bin entfernt werden)
ein paar Informative Links: http://mein.homelinux.com/wiki/dienste/apache http://web-rocker.de/2011/01/apache-2-itk-mpm/
Gruß Maddin
Am 02.03.2013 09:48, schrieb Andreas Oettel:
Hallo Zusamman,
ich bastel gerade an einem Webserver für meinen Verein, meinem Bruder und mich. Ich möchte uns eine Plattform schaffen, auf der wir an den Webseiten basteln können, bevor wir sie zum richtigen Hoster umziehen und scharf schalten.
Distribution: Squeezer
Mein Problem: Normal liegen die Webseiten unter /var/www und können von Apache und root eingesehen werden. Standardmäßig stehen die Zugriffsberechtigungen auf 755 und Benutzer:Gruppe ist www-data:www-data
Ich möchte jetzt, dass meine Vereinskollegen, nicht in den anderen Verzeichnissen rumkruschten können und umgekehrt. Sie aber über Samba und Joomla Dateien im Verzeichnis der Webseite ändern können.
Mein erster Ansatz: Ich lege einen Symlink im /home/[Benutzer] auf das entsprechende Verzeichnis. Dann ändere ich die Benutzerverhältnisse auf [Benutzername]:www-data Ich füge den [Benutzer] aber nicht der Gruppe www-data zu, da ich verhindern möchte, dass er überall reinschauen kann. (z.B. in die Verzeichnissen der anderen Webseiten.)
Ergebnis: Ich kann als [Benutzer] zwar über Samba oder direkt zugreifen und schreiben, jedoch wenn ich aus joomla heraus Daten schreibe, bekommen die wieder den Eigentümer www-data:www-data. Ich müsste somit wieder die uid anpassen.
Mein nächster Versuch war, die jeweiligen Webseiten in die Benutzerverzeichnisse abzulegen und über einen Symlink in das /var/www-Verzeichnis zu verlinken. Damit kommt aber Apache nicht zurecht. Die Benutzerverzeichnisse sind bei mir Lesegeschützt.
Wie geht man in meinem Fall vor? Kann ich dem Prozess Samba und Apache weitere Gruppenzugehörigkeiten zuweisen?
Viele Grüße Andreas
_______________________________________________ Lug-dd maillist - Lug-dd@mailman.schlittermann.de https://ssl.schlittermann.de/mailman/listinfo/lug-dd
Hallo!
Meine 2ct dazu, auch wenn sie nicht ganz der Frage entsprechen. Ich arbeite statt mit FTP oder Samba nur mit WebDAV. Dazu schalte ich im Apache DAV ein. Das Problem: Wenn ein User über DAV ein PHP-Script abruft, bekommt er nur das Ergebnis vom Interpreter und nicht die Datei selbst. Der Trick: Der Webspace wird einmal mit PHP unter seiner normalen URL und einmal ohne PHP unter /dav angeboten.
ln -s /var/www /var/dav
In der Apache-Konfiguration:
Alias /dav /var/dav <Directory /var/dav> Options -Indexes php_flag engine off AuthType Basic AuthName "Webadmin bei netAction" AuthUserFile /pfad/zum/passwortfile Dav ON require user mueller meier schulze </Directory>
Fertig.
Die User im Passwortfile haben mit den Systemusern nichts zu tun. Alle Dateien gehören www-data. Das Passwortfile wird ganz easy mit htpasswd angelegt und administriert.
Thomas
Hej!
Daten übertragen ins Netz: Da will man kein FTP (Passwort wird unverschlüsselt übertragen) und meist auch kein Samba (Config-Aufwand, um sichere Verschlüsselung sicherzustellen; all die im Internet nutzlosen broadcasts und lookups deaktivieren). "Vernünftige" Kandidaten sind WebDAV über HTTPS und SCP.
2013-03-02 10:48, Andreas Oettel skrev:
Standardmäßig stehen die Zugriffsberechtigungen auf 755 und Benutzer:Gruppe ist www-data:www-data
Einfachster Weg: Dem Apache andere Umask geben.
Ich möchte jetzt, dass meine Vereinskollegen, nicht in den anderen Verzeichnissen rumkruschten können und umgekehrt. Sie aber über Samba und Joomla Dateien im Verzeichnis der Webseite ändern können.
Müssen die Kollegen unterscheidbar Kannst du den den zwei, drei Leuten, die SCP-Zugriff bekommen (so viele Leute finden sich im üblichen Verein nicht durch eine technische Verzeichnisstruktur durch) einigermaßen vertrauen? Dann gib allen einen gemeinsamen Account, nimm Apache mod_userdir -> in /home/username/public_html liegt deren Seite, gehört nur ihnen.
Beste Grüße Fabian
Hi Fabian :-)
da gebe ich Dir schon Recht, aber der soll ja erst mal nur für die Entwicklung da sein, also offensichtlich in einem lokalen Netz und nicht im Internet (zumindest hab ich das so verstanden), da spielt (hoffentlich) die Sicherheit noch keine Rolle (sofern man den leuten die gleichzeitig dran arbeiten nicht böswillige FTP-, Samba oder andere Hackversuche unterstellt. By the way, wozu gibts aber SFTP, FTPS, etc.? SCP würde ich auch bevorzugen :-) Zumal ich noch nicht wirklich gehört habe, dass sich jemand die Mühe gemacht hat um FTP Passwörter auszusniffen. Die meisten Fälle in Form von Missbrauch von FTP Kennwörtern lagen meist an lokalen Trojanern auf der Platte, aber direkt von jemandem zu Hause per Sniffer ran setzen und das FTP Kennwort ermitteln? Ist in meinen Augen ebenfalls zu viel Aufwand ;-)
Gruß Maddin
Am 02.03.2013 14:31, schrieb Fabian Hänsel:
Hej!
Daten übertragen ins Netz: Da will man kein FTP (Passwort wird unverschlüsselt übertragen) und meist auch kein Samba (Config-Aufwand, um sichere Verschlüsselung sicherzustellen; all die im Internet nutzlosen broadcasts und lookups deaktivieren). "Vernünftige" Kandidaten sind WebDAV über HTTPS und SCP.
_______________________________________________ Lug-dd maillist - Lug-dd@mailman.schlittermann.de https://ssl.schlittermann.de/mailman/listinfo/lug-dd
Am 2. März 2013 17:11 schrieb Martin Schuchardt kruemeltee@gmx.de:
da spielt (hoffentlich) die Sicherheit noch keine Rolle
Dann gebt allen halt root-Zugang.
By the way, wozu gibts aber SFTP, FTPS, etc.? SCP würde ich auch bevorzugen :-)
Von FTP, FTPS und SFTP habe ich noch nichts Brauchbares gesehen. SCP hat übel mit Kompatibilitäten zu kämpfen. Wenn, dann würde ich eine vollwertige Shell, also SSH, anbieten und nicht nur SCP.
TOFU fachgerecht entsorgt.
+++++
Der TO erfindet gerade mit Samba und Zeugs das Rad neu. Schaut doch einfach mal, wie es andere machen: http://www.df.eu/de/service/df-faq/webhosting/webspace-zugriff/
Da gibt es FTP, weil das einfach von vielen Kunden gefordert wird. Nicht zu empfehlen.
Anonymous FTP ist im Wesentlichen für automatisierte Uploads. Hier nicht gefragt.
WebDAV heißt hier LiveDisk und wird empfohlen.
SSH ist klar. Und zwar nicht SCP, sondern richtig SSH.
Thomas
Am 02.03.2013 16:29 schrieb "Thomas Schmidt" schmidt@netaction.de:
Am 2. März 2013 17:11 schrieb Martin Schuchardt kruemeltee@gmx.de:
da spielt (hoffentlich) die Sicherheit noch keine Rolle
Dann gebt allen halt root-Zugang.
By the way, wozu gibts aber SFTP, FTPS, etc.? SCP würde ich auch bevorzugen :-)
Von FTP, FTPS und SFTP habe ich noch nichts Brauchbares gesehen.
Bitte? Sftp ist SSH. Verwende ich nur! Einfach in die config gucken ob die backings drin sind ( sind sie idr schon seit Jahren automatisch.). Kann man dann einfach mit gftp oder filezilla nutzen.
Ftps ist ftp mit SSL handshake für das Passwort, der Rest ist dann wieder klartext.
SCP hat übel mit Kompatibilitäten zu kämpfen. Wenn, dann würde ich eine vollwertige Shell, also SSH, anbieten und nicht nur SCP.
TOFU fachgerecht entsorgt.
+++++
Der TO erfindet gerade mit Samba und Zeugs das Rad neu. Schaut doch einfach mal, wie es andere machen: http://www.df.eu/de/service/df-faq/webhosting/webspace-zugriff/
Da gibt es FTP, weil das einfach von vielen Kunden gefordert wird. Nicht zu empfehlen.
Anonymous FTP ist im Wesentlichen für automatisierte Uploads. Hier nicht gefragt.
WebDAV heißt hier LiveDisk und wird empfohlen.
SSH ist klar. Und zwar nicht SCP, sondern richtig SSH.
Thomas
Lug-dd maillist - Lug-dd@mailman.schlittermann.de https://ssl.schlittermann.de/mailman/listinfo/lug-dd
Am 2. März 2013 16:37 schrieb Markus Bergholz markuman@gmail.com:
Von FTP, FTPS und SFTP habe ich noch nichts Brauchbares gesehen.
Sftp ist SSH. Verwende ich nur! Kann man dann einfach mit gftp oder filezilla nutzen.
Ja. Aber deswegen bitte nicht das restliche SSH zunageln. Nicht jeder will gftp verwenden.
Thomas
Am 02.03.2013 16:49 schrieb "Thomas Schmidt" schmidt@netaction.de:
Am 2. März 2013 16:37 schrieb Markus Bergholz markuman@gmail.com:
Von FTP, FTPS und SFTP habe ich noch nichts Brauchbares gesehen.
Sftp ist SSH. Verwende ich nur! Kann man dann einfach mit gftp oder filezilla nutzen.
Ja. Aber deswegen bitte nicht das restliche SSH zunageln. Nicht jeder will gftp verwenden.
Hab ich nie behauptet ;) Bei mir gibts nur SSH, scp und sftp. Und nur für die, die es auch brauchen und kontent erstellen.
Thomas
Lug-dd maillist - Lug-dd@mailman.schlittermann.de https://ssl.schlittermann.de/mailman/listinfo/lug-dd
Hallo Ihr beiden.
Der Rechner hängt tatsächlich am frei zugänglichem Internet. Ich sitze aktuell im Westen und meine Vereinskollegen bzw. mein Bruder in Sachsen. Aus dem Grund wird es _nur_ die Zugänge OpenVPN, SSH und die Desktopweiterleitung per VNC geben. Desweiteren ist der Port 80 freigegeben.
Bei OpenVPN habe ich das ganze TamTam mit den Schlüsseln und der Verteilung durch. Bei SSH und VNC geht die Verbindung auch ohne Schlüssel tauschen. Da weiß ich nicht so richtig was da im Hintergrund abgeht. Wird da Verschlüsselt oder nicht?
Samba läuft durch OpenVPN.
Viele Grüße Andreas
Am 02.03.2013 17:11, schrieb Martin Schuchardt:
Hi Fabian :-)
da gebe ich Dir schon Recht, aber der soll ja erst mal nur für die Entwicklung da sein, also offensichtlich in einem lokalen Netz und nicht im Internet (zumindest hab ich das so verstanden), da spielt (hoffentlich) die Sicherheit noch keine Rolle (sofern man den leuten die gleichzeitig dran arbeiten nicht böswillige FTP-, Samba oder andere Hackversuche unterstellt. By the way, wozu gibts aber SFTP, FTPS, etc.? SCP würde ich auch bevorzugen :-) Zumal ich noch nicht wirklich gehört habe, dass sich jemand die Mühe gemacht hat um FTP Passwörter auszusniffen. Die meisten Fälle in Form von Missbrauch von FTP Kennwörtern lagen meist an lokalen Trojanern auf der Platte, aber direkt von jemandem zu Hause per Sniffer ran setzen und das FTP Kennwort ermitteln? Ist in meinen Augen ebenfalls zu viel Aufwand ;-)
Gruß Maddin
Am 02.03.2013 14:31, schrieb Fabian Hänsel:
Hej!
Daten übertragen ins Netz: Da will man kein FTP (Passwort wird unverschlüsselt übertragen) und meist auch kein Samba (Config-Aufwand, um sichere Verschlüsselung sicherzustellen; all die im Internet nutzlosen broadcasts und lookups deaktivieren). "Vernünftige" Kandidaten sind WebDAV über HTTPS und SCP.
_______________________________________________ Lug-dd maillist - Lug-dd@mailman.schlittermann.de https://ssl.schlittermann.de/mailman/listinfo/lug-dd
Lug-dd maillist - Lug-dd@mailman.schlittermann.de https://ssl.schlittermann.de/mailman/listinfo/lug-dd
Am 2. März 2013 16:45 schrieb Andreas Oettel rc5.dresden@gmx.de:
Bei SSH und VNC geht die Verbindung auch ohne Schlüssel tauschen. Da weiß ich nicht so richtig was da im Hintergrund abgeht. Wird da Verschlüsselt oder nicht?
Der SSH-Server sendet bei jeder Verbindung einen Fingerprint seines Schlüssels. Das ist eine lange Nummer, die angezeigt wird. Wenn du den nicht kontrollieren kannst, musst du ihn bei der ersten Verbindung glauben. Dann wird er bei dir im Client gespeichert. Bei jeder weiteren Verbindung guckt dein Rechner, ob der Server immer noch mit diesem Fingerprint arbeitet. Wenn nicht, schlägt er Alarm. Das ist die beste Verschlüsselung, die geht. Wesentlich sinnvoller als das Zertifikate-System, mit dem HTTPS und damit auch WebDAV arbeiten.
VNC ist normalerweise unverschlüsselt.
Thomas
Das wird ja hier ein kleiner Sicherheits-Contest ... ich denke mal für ein Entwicklungssystem ist prinzipiell erst einmal für die Thread-Ersteller wichtig, dass die nicht offensichtlich auf die Daten der anderen zugreifen können, also dass nicht alle im gleichen Ordner landen und dann in ihr Verzeichnis rein müssen. Wie gesagt, daher halte ich es für sinnvoll, jedem grundlegend einen eigenen Benutzer auf dem System einzurichten. Ein richtiges Absichern des Servers über Mechanismen kommt immer auf die "Paranoia" des jeweiligen Besitzers drauf an (das hatte ich auch mal), dann kann man gar zu Methoden wie Port-Knocking zurück greifen und die entsprechenden Ports umbiegen. (das BSI gibt hier interessante Anleitungen dazu) Daher würde ich entsprechend der ursprünglichen Frage einfach Samba mit Benutzerauthentifizierung starten, die Rechte für jeden Benutzer ordentlich vergeben, den Apache-Benutzer in diese Überlegung mit einbeziehen und gut ist. Auf dem Live-System wirds nachher interessant, da sollte er sich über die von uns gegebenen Vorschläge einen Kopf machen, die kann man gern auch schon bei Testsystem ausprobieren. Kommt letztendlich immer drauf an, welchen Zugriff er auf das Endgültige System hat, also Root-Rechte oder nur Benutzer Rechte :-)
Gruß Maddin
lug-dd@mailman.schlittermann.de