一、密码相关设置
1.1 编辑 /etc/login.defs文档,将PASS_MIN_LEN参数建议设为8 意思是最小密码长度为8
1.2 编辑 /etc/pam.d/system-auth文档,找到password requisite pam_pwquality.so这一行,将这一行的参数改成:password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= minlen=8 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1 difok=3
retry=3 | 输入密码最多尝试3次 |
minlen=8 | 密码最小长度是8位 |
dcredit=-1 | 密码最少包含1个数字 |
ucredit=-1 | 密码中最少包含1个大写字母 |
lcredit=-1 | 密码最少包含一个小写字母 |
ocredit=-1 | 密码最少包含一个特殊字符 |
difok=3 | 新密码必须与旧密码有3位不同 |
在 auth required pam_deny.so 下面添加 auth required pam_tally.so onerr=fail deny=10 unlock_time=300
意思是:onerr=fail定义了当出现错误时的缺省返回值,root和普通用户连续错误登录最多10次,失败后禁止300秒
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok remember=5 把这句也添加进去
意思是:用户修改密码,用md5加固。执行成功就跳过其他模块返回结果,禁止使用最近使用过的5个密码
1.3 文档加固
找到umask的参数把umask的参数改成027 且下面必须添加
umask=027 #设置新建目录默认权限750,文档权限640
TMOUT=180 #无操作300秒后自动退出
HISTFILESIZE=5 #存储历史记录文件是5
HISTSIZE=5 #历史记录数量是5
source /etc/profile 使变量生效
1.4 日志加固
编辑/etc/rsyslog.conf文档 文档后面添加:
*.* @172.34.1xx.xx:514 #把172.34.1xx.xx的所有用户的514端口(514端口是syslog传输数据的端口)
auth.info /var/log/secure #把认证信息日志收集在/var/log/secure里面
kern.warning;*.err;authpriv.none #内核提示信息,错误日志都保存在/var/log/messages里面 除了用户认证的日志。
*.err;kern.debug;daemon.notice /var/adm/messages
#错误日志,内核调试信息,进程日志 保存在 /var/adm/messages里面。 没有 /var/adm/messages这个目录需创建一个, 命令: touch /var/adm/messages ,并修改权限 , chmod 666 /var/adm/messages
重启日志服务 systemctl restart rsyslog
1.5 开启 coredump 功能
echo "* soft core 0" >> /etc/security/limits.conf
echo "* hard core 0" >> /etc/security/limits.conf
1.6 编辑/etc/host.conf
vim /etc/host.conf 先查找系统是否有 这3行 如果没有就添加
order hosts,bind # 设置首先通过DNS解析IP地址,然后通过hosts文件解析
multi on # 检测是否"/etc/hosts"文件中的主机是否拥有多个IP地址
nospoof on # 注意对本机未经许可的IP欺骗。
1.7 添加用户到wheel组
echo "auth required pam_wheel.so group=wheel" >> /etc/pam.d/su
# 授权使用su命令的用户添加到 wheel组 表示只有root用户和wheel组内的用户才可以使用su命令
1.8 创建用户
useradd lucy # 创建用户lucy
usermod -G wheel lucy # 把lucy加入wheel组
echo '123...Zxmv' | passwd --stdin lucy 修改Lucy的密码
1.9 echo "net.ipv4.conf.all.accept_redirects = 0" >> /etc/sysctl.conf
# 处于对网络的安全考虑关闭 ICMP 路由重定向
2.0 设置banner
你用ssh登陆的时候,会自动显示系统版本信息之类的敏感信息
echo "Banner /etc/sshbanner" >> /etc/ssh/sshd_config
touch /etc/sshbanner
echo "Authorized users only. All activity may be monitored and reported!" > /etc/sshbanner
#systemctl restart sshd 再重启sshd 服务
2.1 设置禁止root登录
echo "PermitRootLogin no" >> /etc/ssh/sshd_config #禁止root用户登录
echo "Protocol 2" >> /etc/ssh/sshd_config #ssh使用协议2版本
2.2 开机自启下面所有的目录或文件全部改成750权限
chattr +a /var/log/messages 让/var/log/messages只能往里面追加数据,查看数据,但不能删除
chmod 640 /var/log/boot.log 系统启动日志修改权限为640