账户
检查是否有除root之外UID为0的用户
因为UID为0的用户都可以拥有最高的管理员权限,所以需要保证只允许root用户的UID为0
命令:
awk -F : '($3 == 0) {print $1}' /etc/passwd
如果返回值包含root以外的条目,则说明不符合安全要求
口令
用户口令设置
用户口令需要指定密码强度、过期时间,并不允许存在空口令、弱口令账户
命令:
cat /etc/login.defs
检查PASS_MAX_DAYS(密码最长使用期限)、PASS_MIN_DAYS(密码最短使用期限)、PASS_MIN_LEN(最短密码长度)、PASS_WARN_AGE(密码到期前提醒天数)
建议分别设置为90、0、8、7
空口令检查
命令:
awk -F : '($2 == "") {print $1}' /etc/shadow
口令强度
对采用静态口令的设备应采用强密码,并且密码长度至少为8位
配置文件:
/etc/pam.d/system-auth
对password requisite进行如下配置
password requisite pam_cracklib.so difok=3 minlen=8 ucredit=-1 lcredit=-1 dcredit=1
口令长度至少8位,包含1位大写字母,1位小写字母和1位数字
英文 | 解释 |
---|---|
difok | 最少不同字符 |
minlen | 最小长度 |
ucredit | 最少大写字母 |
lcredit | 最少小写字母 |
dcredit | 最少数字 |
用户锁定策略
对于静态口令认证设备,当认证连续失败超过规定次数应当锁定账户
配置文件:
/etc/pam.d/system-auth
对 auth required pam_tally.so进行配置
auth required pam_tally.so onerr=fail deny=10 unlock_time=300
设置连续认证失败超过10次,锁定账户300秒
如需解锁执行以下命令:
faillog -u 用户名 -r
登录超时设置
检测登录超时设置
配置文件:
/etc/profile
在文件中添加```TIMEOUT`=``的行注释,建议设置为TIMEOUT=180
Root账户限制远程登录
建议禁止root用户远程登录,使用普通账户远程登录后su进行操作管理系统
配置文件:
/etc/ssh/sshd_config
将PermitRootLogin 设置为no
认证授权
远程连接安全配置
检查是否存在.netrc和.rhosts文件,.netec文件会自动执行规定的命令,.rhosts意味着任意主机任意用户都可以不用口令登录到你的账户上来
检查方法:
find / -name .netrc
find / -name .rhosts
如有返回值,则低于安全要求,并将其删除
重要目录文件权限设置
对重要目录应设置只有Root可读可写可执行
查看目录文件权限:
ls -l /etc
ls -l /etc/rc.d/init.d/
ls -l /tmp
ls -l /etc/passwd
ls -l /etc/shadow
ls -l /etc/group
ls -l /etc/security
ls -l /etc/service
如果需要对重要目录文件进行权限设置,执行一下命令
chmof -R 750 /etc/rd.d/init.d/*
查找未授权的SIUD/SGID文件
SUID是可执行文件的特殊文件权限,使其他用户能够以文件所有者的有效权限运行文件。 代替执行权限的正常x代替用户的s (指示SUID )特权。
SGID是一种特殊的文件权限,也适用于可执行文件,并允许其他用户继承文件组所有者的有效GID 。 同样,而不是表示执行权限的通常的x ,您将看到组用户的s (指示SGID )特殊权限。
查找SUID设置文件
find . -perm /4000
查找SGID的文件
find . -perm /2000
设置方法:
chmod u+s 文件名
chmod g+s 文件名
关闭不必要的服务
开放的服务越多,也就意味着风险越大,所以尽可能关闭不需要的服务
查看/配置方法:
who -r 查看当前init等级
chkconfig --list <服务名> 查看所有服务的状态
日志
rsyslog.conf登录事件记录
命令:
more /etc/rsyslog.conf
查看authpriv值,如未对所有登录时间记录,则低于安全要求
rsyslog.conf的配置审核
检查是否进行以下设置:
kern.warning;*.err;authpriv.none\t@loghost
*.info;mail.none;suthpriv.none;cron.none\t@loghost
*.emerg\t@loghost
local7.*\t@loghost
建议配置专门的日志服务器,并做好日志的备份,如果以上为这支,则低于安全要求
系统状态
系统core dump状态
命令:
more /etc/security/limits.conf
检查一些项是否配置:
* soft core 0
* hard core 0
core dump中可能包含系统信息,容易被入侵者利用,建议关闭
福利来啦
公众号回复:“Linux巡检” 提取
加入我的星球
下方查看历史文章
扫描二维码
获取更多精彩
NowSec