Security

ssh 中 PermitUserEnvironment 的安全風險

  • January 9, 2016

為了將環境變數傳遞給 ssh shell,我已經閱讀了很多關於使用PermitUserEnvironment和文件的文章。~/.ssh/environment官方sshd 文件和其他一些資​​源暗示了這樣做的一些安全風險。

啟用環境處理可能使使用者能夠使用 LD_PRELOAD 等機制繞過某些配置中的訪問限制。

啟動的可能安全問題是PermitUserEnvironment什麼?我希望在這些環境變數中保存數據庫連接詳細資訊,這是否可取?

首先,如果你不想對使用者訪問限製做任何花哨的事情——也就是說,如果你提供互動式 shell 訪問——在允許使用該文件時可能存在零額外.ssh/environment的安全風險,因為任何使用者可以使用該文件完成他們也可以在他們的 shell 中以互動方式完成。

啟用環境處理可能使使用者能夠使用 LD_PRELOAD 等機制繞過某些配置中的訪問限制。

如果您使用 SSH 強制命令來限制人們可以通過 ssh 執行的操作(例如,如果您限制人們只能使用sftpor scp),則允許某人設置環境變數LD_PRELOAD(甚至可能PATH)將允許他們劫持您的通過用自己的程式碼替換基本庫呼叫來限制。另一方面,如果您.ssh/environment代表您的使用者創建並且他們無法管理它,那麼您的風險相對較小。

在不了解您的特定案例的情況下,很難提供明確的答案。

引用自:https://serverfault.com/questions/527638