SFTP mit chroot funktioniert nicht richtig

Probleme mit Samba, NFS, FTP und Co.
Antworten
Sonk
Beiträge: 4
Registriert: 11.07.2012 03:20:22

SFTP mit chroot funktioniert nicht richtig

Beitrag von Sonk » 11.07.2012 03:43:49

Hallo,

seit ein paar Tagen experimentiere ich mit Debian und versuche einen funktionierenden Webserver mit den dazugehörigen Paketen (PHP, MySQL, Apache2, phpmyadmin...) aufzusetzen. Bis jetzt hat alles recht gut geklappt, doch jetzt komme ich beim SFTP-Zugang nicht weiter. Der FTP-Benutzer soll mit chroot "abgekapselt" werden, sodass er nur auf seinen Ordner zugriff hat. Jedoch ist eher das Gegenteil bei mir der Fall:
Der Benutzer kann sich mit SFTP problemlos anmelden, aber er hat keine Lese- und Schreibrechte im Zielverzeichniss (var/www/browsergame). Das zweite Problem ist, dass der Benutzer aus dem chroot Verzeichniss rauskommt und vollen Zugriff auf den Server hat. Also ist eigentlich alles schiefgelaufen, was schief laufen konnte.

So bin ich vorgegangen:

Ich habe eine neue Gruppe (sftponly) angelegt und einen neuen Benutzer webuser1 erstellt und diesen der neuen Gruppe zugewiesen.

Dann habe ich die notwendigen Dinge in der sshd_config geändert (SSH ist schon installiert):

Code: Alles auswählen

Subsystem       sftp    internal-sftp
#Subsystem      sftp    /usr/lib64/misc/sftp-server

Match Group sftponly
        ChrootDirectory /var/www/browsergame
        ForceCommand internal-sftp
        X11Forwarding no
        AllowTcpForwarding no 
Und als letztes habe ich über SFTP mit webuser1 erfolgreich angemeldet. Wie gesagt fehlten mir Lese- und Schreibrechte in /var/www/browsergame und die chroot Umgebung funktionierte nicht, sodass webuser1 ausbrechen konnte und auf den ganzen Server zugriff hatte.
Ich weiß wirklich nicht, wo das Problem ist. Ich habe eigentlich nur das umgesetzt, was ich in Tutorials gesehen habe.

Ich würde mich freuen, wenn ihr mir helfen könntet.

Liebe Grüße, Sonk

uname
Beiträge: 12076
Registriert: 03.06.2008 09:33:02

Re: SFTP mit chroot funktioniert nicht richtig

Beitrag von uname » 11.07.2012 08:02:08

Mir fallen nur zwei Dinge auf, die wahrscheinlich beide nicht zutreffen:
1.) bei mir ist "Group" kleingeschrieben wobei in "man sshd_config" es großgeschrieben steht. Vielleicht kannst du auch "User" versuchen.
2.) Hast du den SSH-Server neu gestartet oder reloadet, damit die Aktion übernommen wird?

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Re: SFTP mit chroot funktioniert nicht richtig

Beitrag von nepos » 11.07.2012 10:03:30

uname hat geschrieben:1.) bei mir ist "Group" kleingeschrieben wobei in "man sshd_config" es großgeschrieben steht. Vielleicht kannst du auch "User" versuchen.
Eigentlich ist das ganze case-insensitive, von daher sollte das keinen Unterschied machen.

Sonk
Beiträge: 4
Registriert: 11.07.2012 03:20:22

Re: SFTP mit chroot funktioniert nicht richtig

Beitrag von Sonk » 11.07.2012 13:58:31

Vielen Dank, für eure Antworten.
uname hat geschrieben: 2.) Hast du den SSH-Server neu gestartet oder reloadet, damit die Aktion übernommen wird?
Ja, den SSH-Server habe ich neu gestartet und erst dann habe ich den SFTP-Zugang mit Filezilla getestet.

Benutzeravatar
FANA
Beiträge: 482
Registriert: 30.03.2005 17:50:55

Re: SFTP mit chroot funktioniert nicht richtig

Beitrag von FANA » 11.07.2012 21:48:16

zeig mal die komplette sshd config

Sonk
Beiträge: 4
Registriert: 11.07.2012 03:20:22

Re: SFTP mit chroot funktioniert nicht richtig

Beitrag von Sonk » 11.07.2012 23:11:53

Hier die Config:

Code: Alles auswählen

# Package generated configuration file
# See the sshd_config(5) manpage for details

# What ports, IPs and protocols we listen for
Port 2236
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
LoginGraceTime 120
PermitRootLogin no
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile	%h/.ssh/authorized_keys

# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes

# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no

#MaxStartups 10:30:60
#Banner /etc/issue.net

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes

Match Group sftponly 
	ChrootDirectory /var/www/browsergame
	ForceCommand internal-sftp
	X11Forwarding no
	AllowTcpForwarding no
Schreibrechte hat webuser1 jetzt in /var/www/browsergame :)

Benutzeravatar
FANA
Beiträge: 482
Registriert: 30.03.2005 17:50:55

Re: SFTP mit chroot funktioniert nicht richtig

Beitrag von FANA » 12.07.2012 13:11:06

Soweit ich weiß, muss der Chroot Ordner "root" gehören.
Im Chroot legt man dann Ordner an, die dem User gehören und darin kann er dann machen was er will.

http://www.debian-administration.org/articles/590

Sonk
Beiträge: 4
Registriert: 11.07.2012 03:20:22

Re: SFTP mit chroot funktioniert nicht richtig

Beitrag von Sonk » 12.07.2012 13:41:40

Danke, jetzt klappt es denke ich.

Ich habe folgendes gemacht:

Code: Alles auswählen

chown root.root /var/www/browsergame
mkdir /var/www/browsergame/web
chown webuser1:sftponly /web
usermod -d /web webuser1
webuser1 hat jetzt in /var/www/browsergame nur Leserechte und in /var/www/browsergame/web Lese- und Schreibrechte.

Antworten