Ich habe einige Beiträge über die Verwendung PermitUserEnvironment
und die Datei gelesen ~/.ssh/environment
, um env-Variablen an eine ssh-Shell zu übergeben. Die offiziellen sshd-Dokumente und einige andere Ressourcen weisen auf einige Sicherheitsrisiken hin.
Durch Aktivieren der Umgebungsverarbeitung können Benutzer in einigen Konfigurationen mithilfe von Mechanismen wie LD_PRELOAD Zugriffsbeschränkungen umgehen.
Was ist das wahrscheinliche Sicherheitsproblem bei der Aktivierung PermitUserEnvironment
? Ich habe versucht, DB-Verbindungsdetails in diesen Umgebungsvariablen zu speichern. Ist dies ratsam?
security
ssh
environment-variables
Rob Squires
quelle
quelle
Antworten:
Erstens, wenn Sie nicht versuchen, mit Benutzerzugriffsbeschränkungen etwas Besonderes zu tun - das heißt, wenn Sie interaktiven Shell-Zugriff anbieten -, gibt es wahrscheinlich keine zusätzlichen Sicherheitsrisiken , wenn Sie die Verwendung der
.ssh/environment
Datei zulassen Benutzer könnten mit dieser Datei erreichen, was sie auch interaktiv in ihrer Shell tun könnten.Wenn Sie erzwungene SSH-Befehle verwenden, um die Möglichkeiten von Personen über ssh einzuschränken (z. B. wenn Sie Personen auf die Verwendung von
sftp
oder beschränkenscp
), können Personen Ihre Umgebungsvariablen wieLD_PRELOAD
(oder möglicherweise sogarPATH
) festlegen, um sie zu entführen Einschränkungen durch Ersetzen grundlegender Bibliotheksaufrufe durch eigenen Code. Wenn Sie das.ssh/environment
im Auftrag Ihrer Benutzer erstellen und diese sonst nicht in der Lage sind, es zu verwalten, sind Ihre Risiken relativ gering.Ohne mehr über Ihren speziellen Anwendungsfall zu wissen, ist es schwierig, eine endgültige Antwort zu geben.
quelle