32、统信UOS操作系统测评命令

统信 UOS 操作系统三级等保现场测评命令:基础信息与版本识别、身份鉴别(口令复杂度与有效期、空口令、登录失败处理、会话超时、远程管理传输保护)、访问控制(AppArmor/SELinux 与 UOS 安全中心)、安全审计、入侵防范与网络服务,附 UOS 与 CentOS/RHEL 系版本适用性对照表。

定位:统信 UOS 桌面/服务器操作系统等保测评核查命令速查,按控制点分组,命令全部为只读,现场可直接执行取证。 配套测评:36、CentOS 主机测评16、Linux命令;配套加固:13、麒麟操作系统加固11、Linux操作系统加固手册;高风险口径:22、高风险判定指引与加固对照表。 适用版本:统信 UOS V20(基于 Debian 10)、UOS 1060/1070(基于 Debian 11/12); UOS 为 Debian 系,与 CentOS/RHEL 系在包管理、PAM 模块、服务管理上差异见文末对照表。

使用说明:

  • 本文所有命令均为只读取证命令,不修改配置、不重启服务、不执行清除类操作;确需变更由被测单位运维方在授权下实施。
  • 命令回显本身即证据,须连同命令行一起截图;示例中的地址、账户、路径均为演示值,现场须替换为真实取证结果,并对个人信息与内网管理地址脱敏后再入报告。
  • 命令不存在或输出与示例差异较大时,先确认产品版本与部署形态(物理机/虚拟机/容器/集群),再换用等效命令或转入配置文件、管理控制台取证,不得据命令缺失直接判不符合
  • 文中「默认」「一般」等表述均为初判倾向,须经上机核查 + 访谈 + 配置/制度核对三方印证后定论,并在报告中写明取证来源。

不适用标识说明:

  • 使用 【不适用】 明确标记现场可判定为不适用的控制点,并写明判定依据与承载该能力的上位组件。
  • 依据 GB/T 28448-2019「按测评对象实际承载功能与数据处理范围判定」原则:控制能力由上层应用、统一认证平台、前置代理、堡垒机、日志审计系统、虚拟化平台或云托管平台承载时,应注明测评单元边界后判定不适用或转由上位组件核查,不得机械按缺失判不符合。
  • 产品版本确实不提供该能力(如设备无可信根、社区版无审计模块)时,须核查替代措施并按替代措施的实际效果定档,不得直接判不适用。

一、基础信息与版本识别

对应控制点:非独立控制点(测评对象与资产确认);系统版本与补丁级别、运行服务、部署形态(物理机/虚拟机/容器)佐证 8.1.4.4 入侵防范 a)e) 与 8.1.2.1 网络架构 e)

判定要点:本节为测评对象确认,不单独出结论;操作系统版本与补丁级别、主机名与 IP、运行服务与监听端口、部署形态(物理机/虚拟机/容器)、承载业务未取全时,后续控制点的判定口径与「不适用」结论均无法成立,应先补齐再进入控制点核查。

取证要求:版本与内核回显截图、补丁/更新清单、监听端口与进程对照截图、已安装组件清单、部署形态说明或虚拟化平台截图、资产台账条目。

核查命令

cat /etc/os-version            # UOS 专有版本文件(首选)
lsb_release -a                 # 通用 LSB 版本信息
cat /etc/os-release            # 通用发行版标识
uname -a                       # 内核版本
dpkg --list                    # 已安装软件包清单(最小安装原则取证)
ip addr                        # 地址与接口(ifconfig 已弃用,需 net-tools)
systemctl get-default          # 默认启动目标(graphical.target 为带桌面)
ps -ef | grep -E "tty|Xorg|lightdm" | grep -v grep   # 桌面环境进程
  • 核查要点:UOS 版本号与内核、是否带桌面环境(终端与服务器判据不同)、已安装软件清单;
  • 判定提示:dpkg --list 用于入侵防范 a)「最小安装」取证,比对业务必需清单剔除多余组件;
  • 证据留存:cat /etc/os-versionuname -adpkg --list 截图或导出文件。

二、身份鉴别

