Secure Shell ist ein Dienst, der es ermöglicht, entfernt auf eine Linux-Konsole zugreifen zu können. Unter Ubuntu wird OpenSSH genutzt.
Konfigurationshilfe erhält man mit
man sshd_config
Die zentrale Konfigurationsdatei liegt unter:
/etc/ssh/sshd_conf
Nach der Konfiguration muss der Server neugestartet werden und überpfüft werden, dass er auch läuft:
# service ssh restart # service ssh status
Läuft der Prozess nicht, kann der Dienst direkt gestartet werden. Es werden dann auch Fehlermeldungen am Bildschirm ausgegeben(http://ashayhumane.blogspot.de/2012/01/ssh-respawning-too-fast-stopped.html):
# /usr/sbin/sshd
Weitere Informationen kann man dem Log unter /var/log/syslog
einsehen.
Das Logfile iiegt unter
/var/log/auth.log
Je nach dem welches Log-Level man braucht, kann man eine von den Zeilen einkommentieren:
LogLevel INFO #LogLevel DEBUG3
Standardmäßig wird der Port 22 verwendet. Mittels einer Änderung kann man automatisierte Angriffe mittels Portscanner ausschlaten, indem man die Konfiguration entsprechend auf einen anderen Port legt:
# What ports, IPs and protocols we listen for Port 99
Weitere Möglichkeiten ergeben sich, indem man bestimmte Adressbereiche aus- oder einsperrt oder die Authentifizierung via Keys erledigt.
Mittels einer CHROOT-Umgebung wird ein Nutzer in ein bestimmtes Verzeichnis „eingesperrt“, sodass er nicht in andere Verzeichnisse wechseln kann. Folgende Veränderungen müssen vorgenommen werden:
Eine Gruppe, deren Mitgliedschaft die Einstellung aktiviert, muss angelegt werden. Alle Nutzer, die später in dieser Gruppe sind, werden später nur Zugriff auf ein gewisses Verzeichnis (z.B.ihr Home-Verzeichnis) haben.
groupadd sftponly
Dieser Gruppe werden nun alle Nutzer zugewiesen, die sich später in eine CHROOT-Umgebung einloggen sollen.
Nun soll OpenSSH so konfiguriert werden, dass alle Nutzer in der Gruppe sftpuser nur Zugriff auf ihr Homeverzeichnis haben. Beispielsweise kann man einem Nutzer das Home-Verzeichnis in ein DocumentRoot des Webservers legen1).
#Subsystem sftp /usr/lib/openssh/sftp-server Subsystem sftp internal-sftp Match Group sftponly ForceCommand internal-sftp ChrootDirectory %h X11Forwarding no AllowTcpForwarding no
Nun kann der Dienst neu gestartet werden.
Falls das Starten des Dienstes misslingt kann es an den Zugriffsrechten zu den Verzeichnissen liegen2).
Hierzu müssen die Home-Verzeichnisse root:[gruppe]
gehören!
drwxr-xr-x 12 root www-data 4096 2012-05-12 13:57 wiba10.de/
SSH überprüft beim Login, ob die Dateirechte passen und weist ggt. die Anmeldung zurück, dieses Verhalten lässt sich auch verhindern 3)
Bei Änderungen an der Konfiguration des SSH-Servers kann man sich schnell aussperren. Man sollte immer noch eine eingeloggte Sitzung haben, um ggf. Änderungen wieder rückgängig machen zu können.