Solaris-三级现场测评命令单

Oracle Solaris 11.4 服务器三级等保现场测评取证命令单:uname -r 与 /etc/release 版本核查,/etc/hosts.equiv 信任关系排查,/etc/default/login(PASSREQ、RETRIES)、/etc/default/passwd、/etc/security/policy.conf 与 CRYPT_DEFAULT/CRYPT_ALGORITHMS_ALLOW 口令策略与加密算法核查,logins -p 账户核查,/etc/passwd、/etc/shadow 及关键文件权限核查,以及安全审计(audit_control)、访问控制、最小安装与时间同步、入侵防范、安全基线与完整性核查。

示例版本:Oracle Solaris 11.4

说明:Oracle 文档可直接支撑 uname -r 为 5.11、cat /etc/release 示例以及 svcs 的状态列格式。

定位:三级等保现场测评取证命令单,按功能小节组织核查命令、预期现象与判定要点。

系统版本核查

uname -r
  • 预期现象:Oracle 示例为 5.11。
    示例输出(节选)
    5.11
    
cat /etc/release
  • 预期现象:Oracle 示例可见 Oracle Solaris 11.4 SPARC 等版本标识。
    示例输出(节选)
                           Oracle Solaris 11.4 SPARC
      Copyright (c) 1983, 2022, Oracle and/or its affiliates.
                                 Assembled 14 March 2023
    
cat /etc/hosts.equiv
  • 预期现象:部分主机该文件可能不存在;如存在则应显示信任主机配置。

    示例输出(节选)
    cat: 该文件不存在(部分主机未部署此文件)
    

  • 对应控制点:GB/T 22239-2019 8.1.4.4 入侵防范 a)(最小安装与版本补丁基线);/etc/hosts.equiv 信任主机核查对应 8.1.4.2 访问控制 c)。

  • 判定要点:系统版本处于官方维护期、无多余信任主机为符合;版本已停服且无补偿措施、或存在启用的 r 信任关系为部分符合/不符合。

  • 取证要求:留存 uname -r、cat /etc/release、cat /etc/hosts.equiv 的输出截图或现场记录。

账户与口令策略核查

cat /etc/default/login | grep -i passreq
  • 预期现象:目标状态示例为 PASSREQ=YES。
    示例输出(节选)
    PASSREQ=YES
    
logins -p
  • 预期现象:应显示没有密码的账户;无空口令账户时通常无结果或结果为空。
    示例输出(节选)
    # 无匹配输出(无空口令账户时通常无结果)
    
cat /etc/default/passwd
  • 预期现象:应显示密码复杂度、新旧口令差异(MINDIFF)与口令历史(HISTORY)等要求。
    示例输出(节选)
    #ident  "@(#)default_passwd.dfl"
    MAXWEEKS=12
    MINWEEKS=1
    PASSLENGTH=8
    MINDIFF=3
    MINDIGIT=2
    MINUPPER=1
    MINLOWER=1
    MINSPECIAL=0
    HISTORY=5
    
grep -E '^(CRYPT_DEFAULT|CRYPT_ALGORITHMS_ALLOW)' /etc/security/policy.conf
  • 预期现象:应显示口令加密算法配置,CRYPT_DEFAULT 建议为 5(crypt_sha256)或 6(crypt_sha512)。注:/etc/default/security 为 HP-UX/AIX 的文件,Solaris 对应参数在 /etc/security/policy.conf。
    示例输出(节选)
    CRYPT_DEFAULT=6
    
cat /etc/security/policy.conf
  • 预期现象:应显示登录失败处理参数,如 LOCK_AFTER_RETRIES。注:Oracle Solaris 11.4 中该文件已标记为过时,生效策略由 SMF 服务 svc:/system/security/account-policy:default 接管,旧字段仍可作现场佐证。
    示例输出(节选)
    # policy.conf(节选)
    LOCK_AFTER_RETRIES=YES
    CRYPT_DEFAULT=6
    
cat /etc/default/login | grep -i retries
  • 预期现象:应显示重试次数配置。
    示例输出(节选)
    RETRIES=5
    
cat /etc/profile
  • 预期现象:应显示 TMOUT 等登录超时参数。
    示例输出(节选)
    TMOUT=600 ; export TMOUT
    
cat /etc/passwd
  • 预期现象:应列出本地账户。
    示例输出(节选)
    root:x:0:0:Super-User:/:/usr/bin/bash
    daemon:x:1:1::/:/sbin/noshell
    bin:x:2:2::/usr/bin:/sbin/noshell
    appadm:x:1001:10::/export/home/appadm:/usr/bin/bash
    
