Um unter Linux Distributionen wie z.B. Debian SFTP Benutzer
in eine Chroot Umgebung einzusperren, kann man das sehr einfach mittels ForceCommand internal-sftp Parameter erledigen.
Indem man SSH und SFTP Benutzer unterschiedliche Gruppen zuweist, kann man die Zugangsart auf SFTP und eine Chroot Umgebung
einschränken.
/etc/ssh/sshd_config
...
AllowGroups sshusers sftpusers
Match Group sshusers
AllowTCPForwarding yes
X11Forwarding no
Match Group sftpusers
ChrootDirectory %h
AllowTCPForwarding no
X11Forwarding no
ForceCommand internal-sftp
...
Eine der einfachsten Möglichkeit Dienste vor unbefugtem Zugriff zu schützen ist den TCP Wrapper
von Wietse Venema
zu verwenden. Der TCP-Wrapper ist ein host-basiertes Netzwerk ACL System. Der SSH Daemon sollte
dafür mit der libwrap-Bibliothek kompiliert sein.
/etc/hosts.allow
ALL : 127.0.0.1 : ALLOW
sshd : 185.15.194.87 : ALLOW
sshd : [2a03:2a00:1300:0:5700::10] : ALLOW
ALL : ALL : DENY
Der SSH Zugang kann auch mittels der Pluggable Authentication Modules
abgesichert werden.
/etc/security/access
+ : root : 185.15.194.87, 2a03:2a00:1300:0:5700::10, .siegnetz.de
+ : rzimmermann : .siegnetz.de
- : ALL : ALL
/etc/pam.de/sshd
...
# Uncomment and edit /etc/security/access.conf if you need to set complex
# access limits that are hard to express in sshd_config.
account required pam_access.so
...