fragen stichworte

Sicherheitsrisiken von PermitUserEnvironment in ssh

Ich habe einige Beiträge zur Verwendung von PermitUserEnvironment und der Datei ~/.ssh/environment gelesen, um env-Variablen an eine ssh-Shell zu übergeben. Die offiziellen sshd docs und einige andere Ressourcen weisen auf einige Sicherheitsrisiken hin.

Enabling environment processing may enable users to bypass access restrictions in some configurations using mechanisms such as LD_PRELOAD.

Welches Sicherheitsproblem besteht wahrscheinlich bei der Aktivierung von PermitUserEnvironment? Ich habe nach DB-Verbindungsdetails in diesen Umgebungsvariablen gesucht. Ist dies ratsam?

antworten

Vor allem, wenn Sie nicht versuchen, mit Zugriffsbeschränkungen für Benutzer etwas Besonderes zu tun - das heißt, wenn Sie interaktiven Shell-Zugriff anbieten - gibt es wahrscheinlich keine zusätzlichen Sicherheitsrisiken in der Verwendung der .ssh/environment -Datei, da alles, was der Benutzer mit dieser Datei erreichen konnte, auch interaktiv in der Shell ausgeführt werden konnte.

Enabling environment processing may enable users to bypass access restrictions in some configurations using mechanisms such as LD_PRELOAD.

Wenn Sie SSH erzwungene Befehle verwenden, um zu begrenzen, was Personen über ssh tun können (z. B. wenn Sie Personen darauf beschränken, nur sftp oder scp zu verwenden), können Sie Umgebungsvariablen wie (oder möglicherweise sogar PATH) würde ihnen erlauben, Ihre Beschränkungen zu übernehmen, indem sie grundlegende Bibliotheksaufrufe durch ihren eigenen Code ersetzen. Auf der anderen Seite sind Ihre Risiken relativ gering, wenn Sie die .ssh/environment im Auftrag Ihrer Benutzer erstellen und diese nicht anderweitig verwalten können.

Ohne mehr über Ihren speziellen Anwendungsfall zu wissen, ist es schwierig, eine definitive Antwort zu geben.