cat /etc/shadow
  • 预期现象:应列出口令散列和状态。
    示例输出(节选)
    root:$5$rounds=10000$xxxxxxxx$H4sIAPxxxx...:19602::::::
    daemon:NP:6445::::::
    appadm:$5$rounds=10000$yyyyyyyy$Q2xhVxxxx...:19580:7:84:7:::
    
ls -l /etc/passwd
  • 预期现象:应显示关键文件权限。
    示例输出(节选)
    -rw-r--r--   1 root     sys       1029 Mar 14  2023 /etc/passwd
    
ls -l /etc/group
  • 预期现象:应显示关键文件权限。
    示例输出(节选)
    -rw-r--r--   1 root     sys        398 Mar 14  2023 /etc/group
    
ls -l /etc/shadow
  • 预期现象:应显示关键文件权限。
    示例输出(节选)
    -rw-------   1 root     sys        512 Mar 14  2023 /etc/shadow
    

  • 对应控制点:GB/T 22239-2019 8.1.4.1 身份鉴别 a) b)(口令复杂度与定期更换、登录失败处理);8.1.4.2 访问控制 a) c)(账户权限分配、及时删除或停用多余/过期账户)。
  • 判定要点:口令策略满足复杂度与更换周期要求、logins -p 无空口令账户、RETRIES 与 LOCK_AFTER_RETRIES 生效为符合;存在空口令账户或可登录的共享/默认账户为不符合(高风险)。
  • 取证要求:留存 /etc/default/login、/etc/default/passwd、/etc/security/policy.conf、logins -p、/etc/passwd、/etc/shadow(可脱敏)及关键文件权限的输出记录。

远程接入与服务核查

cat /etc/ssh/sshd_config
  • 预期现象:应显示 SSH 服务端配置,可核查认证与算法参数。
    示例输出(节选)
    # sshd_config(节选)
    PermitRootLogin no
    MaxAuthTries 4
    LoginGraceTime 60
    Subsystem       sftp    /usr/lib/ssh/sftp-server
    
ssh -Q cipher
  • 预期现象:安装 OpenSSH 客户端时应列出支持的对称加密算法。
    示例输出(节选)
    aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-ctr,...
    
ssh -Q mac
  • 预期现象:安装 OpenSSH 客户端时应列出支持的 MAC 算法。
    示例输出(节选)
    hmac-sha2-256,hmac-sha2-512,hmac-sha1,hmac-sha2-256-etm@openssh.com
    
ssh -Q kex
  • 预期现象:安装 OpenSSH 客户端时应列出支持的密钥交换算法。
    示例输出(节选)
    curve25519-sha256,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512
    
ssh -Q key
  • 预期现象:安装 OpenSSH 客户端时应列出支持的主机密钥/公钥算法。
    示例输出(节选)
    ecdsa-sha2-nistp256,ssh-ed25519,rsa-sha2-512,rsa-sha2-256
    
ssh -V
  • 预期现象:应输出 OpenSSH 版本号。
    示例输出(节选)
    OpenSSH_8.4, OpenSSL 1.1.1q  5 Jul 2022
    
svcs telnet
  • 预期现象:输出通常包含 STATE、STIME、FMRI 列,状态列常见 online、disabled、maintenance。
    示例输出(节选)
    STATE          STIME    FMRI
    disabled       Mar_14   svc:/network/telnet:default
    
svcs ssh
  • 预期现象:输出通常包含 STATE、STIME、FMRI 列。
    示例输出(节选)
    STATE          STIME    FMRI
    online         Mar_14   svc:/network/ssh:default
    
svcs -a
  • 预期现象:Oracle 示例关键状态包括 legacy_run、disabled、online。
    示例输出(节选)
    online          Mar_14 svc:/network/ssh:default
    disabled        Mar_14 svc:/network/telnet:default
    legacy_run      Mar_14 lrc:/etc/rc2_d/S70uucp
    ...
    
inetadm | grep -E 'telnet|ftp'
  • 预期现象:inetd 托管服务应列出 ENABLED/RUNTIME 状态,telnet、ftp 对应项应为 disabled。
    示例输出(节选)
    ENABLED   RUNTIME   FMRI
    disabled  disabled  svc:/network/telnet:default
    disabled  disabled  svc:/network/ftp:default
    
netstat -na | grep -i listen
  • 预期现象:应显示当前监听端口。
    示例输出(节选)
    *.22                 *.*                0      0 65535 LISTEN
    *.111                *.*                0      0 65535 LISTEN
    192.168.10.5.443     *.*                0      0 65535 LISTEN
    
