【CentOS7操作系统安全加固系列】第(4)篇

2020-11-11 10:31:38 浏览数 (1)

1、检查SSH的MaxAuthTries是否设置

规则描述:MaxAuthTries参数指定每个连接允许的最大验证尝试次数。当登录失败次数达到设置的一半时,错误消息将被写入syslog文件详细记录登录失败。

审计描述

检查/etc/ssh/sshd_config文件中是否存在 MaxAuthTries 参数,且值小于等于4

检查SSH的MaxAuthTries是否设置: cat /etc/ssh/sshd_config | grep -v '^s*#' | grep MaxAuthTries

修改建议:编辑/etc/ssh/sshd_config文件将 MaxAuthTries 设置为:小于等于4,并重启服务。备注:MaxAuthTries的默认值为6

实现方法:

sed -i "s/#MaxAuthTries 6/MaxAuthTries 4/g" /etc/ssh/sshd_config

代码语言:javascript复制
cat /etc/ssh/sshd_config | grep -v '^s*#' | grep MaxAuthTries
cat /etc/ssh/sshd_config | grep MaxAuthTries
sed -i "s/#MaxAuthTries 6/MaxAuthTries 4/g" /etc/ssh/sshd_config
cat /etc/ssh/sshd_config | grep -v '^s*#' | grep MaxAuthTries
service sshd restart

MaxAuthTries要生效,必须修改SSH服务端、客户端的该项配置

ssh localhost -o NumberOfPasswordPrompts=6

//通过-o NumberOfPasswordPrompts指定1次连接可以尝试的密码,默认是3次

-o NumberOfPasswordPrompts=6即1次连接可以输入6次密码 这样就可以验证MaxAuthTries参数每个连接允许的最大验证尝试次数

2、检查SSH空闲超时间隔是否设置

规则描述:ClientAliveInterval和ClientAliveCountMax这两个选项控制ssh会话超时

ClientAliveInterval设置了ssh服务器端向其客户端发送请求消息(alive消息)的间隔时间,以检测客户端是否还存在;

ClientAliveCountMax设置了ssh服务允许客户端在接收到服务端的alive消息未响应的最大超时次数,如果客户端在最大超时次数内均未响应,ssh服务会自动终止与客户端的会话。

例如,如果ClientAliveInterval设置为15,ClientAliveCountMax设置为3,那么无应答的客户端会在45秒后被强制断开。

审计描述:检查/etc/ssh/sshd_config文件中是否存在 ClientAliveInterval 300 ClientAliveCountMax 3

修改建议:编辑/etc/ssh/sshd_config文件将ClientAliveInterval设置为:小于等于300,ClientAliveCountMax设置为:小于等于3,并重启服务。备注:ClientAliveInterval的默认值为0,ClientAliveCountMax的默认值为3

代码语言:javascript复制
cat /etc/ssh/sshd_config | grep -v '^s*#' | grep ClientAliveInterval
cat /etc/ssh/sshd_config  | grep ClientAliveInterval
cat /etc/ssh/sshd_config | grep -v '^s*#' | grep ClientAliveCountMax
cat /etc/ssh/sshd_config  | grep ClientAliveCountMax
sed -i "s/#ClientAliveInterval 0/ClientAliveInterval 60/g" /etc/ssh/sshd_config 
sed -i "s/#ClientAliveCountMax 3/ClientAliveCountMax 0/g" /etc/ssh/sshd_config
service sshd restart

为了演示方便设置成60秒就超时,实际建议设置大一点,60s秒太短

3、登陆超时时间设置

规则描述:设置定时帐户自动登出时间。

审计描述:检查/etc/profile文件中是否配置超时设置:TMOUT小于等于300.

修改建议:在/etc/profile文件中添加以下内容:TMOUT 300 检测用例信息:检查/etc/profile文件中是否存在TMOUT: cat /etc/profile | egrep -v ^s*# | grep -i TMOUT

代码语言:javascript复制
cat /etc/profile | egrep -v ^s*# | grep -i TMOUT
echo -e "nTMOUT=60" >> /etc/profile

4、系统core dump状态

规则描述:系统core dump状态

审计描述:查看/etc/security/limits.conf文件中是否配置如下内容:* soft core 0、* hard core 0,查看/etc/profile文件中是否存在如下配置:ulimit -S -c 0 > /dev/null 2>&1

修改建议:在/etc/security/limits.conf文件中设置* soft core、* hard core为0,且在/etc/profile文件中注释掉ulimit -S -c 0 > /dev/null 2>&1行

检测用例信息:检查/etc/security/limits.conf文件中是否存在配置* soft core 0:

grep -v "^s*#" /etc/security/limits.conf | egrep "*s softs cores 0"

检查/etc/security/limits.conf文件中是否存在配置* hard core 0:

grep -v "^s*#" /etc/security/limits.conf | egrep "*s hards cores 0"

代码语言:javascript复制
echo -e "n* soft core 0" >> /etc/security/limits.conf 
echo -e "n* hard core 0" >> /etc/security/limits.conf 

5、禁止组合键关机

规则描述:禁止Control-Alt-Delete重启动机器命令

审计描述:检查/usr/lib/systemd/system/reboot.target文件,如果该文件不存在、该文件都注释掉、该文件为空则pass,或者如果软链接文件/usr/lib/systemd/system/ctrl-alt-del.target不存在,也pass

修改建议:删掉/usr/lib/systemd/system/reboot.target文件

实现方法:

代码语言:javascript复制
rm -rf /usr/lib/systemd/system/ctrl-alt-del.target
或者systemctl mask ctrl-alt-del.target

虚拟机测试发送Ctrl Alt Del不会重启,已验证

0 人点赞