先稍微收集一下系统的信息
date //查看系统时间
cat /proc/version //查看系统版本号
ifconfig //查看网卡ip和子网掩码
-
身份鉴别
-
a)应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换。
测评要求:
1) 应核查用户在登录时是否采用了身份鉴别措施;
2)应核查用户列表确认用户身份标识是否具有唯一性;
3)应 核查用户配置信息或测试验证是否不存在空口令用户;
4)应核查用户鉴别信息是否具有复杂度要求并定期更换。
操作说明:
1、cat /etc/redhat-release确定服务器版本,查看cat /etc/passwd、cat/etc/shadow 查看用户是否存在空口令用户
2、使用命令useradd test、passwd test、userdel test,查看用户是否能创建相同用户名用户并验证密码复杂度。
3、密码参数设置
A、使用命令cat查看/etc/login.defs文件,查看是否设置密码长度和定期更换要求
PASS_MAX_DAYS(最长使用期限)、PASS_MIN_DAYS(本次密码修改后,下次允许更改密码之前所需的最少天数)、PASS_MIN_LEN(密码长度要求)、PASS_WARN_AGE(口令失效前多少天开始通知用户更改密码)的值
B、密码复杂度:使用命令cat查看/etc/pam.d/system-auth、/etc/pam.d/password-auth和/etc/security/pwquality.conf文件。查看密码长度和复杂度要求minlen(最小密码长度)、ucredit(大写字母)、lcredit(小写字母)、dcredit(数字)、ocredit(字符)、difok(历史密码记录次数)、maxclassrepeat(同类最大次数),负数标识至少多少个,正数最多多少个
C、使用cat查看:/etc/ssh/sshd_config 开启认证passwordauthentication(基于口令的认证) yes
附带验证:chage -l [用户]、date -d "1970-01-01 [写入时间戳] days"(时间戳(日期)换算)可用于验证shadow文件中用户是否修改过密码,密码参数模块是否生效于shadow文件中
命令解释:
cat /etc/passwd //查看所有账号及权限及状态
cat /etc/shadow //查看账号详情
cat /etc/pam.d/password-auth //查看密码最小长度,复杂度(局部)
cat /etc/pam.d/system-auth //查看密码最小长度,复杂度(全局,针对于所有本机/远程登录登录方式的登陆策略)
cat /etc/security/pwquality.conf //查看系统对密码复杂度的要求(相对不重要,大概率生效的是以上那一条的密码复杂度策略)
预期结果:
1)登录需要密码
2)不存在空口令账户
3)得出类似反馈信息,如下:
PASS MAX_DAYS 90 #登录密码有效期90天
PASS MIN_DAYS 0 #登录密码最短修改时间,增加可以防止非法用户短期更改多次
PASS MIN_LEN 7 #登录密码最小长度7位
PASS WARN_AGE 7 #登录密码过期提前7天提示修改
- 不存在绕过的安全风险
通过用户名+密码的方式进行身份鉴别,用户身份标识具有唯一性。未发现空密码账户。服务器已配置合规的密码复杂度策略:minlen=8 ucredit=-2 lcredit=-1 dcredit=-4 ocredit=-2,已配置合规的密码长度:PASS_MIN_LEN 7,已设置合规的密码更换周期:PASS_MAX_DAYS 90。
b)应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施。
测评要求:
1)应核查是否配置并启用了登录失败处理功能;
2)应核查是否配置并启用了限制非法登录功能,非法登录达到一定次数后采取特定动作,如账户锁定等;
3) 应核查是否配置并启用了登录连接超时及自动退出功能。
操作说明:
1、登录失败处理策略:
1.1 /etc/login.defs参考以下设置 LOGIN_RETRIES 5LOGIN_TIMEOUT 600
1.2/etc/pam.d/system-auth是否设置"auth required pam tally2. so onerr=fail deny=3 unlock time=300 even deny root root unlock time=300"
附:cat /etc/pam.d/password-auth针对SSH远程的登录失败处理。
2、登录超时值策略:
2.1全局设置:/etc/profile export TMOUT=300s 使用Source命令进行更新
附:面对SSH登录的超时设置:etc/ssh/sshd_config 设置:ClientAliveCountMax 为0 ClientAliveInterval为超时值
命令解释:
cat /etc/pam.d/login //登录策略
cat /etc/pam.d/system-auth //查看密码最小长度,复杂度(全局,针对于所有本机/远程登录登录方式的登陆策略)
cat /etc/pam.d/sshd //仅针对于SSH登录方式的登陆策略
cat /etc/profile //全局profile文件,设置后会影响到所有用户,主要用于查看闲置退出时间、用户设置
cat /etc/profile | grep TMOUT //这条命令只显示闲置退出时间
预期结果:
1)和2)查看登录失败处理功能相关参数,/etc/pam.d/system—auth文件中存在"account required /lib/security/pam_tally.so deny=3
no_ magic root reset" ;
3)记录在文件/etc/profile中设置了超时锁定参数,在profile下设置TMOUT= 300s
已设置合规的终端登录失败处理策略:deny=3 unlock_time=300 even_deny_root root_unlock_time=300,已设置合规的SSH远程登录失败处理策略:deny=3 unlock_time=300 even_deny_root root_unlock_time=300,已设置合规的空闲超时自动退出时间:TMOUT=600。
已配置登录失败处理策略及登录超时时间,登录失败3次,锁定账户5分钟,登录超时时间为5分钟。
c)当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听。
测评要求:
应核查是否采用加密等安全方式对系统进行远程管理,防止鉴别信息在网络传输过程中被窃听。
操作说明:
1、cat /etc/ssh/sshd_config,查看PermitRootLogin是否关闭或注释,参考:PermitRootLogin no
2、访谈系统管理员,采用远程管理的方式。
2.1 以root身份登录进入Linux查看是否运行了telnet服务,操作:a.rpm -qa | grep telnet 查看是否存在telent的包,b.netstat -tunlp|grep 23,查看相关的telnet端口是否打开,c.ps -ef|grep telent,查看是否存在telent的服务进程。
2.2 若使用SSH方式进行远程管理,操作:a.rpm -qa | grep ssh 查看是否存在ssh的安装包,b.netstat -tunlp|grep 22,查看相关的SSH端口是否打开,c.ps -ef|grep ssh,查看是否存在ssh的服务进程。
2.3 采用本地化管理,netstat -tunlp,查看是否存在高危端口,判定为不适用
命令解释:
cat /etc/ssh/sshd_config //查看PermitRootLogin参数;
cat /etc/ssh/sshd_config | grep PermitRootLogin //这条命令只显示是否使用root账号账号运程登录
rpm -aq | grep ssh 查看已安装的包
rpm -aq | grep telnet
rpm -aq | grep vsftp
rpm -qa | grep ssl
lsof -i:21 查看端口是否运行
lsof -i:22
lsof -i:23
netstat -tunlp 查看所有端口ssh服务端口
netstat -tunlp | grep 21 查看21端口
netstat -tunlp | grep 22 查看22端口
netstat -tunlp | grep 23 查看23端口(没有显示默认是关闭)
ps -aux | grep telnet 查看teInet 远程登录端口
ps -aux | grep vsftp 查看vsftp端口
ps -aux | grep ssh 查看ssh端口
ps -aux | grep rlogin 查看远程登录命令
ps -aux | grep ftp 查看ftp端口
预期结果:
1)使用SSH方式进行远程管理,防止鉴别信息在传输过程中被窃听,Telnet默认不符合
2)通过抓包工具,截获信息为密文,无法读取,协议为加密
3) N/A本地管理
仅允许使用SSH协议进行远程管理,鉴别信息在网络中加密传输,以防止鉴别信息在网络传输过程中被窃听。已关闭telnet服务。
d)应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现。
测评要求:
1)应核查是否采用动态口令、数字证书、生物技术和设备指纹等两种或两种以上组合的鉴别技术对用户身份进行鉴别,
2)应核查其中一种鉴别技术是否使用密码技术来实现。
操作说明:
访谈和核查系统管理员在登录操作系统的过程中使用了哪些身份鉴别方法,是否采用了两种或两种以上组合的鉴别技术,如口令教字证书Ukey、令牌、指纹等,是否有一种鉴别方法在鉴别过程中使用了密码技术。(鉴别技术类型:知道的、拥有的、身份特征)
命令解释:
预期结果:
除口令之外,采用了另外一种鉴别机制,此机制采用了密码技术,如调用了密码机或采取SM1-SM4等算法