cat /etc/ftpd/ftpusers
  • 预期现象:应显示禁止访问 FTP 的用户列表。
    示例输出(节选)
    root
    daemon
    bin
    sys
    ...
    

  • 对应控制点:GB/T 22239-2019 8.1.4.1 身份鉴别 c)(远程管理采取防鉴别信息窃听措施);8.1.4.4 入侵防范 b)(关闭非必要服务、默认共享和高危端口)。
  • 判定要点:仅保留 SSH 且 PermitRootLogin no、telnet/ftp 为 disabled、加密算法无 3DES/CBC 类弱算法为符合;存在明文协议在线或 SSH 允许 root 口令直登为不符合(高风险)。
  • 取证要求:留存 svcs -a、inetadm、netstat -na、/etc/ssh/sshd_config、ssh -Q cipher/mac/kex 与 ssh -V 的输出记录。

安全审计核查

auditconfig -getcond
  • 预期现象:审计服务正常运行时输出 audit condition = auditing。
    示例输出(节选)
    audit condition = auditing
    
auditconfig -getflags
  • 预期现象:应显示当前生效的用户级审计预选类,flags 值随配置而异(格式为 (成功,失败) 掩码)。
    示例输出(节选)
    configured user default audit flags = sstore(0x200031000,0x200031000)
    active user default audit flags = sstore(0x200031000,0x200031000)
    
svcs | grep auditd
  • 预期现象:启用审计服务时应显示 auditd 服务项。
    示例输出(节选)
    online         Mar_14   svc:/system/auditd:default
    
cat /etc/default/login | grep -i syslog
  • 预期现象:目标状态示例为 SYSLOG=YES。
    示例输出(节选)
    SYSLOG=YES
    
cat /etc/syslog.conf
  • 预期现象:应显示日志配置和远程转发设置。
    示例输出(节选)
    auth.notice           @logsvr.example.internal
    *.err;kern.debug;daemon.notice;mail.crit        /var/adm/messages
    
ls -l /var/adm/messages
  • 预期现象:应显示日志文件权限;原始文档给出建议值 600。
    示例输出(节选)
    -rw-------   2 root     sys      286720 Aug 21 09:32 /var/adm/messages
    
ls -l /var/adm/wtmpx
  • 预期现象:应显示日志文件权限;原始文档给出建议值 644。
    示例输出(节选)
    -rw-r--r--   1 adm      adm    10485760 Aug 21 18:00 /var/adm/wtmpx
    
ls -l /var/adm/utmpx
  • 预期现象:应显示日志文件权限;原始文档给出建议值 644。
    示例输出(节选)
    -rw-r--r--   1 adm      bin      96304 Aug 21 18:00 /var/adm/utmpx
    

  • 对应控制点:GB/T 22239-2019 8.1.4.3 安全审计 a) b) c) d)(审计覆盖每个用户、记录事件要素、记录保护与定期备份、审计进程保护)。
  • 判定要点:auditd online 且 auditconfig -getcond 为 auditing、审计类覆盖 lo/ad、syslog 外发集中日志服务器为符合;审计未启用或日志无保护无备份为部分符合/不符合(高风险)。
  • 取证要求:留存 auditconfig -getcond/-getflags、svcs auditd、/etc/syslog.conf、日志文件权限及外发目的端配置的输出记录。

访问控制核查

cat /etc/default/login | grep -i console
  • 预期现象:应显示 root 本地终端登录控制参数。
    示例输出(节选)
    CONSOLE=/dev/console
    
cat /etc/hosts.allow
  • 预期现象:应显示允许地址限制规则;未配置时可能为空。注:TCP Wrappers 仅对链接 libwrap 的服务生效,SSH 等源地址限制可结合 AllowUsers/DenyUsers 与防火墙策略取证。
    示例输出(节选)
    sshd: 192.168.10., 203.0.113.20
    
cat /etc/hosts.deny
  • 预期现象:应显示拒绝地址限制规则;未配置时可能为空。
    示例输出(节选)
    ALL: ALL
    
cat /etc/security/audit_control
  • 预期现象:应显示审计控制配置(dir/flags/minfree/naflags)。注:Solaris 11.4 生效审计配置以 auditconfig/SMF 为准,该文件为兼容旧版的配置来源,两者应对照核查。
    示例输出(节选)
    ## audit_control(节选)
    dir:/var/audit
    flags:lo,ad,ex
    minfree:20
    naflags:lo
    
cat /etc/security/audit_class
  • 预期现象:应显示审计类别定义。
    示例输出(节选)
    fr:no-class,fm:no-class,cl:no-class,pc:process creation,ap:application
    ...
    
cat /etc/security/audit_event
  • 预期现象:应显示审计事件定义。
    示例输出(节选)
    AUE_ACCT:acct:ad:as:na
    AUE_LOGIN:login:ss:ss:ss
    AUE_SU:su:ss:as:ss
    ...
    
