今天,我与公司的系统管理员讨论了有关保护(SSH)服务器的事宜,他提出了一个有趣的想法:
- 他在该服务器上有几个测试用户(john、admin、steve 等...),并使用简单的密码(asdf、a、b、qwer...)
- 每个用户的权限有限
- 每个用户的 .bashrc 都包含一个函数调用,用于立即阻止该用户连接的 IP
- .bashrc 中的第二行是“exit”
我的感觉是这打开了潘多拉魔盒,但我不知道为什么。这可能会出什么问题?
答案1
之所以感觉危险,是因为它确实很危险。你要给某人知道试图破坏您的系统是否是为了进入该系统以便可以阻止他们极易被替换的 IP 地址?
当他们弄清楚如何绕过您的小脚本时,也许通过使用 SFTP(不执行 .bashrc)来替换 .bashrc,以便他们可以以交互方式登录,他们现在就可以本地访问该框,这意味着,除非您对定期修补非常警惕,否则他们可能通过本地漏洞快速获得 root 权限 - 即使您非常警惕,他们也只需等到尚未修补的新本地漏洞被披露。
最糟糕的是,你冒着巨大的风险只是为了封锁他们的 IP 地址;为什么不直接自动封锁所有暴力破解地址,让自己免于蜜罐风险呢?除此之外,IP 地址很容易获得,维护所谓的“坏”IP 地址列表要么是徒劳无功,要么是在映射 IPv4 地址空间。
我希望这有帮助!
答案2
这就像打开了潘多拉魔盒,因为 ssh 服务器很容易被用来生成 sftp 或 scp。我没有使用蜜罐,而是使用 fail2ban 将攻击我的 VPS 服务器的恶意地址列入黑名单。
我已将其设置为 5 分钟内尝试失败 5 次,将导致封禁 20 分钟。如果我觉得受到的攻击更多,我会延长封禁时间。
我总是使用 RSA 身份验证密钥登录我的 VPS,因此就我个人而言,如果我在尝试登录之前没有将密钥加载到代理中,则只会遇到一次失败。
答案3
.bashrc 仅在交互式 shell 上运行。
因此,攻击者仍然可以通过在 ssh 命令行上指定命令或使用 scp 等实用程序来运行任意命令。
不过,这是一个有趣的想法。您应该将陷阱用户的 shell 设为执行上述操作的自定义程序。或者最安全的做法是,将 shell 设置为 /bin/false,并使用外部程序来监视这些帐户的登录/登录尝试。
我会在登录时陷入困境尝试,无论他们是否成功。不要让他们进门,如果他们敲门,就把他们赶出去。
确实,正如其他人回答的那样,最安全的做法是不是这样做。使用一个设计为真正蜜罐的程序。
答案4
你可以使用以下方法设置一个简单的 SSH 蜜罐基普并将数据记录到 MySQL 数据库中。还有一个工具可以可视化结果。
还有一个名为 Artillery 的脚本,它“是蜜罐、文件监控和完整性、警报和暴力破解预防工具的组合。它非常轻量,有多种不同的方法来检测特定攻击,最终还会通知您不安全的 nix 配置。”http://www.secmaniac.com/blog/2011/10/14/new-tool-release-artillery-for-linux-protection/