我熟悉 Ansible 的安全连接标准最佳实践(禁用主机的 root 访问权限并配置基于密钥的 SSH 身份验证)。我是否还应该使用 hosts.allow 或 iptables 来阻止主机接受不是来自控制节点 IP 地址的连接?这对我来说似乎合乎逻辑,但我没有看到任何人这样做,所以我认为我忽略了一些显而易见的东西。
答案1
如果可以的话,限制对您公开的任何网络服务的访问总是一个好主意。
设置 SSH 的 ACL 时请考虑以下事项:
通常不仅 Ansible 使用 ssh 登录,普通用户和/或管理员也经常通过 ssh 登录或使用 scp 复制数据。
SSH 不仅可以在 IP 级别进行保护,还可以在应用程序级别配置更细粒度的安全性:
- 指令
Match
sshd_config
覆盖配置文件中设置的全局设置,并可用于在满足某些条件时添加/设置或解除限制(例如 Ansible 用户登录) - 经常被忽视的选项可以添加到
~/.ssh/authorized_keys
文件中,以对使用特定 ssh 密钥登录添加限制。请参阅AUTHORIZED_KEYS 文件格式请参阅手册中的部分内容。
- 指令