Secure Shell oder SSH bezeichnet sowohl ein Netzwerkprotokoll als auch entsprechende Programme, mit deren Hilfe man auf eine sichere Art und Weise eine verschlüsselte Netzwerkverbindung mit einem entfernten Computer herstellen kann. Die meisten QNAP-Geräte unterstützen diese Verbindungsmöglichkeit vom Werk aus. Bei der werksseitigen Installation vom SSH-Daemon auf den QNAP-Geräten ist es nur dem admin erlaubt sich zu verbinden.
Da der root/admin jedoch alles auf dem System machen darf, sollte man, gerade wenn das System aus dem Internet erreichbar ist, sehr komplexe und sichere Passwörter wählen, um das System abzusichern. Eine andere Möglichkeit ist jedoch das deaktivieren des Root-Logins / Admin-Logins. Hierzu sollte man wie folgt vorgehen:
Austauschen des SSH-Daemons
Der installierte SSH-Daemon scheint von QNAP so modifiziert worden zu sein, dass er nur ein Login als admin zulässt. Um hier flexible zu sein muss Open-SSH installiert werden. Hierzu bedient man sich des ipkg-Systems, um das erforderliche Paket inkl. evtl. Abhängigkeiten zu installieren (vorher als admin via ssh anmelden).
[admin@NAS ~] ipkg list | grep opensshopenssh - 5.1p1-1 - a FREE version of the SSH protocol suite of network connectivity tools.openssh-sftp-server - 5.1p1-1 - sftp-server only from a FREE version of the SSH protocol suite of network connectivity tools.[admin@NAS ~] ipkg install
Der neue SSH-Daemon wird im Verzeichnis /opt/sbin/ installiert und steht nun zur Verfügung. Um das System nun dazu zu bringen, den neuen Daemon zu benutzen wechseln wir in das Verzeichnis /usr/sbin/ und tauschen hier das Ursprungsbinary gegen das von Open-SSH aus (bzw. wir legen einen symbolischen Link an):
[admin@NAS sbin]# cd /usr/sbin/[admin@NAS sbin]# ll sshd -rwxr-xr-x 1 admin administ 275.5k Nov 12 21:27 sshd*[admin@NAS sbin]# mv sshd BACKUP.sshd.orig [--sicher ist sicher--][admin@NAS sbin]# ln -s /opt/sbin/sshd sshd[admin@NAS sbin]# ll sshdlrwxrwxrwx 1 admin administ 14 Nov 27 14:44 sshd -> /opt/sbin/sshd*
Ab sofort sollte der neue SSH-Daemon von der NAS benutzt werden. Nun müssen wir die notwendigen Anpassungen am Konfigurationsfile vornehmen.
Anpassungen an der sshd_config
Das Konfigurationsfile für den SSH-Daemon finden wir im Verzeichnis /etc/ssh/
[admin@NAS sbin]# cd /etc/ssh [admin@NAS ssh]# ll sshd_config -rw-r--r-- 1 admin administ 3.0k Nov 27 22:45 sshd_config
Hier muß die Zeile abgeändert werden in der angegeben ist, dass nur der admin sich verbinden kann und weiterhin sollten wir generell den Root-Zugang abschalten....also ändern wir wie folgt:
aus der Zeile
Zitat#PermitRootLogin yes
machen wir
ZitatPermitRootLogin no
und aus der Zeile
ZitatAllowUsers admin
machen wir
ZitatAllowUsers user1 user2 user3
ACHTUNG! Es muss beachten werden, dass die User auch in der passwd existieren, d.h. es müssen gültige Benutzernamen sein!
sshd_config auch nach Restart
Da die QNAP-System nach einem Neustart den Ursprungszustand wieder herzustellen versuchen, müssen wir uns die sshd_config an eine Stelle kopieren, die nicht bei einem Restart refreshed wird. Hierzu bieten sich natürlich die Stellen im System an, die wir auch für die Freigaben benutzen. Hierzu legen wir uns z.B. ein root-verzeichnis unter /share/MD0_DATA/ an und benutzen dieses für unsere abgeänderte sshd_config:
[admin@NAS ssh]# cd /share/MD0_DATA/[admin@NAS MD0_DATA]# mkdir root[admin@NAS ssh]# cd root[admin@NAS ssh]# cp /etc/ssh/sshd_config .
Nun müssen wir dem System nur noch klar machen, dass es sich immer unsere abgeänderte sshd_config nehmen soll. Hierzu benutzen wir die autorun.sh-Funktionalität:
[admin@NAS MD0_DATA]# cd /[admin@NAS /]# mount -t ext2 /dev/mtdblock5 /tmp/config[admin@NAS /]# vi /tmp/config/autorun.sh
Hier tragen wir nun folgende Zeile ein:
Zitatcp /share/MD0_DATA/root/sshd_config /etc/ssh/sshd_config
und machen die Datei ausführbar:
anschliessend können wir den Mount-Befehl wieder aufheben.
Fertig ! :thumb:
Nach einem Systemneustart sollte ihr euch nun nur noch als user1, user2 oder user3 anmelden können.
Viel Spaß beim Umsetzen und natürlich viel Erfolg
Andre
Hilfe, ich komme gar nicht mehr auf meine QNAP
Es kann durchaus mal passieren, dass ihr euch mit dem SSH aussperrt, aber das ist kein Grund zu Panik
In solchen Fällen hilft es im Web-Interface den Telnet-Zugang einzuschalten und sich via Telnet auf die NAS zu bemühen. Hier greift der sshd nicht und somit könnt ihr über diesen Weg eine evtl. fehlerhafte sshd_config wieder bereinigen.
Kleine Zusatzinformation
- Ihr sollte euch überlegen ggf. das sudo-Package zu installieren, dann könnt ihr root-Befehle auch als einfacher User ausführen, doch das ist ein anderes Thema
- Falls ihr mal als "normaler" User angemeldet seid und kurzfristig doch admin werden wollt, so könnt ihr einfach den Befehl login benutzen:Code
[agrahl@NAS ~]$ whoami agrahl [agrahl@NAS ~]$ login admin Password: [admin@NAS ~]# whoami admin
- Zu Infozwecken habe ich mal meine sshd_config angehängt