对应控制点:GB/T 22239-2019 8.1.4.1 身份鉴别 a)~d)

判定要点:账户唯一且无空口令/默认口令、口令复杂度与有效期策略已下发、登录失败处理(锁定阈值与时长)与会话空闲超时已启用、远程管理走 SSH/HTTPS 等加密通道;三级另需核查是否采用两种及以上鉴别技术组合且其中一种为密码技术(如口令+动态令牌/证书/生物特征)→ 全部满足为符合;缺复杂度、缺失败锁定、缺超时或缺双因素之一 → 部分符合;存在空口令、默认口令或 Telnet/HTTP 明文管理 → 不符合(高风险)。

取证要求:账户清单与最后登录时间截图、口令策略配置与生效范围截图、失败锁定与超时参数截图、SSH/远程桌面加密配置截图、双因素认证部署证据或访谈纪要、弱口令实测记录。

2.1 口令复杂度、有效期与空口令

核查命令

cat /etc/pam.d/common-password                 # 口令复杂度(pam_pwquality / pam_cracklib)
grep -vE "^\s*#|^\s*$" /etc/security/pwquality.conf   # 复杂度参数:minlen、dcredit、ucredit、lcredit、ocredit
cat /etc/login.defs                             # PASS_MAX_DAYS / PASS_MIN_DAYS / PASS_WARN_AGE(口令有效期)

# 空口令核查:shadow 第二字段为空即为空口令
awk -F: '($2 == "" ) {print $1 " 空口令"}' /etc/shadow
awk -F: '($2 == "" ) {print $1 " 空口令"}' /etc/passwd
cat /etc/shadow | cut -d: -f1,2
  • 预期现象:minlen ≥8 且字符类别要求合理;PASS_MAX_DAYS ≤90;无空口令账户。

2.2 登录失败处理

核查命令

# UOS 1060+/Debian 11+:pam_faillock
grep -vE "^\s*#|^\s*$" /etc/security/faillock.conf     # deny / unlock_time / root_unlock_time / audit / silent
grep -rE "pam_faillock" /etc/pam.d/                    # 确认 common-auth 与 sshd/login 已引用

# UOS V20/Debian 10:pam_tally2
find /usr/lib -name "pam_tally2.so"                    # 模块是否存在
grep -rE "pam_tally2" /etc/pam.d/                      # 确认已引用

cat /etc/pam.d/common-auth                             # 非法登录限制(本地+远程公共栈)
cat /etc/pam.d/sshd                                    # SSH 远程登录失败处理
cat /etc/pam.d/login                                   # 本地登录失败处理

faillock --user <用户名>                                # 查看失败计数与锁定状态(faillock 形态)
pam_tally2 --user <用户名>                              # 同上(tally2 形态)
  • 判定提示(三项须同时具备):
    • 符合:失败次数上限 + 锁定时长 + 空闲超时三项均已配置且可复现;
    • 部分符合:缺其中一项;
    • 不符合:三项均未配置。

2.3 会话超时自动退出

核查命令

cat /etc/profile | grep -i TMOUT        # Shell 空闲超时(单位秒,readonly TMOUT=600 为典型值)
grep -ri tmout /etc/profile.d/          # 部分环境在 profile.d 下单独配置
cat /etc/ssh/sshd_config | grep -iE "ClientAliveInterval|ClientAliveCountMax"   # SSH 保活与断连
# SSH 服务配置总览(同时覆盖 c) 项的协议与认证核查)
grep -vE "^\s*#|^\s*$" /etc/ssh/sshd_config
  • 判定提示:图形终端(桌面版 UOS)还需核查屏幕锁定与自动锁屏策略 (控制中心 → 账户/电源 → 空闲多长时间后锁定屏幕),命令行 TMOUT 对图形会话无效。

2.4 远程管理传输保护

核查命令

grep -iE "^(Protocol|PermitRootLogin|PasswordAuthentication|PermitEmptyPasswords|X11Forwarding)" /etc/ssh/sshd_config
ps -ef | grep sshd | grep -v grep       # SSH 服务是否运行
ss -tulnp | grep -E ":22|:23|:3389"     # 是否仍有 Telnet/明文远程桌面端口
  • 判定提示:Protocol 2 必须为 2;PermitEmptyPasswords no; 若开放 Telnet(23)或明文 RDP 而管理数据经公网 → 传输保密性判不符合。

