写在前面:由于所有操作均涉及系统文件,建议所有操作前备份文件及做好相关记录
一、检查系统空密码账户 | 身份鉴别
描述
检查是否存在空口令和root权限的账号
加固建议
对无口令并且可登录的账户,进行密码设置:(注意密码不能包含用户名,也不能少于7位)
具体操作命令和步骤
1、检查空口令账户
awk -F: '$2=="!!" {print $1}' /etc/shadow
2、检查空口令账户哪些可以登录
grep -v "/sbin/nologin" /etc/passwd
PS: /bin/bash的为可登录账户
3、加固可登录的空口令账户或注销空口令账户
4、检测root权限账号
awk -F: '($3==0)' /etc/passwd
确保uid为0的账号只能是root账号
操作时建议做好记录或备份
二、SSH安全加固 | SSH服务配置
描述
加固SSH远程访问安全策略,限制可登录用户及来源地址
加固建议
编辑文件/etc/ssh/sshd_config,将一应配置修改
具体操作命令和步骤
1、编辑文件/etc/ssh/sshd_config
vim /etc/ssh/sshd_config
2、修改配置
Port = *** --修改默认端口
AllowUsers 用户名1@1.1.1.1 用户名2@2.2.2.2 --设置允许登录用户,多个用户可空格添加
AllowGroup *** --设置允许登录用户组
ListenAddress 0.0.0.0 --设置SSH指定的本地地址,多网卡可用
Protocol 2 --强制使用 V2安全协议 ,SSH1存在漏洞与缺陷
MaxAuthTries = 3 --修改允许密码错误次数
PermitRootLogin no --禁止使用root远程登录
RSAAuthentication yes --设置用户密钥登录,只针对SSH1,此功能另开一篇记录
PubkeyAuthentication yes --设置是否开启公钥验证
PermitEmptyPasswords no --是否允许空密码
ClientAliveInterval 300 --设置SSH空闲超时退出时间,单位:秒
ClientAliveCountMax 0 --设置允许超时的次数 0即表示不允许超时
LogLevel INFO – 开通登录日志的详细记录
AllowAgentForwarding no –
AllowTcpForwarding no --设置是否允许允许tcp端口转发,保护其他的tcp连接
UseDNS no --设置不使用dns反向解析
MaxStartups 5 --设置同时允许5尚未登入的联机,当用户连上ssh但并未输入密码即为所谓的联机
3、记录所有用户的登录和操作日志
通过脚本代码实现记录所有用户的登录操作日志,防止出现安全事件后无据可查。vim /etc/profile修改配置文件,在配置文件中输入以下内容:
history
USER=`whoami`
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]; then
USER_IP=`hostname`
fi
if [ ! -d /var/log/history ]; then
mkdir /var/log/history
chmod 777 /var/log/history
fi
if [ ! -d /var/log/history/${LOGNAME} ]; then
mkdir /var/log/history/${LOGNAME}
chmod 300 /var/log/history/${LOGNAME}
fi
export HISTSIZ

本文详细介绍了CentOS7系统的十五项安全加固措施,涵盖身份鉴别、SSH服务配置、密码策略和访问控制等多个方面。包括检查并处理空密码账户,SSH安全加固,设置密码过期时间和最小修改间隔,限制用户切换至root,启用rsyslog服务,设置密码错误锁定策略,以及开启地址空间布局随机化等,旨在提升系统的安全性。
最低0.47元/天 解锁文章

1224

被折叠的 条评论
为什么被折叠?



