Beiträge von agrahl

    Die Lösung !


    Es sieht so aus, als hätte ich eine Lösung gefunden :D Die Lösung ist vielleicht mal wieder nichts 100 %-tig schön, aber dennoch funktioniert sie :thumb: Man muss nur das SUID-Datei Attribut auf die Datei "login" setzen. Hierzu gehen wir wie folgt vor:


    Code
    [user@linux ~] ssh admin@NAS[admin@NAS ~]# cd /bin/[admin@NAS bin]# ll loginlrwxrwxrwx    1 admin    administ        7 Mar 18 08:00 login -> busybox*[admin@NAS bin]# chmod u+s login


    Um das ganze nun noch dauerhaft zu machen (also auch verfügbar nach einem Neustart), sollte man den entsprechenden Eintrag in der "autorun.sh" hinterlegen. Also z.B.:


    Code
    cp /share/MD0_DATA/root/sshd_config /etc/ssh/sshd_config
    /bin/chmod u+s /bin/login


    (wobei die erste Zeile ja bereits oben beschrieben wurde)


    ACHTUNG! Erst nachdem das SUID-Bit gesetzt wurde, sollte man die oben beschriebene Anleitung ausführen und den admin im sshd abschalten.


    Also bei mir scheint es zu funktionieren :D


    Bis denn
    Andre

    ACHTUNG !!! ACHTUNG !!! ACHTUNG !!!


    Ich habe gerade ein Update auf 2.1.4 Build 0318 durchgeführt und musste leider feststellen, dass nun eine Gefahr mit meiner Anleitung besteht. Seit der neuen Version funktioniert der Befehl "login" nicht mehr als nicht Root-User, was zur Folge hat, dass man keine Befehle mehr als "admin" ausführen kann, wenn man den Admin in der sshd_config abstellt :shock:


    ...ich suche gerade nach einer Lösung ... leidert funktioniert der Umweg über "sudo" auch nicht ... ich halte euch auf dem Laufenden.


    CU
    Andre

    Hallo Dario,


    also ich vermute mal, dass Optware bei Dir entweder nicht installiert ist (ist im Werkszustand meine ich noch nicht drauf) oder das der Pfad nicht richtig gesetzt ist. Hier mal zur Info etwas, das Du überprüfen kannst:


    Code
    [admin@NAS ~]# which ipkg
    /opt/bin/ipkg
    
    
    [admin@NAS ~]# echo $PATH                                                                                                            
    /bin:/sbin:/usr/bin:/usr/sbin:/usr/bin/X11:/usr/local/bin:/opt/bin


    Solte bei Dir schon beim ersten Befehl keine Meldung kommen, dann scheint er ipkg nicht zu finden. Hier könntest Du dann noch mit "ls -Fla /opt/bin/ipkg*" schauen, ob es bei Dir im opt-Pfad liegt. Sollte es nicht drauf sein, dann sagt Dir die NAS sowas wie "ls: /opt/bin/ipkg*: No such file or directory". Sollte er das Binary finden, dann kannst Du mit folgenden Befehl den Pfad ergänzen:


    Zitat

    export PATH=$PATH:/opt/bin


    ...oder aber Du rufst ipkg statt mit dem Befehl "ipkg" direkt mit der Pfadangabe auf ... also "/opt/bin/ipkg".


    So... nun kann es ja noch sein, dass ipkg bei dir nicht drauf ist, dann solltest Du über das Web-Interface "QPKG" installieren. Hierzu solltest Du folgenden Weg im WebInterface einschlagen:


    NAS WebInterface --> System Tools --> QPKG --> Get QPKG


    So.... das sollte helfen ... denke ich ;)


    Falls es weiter nicht geht, kannst Du Dich gerne noch mal melden.


    CU
    Andre


    P.S.: Wenn alles durch ist (heisst inkl. SSH-Install) dann solltest folgendes bekommen:


    Zitat


    [admin@NAS ~]# /opt/bin/ssh -V
    OpenSSH_5.1p1, OpenSSL 0.9.7m 23 Feb 2007

    Hallo Dario,


    warum so kompliziert? Natürlich könntest du dir auch das Open-SSH auf der Büchse selber kompilieren, aber das ich ja nicht wirklich notwenig. Wenn Du das wie beschrieben mit "ipkg install openssh" installierst, dann sollte das eigentlich problem klappen. Das Paket, das Du runtergeladen hast, hast nicht wirklich was mit ipkg zu tun. Eigentlich bräuchtest Du nur den Befehl oben aufrufen. Schreib doch mal was passiert wenn du "ipkg install openssh" aufrufst.


    CU
    Andre

    Hallo Gemeinde,


    ich habe seit letzten Dienstag eine TS-209 Pro II mit zwei verbauten 750 GB Platten, die als RAID1 laufen. Bin ein Umsteiger von NSLU2 und hoffe nun das die TS-209 länger hält und stabiler läuft als meine NSLU's ;)


    Wichtig für meine Entscheidung für QNAP war ein Linux-System, das ich nach meinen Bedürfnissen anpassen kann... schauen wir mal, wie viele "dumme" Fragen ich hier stellen muss, bis das System so läuft, wie ich mir das vorgestellt habe :D


    Bis denn
    Andre

    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).


    Code
    [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):


    Code
    [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/


    Code
    [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

    Zitat

    PermitRootLogin no


    und aus der Zeile

    Zitat

    AllowUsers admin


    machen wir

    Zitat

    AllowUsers 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:


    Code
    [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:


    Code
    [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:


    Zitat

    cp /share/MD0_DATA/root/sshd_config /etc/ssh/sshd_config


    und machen die Datei ausführbar:


    Code
    chmod +x /tmp/config/autorun.sh


    anschliessend können wir den Mount-Befehl wieder aufheben.


    Code
    unmount [admin@NAS/]# umount /dev/mtdblock5


    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

    Ok... wie befürchtet ist der Fix nach einem Restart nicht mehr gültig :?
    ...also auf zu Schritt 2 :) Mit Hilfe der autorun.sh habe ich mir die gesicherten Files zurückkopieren lassen.
    heisst... ich habe die sshd_config so angepasst, wie ich sie benötige (AllowUsers erweitert) und zusätzlich habe ich noch die .bashrc für den root bzw. admin angepasst. Beide Files habe ich nun in einen sicheren Bereich kopiert (z.B. /share/MD0_DATA/root/
    Um die Files nun auch nach einem Restart zurück zu bekommen muss man folgendes machen:


    Code
    cd /mount -t ext2 /dev/mtdblock5 /tmp/configvi /tmp/config/autorun.sh


    ...hier nun folgende Zeilen eintragen:


    Code
    cp /share/MD0_DATA/root/sshd_config /etc/ssh/sshd_configcp /share/MD0_DATA/root/.bashrc /root/.bashrc


    ... nun das ganze ausführbar machen und das ganze wieder unmounten...


    Code
    chmod +x /tmp/config/autorun.sh
    umount /dev/mtdblock5


    Restart ausführen und die Däumchen drücken :D


    Yippie !!! Hat geklappt ! :) Somit ist der SSH jetzt gefixt!


    CU
    Andre

    Hi @LL,


    also ... scheint, dass ich einen Weg gefunden habe :D Vielleicht nicht der schönste Weg, aber immerhin funktioniert er.
    im Verzeichnis /etc/ habe ich folgendes in die Datei daemon_mgr.conf eingetragen damit meine sshd_config benutzt wird:


    Code
    DAEMON12 = sshd, start, /usr/sbin/sshd -f /opt/etc/openssh/sshd_config -p 22


    im Verzeichnis /etc/init.d/ habe ich die Datei login.sh wie folgt angepasst:


    Code
    /sbin/daemon_mgr sshd start "$SSH -f /opt/etc/openssh/sshd_config -p $SSH_PORT"


    So.... nun habe ich dem System also schon mal mitgeteilt, welche sshd_config es benutzen soll. Leider hat das noch keine Auswirkung gehabt :?


    Im englischen Board habe ich dann irgendwo einen Eintrag gefunden, dass die von QNAP benutzte SSH-Version wohl nur so funktioniert, dass der admin sich anmelden kann.... da ich also die OPENSSH via ipkg installiert hatte, habe ich noch folgendes gemacht:


    Code
    cd /usr/sbin/
    
    
    mv sshd ORIGINAL_BACKUP_sshd
    
    
    ln -s /opt/sbin/sshd .


    tata .... nachdem ich SSH restartet hatte, funktioniert auch das Login als anderer User und ich kann den admin abschalten :)


    ok.... bisher habe ich noch nicht getestet, ob meine Änderungen auch nach einem Reboot noch aktiv sind, aber das werde ich mir für später aufsparen ... jetzt will ich erstmal meinen Erfolg genießen :D


    @ Dario:
    ...einfach wie folgt:


    • als admin auf die Kiste gehen (ssh admin@NAS)
    • via "ipkg list | grep ssh" schauen ob openssh verfügbar ist... sollte es nicht erscheinen ggf. mal "ipkg update" aufrufen, um die Paketliste zu aktualisieren
    • open ssh via ipkg installieren (ipkg install openssh)


    Ready ! :)


    Bis denn
    Andre

    Hi @LL,


    das würde mich dann auch mal interessieren. Ich habe bisher zwar immer wieder gelesen, dass eine Anmeldung via SSH nur als Admin gehen soll, das würde ich aber gerne abschalten, da die Kiste auch von außen ansprechbar sein soll. Meine Nachforschungen haben bisher aber auch noch nicht zum gewünschten Ergebnis geführt :( Was ich bisher gemacht habe ...


    [*] sshd_config in /etc/ssh/ upgedated --> Ergebnis: kein Erfolg
    [*] openssh via ipkg installiert --> Ergebnis: kein Erfolg
    [*] statt /etc/ssh/sshd_config die /opt/etc/openssh/sshd_config eingebunden --> Ergebnis: kein Erfolg



    ...hat jemand vielleicht noch weiter Tips?


    CU
    Andre