xPhase
07.07.12, 14:06
Hallo liebe Community,
auf Grund von Umstellungen Windows --> Linux ( Webserver ) arbeite ich mich seit nun mehr als 2 Monaten in Linux ein.
Ich muss sagen, dass es zu Anfang ein Riesiger Wald mit unbekannten Bäumen war aber inzwischen echt ne Menge Spaß macht :) Dieser Hinweis nur da ich noch relativ neu auf dem Gebiet bin.
Nun ersteinmal mein Problemszenario und Situationsbeschreibung:
Debian Squeeze 6.5
Apache2 + PHP5 + diverse Extensions
Minimale Installation inkl. Grub und Webmin ( ich weiß....Port ist geändert und ich starte den Dienst expliziert nur wenn ich die Weboberfläche benötige )
Aufsetzen möchte ich einen Webserver welcher an eine DB angebunden ist, die DB liegt allerdings auf einem anderen Server im Lan und der Webserver ist das einzige was eine Portweiterleitung vom Router bekommt.
Quasi die einzige Eingangstür. Und ich hoffe ich liege hier mit einem Debian richtig was die Sicherheit betrifft.
Erste Frage: Legt man die Vhosts regulär ins /var/www (habe eine eigene Partition hierfür erstellt) oder in /srv (so hab ich es teilweise gelesen)
Nun mein eigentliches Problem:
Der physikalische Server ( mit Debian drauf ) steht entfernt, ich greife per SSH zu.
Den Root Zugang habe ich per SSH dicht gemacht.
Einen User habe ich angelegt für Zugriff auf die Shell.
Bis hierher alles super.
Nun habe ich einen User angelegt welcher einzig und allein für den Upload neuer Daten ins Documentroot eines Vhosts zuständig sein soll.
Eventuell kommen weitere Vhosts dazu und dementsprechend muss ich weitere User anlegen und ihnen Ihre Gefängnisse bauen.
Ein Gefängnis im Home Bereich des Users funktioniert auch wunderbar.
Wenn ich aber ein Gefängis im /var/www bauen möchte funktioniert der Verbindungsaufbau des SFTP Clients nicht mehr und die Verbindung wird beim Aufbau vom Server beendet.
Bis hier schon ziemlich viel Text, aber was noch kommt ist eine kurze Beschreibung wie ich ein Gefängnis gebaut habe:
1.
groupadd sftponly
useradd webuser1
usermod -aG sftponly webuser1
2.
/etc/ssh/sshd_config:
[..]
Subsystem sftp internal-sftp
#Subsystem sftp /usr/lib64/misc/sftp-server
Match Group sftponly
ChrootDirectory /home/%u
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
3.
chown root:sftponly /home/webuser1
chmod 750 /home/webuser1
mkdir /home/webuser1/public_html
chown webuser1: /home/webuser1/public_html
Mit diesem 3 Punkte Plan klappt es wie gesagt im Homeverzeichnis.
Im /var/www hört es auf
Für Hilfe UND vor allem weiterhelfende Tipps bin ich sehr dankbar :)
Greetz
ps. Kleine Anmerkung noch, wenn ich nach diesem Plan ein Gefängnis im /srv baue klappt es ebenfalls
auf Grund von Umstellungen Windows --> Linux ( Webserver ) arbeite ich mich seit nun mehr als 2 Monaten in Linux ein.
Ich muss sagen, dass es zu Anfang ein Riesiger Wald mit unbekannten Bäumen war aber inzwischen echt ne Menge Spaß macht :) Dieser Hinweis nur da ich noch relativ neu auf dem Gebiet bin.
Nun ersteinmal mein Problemszenario und Situationsbeschreibung:
Debian Squeeze 6.5
Apache2 + PHP5 + diverse Extensions
Minimale Installation inkl. Grub und Webmin ( ich weiß....Port ist geändert und ich starte den Dienst expliziert nur wenn ich die Weboberfläche benötige )
Aufsetzen möchte ich einen Webserver welcher an eine DB angebunden ist, die DB liegt allerdings auf einem anderen Server im Lan und der Webserver ist das einzige was eine Portweiterleitung vom Router bekommt.
Quasi die einzige Eingangstür. Und ich hoffe ich liege hier mit einem Debian richtig was die Sicherheit betrifft.
Erste Frage: Legt man die Vhosts regulär ins /var/www (habe eine eigene Partition hierfür erstellt) oder in /srv (so hab ich es teilweise gelesen)
Nun mein eigentliches Problem:
Der physikalische Server ( mit Debian drauf ) steht entfernt, ich greife per SSH zu.
Den Root Zugang habe ich per SSH dicht gemacht.
Einen User habe ich angelegt für Zugriff auf die Shell.
Bis hierher alles super.
Nun habe ich einen User angelegt welcher einzig und allein für den Upload neuer Daten ins Documentroot eines Vhosts zuständig sein soll.
Eventuell kommen weitere Vhosts dazu und dementsprechend muss ich weitere User anlegen und ihnen Ihre Gefängnisse bauen.
Ein Gefängnis im Home Bereich des Users funktioniert auch wunderbar.
Wenn ich aber ein Gefängis im /var/www bauen möchte funktioniert der Verbindungsaufbau des SFTP Clients nicht mehr und die Verbindung wird beim Aufbau vom Server beendet.
Bis hier schon ziemlich viel Text, aber was noch kommt ist eine kurze Beschreibung wie ich ein Gefängnis gebaut habe:
1.
groupadd sftponly
useradd webuser1
usermod -aG sftponly webuser1
2.
/etc/ssh/sshd_config:
[..]
Subsystem sftp internal-sftp
#Subsystem sftp /usr/lib64/misc/sftp-server
Match Group sftponly
ChrootDirectory /home/%u
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
3.
chown root:sftponly /home/webuser1
chmod 750 /home/webuser1
mkdir /home/webuser1/public_html
chown webuser1: /home/webuser1/public_html
Mit diesem 3 Punkte Plan klappt es wie gesagt im Homeverzeichnis.
Im /var/www hört es auf
Für Hilfe UND vor allem weiterhelfende Tipps bin ich sehr dankbar :)
Greetz
ps. Kleine Anmerkung noch, wenn ich nach diesem Plan ein Gefängnis im /srv baue klappt es ebenfalls