01.检查系统openssh安全配置
配置要求
强烈建议系统放弃旧的明文登录协议,使用SSH防止会话劫持和嗅探网络上的敏感数据。
审计步骤
检查步骤
查看配置文件/etc/ssh/sshd_config,检查以下几个参数的配置值是否满足安全要求:
X11Forwarding #x11转发功能,如果没有需要使用此功能的应用应该关闭该功能。
MaxAuthTries #指定每个连接允许的身份验证尝试的最大数量。建议配置为4次或者更少。
IgnoreRhosts #此参数将强制用户在使用SSH进行身份验证时输入密码,建议开启开功能。
HostbasedAuthentication #开启主机认证,建议关闭该功能。
PermitEmptyPasswords #允许空密码登录,建议关闭该功能
合规标准
1、关闭x11转发功能;
2、单个连接允许的最大身份验证尝试次数不大于4次;
3、开启使用ssh进行身份验证时,强制输入密码功能;
4、关闭主机认证功能;
5、关闭允许空密码登录功能;
以上5个条件同时满足时则合规,否则不合规。
加固方案:
编辑配置文件/etc/ssh/sshd_config,修改下面几个参数的值:
vim /etc/ssh/sshd_config
X11Forwarding no
MaxAuthTries 4
IgnoreRhosts yes
HostbasedAuthentication no
PermitEmptyPasswords no
重启ssh服务
systemctl restart sshd
02.检查是否设置命令行界面超时退出
理论依据
对于具备字符交互界面的设备,应配置定时帐户自动登出,避免管理员忘记注销登录,减少安全隐患。
配置要求
设置命令行界面登录后300s内无任何操作自动登出。
审计步骤
查看/etc/profile文件中是否配置超时设置
cat /etc/profile |grep -i TMOUT
合规标准
命令行界面超时自动登录时间设置为不大于300s则合规,否则不合规。
加固方案
执行备份
cp -p /etc/profile /etc/profile_bak
在/etc/profile文件中增加如下两行(存在则修改,不存在则添加):
vim /etc/profile
TMOUT=300
export TMOUT
执行以下命令使TMOUT参数立即生效
source /etc/profile
03.检查是否删除了潜在危险文件
理论依据
限制.rhosts、.netrc和/etc/文件的使用。r系列命令使用这些文件来访问系统。
配置要求
.rhosts,.netrc,等文件都具有潜在的危险,如果没有应用,应该删除。
审计步骤
检查步骤, 使用locate命令查看系统是否存在如下文件".rhost、.netrc、"
locate .rhost
locate .netrc
locate
合规标准
系统不存在".rhost、.netrc、"这三个文件则合规,否则不合规。
加固方案
此项检查若不合规,请使用rm命令删除如下三个文件:
.rhost、.netrc、
04.检查用户目录缺省访问权限设置
理论依据
为umask设置一个非常安全的默认值,确保用户对其文件权限做出一个有意识的选择。
配置要求
控制用户缺省访问权限,当在创建新文件或目录时,应屏蔽掉新文件或目录不应有的访问允许权限,防止同属于该组的其它用户及别的组的用户修改该用户的文件或更高限制。
检查步骤
查看文件/etc/profile,是否设置文件目录缺省权限。
合规标准
/etc/profile文件末尾存在umask 027,则合规,否则为不合规。
加固方案
vim /etc/profile
umask 027
source /etc/profile
05.检查是否设置口令更改最小间隔天数
理论依据
通过限制密码更改的频率,管理员可以防止用户重复更改密码,从而避免密码重用控制。
配置要求
建议将参数PASS_MIN_DAYS设置为不小于7天。
检查步骤
查看文件/etc/,检查如下参数值是否满足要求:
PASS_MIN_DAYS
合规标准
PASS_MIN_DAYS不小于7天则合规,否则不合规。
加固方案
执行备份:
cp -p /etc/ /etc/login.defs_bak
修改策略设置,编辑文件/etc/,在文件中加入如下内容(如果存在则修改,不存在则添加):
vim /etc/
PASS_MIN_DAYS 7
06.检查是否设置口令生存周期
理论依据
攻击者利用网络暴力攻击的机会,通过网络暴力攻击的机会窗口,受到密码生存周期的限制。因此,减少密码的最大年龄也会减少攻击者的机会窗口。
配置要求
建议将PASS_MAX_DAYS参数设置为小于或等于90天。
检查步骤
查看文件/etc/,检查如下参数值是否满足要求:
PASS_MAX_DAYS
合规标准
PASS_MAX_DAYS不大于90则合规,否则不合规。
加固方案
执行备份
cp -p /etc/ /etc/login.defs_bak
修改策略设置,编辑文件/etc/,在文件中加入如下内容(如果存在则修改,不存在则添加):
PASS_MAX_DAYS 90
07.检查是否禁止root用户远程登录
理论依据
在SSH上不允许root登录,需要服务器管理员使用自己的帐户进行身份验证,然后通过sudo或su升级到根,这反过来限制了不可抵赖的机会,并在发生安全事件时提供了清晰的审计线索
配置要求
限制具备超级管理员权限的用户远程登录,远程执行管理员权限操作,应先以普通权限用户远程登录后,再切换到超级管理员权限账号后执行相应操作。
检查步骤
1、查看文件/etc/ssh/sshd_config,是否存在拒绝root用户通过SSH协议远程登录的配置。
2、执行以下命令查看ssh协议版本是否为2。
grep -v "^[[:space:]]*#" /etc/ssh/sshd_config|grep -i "^protocol"
合规标准
ssh协议拒绝root用户远程登录,且使用的是协议SSH 2则合规,否则不合规。
加固方案
执行备份:
cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak
新建一个普通用户并设置高强度密码(防止设备上只存在root用户可用时,无法远程访问):
useradd chiyi
passwd chiyi
添加 sudo 权限
修改文件为可写
chmod u+w /etc/sudoers
修改配置文件
vim /etc/sudoers
chiyi ALL=(ALL) NOPASSWD:ALL
修改文件为只可读
chmod u-w /etc/sudoers
禁止root用户远程登录系统
修改文件为可写
chmod u+w /etc/ssh/sshd_config
修改配置文件
vim /etc/ssh/sshd_config
PermitRootLogin no
修改文件为只可读
chmod u-w /etc/ssh/sshd_config
重启SSH服务
systemctl restart sshd