cat /etc/security/audit_user
  • 预期现象:应显示审计用户配置。

    示例输出(节选)
    admin:lo,ad
    

  • 对应控制点:GB/T 22239-2019 8.1.4.2 访问控制 a) b) d)(账户与权限分配、默认账户口令管理、最小权限与授权);本节 /etc/security/audit_control、audit_user 等文件项同时支撑 8.1.4.3 安全审计 b)。

  • 判定要点:CONSOLE 限制 root 远程直登、审计预选类覆盖登录/账户管理事件、访问限制规则与业务需要一致为符合;root 可任意远程登录或管理员未纳入审计覆盖为部分符合/不符合。

  • 取证要求:留存 /etc/default/login(CONSOLE/RETRIES)、/etc/hosts.allow、/etc/hosts.deny、/etc/security/audit_control、audit_class、audit_event、audit_user 的输出记录。

最小安装与时间同步核查

pkg info
  • 预期现象:应显示已安装软件包信息;输出通常较长。
    示例输出(节选)
    NAME (PUBLISHER)                   VERSION                    DATE
    compress/bzip2                     1.0.8-11.4.0.0.1.117.3     ...
    network/ssh                        8.4.0-11.4.42.0.0.118.0    ...
    ...
    
crontab -l
  • 预期现象:应显示当前用户计划任务;无任务时可能为空或提示无计划任务。
    示例输出(节选)
    crontab: can't open your crontab file.
    
svcs ntp
  • 预期现象:启用 NTP 服务时应显示对应服务状态;未启用时可能为 disabled 或无结果。

    示例输出(节选)
    STATE          STIME    FMRI
    online         Mar_14   svc:/network/ntp:default
    

  • 对应控制点:GB/T 22239-2019 8.1.4.4 入侵防范 a)(最小安装,仅安装需要的组件和应用程序);时间同步核查支撑 8.1.4.3 安全审计 b)(审计记录时间准确一致)及 8.1.5 安全管理中心(集中审计/集中监测的前提)。

  • 判定要点:无多余软件包、计划任务与授权清单一致、NTP 在线且指向统一时钟源为符合;存在来源不明的计划任务或时钟不同步为部分符合/不符合。

  • 取证要求:留存 pkg info、crontab -l(含 root 等关键账户)、svcs ntp 及 /etc/inet/ntp.conf 的输出记录。

入侵防范核查

grep -E '^(PermitRootLogin|LoginGraceTime|MaxAuthTries|AllowUsers|DenyUsers|AllowGroups|DenyGroups)' /etc/ssh/sshd_config
  • 预期现象:应能看到 SSH 暴力破解防护与访问控制相关参数。
    示例输出(节选)
    PermitRootLogin no
    LoginGraceTime 60
    MaxAuthTries 4
    
sshd -T | egrep 'permitrootlogin|logingracetime|maxauthtries|allowusers|denyusers|allowgroups|denygroups'
  • 预期现象:应输出 SSH 服务端当前生效的对应参数值。

    示例输出(节选)
    permitrootlogin no
    logingracetime 60
    maxauthtries 4
    

  • 对应控制点:GB/T 22239-2019 8.1.4.1 身份鉴别 b)(登录失败处理);8.1.4.4 入侵防范 a) b)(最小安装、关闭高危端口与多余服务)。

  • 判定要点:sshd -T 实际生效值与配置文件一致、PermitRootLogin no、MaxAuthTries 不大于 5 且有失败处理为符合;配置与生效值不一致或未限制重试为部分符合。

  • 取证要求:留存 grep 过滤的 sshd_config 与 sshd -T 生效值的对照记录。

安全基线与完整性核查

cat /etc/motd
  • 预期现象:应显示登录后提示或告警内容(如已配置)。
    示例输出(节选)
    ******************************************************************
    *  本系统仅供授权人员使用,操作将被审计并记录。                  *
    ******************************************************************
    
pkg verify
  • 预期现象:被篡改、缺失或属性异常的文件会逐项输出 ERROR(如 hash mismatch);无异常时通常无输出且返回码为 0。

    示例输出(无异常)
    # 无异常时 pkg verify 无输出(返回码 0)
    

  • 对应控制点:GB/T 22239-2019 8.1.4.4 入侵防范 c)(发现已知漏洞并及时修补、软件完整性核查);登录告警横幅同时佐证安全告知与安全管理制度(8.1.6)的落实。

  • 判定要点:pkg verify 无完整性异常、告警横幅已配置为符合;关键文件校验失败且无补丁/变更记录为部分符合/不符合。

  • 取证要求:留存 pkg verify 输出(含执行时间与返回码)、/etc/motd 内容及补丁基线记录。

参考依据

关联文章