【问题标题】:Security risks of PermitUserEnvironment in sshssh 中 PermitUserEnvironment 的安全风险
【发布时间】:2013-07-07 17:10:47
【问题描述】:

我已经阅读了很多关于使用PermitUserEnvironment 和文件~/.ssh/environment 将环境变量传递给ssh shell 的帖子。官方sshd docs 和其他一些资源暗示了这样做的一些安全风险。

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

激活PermitUserEnvironment 可能存在哪些安全问题?我希望在这些环境变量中保存数据库连接详细信息,这是否可取?

谢谢

【问题讨论】:

    标签: security ssh environment-variables production-environment


    【解决方案1】:

    适用于您通过使用自定义 shell 以某种方式限制用户的情况 - 如果用户能够设置 LD_PRELOAD,那么他们可以通过拦截标准库调用在远程计算机上以用户身份执行代码。

    一个简单的例子可能是,如果您通过将仅 SFTP 用户的 shell 设置为动态链接的 /bin/false 来禁用其登录 - 如果他们能够修改 ~/.ssh/environment 或 ~/. ssh/authorized_keys 然后他们可以添加 LD_PRELOAD=nefarious.so

    【讨论】:

    • 所以它对我为用户提供常规 Bash 帐户的常规 shell 登录没有影响? (没有 sudo)
    • 正确,如果您试图限制他们的外壳,这只是一个问题。如果您已经信任他们执行任意代码,那么让他们在登录时设置 LD_PRELOAD 不是安全问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-25
    • 1970-01-01
    • 2011-09-14
    • 2010-11-24
    • 2012-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多