chzerv.security
Ansible 角色:安全
重要变更: 从 v0.7 开始,该角色不再支持
security_enforce_strong_passwords
、security_log_after_failed_logins
和security_nproc_limit
选项。错误的 PAM 配置可能会使您无法登录系统,因此我需要找到更好的方法来实现这些功能。
请记住,保护您的电脑/服务器是您自己的责任。 这是一个非常基本的模板,应该作为模板使用,而不是完整的解决方案。
该角色在基于 RedHat/Debian/Archlinux 的 Linux 系统上执行一些基本的安全配置,例如:
- 安装和配置 fail2ban 以监控不良 SSH 登录。
- 基础 SSH 加固,例如:
- 禁用 root 登录。
- 禁用密码认证。
- 启用基于密钥的认证。
- 更改默认端口。
- 禁用已知的弱算法。
- 设置自动更新。
- 基础内核加固。
- 基础 TCP/IP 堆栈加固。
- 移除您选择的软件包。
- 通过
limits
禁用核心转储。
要求
- 运行此角色后,SSH 访问将只能通过公钥进行,因此您的 SSH 密钥必须已复制到远程主机。有关如何轻松复制您的 SSH 密钥到远程主机的信息,请参见 这个 ArchWiki 条目。
- 基本了解每个设置的作用。
角色变量
依赖关系
无。
示例剧本
提供一个如何使用您的角色的示例(例如,传入参数的变量)对用户来说也是很好的:
- hosts: server
vars_files:
- vars/main.yml
roles:
- { role: chzerv.security }
vars/main.yml
文件:
security_kern_go_hardcore: true
security_net_go_hardcore: true
security_autoupdates_enabled: true
security_autoupdates_type: "security"
security_fail2ban_enabled: true
security_fail2ban_harden_service: true
许可证
MIT / BSD