三、访问控制

对应控制点:GB/T 22239-2019 8.1.4.2 访问控制 a)~g)

判定要点:账户与权限一一对应、默认与多余账户已删除或停用、无共享账户、系统/安全/审计三类管理职责分离、关键文件与目录权限最小化、启用了强制访问控制(SELinux/AppArmor/Windows 完整性级别与 SACL)并达到用户级与文件级粒度 → 符合;有权限划分但存在越权账户、粒度不足或强制访问控制未启用 → 部分符合;统一使用超级账户运维、关键配置文件任意用户可写 → 不符合。

取证要求:账户与组清单、权限查询输出(ls -l/icacls/getfacl)、默认账户处置记录、强制访问控制状态与策略输出、访问控制策略文档与授权审批记录、安全标记配置截图。

核查命令

cat /etc/passwd                          # 账户清单(UID 0 的账户即超级用户)
awk -F: '($3 == 0) {print $1}' /etc/passwd   # 列出所有 UID=0 的账户(应仅 root)
cat /etc/group                           # 组:系统管理员 / 安全管理员 / 审计管理员
more /etc/sudoers                        # sudo 授权:审计员、操作员是否受限
ls -l /etc/sudoers.d/                    # sudoers 分片配置
getent group sudo                        # sudo 组成员(最小化核查)
  • 核查要点:
    1. 是否建立系统管理员、安全管理员、审计管理员三类账户且权限分离;
    2. UID=0 的账户是否仅 root(多余 UID 0 账户为严重不符合);
    3. sudoers 中审计员、操作员是否被授予不应有的提权;
  • 判定提示:仅 root 一个超级账户且无三权分立 → 访问控制 a)/d) 判不符合(三级系统高风险)。

3.1 强制访问控制(SELinux/AppArmor)

# UOS(Debian 系)默认使用 AppArmor;SELinux 需另行安装启用
aa-status                                # AppArmor 状态与已加载配置(若命令不存在则未启用)
cat /etc/selinux/config                  # 若已启用 SELinux:应为 enforcing 并定制策略
sestatus                                 # SELinux 运行状态(未安装时提示无此命令)

ls -Z /etc/shadow                        # 启用 SELinux 时:敏感文件 type 不应为默认类型

原文「more /etc/selinux/config enforcing,并制定了特定的访问控制规则」在 UOS 上默认不成立: UOS 默认不安装 SELinux,而是启用 AppArmor。现场应先确认系统使用哪套机制再核查, 不要照抄 CentOS 的 SELinux 判据。两者均不适用时才按「未启用强制访问控制」记录。

四、安全审计

对应控制点:GB/T 22239-2019 8.1.4.3 安全审计 a)~d)

判定要点:审计功能已启用且覆盖每个用户与重要安全事件(登录注销、权限变更、审计策略变更、系统异常)、记录含日期时间/用户/事件类型/成败四要素、审计记录受保护并定期备份、留存不少于 6 个月、审计进程受保护且非审计管理员不可中断 → 符合;开关已开但子类别不全、留存不足、仅本地存储无外发 → 部分符合;审计完全未启用且无日志审计系统或堡垒机替代 → 不符合(高风险)。

取证要求:审计策略配置与生效截图(auditd 规则 / auditpol / 高级审核策略)、审计记录抽样(脱敏)、日志存放路径与权限、日志外发到 syslog/日志审计系统/SOC 的配置与收端截图、最早记录时间清单、清理与转存任务配置。

核查命令

