Linux检查安全策略

一 检查系统中是否存在UID与root帐户相同的帐户

注意:如相同将具备与root同等权限,请尽快修改或删除其他帐户
理论依据:
任何UID为0的帐户都具有系统上的超级用户特权,只有root账号的uid才能为0

检查步骤
执行以下命令查看系统中uid为0的账号

/bin/cat /etc/passwd | /bin/awk -F: '($3 == 0) { print $1 }'

合规标准
除root外无其他uid为0的账号则合规,否则不合规。

加固方案
	1、执行备份
		#cp –p /etc/passwd /etc/passwd.bak
		#cp –p /etc/shadow /etc/shadow.bak
		#cp –p /etc/group /etc/group.bak
	2、删除除root外其他uid为0的账号【删除之前应确保账号未被其他业务使用】
		#userdel username

二 检查是否存在未禁止登录的系统默认帐户,长期不使用的测试帐户或过期帐户

vi /etc/passwd   //检查是否存在admin用户,没有存在admin用户则创建用户。

创建admin普通用户

[root@localhost /]# useradd wang
[root@localhost /]# passwd wang
Changing password for user wang.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully

禁止其他不适用的用户
描述:请手动检查。发现系统中存在未禁止登录的系统默认帐户,一般有如下账户,daemon|bin|sys|sync|games|man|lp|mail|news|uucp|proxy|www-data|backup|list|irc|gnats|nobody|libuuid|speech-dispatcher|rpc|netdump|xfs,由于系统默认帐户权限通常较高,一般不允许使用默认系统帐户进行登录。如果有,最好禁止登录。

原因解析:管理员应该定期的去检查/etc/passwd文件,查看主机上的启动用户,对于系统中已经不存在的用户,应及时将清理.对于在系统上创建的专门的执行用户,该用户一般只是作用户的执行者,无需登录Linux,比如ftp,apache,nginx等,这些用户是设置为禁止登录操作系统,这样作的目的是防止这类用户账号被作为入侵服务器的跳板.

建议:使用管理员权限修改/etc/passwd文件,修改以下(daemon|bin|sys|sync|games|man|lp|mail|news|uucp|proxy|www-data|backup|list|irc|gnats|nobody|libuuid|speech-dispatcher|rpc|netdump|xfs)帐户的登录时使用的shell为“/sbin/nologin”,及每行最后面,如果不需要禁止这里面的账户,或者禁止其他账户,根据需求修改。

三 检查是否允许root帐户直接ssh远程登录

注意:不要立刻使用下面的命令,一定要先创建一个普通用户,通过普通用户远程登录后,切换到root用户再进行修改。

cat /etc/passwd   //查看可登录的用户

编辑/etc/ssh/sshd_config文件,修改或者修改 PermitRootLogin no;然后重启sshd服务 执行

systemctl restart sshd.service 
或者
service sshd restart

四 检查设置登录超时锁定时间

以管理员权限执行,vi /etc/profile,添加 export TMOUT=480(单位:秒,可根据具体情况设定超时退出时间,要求不小于300秒),注销用户,再用该用户登录激活该功能
保存退出,使用命令 source /etc/profile 立即生效

五 检查是否用户的最小权限是否符合规定

etc/passwd /etc/group /etc/shadow的所在组和其他组权限(后六位)应该分别为r–r--,r–r--,------

命令如下:

#执行下面三个命令 
chmod 644 /etc/passwd
chmod 644 /etc/group 
chmod 600 /etc/shadow

六 检查是否设置密码过期时间;检查是否设置密码过期前警告天数;

描述:请手动检查。如果系统中未设置密码过期时间,或密码的过期时间太长,会导致用户长期不修改密码则会提高密码暴露风险。建议密码生存周期不超过90天。

编辑  vi /etc/login.defs文件,添加或者修改PASS_MAX_DAYS的值为90,及PASS_MAX_DAYS=90。

PASS_MAX_DAYS 90   #最近一次密码更新时间+90天 ,即密码过期日期

PASS_WARN_AGE 7  #密码过期前7天,用户登录时会提示修改密码

七 检查是否设置了密码更改最小间隔周期

编辑#vi /etc/login.defs文件,并修改或添加PASS_WARN_DAYS=7,表示至少7天修改一次密码,如果需要频繁修改密,则注释掉或删掉这行,又或者设置为0。

八 检查是否设置密码在设定时不能使用前几次密码的次数限制

相关文件

  1. Debian / Ubuntu:所在文件 #/etc/pam.d/common-password,
    2.CentOS / RedHat / Fedora 所在文件 #/etc/pam.d/system-auth
  2. suse 所在文件 /etc/pam.d/passwd或者/etc/pam.d/common-password(最新版在这个下面) 编辑对应文件,在 password sufficient pam_unix.so 所在行最后面添加remember=5 表示不能重复前5次的密码。

注意

在 password sufficient pam_unix.so use_authtok md5 shadow remember=10
在相应行的后面添加 remember=5,而不是添加一行!

九 检查记录历史命令条数是否设置

编辑文件/etc/profile,修改或添加HISTSIZE=30,表示30条历史命令

十 检查是否设置ssh远程登录密码最大重试次数

编辑/etc/pam.d/sshd文件,在"#%PAM-1.0"下面添加或者修改 auth required pam_tally2.so deny=5 unlock_time=1800,及表示最大重试次数5次,失败锁定帐户时间30分钟(1800)

编辑

vi /etc/pam.d/sshd
或者
vi /etc/pam.d/sssd-shadowutils

在"#%PAM-1.0"下面添加或者修改

auth required pam_tally2.so deny=5 unlock_time=1800

重启sshd服务

systemctl restart sshd

十一 检查是否绑定允许访问主机的IP段

编辑/etc/hosts.allow,添加或修改为"sshd:+允许的IP+:allow"实现允许某个ip段使用ssh连接访问。

sshd:xxx:xxx:xxx:xxx:allow

重启配置

systemctl restart sshd
或
service sshd restart:

十二 (目前禁止设置)检查是否配置禁止所有ip段访问主机

描述:请手动检查。在/etc/hosts.deny文件中,相当于黑明单功能,建议可以设置禁止所有ip访问,然后配合hosts.allow设置可以允许访问主机的段
建议:编辑 #vi /etc/hosts.deny,添加或修改sshd:All

十三 检查是否禁止root帐户登录vsftp(无ftp服务可忽略配置)

描述:
请手动检查。如果当前设置中允许root帐户登录FTP服务器。该设置不符合基线要求,请及时修改设置。

编辑/etc/vsftpd.ftpusers,添加root,以禁止root帐户登录FTP。

十四 检查是否禁止匿名登录vsftp(无ftp服务可忽略配置)

描述:
请手动检查。如果允许用户匿名登录FTP,该配置时不安全的,可能会使ftp服务器遭受匿名攻击,建议禁止。

编辑#vi /etc/vsftpd/vsftpd.conf 或者 /etc/vsftpd.conf(根据具体选项选择),添加或者修改anonymous_enable NO。

十五 开启日志功能

命令

service rsyslog start

十六 检查是否设置审计日志保存时间

建议
检查审计日志默认保存时间是否符合规范,建议保存一年内的日志。则编辑/etc/logrotate.conf,如果日志轮转周期设置为weekly(默认)则建议修改rotate值为53,表示53周一年,同理若周期为daily则建议rotate设置为365,表示365天一年,若周期为monthly则建议设置为12,表示12个月一年。

编辑

vim /etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 53
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值