Richtige Einrichtung der Benutzerberechtigungen für OpenSSH unter Windows?


7

Ich versuche, OpenSSH unter Windows einzurichten, um SFTP-Sites bereitzustellen. Ich habe einige Probleme mit den Sicherheitseinstellungen des Benutzers.

Hier sind die grundlegenden Schritte, die ich durchlaufen habe, um einen Benutzer zu erstellen:

  1. Erstellen Sie einen neuen Benutzer auf dem Hostcomputer
  2. Fügen Sie den Benutzer der Datei openssh passwd mit dem angepassten Dateipfad für cygwin hinzu, der auf den Home-Ordner des Clients verweist (Beispiel: / cygdrive / e / homefolders / username).
  3. Ermöglichen Sie dem Benutzer Lese- / Schreibzugriff auf seinen Ordner

Das Problem, auf das ich stoße, ist, dass der Benutzer über eine Ausführungsberechtigung für den OpenSSH-Programmordner verfügen muss, damit er sich anmelden kann. Ich habe festgestellt, dass ich den Zugriff auf bestimmte Ordner wie "etc" deaktivieren kann, bin jedoch besorgt, dass ich hier überhaupt Berechtigungen erteilen muss. Bei Verwendung von FileZilla wird eine Ordnerhierarchie "/ cygdrive / e / homefolders / username" angezeigt und ich kann das "/" in Ordner mit Lesezugriff durchsuchen.

Gibt es eine bestimmte Strategie, die ich für die richtige Sicherheit in diesem Setup verwenden sollte? Eine bestimmte Datei oder einen bestimmten Ordner, für die ich möglicherweise Ausführungsberechtigungen bereitstellen muss, aber nicht mehr? Ich möchte alles außer Lese- / Schreibzugriff auf den eigenen Ordner vollständig sperren, aber das scheint nicht möglich zu sein.

Antworten:


1

Wie sehr willst du SFTP? Cygwin ist etwas hackig und OpenSSH für Windows ist sehr, sehr veraltet. Mein Ansatz war es, WebDAV zu verwenden, das die meisten Probleme löst, die Sie haben:

  • Dateien lesen und schreiben
  • Verschlüsselt schützt Authentifizierungstoken und -dateien
  • auf verdammt nahe jedem Betriebssystem unterstützt
  • übereifrige Firewall-Konfiguration resistent

IIS unterstützt dies auch in der Version, die mit Server 2000 geliefert wird.


Ihre ersten 3 Sätze fassen meine Gedanken zu diesem Problem in letzter Zeit zusammen. Wir haben uns für SFTP entschieden, weil es ein ziemlich normaler Ansatz zu sein schien, für den unsere Benutzer Kunden und Support finden konnten, und wir mussten keine Software kaufen, um diese bereitzustellen. Es sieht jedoch immer mehr so ​​aus, als müssten wir einen kommerziellen Server kaufen, der SFTP für Windows unterstützt, oder zu einer anderen Option wechseln.
dmr83457

1

Nach weiteren Recherchen habe ich festgestellt, dass mein ursprünglicher Vorschlag zur Verwendung der integrierten Chroot-Funktionalität unter Cygwin nicht unterstützt wird.

Vielleicht ist es besser, nach anderen Alternativen zu suchen. Vielleicht webdav, vielleicht ein ftps-Server (filezilla) oder vielleicht einer der anderen proprietären sftp-Server.

Eine Option, die verfügbar ist, wenn Sie dies mit dem cygwin OpenSSH tun müssen, ist die Verwendung der scponly-Shell. Hier ist ein PDF , das die Vorgehensweise beschreibt.


Nicht sicher, welche Version von openssh Sie unter Windows haben. Aber es hört sich so an, als ob Sie eine SFTP-Chroot einrichten möchten.

Vielleicht möchten Sie diese verwandten Fragen überprüfen.


Leider scheint es nur Linux zu geben und funktioniert nicht in Cygwin.
dmr83457

(Wahrscheinlich, weil es 6 Jahre später ist.) Ich habe Cygwin, OpenSSH und ChrootDirectory eingerichtet und es scheint gut zu funktionieren.
underscore_d

0

Das Problem, auf das ich stoße, ist, dass der Benutzer über eine Ausführungsberechtigung für den OpenSSH-Programmordner verfügen muss, damit er sich anmelden kann. Ich habe festgestellt, dass ich den Zugriff auf bestimmte Ordner wie "etc" deaktivieren kann, bin jedoch besorgt, dass ich hier überhaupt Berechtigungen erteilen muss. Bei Verwendung von FileZilla wird eine Ordnerhierarchie "/ cygdrive / e / homefolders / username" angezeigt und ich kann das "/" in Ordner mit Lesezugriff durchsuchen.

Dies ist Teil der OpenSSH-Priv-Sep-Einstellung.

Dies (PDF) ist ein gutes Dokument darüber und über andere OpenSSH-Sicherheitsfunktionen

Kurz gesagt, der Hauptdämon wechselt zu einem nicht privilegierten Prozess, um zu verhindern, dass Exploits im Rest des Programms den "Root" -Zugriff zulassen.

Möglicherweise möchten Sie auch ein chroot-ähnliches Setup verwenden , um den Zugriff außerhalb des Benutzer-Homedirs vollständig zu verhindern.

Ich würde auch den Vorschlag von webdav unterstützen, selbst wenn ich es aufgegeben hätte, an etwas anderem als OS X-Clients zu arbeiten.


Die ChrootDirectory SSH-Option wird unter cygwin nicht unterstützt. Siehe diesen Thread cygwin.com/ml/cygwin/2008-11/msg00256.html
Zoredache
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.