SFTP Zugang über OpenSSH einrichten mit Qnap-NAS

Aus Gemini-Wiki
Version vom 30. August 2009, 19:04 Uhr von EgLe (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen
Baustelle.png

Diese Seite befindet sich im Entwurfsstadium und wird von EgLe bearbeitet.

The Gemini Project

SFTP Zugang über OpenSSH einrichten mit Qnap-NAS

Artikel Getestet.png Dieser Artikel wurde getestet unter: Qnap TS-119
Ambox warning.png Dies ist nichts für Anfänger, es werden keinerlei Haftung für Datenverluste usw. übernommen!

Das ist schon ein größerer Eingriff und erfordert eine Menge Arbeit an Konfigurationen

Einleitung

In diesem Beispiel wird von einem Qnap ausgegangen die mit der neuen Firmware 3.x ausgestattet sind. Hier geht es darum ein SFTP Zugang über OpenSSH einzurichten.

Die Vorteile sind: chroot-jail (bestimmte Benutzer werden in einem Verzeichnis gefangen), die Tatsache, dass die Admin-Anmeldung unterbunden werden kann sowie die Authentifizierung der Benutzeranmeldung über Public-Private-Keys (Brute-Force-Angriffe sind damit ausgeschlossen).

Nehmt euch die Zeit und geht das ganze Langsam und mit dem Kopf durch,
ein kleiner Tippfehler irgendwo und das große Suchen geht los warum das nicht funktioniert.


Zurück zum Inhaltsverzeichnis:


Voraussetzung

  • Installation neuer Firmware sollte bekannt sein
  • Backup des Qnap sollte bestehen
  • Telnet bzw. ssh Zugang sollte bekannt sein
  • Editieren von Linux Konfigurations-dateien
  • Spass, Lust und eine Menge Zeit!
  • Umgang mittels Terminal (Linux) oder Putty (Windows) sollte bekannt sein
  • Umgang mit dem Editor vi
  • Umgang mit dem Midnight Commander mc
  • ein wenig sollte die Datenstruktur bekannt sein (z.B. wo die HDD eingebunden ist)


Zurück zum Inhaltsverzeichnis:


1. die benötigten IPKG Pakete installieren

Man meldet sich mittels Terminal (Linux) oder Putty (Windows) als admin bei der Qnap an
aktualisiert den IPKG-Repository und installiert sich folgende 2 Pakete:

ipkg update && ipkg install openssh coreutils

Den aktuelleren OpenSSH verwenden wir Später zur Verschlüsselung,
die coreutils beinhalten einige zusätzlich Befehle die nicht in der Busybox enthalten sind.

Das ganze sollte in etwa so aussehen:


Zugriff und installation mit über SSH
Ambox notice.png Wenn man nur testen will, ob ein Paket vorhanden/installierbar ist,

dann ergänzt den install-Befehl um die option -test am Ende des gesamten Befehls:
Bsp: ipkg install openssh -test

Zurück zum Inhaltsverzeichnis:


2. Erstelle der neuen Benutzer

Chroot-Zugriff (das ist der Gefängnis-Benutzer, welcher in seinem Home-Verzeichnis gefangen werden soll).
Dies macht man am besten über die Web-Oberfläche siehe Benutzer erstellen.
Sind schon die Benutzer alle vorhanden die später Zugriff über SFTP erhalten sollen kann man mit dem nächsten Punkt fortfahren.

Dies benutze ich nicht, kann also kein Screenshot machen und nichts dazu erklären.
Vielleicht kann ja da ein anderer User aushelfen???


Zurück zum Inhaltsverzeichnis:


3. Erstellen der Home-Verzeichnisse

Jeder Benutzer (außer den eigenen) der später einen SFTP-Zugang erhalten soll benötigt
ein eigenen Home-Verzeichnis in welches er dann mittels Chroot gefangen wird und nur das
zu sehen bekommt was wir ihm im Home-Verzeichnis sehen lassen wollen.

Da die Interne Festplatte (zumindest bei mir) auf /share/HDA_DATA gemountet bzw. eingebunden ist
wollen wir hier unser Reales Homeverzeichnis anlegen.

wir gehen per Terminal auf die Box und wechseln auf die Festplatte:

cd /share/HDA_DATA
mkdir home
cd home

Hier erstellen für jeden User ein eigenes Homeverzeichnis und vergeben entsprechend die Rechte

mkdir monika
chmod 755 monika
chown admin monika
chgrp administrators monika

Diese Rechte benötigen wir damit später auch die Chroot-Jail funktionieren kann.
Dies wiederholen wir mit jedem User der später einen SFTP-Zugang erhalten und Gefangen werden soll.


Als nächstes editieren wir auf der Qnap die /etc/passwd am besten mit vi

vi /etc/passwd


Original /etc/passwd

admin:x:0:0:administrators:/root:/bin/sh
guest:x:65534:65534:guest:/tmp:/bin/sh
egle:x:500:100:Linux User,,,:/:/bin/sh
monika:x:501:100:Linux User,,,:/:/bin/sh
rainer:x:502:100:Linux User,,,:/:/bin/sh


neue geänderte /etc/passwd

admin:x:0:0:administrators:/root:/bin/sh
guest:x:65534:65534:guest:/tmp:/bin/sh
egle:x:500:100:Linux User,,,:/:/bin/sh
monika:x:501:100:Linux User,,,:/home/monika:/bin/sh
rainer:x:502:100:Linux User,,,:/home/rainer:/bin/sh

diese ändern wir und Kontrollieren in Ruhe nochmals alles und speichern diese dann auch.


nun wechslen wir ins Home der root:

cd /home

und legen uns hier Symlinks an zu allen realen Home-Verzeichnisse der entsprechenden Benutzer an

ln -s /share/HDA_DATA/home/monika monika
ln -s /share/HDA_DATA/home/rainer rainer
ln -s /share/HDA_DATA/home/werner werner
ln -s /share/HDA_DATA/home/michael michael.....


Zurück zum Inhaltsverzeichnis:


4. sshd_config vorbereiten

Erstelle zuerst unter auf eurer Festplatte /share/HDA_DATA/ das Verzeichnis custom
und kopiert anschließend die sshd_config-Datei dahin!

mkdir /share/HDA_DATA/custom
cp /etc/ssh/sshd_config /share/HDA_DATA/custom/sshd_config

Zurück zum Inhaltsverzeichnis:



Zurück zur Übersicht:Hilfe zum Hersteller Qnap oder Hauptseite