制定CentOS SSH安全策略可以从多个方面入手,包括配置口令策略、限制登录尝试次数、使用密钥认证、配置SELinux等。以下是详细的步骤:
设置口令策略:
/etc/login.defs 文件,设置口令的最长使用天数、更改最小间隔天数、最小长度、过期提醒天数等。例如:PASS_MAX_DAYS 900
PASS_MIN_DAYS 20
PASS_MIN_LEN 8
PASS_WARN_AGE 7
chage 命令管理 root 用户的密码过期时间,例如:chage -M 90 root
限制登录尝试次数:
/etc/pam.d/sshd 文件,配置账户认证失败次数限制,例如:auth required pam_tally2.so deny=5 unlock_time=300 even_deny_root root_unlock_time=60
/etc/pam.d/system-auth 文件中添加类似的配置:使用密钥认证:
ssh-keygen -t rsa -b 2048
/etc/ssh/sshd_config 文件,启用公钥认证并禁用密码认证:PubkeyAuthentication yes
PasswordAuthentication no
AuthorizedKeysFile .ssh/authorized_keys
.ssh 目录和 authorized_keys 文件的权限设置正确:chmod 700 .ssh
chmod 600 authorized_keys
配置SELinux:
enforcing 或 permissive 模式:getenforce
sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
reboot
其他安全配置:
/etc/pam.d/su 文件,配置 su 命令的安全设置。umask 值,防止默认权限过于宽松。/etc/shadow、/etc/group 等,防止未授权修改。通过这些步骤,可以显著提高CentOS系统的SSH安全性。