Linux测评口令
查看版本
cat /etc/redhat-release
cat /etc/os-release或cat /etc/kylin-release #麒麟
是否存在空口令账户
more /etc/shadow #查看文件,核查是否存在默认无用账户;核查系统中是否存在空口令账户(目录下第二字段均为X不存在空口令)
more /etc/passwd #查看文件默认账户是否禁用
密码长度和密码定期更换
more /etc/login.defs #查看文件,核查是否设置了密码长度和密码定期更换规则
PASS_MAX_DAYS 90 登录密码有效期为90天
PASS_MIN_DAYS 10 登录密码最短修改时间,增加可防止非法用户短期内多次修改登录密码
PASS_MIN_LEN 8 登录密码最小长度为7位
PASS_WARN_AGE 7 登录密码过期前7天提示修改
密码复杂度
more /etc/pam.d/system-auth #查看文件,核查是否设置了密码复杂度规则
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= difok=1 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1
# difok= :此选项用来定义新密码中必须要有几个字符和旧密码不同
# minlen=:此选项用来设置新密码的最小长度
# ucredit=:此选项用来设定新密码中可以包含的大写字母的最大数目。-1 至少一个
# lcredit=:此选项用来设定新密码中可以包含的小写字母的最大数目
# dcredit=:此选项用来设定新密码中可以包含的数字的最大数目
本地登录失败处理功能相关参数
more /etc/pam.d/system-auth(more /etc/pam.d/login) #查看本地登录失败处理功能相关参数,文件中存在
“auth required pam_tally2.so onerr=fail deny=3 unlock_time=150 even_deny_root root_unlock_time=300”
more /etc/pam.d/sshd #查看远程登录失败处理功能相关参数,文件中存在
“auth required pam_tally2.so onerr=fail deny=3 unlock_time=150 even_deny_root root_unlock_time=300”
超时锁定
more /etc/profile #文件中设置了超时锁定参数,例如TMOUT=300s
sshd服务
service sshd status #查看sshd服务状态(service -status-all | grep sshd)
service --status-all | grep running #若为使用SSH协议进行远程管理,则查看是否使用Telnet协议进行远程管理。
ssh -v #查看ssh版本号
ps -ef | grep ssh #检查sshd 进程是否存在(ps -ef | grep <进程名>)
rpm -aq | grep ssh #查询本机是否安装ssh服务
相关端口是否已经打开
netstat -an | grep 22 #查看相关端口是否已经打开
netstat -ntlp #查看并确认开放的端口是否都为业务需要的端口,是否已经关闭非必要的端口
不允许root账户远程登录
more /etc/ssh/sshd_config #文件中PermitRootLogin的参数设置为no
查看SELinux状态
cat /etc/selinux/config
#查看selinux状态,共有3个状态enforcing (执行中)、permissive (不执行但产生警告)、disabled(关闭)。
cat /etc/group #查看wheel组
cat /etc/pam.d/su #查看允许su设置
审计
rsyslog #系统日志管理工具/日志守护进程
auditd #Linux内核中的安全审计子系统/审计守护进程
service auditd status #查看审计进程的运行状态
service rsyslog status #查看日志进程的运行状态
cat /etc/audit/auditd.conf #查看审计配置文件
cat /etc/rsyslog.conf #查看日志配置文件
auditctl -l #查看审计规则
ausearch -ts today #-ts表示查看指定时间后的日志,也可以执行“tail -20 /var/log/audit/audit.log”命令来查看审计日志
查看Linux中正在运行的服务
systemctl | grep running #查看Linux中正在运行的服务
防火墙
iptables -L -n #-L是list列表 -n是number数字显示源和目标
service iptables status #查看防火墙运行状态
查看文件和目录的权限设置是否合理
ls -l 文件名
ls -l /etc/passwd #744
ls -l /etc/shadow
ls -l /etc/profile
ls -l /etc/group
ls -l /etc/ssh/sshd_config
ls -l /etc/pam.d/su
ls -l /var/log/audit/audit.log
ls -l /var/log/messages
ls -l /var/log/secure
-rwx-----:数字表示为700
-rwxr--r--:数字表示为744
-rw-rw-r-x:数字表示为665
drwx--x--x:数字表示为711
drwx------:数字表示为700
查看权限
more /etc/sudoers #查看哪些用户拥有root权限
more /etc/passwd #查看非默认用户,了解用户的权限,核查是否实现管理用户的权限分离
查看已安装的程序包
yum list installed
rpm -aq
终端管理访问限制
cat /etc/hosts.allow #hosts.allow文件用于控制可以访问本机的IP地址
cat /etc/hosts.deny #hosts.deny文件用于控制禁止访问本机IP地址
#如果两个文件配置冲突,以hosts.allow文件配置为准
查看补丁安装情况
rpm -qa | grep patch #查看补丁安装情况
rpm -qa | grep xxxx # -qa代表query,a代表all xxxx你要查询的名称
入侵防范
cat /var/log/secure | grep refused # 查看入侵的重要线索
find / -name <daemon name>-print # 核查是否安装了主机入侵检测软件
Windows测评
用户账户
netplwiz
用户和用户组
lusrmgr.msc
账户策略
secpol.msc
远程管理
gpedit.msc mstsc
gpedit.msc–》管理模板–》Windows组件–》远程桌面服务–》远程桌面会话主机–》安全
日志查看
eventvwr.msc
查看最小安装
dcomcnfg
dcomcnfg-》组件服务-》计算机-》我的电脑
多余的组件
appwiz.cpl
系统服务
services.msc
查看共享
net share
查看端口
netstat -an
查看防火墙
firewall.cpl
ipconfig /release #要求服务器释放曾经记录的已经分配出去的IP地址
ipconfig /renew #终端电脑再次重新获取一次IP地址