scathatheworm.security-settings

构建状态 Ansible Galaxy

ansible-security-settings

用于执行企业合规相关安全设置的 Ansible 角色,适用于企业级操作系统

描述

该角色配置多个安全设置,包括登录、密码管理、SSH、PAM、SELinux 配置等。旨在满足企业合规要求。

配置内容包括:

  • 自动账户锁定登录失败的 PAM tally 和 faillock 模块
  • 密码历史记录
  • 密码复杂度
  • SSH 端口、Root 登录、欢迎信息、加密、端口转发设置
  • SELinux 和防火墙状态
  • Shell 超时
  • 物理发送中断和 Ctrl-Alt-Del 禁用
  • Linux auditd 配置
  • 防火墙状态
  • 魔法 SysRq 配置

密码过期变量:

名称 默认值 描述
os_auth_pw_max_age 60 密码在需要更换之前的最大有效天数
os_auth_pw_min_age 10 密码在可更换之前的最小有效天数
os_auth_pw_warn_age 7 密码过期前的警告天数
passhistory 6 要记住的密码数量以避免重复使用

密码复杂度变量:

名称 默认值 描述
pwquality_minlen 8 密码的最小字符长度
pwquality_maxrepeat 3 密码中同一字符的最大重复次数
pwquality_lcredit -1 密码中必须出现的小写字母数量
pwquality_ucredit -1 密码中必须出现的大写字母数量
pwquality_dcredit -1 密码中必须出现的数字数量
pwquality_ocredit -1 密码中必须出现的特殊字符数量
solaris_dictionary_minwordlength 5 Solaris 字典最小单词长度

账户不活动和登录失败变量:

名称 默认值 描述
fail_deny 5 登录失败次数达到后锁定账户数
fail_unlock 0 登录失败后账户解除锁定的秒数,设置为 0 禁用自动解锁
inactive_lock 0 账户不活动的天数,达到后锁定,设置为 0 禁用不活跃锁定
shell_timeout 900 期望的 shell 超时(秒),设置为 0 以禁用

系统服务和设置变量:

名称 默认值 描述
selinux_state permissive SELinux 配置值
firewall_check false 配置是否检查防火墙设置
firewall_state stopped 防火墙期望状态
firewall_enable 'no' 期望的防火墙配置状态
disable_ctrlaltdel True 是否在 Solaris 中禁用 Ctrl-Alt-Del 和物理发送中断
solaris_disable_services false 禁用不安全的 Solaris 服务
magic_sysrq 1 Linux 内核的 kernel.sysrq 设置值

SSH 配置变量:

名称 默认值 描述
sshrootlogin 'no' 是否允许 SSH root 登录,请保持单引号以避免布尔计算
sshportforwarding 'no' 配置端口转发选项,值如配置文件中的:yes, no, remote, local
sshmainport 22 主要 SSH 端口
sshextraport 0 次要 SSH 端口,设置为 0 以禁用额外端口
setloginbanner true 在 SSH 中使用登录横幅
sshd_solaris_restrict_ipv4 True 在 Solaris 中限制 SSH 连接为 IPv4 以解决 DISPLAY 问题
ssh_enforce_ciphers True 强制使用 SSH 中强加密和 MACs,设置为 false 以允许所有支持的 MAC 和加密
sha1_mac_enabled False 禁用 SSH 中使用 sha1 HMAC,存在理论攻击向量
md5_mac_enabled False 禁用 SSH 中使用 md5 HMAC,已知存在漏洞和攻击向量
truncated_mac_enabled False 禁用 SSH 中使用 md5 或 sha1 截断的 96 位 HMAC
cbc_ciphers_enabled False 禁用 SSH 中使用分组密码链模式,加密被认为脆弱,容易受到多种填充攻击
sweet32_ciphers_enabled False 启用 SSH 中使用的 64 位分组密码链模式,加密被认为容易受到 SWEET32 攻击
rc4_ciphers_enabled False 启用 SSH 中使用的 arcfour 加密,被认为存在实际攻击
nist_curves_enabled false 禁用 NIST KEX 曲线密码学,因为在多个方面较弱
logjam_sha1_enabled false 禁用 SHA1 KEX 算法,容易受到 logjam 攻击

审计配置变量:

名称 默认值 描述
auditd_configure: true 启用 auditd 配置管理
auditd_max_log_filesize 25 审计日志的最大文件大小(MB)
auditd_num_logs 8 保留的最大审计日志数量
security_audit_datetime_changes true auditd 将记录所有日期或时间修改
security_audit_account_modifications true auditd 将记录所有账户修改
security_audit_network_changes true auditd 将记录所有网络配置修改
security_audit_selinux_changes true auditd 将记录 SELinux 配置的变化
security_audit_permission_changes false auditd 将记录所有文件权限变化
security_audit_fileaccess_failedattempts false auditd 将记录所有未授权访问文件的尝试
security_audit_filesystem_mounts true auditd 将记录所有文件系统的挂载/卸载
security_audit_deletions false auditd 将记录所有文件删除操作
security_audit_sudoers true auditd 将记录所有对 sudoers 规则的修改
security_audit_kernel_modules false auditd 将记录所有模块操作和 sysctl 配置
security_audit_logon true auditd 将记录所有登录/注销/会话
security_audit_elevated_privilege_commands true auditd 将记录所有特权命令
security_audit_all_commands false auditd 将记录所有命令
security_audit_log_integrity false auditd 将监测日志和日志配置的完整性
security_audit_configuration_immutable false auditd 将使其规则不可变,重启后才能更改
security_audit_custom_rules empty 这是一个多行变量,如果定义,应该包含完整的审计规则以添加到配置文件中
关于项目

Ansible Role for enforcing security settings related to enterprise compliance on enterprise grade OS.

安装
ansible-galaxy install scathatheworm.security-settings
许可证
gpl-2.0
下载
118
拥有者
IT stuff.