系统中危检查项

1、检查是否设置除root之外UID为0的用户
理论依据:
任何UID为0的帐户都具有系统上的超级用户特权,只有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	

2、检查是否按用户分配账号
配置要求:
应按照不同的用户分配不同的账号,避免不同用户间共享账号,避免用户账号和设备间通信使用的账号共享。

检查步骤
1、使用如下命令查看文件/etc/login.defs,确认文件中变量UID_MIN和UID_MAX的值:
	#grep -v ^# /etc/login.defs |grep "^UID_MIN"|awk '($1="UID_MIN"){print $2}'
	#grep -v ^# /etc/login.defs |grep "^UID_MAX"|awk '($1="UID_MAX"){print $2}'
2、使用以下命令查看系统中是否存在用户id>=UID_MIN且<=UID_MAX的用户:
	#up_uidmin=`(grep -v ^# /etc/login.defs |grep "^UID_MIN"|awk '($1="UID_MIN"){print $2}')`
	#up_uidmax=`(grep -v ^# /etc/login.defs |grep "^UID_MAX"|awk '($1="UID_MAX"){print $2}')`
	#echo "users="`cat /etc/passwd|awk -F: '{if( $3>='$up_uidmin' && $3<='$up_uidmax' ) {print $1":"$3}}'`

合规标准
存在用户id>=UID_MIN且<=UID_MAX的用户则合规,否则不合规。

加固方案
	创建用户
	#useradd username    #创建账号
	#passwd  username    #设置密码修改权限

3、检查密码重复使用次数限制
理论依据:
强迫用户不重用他们过去的5个密码就不太可能让攻击者猜出密码。请注意,这些更改只适用于在本地系统上配置的帐户。

配置要求:
	对于采用静态口令认证技术的设备,应配置设备,使用户不能重复使用最近5次(含5次)内已使用的口令。
	
检查步骤
	查看文件/etc/pam.d/system-auth,是否有配置口令重复使用次数限
	
合规标准
	口令重复使用次数限制不小于5次则合规,否则不合规。
	
加固方案
	1、配置文件备份
		#cp -p /etc/pam.d/system-auth /etc/pam.d/system-auth.bak
	2、创建文件/etc/security/opasswd用于存储旧密码,并设置权限。
		#touch /etc/security/opasswd
		#chown root:root /etc/security/opasswd
		#chmod 600 /etc/security/opasswd
	3、编辑文件/etc/pam.d/system-auth,找到类似行password  sufficient pam_unix.so,在行末尾增加remember=5,中间以空格隔开.如果没有则新增。
		password sufficient pam_unix.so remember=5

4、检查账户认证失败次数限制

配置要求:
对于采用静态口令认证技术的设备,应配置当用户连续认证失败次数超过6次(不含6次),锁定该用户使用的账号。

检查步骤
	查看文件/etc/pam.d/system-auth,检查是否存在如下内容:
	auth required pam_tally2.so deny=5 onerr=fail no_magic_root unlock_time=180
	account  required  pam_tally2.so

合规标准
	用户连续认证失败次数设置为5则合规,否则不合规。

加固方案
参考配置操作
	1、执行备份    
		#cp -p /etc/pam.d/system-auth /etc/pam.d/system-auth_bak
	2、修改策略设,编辑文件/etc/pam.d/system-auth增加如下内容:
		auth required pam_tally2.so deny=5 onerr=fail no_magic_root unlock_time=180    #unlock_time单位为秒
		account  required  pam_tally2.so     #(redhat5.1以上版本支持 pam_tally2.so,其他版本使用pam_tally.so)

5、检查是否设置SSH登录前警告Banner

理论依据:
横幅被用来警告用户连接特定站点的策略。咨询你的法律部门,为你的网站提供适当的警告横幅。

配置要求:
SSH登录时显示警告信息,在登录成功前不泄漏服务器信息。

检查步骤
查看文件/etc/ssh/sshd_config,检查是否存在如下配置:banner <file_path>,且<file_path>内容不为空。

合规标准
ssh服务器未启用或者服务启用但设置了ssh banner警示信息则合规,否则不合规。

加固方案
1、编辑文件/etc/ssh/sshd_config文件,修改Banner参数的值如下(如不存在则新增):
	Banner /etc/ssh_banner
2、执行如下命令创建ssh banner警示信息文件:
	#touch /etc/ssh_banner
	#chmod 644 /etc/ssh_banner
	#echo "Authorized only. All activity will be monitored and reported" > /etc/ssh_banner
可根据实际需要修改该文件的内容。
3、重启sshd服务:
	#/etc/init.d/sshd restart

6、检查日志文件权限设置

配置要求:
设备应配置权限,控制对日志文件读取、修改和删除等操作

