依据 GB/T 22239-2019《信息安全技术 网络安全等级保护基本要求》等保2.0三级 标准,针对 Kylin Linux(银河麒麟)操作系统 给出可直接落地的测评命令清单。
覆盖身份鉴别、访问控制、安全审计、入侵防范、恶意代码防范等核心控制点,并结合 Kylin V10 特有安全增强机制(如 AppArmor、可信计算、国密支持)进行优化调整。
一、身份鉴别(8.1.4.1)
1.1 账户唯一性与密码复杂度
| | |
|---|
awk -F: '$2==""{print $1}' /etc/shadow | | |
awk -F: '{print $3}' /etc/passwd | sort | uniq -d | | |
grep -E 'PASS_MAX_DAYS|PASS_MIN_DAYS' /etc/login.defs | | |
grep -E 'pam_cracklib|pam_pwquality' /etc/pam.d/system-auth | | |
Kylin V10 特有配置:
# 查看默认启用的密码复杂度模块cat /etc/pam.d/system-auth |grep-E"pam_cracklib|pam_pwquality"# 合规配置示例minlen=8dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1# 要求:至少1数字、1大写、1小写、1特殊字符
1.2 登录失败处理与会话超时
| | |
|---|
grep pam_tally2 /etc/pam.d/sshd | | |
grep TMOUT /etc/profile | | |
grep -E 'ClientAliveInterval|ClientAliveCountMax' /etc/ssh/sshd_config | | |
1.3 远程管理安全
# 确认SSH服务运行systemctl status sshd# 检查SSH安全配置cat /etc/ssh/sshd_config |grep-E'PermitRootLogin|Protocol|PubkeyAuthentication'# 合规要求:PermitRootLogin no、Protocol 2、PubkeyAuthentication yes# 确认未开放Telnetss -tuln|grep':23'
高风险项:使用Telnet或允许root远程登录,直接判定不符合三级要求。
1.4 双因子认证(高风险项)
测评方法:
# 检查SSH公钥认证配置grep"PubkeyAuthentication yes" /etc/ssh/sshd_config# 检查PAM模块是否集成双因子cat /etc/pam.d/sshd |grep-E"pam_pkcs11|pam_google_authenticator"# 查看证书存储(如使用Ukey)ls /etc/pki/nssdb/
二、访问控制(8.1.4.2)
2.1 账户与权限管理
| | |
|---|
grep -E 'adm|lp|sync|halt|news|uucp|operator|games|gopher' /etc/shadow | | |
stat -c '%a %n' /etc/passwd /etc/shadow | | |
grep -v '^#' /etc/sudoers | grep -v '^$' | | |
awk -F: '$3==0 && $1!="root"{print $1}' /etc/passwd | | |
2.2 强制访问控制(Kylin特有)
Kylin V10 默认使用 AppArmor 替代 SELinux:
# 检查AppArmor状态aa-status# 查看已加载的配置文件aa-status |grep enforce# 验证关键进程策略sudo apparmor_parser -q /etc/apparmor.d/usr.sbin.sshdsudo apparmor_parser -q /etc/apparmor.d/usr.sbin.mysqld# 查看AppArmor日志dmesg|grep-i apparmor
达标判据:关键进程(sshd、mysqld、nginx等)应配置AppArmor策略并处于enforce模式。
三、安全审计(8.1.4.3)
3.1 审计服务启用
| | |
|---|
systemctl is-active auditd && systemctl is-enabled auditd | | |
auditctl -l | wc -l | | |
aureport -i | head -20 | | |
stat -c '%a %U:%G' /var/log/audit/audit.log | | |
3.2 日志备份与防篡改
# 检查远程日志备份配置grep-E'@\w+.*514' /etc/rsyslog.conf /etc/rsyslog.d/*.conf# 合规配置示例echo"*.info;mail.none;authpriv.none;cron.none @192.168.1.100:514">> /etc/rsyslog.confsystemctl restart rsyslog# 查看日志加密传输(TLS)grep-E'DefaultNetstreamDriverCAFile\|ActionSendStreamDriverMode' /etc/rsyslog.conf
四、入侵防范(8.1.4.4)
4.1 最小化安装与漏洞修复
| | |
|---|
dpkg --list | grep -E 'telnet|ftp|rsh' | | |
apt list --upgradable 2>/dev/null | wc -l | | |
systemctl list-unit-files --state=enabled | grep -vE 'ssh|audit|cron|rsyslog' | | |
4.2 端口与防火墙管控
| | |
|---|
ss -tunlp | grep -E '0.0.0.0:23|0.0.0.0:111|0.0.0.0:513' | | |
ufw status verbose | | |
cat /etc/hosts.deny | | |
Kylin V10 防火墙配置:
# 查看默认防火墙(UFW)sudo ufw status numbered# 合规配置示例sudo ufw default deny incomingsudo ufw default allow outgoingsudo ufw allow from 10.1.1.0/24 to any port 22 proto tcpsudo ufw enable
五、恶意代码防范(8.1.4.5)
| | |
|---|
systemctl is-active clamav-daemon && systemctl is-enabled clamav-daemon | | |
freshclam --version | | |
ps -ef | grep clamd | | |
高风险项:未部署实时防病毒工具,直接判定不符合三级要求。
Kylin 特有安全中心:
# 启动麒麟安全中心(图形化)kysec-center &# 命令行查看安全状态kysec-status# 查看病毒查杀记录cat /var/log/kysec/antivirus.log
六、可信验证(Kylin特有,8.1.4.6)
| | |
|---|
fips-mode-setup --check | | |
mokutil --sb-state | | |
dmesg | grep -i tpm | | |
cat /proc/cmdline | grep -E 'ima|evm' | | |
可信启动验证:
# 查看可信启动链cat /sys/kernel/security/ima/ascii_runtime_measurements |head-5# 验证系统完整性kysec-verify --check-system
七、数据备份与恢复(8.1.4.9)
| | |
|---|
crontab -l | grep -i backup | | |
stat -c '%a %U:%G' /backup | | |
tar -tzf /backup/etc-$(date +%F).tar.gz | wc -l | | |
Kylin 备份工具:
# 使用麒麟备份还原工具kybackup --create--name system-$(date +%F)--include /etc /var/log /home# 查看备份列表kybackup --list# 验证备份完整性kybackup --verify--name system-$(date +%F)
一键巡检脚本(Bash)
#!/bin/bash# Kylin Linux V10 等保三级一键巡检脚本# 执行用户:rootecho"===== 1 身份鉴别 ====="echo"--- 空口令检查 ---"awk -F: '$2==""{print "空口令用户: "$1}' /etc/shadowecho"--- 密码有效期 ---"grep-E'PASS_MAX_DAYS|PASS_MIN_DAYS' /etc/login.defsecho"--- 密码复杂度 ---"grep-E'pam_cracklib|pam_pwquality' /etc/pam.d/system-auth |head-5echo"--- 登录失败锁定 ---"grep pam_tally2 /etc/pam.d/sshdecho"--- SSH配置 ---"grep-E'PermitRootLogin|Protocol|ClientAlive' /etc/ssh/sshd_config |head-5echo""echo"===== 2 访问控制 ====="echo"--- 默认账户状态 ---"grep-E'adm|lp|sync|halt|news|uucp|operator|games|gopher' /etc/shadow |head-5echo"--- 关键文件权限 ---"stat-c'%a %n' /etc/passwd /etc/shadow 2>/dev/nullecho"--- AppArmor状态 ---"aa-status 2>/dev/null |head-10||echo"AppArmor未安装"echo""echo"===== 3 安全审计 ====="echo"--- auditd状态 ---"systemctl is-active auditd && systemctl is-enabled auditdecho"--- 审计规则数量 ---"auditctl -l2>/dev/null |wc-lecho"--- 日志权限 ---"stat-c'%a %U:%G' /var/log/audit/audit.log 2>/dev/nullecho"--- 远程日志配置 ---"grep-E'@\w+.*514' /etc/rsyslog.conf /etc/rsyslog.d/*.conf 2>/dev/null |head-3echo""echo"===== 4 入侵防范 ====="echo"--- 高危端口 ---"ss -tunlp|grep-E'0.0.0.0:23|0.0.0.0:111|0.0.0.0:513'echo"--- 待更新包 ---"apt list --upgradable2>/dev/null |wc-lecho"--- 防火墙状态 ---"ufw status verbose 2>/dev/null |head-5||echo"UFW未启用"echo""echo"===== 5 恶意代码防范 ====="echo"--- ClamAV状态 ---"systemctl is-active clamav-daemon 2>/dev/nullsystemctl is-enabled clamav-daemon 2>/dev/nullecho"--- 病毒库版本 ---"freshclam --version2>/dev/null ||echo"未安装freshclam"echo""echo"===== 6 可信验证(Kylin特有) ====="echo"--- FIPS模式 ---"fips-mode-setup --check2>/dev/null ||echo"未启用FIPS"echo"--- Secure Boot ---"mokutil --sb-state 2>/dev/null ||echo"无法检测Secure Boot"echo"--- TPM状态 ---"dmesg|grep-i"tpm"|head-3echo""echo"===== 7 数据备份 ====="echo"--- 备份任务 ---"crontab-l2>/dev/null |grep-i backup ||echo"未配置备份任务"echo"--- 备份目录 ---"stat-c'%a %U:%G' /backup 2>/dev/null ||echo"备份目录不存在"echo""echo"===== 巡检完成 ====="
高风险项重点核查清单
| | | |
|---|
| 空口令账户 | awk -F: '$2==""{print $1}' /etc/shadow | | |
| 密码复杂度未启用 | grep -E 'pam_cracklib|pam_pwquality' /etc/pam.d/system-auth | | |
| root远程登录 | grep ^PermitRootLogin /etc/ssh/sshd_config | | |
| 无登录失败锁定 | grep pam_tally2 /etc/pam.d/sshd | | |
| 双因子认证缺失 | 访谈+grep -E 'pam_pkcs11|pam_google_authenticator' /etc/pam.d/sshd | | |
| AppArmor未启用 | aa-status | | |
| 审计未启用 | systemctl is-active auditd | | |
| 无杀毒软件 | systemctl is-active clamav-daemon | | |
| 可信启动未启用 | mokutil --sb-state | | |
| 备份未配置 | crontab -l | grep backup | | |
Kylin V10 特有安全功能
1. 国密算法支持
# 查看内核支持的国密算法cat /proc/crypto |grep-E"sm2|sm3|sm4"# 配置SSH使用国密(Kylin V10 SP2+)echo"Ciphers sm4-gcm@openssh.com,sm4-ctr@openssh.com">> /etc/ssh/sshd_configecho"MACs hmac-sm3@openssh.com">> /etc/ssh/sshd_configsystemctl restart sshd
2. 麒麟安全体系(KYSEC)
# 查看安全等级cat /proc/sys/kernel/kysec# 查看执行控制模式kysec-get --exec /usr/bin/python3# 设置文件安全标记(禁止执行)kysec-set --label0 /path/to/file
3. 三员分立(系统管理员/安全管理员/审计管理员)
# 查看当前用户角色kysec-role# 切换至安全管理员(需插入Ukey)su - secadmin# 查看审计日志(审计管理员)ausearch -ua auditadmin -ts today
版本差异说明(V10 vs V10 SP1/SP2/SP3)
测评执行要点
1. 权限要求
2. 现场核查重点
密码策略:不仅看配置,需尝试创建弱口令用户验证策略是否生效
KYSEC标记:检查关键系统文件是否被标记为不可篡改
国密应用:确认业务系统是否调用国密算法(检查 /proc/crypto)
可信启动:检查BIOS设置,确认Secure Boot和TPM已启用
3. 与CentOS/UOS对比
常用命令速查
# 用户与权限cat /etc/passwd # 查看所有用户cat /etc/shadow # 查看密码状态kysec-role # 查看当前角色lastlog # 查看最后登录# 网络与安全ss -tunlp# 查看监听端口ufw status numbered # 查看防火墙规则aa-status # 查看AppArmor状态# 系统与日志uname-a# 内核版本cat /etc/kylin-release # OS版本ausearch -ts today -k identity_changes # 搜索今日审计日志kysec-verify --check-system # 验证系统完整性# 可信计算fips-mode-setup --check# FIPS模式mokutil --sb-state # Secure Bootcat /sys/kernel/security/ima/ascii_runtime_measurements # IMA度量# 备份与恢复kybackup --list# 查看备份列表kybackup --verify--name xxx # 验证备份
参考标准:GB/T 22239-2019、GB/T 28448-2019、Kylin V10安全基线适用版本:Kylin Linux V10(基础版/SP1/SP2/SP3)验证环境:x86_64 / ARM64 / LoongArch 架构