以下场景的安全问题是什么?(这是有人会尝试的那些疯狂想法之一,也许这是一个好主意,也许这是一个糟糕的主意......)
您在 example.com 上有 Rails 应用程序,在https://example.com/admin/update_app有一个操作
此操作有以下要求:
- 它需要 https(如果不在 https 上则重定向)
- 它需要管理员权限
- 该操作会显示一个页面,其中包含一个显示“存储库密码:[]”的表单
- 该字段从服务器日志中过滤掉,与站点身份验证过滤的方式相同,通过 Rails 中的日志过滤机制(即这种方法)
此操作执行以下操作
- 您将代码存储库密码输入该字段并点击“提交”
- 该操作启动一个 shell 脚本,该脚本从代码存储库的稳定分支中提取最新更新,并将它们应用到站点(除非存储库身份验证失败,在这种情况下它会停止所有进一步的步骤)
- Web 服务器已重新启动
- 会向管理员发送一封电子邮件,内容很简单,例如“应用更新完成”