检查步骤:
	1、	查看/etc/rsyslog.conf中设置的日志存放文件,
		/var/log/messages 系统日志
		/var/log/maillog   邮件系统日志 
		/var/log/secure    安全信息,系统登陆与网络连接的信息
		/var/log/dmesg    核心启动日志
		/var/log/wtmp     登录记录
		/var/log/cron     cron(定制任务日志)日志
	2、	查看日志文件的权限:
		#ls -la /var/log/messages
		#ls -la /var/log/dmesg
		#ls -la /var/log/maillog
		#ls -la /var/log/secure
		#ls -la /var/log/wtmp
		#ls -la /var/log/cron

	合规标准:
		/var/log/messages、/var/log/secure、/var/log/maillog、/var/log/cron文件权限不大于600
		/var/log/dmesg文件权限不大于644
		/var/log/wtmp文件权限不大于664
	以上日志文件权限均满足要求则合规,否则不合规
	
加固方案
	1、备份需要修改权限的日志文件
	2、设置文件权限
	#chmod 600 /var/log/messages
	#chmod 644 /var/log/dmesg
	#chmod 600 /var/log/maillog
	#chmod 600 /var/log/secure
	#chmod 664 /var/log/wtmp
	#chmod 600 /var/log/cron

7、检查重要目录或文件权限设置

配置要求:
	在设备权限配置能力内,根据用户的业务需要,配置其所需的最小权限。

检查步骤
	使用以下命令查看如下文件的权限设置:
	#ls -lL /etc/passwd 2>/dev/null
	#ls -lL /etc/shadow 2>/dev/null
	#ls -lL /etc/group 2>/dev/null

合规标准
	1、/etc/passwd文件的权限小于等于644
	2、/etc/shadow文件的权限小于等于400
	3、/etc/group文件的权限小于等于644
	以上条件同时满足则合规,否则不合规。
	
加固方案
	1、赋予用户相关账号文件最小权限
		#chmod 644 /etc/passwd 
		#chmod 400 /etc/shadow 
		#chmod 644 /etc/group

8、检查是否修改SNMP默认团体字
配置要求:
上如果没有必要,需要停止SNMP服务,如果确实需要使用SNMP服务,需要修改SNMP Community。。

	检查步骤
		1、查看snmpd进程是否存在。
		#ps -ef|grep "snmpd"|grep -v "grep"
		2、查看文件/etc/snmp/snmpd.conf,检查SNMP团体名配置。

		合规标准
		SNMP服务未开启或者修改了默认的团体名则合规,否则不合规。
		
参考配置操作
	1、修改snmp配置文件/etc/snmp/snmpd.conf找到类似如下配置,修改默认团体名public为其他用户自己可识别的字符串。
	com2sec notConfigUser  default  public   #<notConfigUser>为连接snmp的用户名 <default>为可以连接snmp的地址范围 <public>为团体名
	2、重启snmp服务
	#service snmpd restart

9、检查系统是否禁用Ctrl+Alt+Delete组合键
配置要求:
禁止Ctrl+Alt+Delete,防止非法重新启动服务器。

	检查步骤
		查看文件/etc/init/control-alt-delete.conf,是否存在使用组合键control+alt+delete控制系统重启的配置。
		exec /sbin/shutdown -r now "Control-Alt-Delete pressed"

		合规标准
		禁用了使用组合键Ctrl+Alt+Delete重启系统则合规,否则不合规。
	
	加固方案	
	编辑文件/etc/init/control-alt-delete.conf,将如下行删除或注释:
	exec /sbin/shutdown -r now "Control-Alt-Delete pressed"

10、检查root用户的path环境变量
配置要求:
root用户环境变量的安全性。

	检查步骤
		使用命令echo $PATH查看PATH环境变量的值,确认PATH环境变量中是否存在.或者..的路径:
		.:/usr/bin:..:/usr/sbin

		合规标准
		$PATH环境变量中不存在.或者..的路径则合规,否则不合规。
	
	加固方案	
	1、修改文件/etc/profile或/root/.bash_profile 
		修改环境变量$PATH,删除环境变量值包含的(.和..)的路径。

11、检查历史命令设置
配置要求:
保证bash shell保存少量的(或不保存)命令,保存较少的命令条数,减少安全隐患。
检查步骤
编辑文件/etc/profile查看是否存在如下内容:
HISTFILESIZE=5
HISTSIZE=5

	合规标准
	HISTFILESIZE和HISTSIZE的值小于等于5则合规,否则不合规。
		
	加固方案
	1、编辑文件/etc/profile,在文件中加入如下两行(存在则修改):
		HISTFILESIZE=5  #HISTFILESIZE 定义了在 .bash_history 中保存命令的记录总数,可以理解为.bash_history文件中最多只有HISTFILESIZE行
		HISTSIZE=5      #定义了 history 命令输出的记录数,即输出.bash_history文件中的最后HISTSIZE行

		2、执行以下命令让配置生效
		#source /etc/profile
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值