systemctl list-unit-files | grep -E "auditd|rsyslog|systemd-journald"   # 审计与日志服务启用状态
systemctl status auditd rsyslog                                          # 运行状态
auditctl -l                                                              # 生效的审计规则(为空则未配规则)
auditctl -s                                                              # auditd 运行状态与配置
cat /etc/audit/auditd.conf                                               # 审计守护进程配置(路径已更正)
cat /etc/audit/rules.d/*.rules                                           # 持久化审计规则
more /etc/rsyslog.conf                                                   # 日志规则与外送目标
ls -l /etc/rsyslog.d/                                                    # rsyslog 分片配置
# 日志文件的属主与权限(应仅审计管理员/root 可访问)
ls -l /var/log/messages /var/log/secure /var/log/auth.log
ls -l /var/log/audit/audit.log
ls -ld /var/log /var/log/audit

# 日志内容抽样与时间准确性
tail -n 50 /var/log/auth.log            # Debian 系认证日志(对应 RHEL 系的 secure)
tail -n 50 /var/log/audit/audit.log
date && date -u                          # 系统时间与时区
timedatectl status                       # NTP 同步状态
ausearch -m USER_LOGIN --start today     # 登录审计记录检索
aureport --auth | tail -n 20             # 认证事件汇总
  • 判定提示:
    • 审计记录属主ls -l 看不出"删除修改覆盖会进行记录",原文表述不准确。 正确的取证方式是核查审计规则是否覆盖对日志文件的写/删除操作auditctl -l 中应有 -w /var/log/audit/ -p wa 类规则),以及日志文件权限是否受限;
    • 留存 ≥6 个月:核查 logrotate 配置(cat /etc/logrotate.confls /etc/logrotate.d/) 与是否外送日志服务器;仅本地轮转不足以满足要求。

五、入侵防范与网络服务

对应控制点:GB/T 22239-2019 8.1.4.4 入侵防范 a)~f)

判定要点:遵循最小安装、非必要服务与默认共享已关闭、高危端口未对外开放、管理终端来源受限(防火墙规则/跳板机/堡垒机)、具备数据有效性检验、能发现已知漏洞并及时修补、重要节点部署入侵检测并可出示针对本主机的告警 → 符合;部分措施到位(如有主机防火墙但未限制管理来源、有漏扫无修补闭环)→ 部分符合;管理端口对全网开放、存在已知高危漏洞未修补、无任何入侵检测措施 → 不符合(高风险)。

取证要求:已安装组件/角色清单、服务与监听端口输出、主机防火墙规则与拒绝实测、管理来源限制配置截图、补丁与漏洞修补记录、漏扫报告与整改工单、HIDS/EDR/NDR 部署与本主机告警截图。

核查命令

systemctl list-units --type=service --state=running      # 当前运行服务(最小服务原则)
systemctl list-unit-files --state=enabled                # 开机自启服务
ss -tulnp                                                # 监听端口与进程(替代 netstat -ntlp)
dpkg --list                                              # 已安装组件(最小安装原则)
cat /etc/hosts.deny                                      # 拒绝登录地址
cat /etc/hosts.allow                                     # 允许登录地址(如 sshd:192.168.x.x/255.255.255.0)
iptables -L -n                                           # 主机防火墙规则
ufw status verbose                                       # UOS 桌面版常见 ufw 前端
  • 核查要点:闲置端口与未用服务关闭、管理来源地址限制(hosts.allow/deny 或防火墙)、 版本与补丁(结合漏扫报告);
  • 判定提示:
    • hosts.allow/deny 仅对支持 TCP Wrappers 的服务生效(如 sshd 编译时链接了 libwrap), 不能替代防火墙;应优先用 iptables/ufw/firewalld 取证;
    • 管理终端地址限制(入侵防范 c))须在主机侧或网络侧至少有一处生效,两者皆无为不符合。

六、版本适用性对照(UOS vs CentOS/RHEL 系)

核查项统信 UOS(Debian 系)CentOS/RHEL 系替代/注意
版本文件/etc/os-versionlsb_release -a/etc/redhat-release/etc/os-release互不通用
包管理dpkg --listaptrpm -qayum/dnf
认证日志/var/log/auth.log/var/log/secure
登录失败锁定V20(Debian 10):pam_tally2;1060+(Debian 11+):pam_faillock7:pam_tally2;8+:pam_faillockfind /usr/lib -name "pam_*.so" 确认模块
强制访问控制默认 AppArmoraa-status默认 SELinuxsestatus不要照抄对侧判据
审计配置路径/etc/audit/auditd.conf同左原文写成 /etc/auditd.conf,已更正
端口查看ss -tulnpnetstat 需 net-tools)同左netstat 已弃用
服务管理systemctl(UOS V20 起完全使用 systemd)同左
防火墙ufw / iptables / firewalldfirewalld / iptables以现场实际启用的为准

测评项对照表

控制点核查命令(统信 UOS)
身份鉴别 a)grep -vE "^\s*#|^\s*$" /etc/security/pwquality.confcat /etc/login.defsawk -F: '($2=="")' /etc/shadow
身份鉴别 b)cat /etc/security/faillock.conf(或 pam_tally2)、grep -rE "pam_faillock|pam_tally2" /etc/pam.d/grep -i TMOUT /etc/profile
身份鉴别 c)grep -iE "^(Protocol|PermitRootLogin|PermitEmptyPasswords)" /etc/ssh/sshd_configss -tulnp
访问控制 a)/d)cat /etc/passwdawk -F: '($3==0)' /etc/passwdcat /etc/groupmore /etc/sudoers
访问控制 e)/f)aa-status(AppArmor)/ sestatus(SELinux)、ls -Z 敏感文件 type
安全审计 a)/b)systemctl status auditd rsyslogauditctl -lausearch -m USER_LOGINtail /var/log/auth.log
安全审计 c)ls -l /var/log/audit/audit.log + audit 规则覆盖日志文件 + logrotate 与外送配置
安全审计 d)systemctl status auditd + 非审计管理员能否停服务(sudo -l 核查提权)
时间同步timedatectl statusdate -u
入侵防范 a)/b)dpkg --listsystemctl list-units --type=service --state=runningss -tulnp
入侵防范 c)cat /etc/hosts.allow / hosts.denyiptables -L -n / ufw status
入侵防范 e)cat /etc/os-version + 漏扫报告与补丁记录

参考依据

  • GB/T 22239-2019《信息安全技术 网络安全等级保护基本要求》(8.1.4 安全计算环境相关控制点(国产操作系统)):http://openstd.samr.gov.cn/bzgk/gb/newGbInfo?hcno=BAFB47E8874764186BDB7865E8344DAF
  • GB/T 28448-2019《信息安全技术 网络安全等级保护测评要求》(测评对象边界认定、单元测评实施与结果判定:符合/部分符合/不符合/不适用):http://openstd.samr.gov.cn/bzgk/gb/newGbInfo?hcno=7E736CDF4502B6FF1258DD250AA3EC8C
  • GB/T 22240-2020《信息安全技术 网络安全等级保护定级指南》、GB/T 25070-2019《安全设计技术要求》、GB/T 28449-2018《测评过程指南》,可在全国标准信息公共服务平台检索:http://openstd.samr.gov.cn/bzgk/gb/
  • 统信软件官方站点(UOS 产品与支持):https://www.uniontech.com/
  • Linux man-pages(man7.org,内核与 glibc 手册页):https://man7.org/linux/man-pages/
  • 《网络安全等级保护测评高风险判定指引》(中关村信息安全测评联盟团体标准)——高风险情形判定口径,站内对照表:22、高风险判定指引与加固对照表
  • 命令核验说明:统信 UOS 相关命令按 Debian 系工具链(aptufwapparmor-utils、PAM 模块)与 man7.org 手册页核验(核验日期 2026-09-02)。四处须留意:① 统信软件未提供长期稳定、可公开直链的完整安全配置手册,UOS 安全中心的策略项须以现场所用版本的客户端实测为准,本文不虚构官方文档链接;② UOS 服务器版 V20 基于 Debian,强制访问控制默认为 AppArmor 而非 SELinux,getenforce/sestatus 不存在属正常现象,应改用 aa-status(或 apparmor_status)取证,不得据命令缺失判不符合;③ 防火墙默认可能是 ufwnftablesfirewall-cmd 通常不存在,须改用 ufw status verbosenft list ruleset;④ 桌面专业版与服务器版在账户体系、审计能力上差异较大,判定前须先确认版本与部署形态(终端或服务器)。

关联文章