各位大佬,想看那种网络设备/操作系统/数据库/中间件的测评命令清单,可在留言区留言!
依据 GB/T 22239-2019《信息安全技术 网络安全等级保护基本要求》等保2.0三级 标准,针对 HP-UX 11i v3 (11.31) / 11i v2 (11.23) 给出可直接落地的测评命令清单。
版本说明:HP-UX 11i v3为当前主流版本,11i v2仍有一定存量硬件平台:PA-RISC和Itanium (IA-64)
一、身份鉴别(8.1.4.1)
1.1 账户与密码策略
| 测评项 | HP-UX命令 | 达标判据 |
|---|---|---|
| 查看用户账户 | cat /etc/passwd / getent passwd | 无默认账户,UID唯一 |
| 检查密码策略 | cat /etc/default/security | 启用复杂度,定期更换 |
| 查看密码过期 | passwd -s username | ≤90天 |
| 检查空口令 | logins -p / pwck | 无输出 |
| 查看系统用户 | logins -x | 系统账户已锁定 |
详细命令:
# 1. 查看所有用户账户
cat /etc/passwd
getent passwd
# 2. 检查空口令账户(关键命令)
logins -p
# 输出应为空,如有输出则为空口令用户
# 3. 查看无效/过期账户
logins -d# 查看密码过期账户
logins -x# 查看过期账户详情
# 4. 查看系统用户状态(检查是否锁定)
logins -o
# 或查看特定用户
logins -v root
# 5. 查看密码策略核心配置文件
cat /etc/default/security
# 关键参数:
# MIN_PASSWORD_LENGTH=8 # 最小长度8位
# MIN_UPPERCASE_CHARS=1 # 最少大写1个
# MIN_LOWERCASE_CHARS=1 # 最少小写1个
# MIN_DIGIT_CHARS=1 # 最少数字1个
# MIN_SPECIAL_CHARS=1 # 最少特殊字符1个
# PASSWORD_HISTORY_DEPTH=10 # 历史密码10个
# PASSWORD_MAXDAYS=90 # 最大使用天数90天
# PASSWORD_MINDAYS=1 # 最小使用天数1天
# PASSWORD_WARNDAYS=7 # 警告天数7天
# MAX_FAILED_LOGINS=5 # 最大失败登录5次
# LOCKOUT_TIME=900 # 锁定时间900秒(15分钟)
# 6. 查看密码哈希算法(HP-UX使用专用算法)
cat /etc/default/security |grep CRYPT
# 或
grep CRYPT /etc/default/security
# 期望:CRYPT_DEFAULT=6(SHA-512,HP-UX 11i v3)
# 7. 检查密码字典检查(如果安装)
cat /etc/default/security |grep DICTIONARY
# 或查看cracklib配置
ls /usr/lib/cracklib/
# 8. 查看PAM配置(Pluggable Authentication Modules)
cat /etc/pam.conf
# 或HP-UX 11i v3的PAM目录
ls /etc/pam.d/
cat /etc/pam.d/login
cat /etc/pam.d/passwd
cat /etc/pam.d/su
# 9. 查看特定用户密码状态
passwd-s root
passwd-s username
# 输出格式:username PS 01/15/24 0 90 7 30
# PS=密码已设置,0=最小天数,90=最大天数,7=警告天数,30=不活动天数
# 10. 检查密码文件完整性
pwck
# 检查/etc/passwd和/etc/shadow一致性
grpck
# 检查/etc/group一致性
1.2 登录失败处理与会话超时
| 测评项 | HP-UX命令 | 达标判据 |
|---|---|---|
| 查看登录失败记录 | lastb / utmps | 记录完整 |
| 检查账户锁定 | cat /etc/default/security | MAX_FAILED_LOGINS=5 |
| 查看会话超时 | cat /etc/profile / echo $TMOUT | ≤10分钟 |
| 检查SSH超时 | cat /opt/ssh/etc/sshd_config | ClientAliveInterval 300 |
# 11. 查看登录失败记录
lastb
# 或查看详细记录
last -R# 显示远程主机
# 12. 查看当前登录用户
who
w
# 或详细查看
whodo
# 13. 查看用户登录历史(使用HP-UX特有工具)
logins -l username # 查看用户最后登录
# 14. 检查账户锁定策略
cat /etc/default/security |grep-E"MAX_FAILED_LOGINS|LOCKOUT_TIME"
# 期望:
# MAX_FAILED_LOGINS=5
# LOCKOUT_TIME=900
# 15. 查看系统级超时配置
cat /etc/profile |grep-itimeout
cat /etc/profile |grep TMOUT
# 期望:export TMOUT=600
# 16. 查看SSH会话超时(HP-UX使用/opt/ssh或/etc/ssh)
cat /opt/ssh/etc/sshd_config 2>/dev/null ||cat /etc/ssh/sshd_config 2>/dev/null |grep-E"ClientAlive|TCPKeepAlive"
# 期望:
# ClientAliveInterval 300
# ClientAliveCountMax 0
# TCPKeepAlive no
# 17. 查看SSH登录失败处理
cat /opt/ssh/etc/sshd_config 2>/dev/null |grep-E"MaxAuthTries|PermitRootLogin"
# 期望:
# MaxAuthTries 3
# PermitRootLogin no
# 18. 查看控制台安全设置
cat /etc/securetty # 允许root登录的终端
# 或查看
cat /etc/default/login |grep-E"CONSOLE|TIMEOUT"
二、访问控制(8.1.4.2)
2.1 权限管理与RBAC(HP-UX特有)
HP-UX具有完整的 RBAC(Role-Based Access Control) 系统,称为 HP-UX RBAC 或 Fine-Grained Privileges。
| 测评项 | HP-UX命令 | 达标判据 |
|---|---|---|
| 查看RBAC配置 | getprivgrp / lspriv | 特权分离清晰 |
| 检查角色定义 | cat /etc/rbac/user_attr | 角色定义完整 |
| 查看授权 | authadm / lsauth | 授权细化 |
| 检查配置文件 | profadm / lsprof | 配置文件合理 |
# 19. 查看系统特权组(HP-UX特有)
getprivgrp
# 或
getprivgrp -v
# 20. 查看所有可用特权
lspriv
# 或详细查看
lspriv -v
# 21. 查看RBAC用户属性(如果启用)
cat /etc/rbac/user_attr 2>/dev/null
# 或使用
userattr -L# 列出所有属性
# 22. 查看特定用户授权
getuserattr username auths
getuserattr username roles
getuserattr username profiles
# 23. 查看角色定义
lsrole
# 或详细查看
lsrole -v admin
# 24. 查看配置文件定义
lsprof
lsprof -v System Administrator
# 25. 查看授权定义
lsauth
lsauth -v solaris.*
# 26. 检查执行属性(命令级授权)
cat /etc/rbac/exec_attr 2>/dev/null |head-20
# 27. 查看传统sudo配置(如使用)
cat /etc/sudoers
visudo -c# 检查语法
# 28. 查看用户组权限
cat /etc/group
getent group
# 检查:用户是否属于过多组,wheel组使用
2.2 文件系统权限与ACL
HP-UX支持 JFS(Journaled File System) 和 VxFS(Veritas File System),以及丰富的ACL。
# 29. 查看关键文件权限
ls-la /etc/passwd /etc/shadow /etc/group /etc/security/
# 期望:
# -rw-r--r-- 1 root sys /etc/passwd
# -r-------- 1 root sys /etc/shadow
# -rw-r--r-- 1 root sys /etc/group
# drwxr-xr-x 2 root sys /etc/security
# 30. 查看文件ACL(HP-UX ACL)
getacl /etc/passwd
# 或
lsacl /etc/passwd
# 31. 查看文件扩展属性(HP-UX特有)
getextattr /etc/passwd
# 32. 查看文件权限位(SUID/SGID/SVTX)
find / -type f \(-perm-4000-o-perm-2000-o-perm-1000\)-ls2>/dev/null
# 或使用HP-UX特有选项
find / -perm -u+s -o-perm -g+s -ls2>/dev/null
# 33. 查看世界可写文件(高风险)
find / -type f -perm-002-ls2>/dev/null
find / -type d -perm-002-ls2>/dev/null
# 34. 检查无主文件
find / -nouser-o-nogroup2>/dev/null
# 35. 查看文件系统挂载选项
cat /etc/fstab
# 或
mount-v
# 检查:nosuid、nodev、noexec等安全选项
# 36. 查看Veritas File System(VxFS)特性(如果使用)
df-F vxfs
# 检查:日志、快照、压缩、加密
三、安全审计(8.1.4.3)
3.1 HP-UX审计系统(AUDIT)
HP-UX使用 AUDIT 子系统进行安全审计,这是其企业级安全特性。
| 测评项 | HP-UX命令 | 达标判据 |
|---|---|---|
| 检查审计状态 | auditstat / audsys | 审计已启用 |
| 查看审计策略 | audusr / audfile | 覆盖关键事件 |
| 检查审计日志 | ls -la /var/adm/audit | 存在且权限正确 |
| 查看审计配置 | cat /etc/audit/audit.conf | 配置完整 |
# 37. 检查审计系统状态
auditstat
# 或
audsys -s# 查看状态
# 期望输出:auditing is ON
# 38. 查看审计系统详细状态
audsys -v
# 或
auditstat -v
# 39. 查看审计配置文件
cat /etc/audit/audit.conf
# 或
cat /etc/rc.config.d/auditing
# 关键配置:
# AUDITING=1 # 启用审计
# AUDIT_ARGS_MAX=20 # 最大参数个数
# AUDIT_EVENTS=OPEN,CLOSE,LOGIN,LOGOUT,CHMOD,CHOWN,CREAT,LINK,UNLINK,RENAME,KILL,SETUID,SETGID
# AUDIT_FILE=/var/adm/audit/audit.log
# AUDIT_FILE_MAXSIZE=10000000 # 最大文件大小10MB
# AUDIT_NUMFILES=5 # 保留5个历史文件
# 40. 查看审计用户掩码
audusr -v
# 或查看特定用户
audusr username
# 41. 查看审计事件掩码
audfile -v
# 或
cat /etc/audit/auditmask
# 42. 查看审计日志文件
ls-la /var/adm/audit/
# 检查:权限600,属主root,定期轮转
# 43. 查看当前审计日志大小
du-sh /var/adm/audit/
bdf /var/adm/audit/ # HP-UX特有bdf命令替代df
# 44. 查看审计记录(需要root)
audcat # 读取审计日志
# 或
audcat -l /var/adm/audit/audit.log |head-50
# 45. 查看审计报告
audpr # 格式化打印审计记录
# 或
audpr -i /var/adm/audit/audit.log |grep-E"LOGIN|LOGOUT|FAIL"
# 46. 查看审计选择掩码
audsel -v
# 47. 检查审计远程传输(如配置)
cat /etc/audit/audit.conf |grep REMOTE
# 或查看
ls /var/adm/audit/remote/
3.2 系统日志与Syslog
# 48. 查看系统日志配置
cat /etc/syslog.conf
# 49. 查看日志服务状态
ps-ef|grep syslog
# 或
cat /var/run/syslog.pid
# 50. 查看日志文件
ls-la /var/adm/
# 关键日志:
# /var/adm/syslog/syslog.log # 系统消息
# /var/adm/sulog # su命令日志
# /var/adm/wtmp # 登录历史(二进制)
# /var/adm/btmp # 失败登录(二进制)
# /var/adm/utmp # 当前登录
# /var/adm/lastlog # 最后登录
# 51. 查看系统消息
tail-100 /var/adm/syslog/syslog.log
# 或使用dmesg
dmesg|tail-50
# 52. 查看安全相关日志
tail-50 /var/adm/sulog
# 检查:su切换记录,失败尝试
# 53. 查看登录历史(二进制格式)
last |head-20
lastb |head-20# 失败登录
# 54. 查看FTP日志(如启用)
tail-50 /var/adm/syslog/ftpd.log
# 或
tail-50 /var/adm/wu-ftpd/wu-ftpd.log
# 55. 查看Cron日志
tail-50 /var/adm/cron/log
# 56. 查看审计守护进程日志
tail-50 /var/adm/audit/auditing.log
四、入侵防范(8.1.4.4)
4.1 系统安全状态
| 测评项 | HP-UX命令 | 达标判据 |
|---|---|---|
| 查看系统版本 | uname -a / swlist | 官方支持版本 |
| 检查补丁级别 | swlist -l patch / swlist -a state | 最新补丁 |
| 查看加固状态 | cat /etc/rc.config.d/* | 已加固 |
| 检查安全参数 | kctune / kcusage | 安全内核参数 |
# 57. 查看系统版本信息
uname-a
# 输出:HP-UX hostname B.11.31 U 9000/800 123456789 unlimited-user license
# 58. 查看详细系统信息
model
# 或
getconf MACHINE_MODEL
getconf KERNEL_BITS # 查看内核位数
# 59. 查看已安装软件包(HP-UX特有swlist)
swlist |head-20
# 或查看特定包
swlist -l product |grep-i security
swlist -l patch |grep-i security
# 60. 查看软件包状态(检查过期/不一致)
swlist -a state -l patch |grep-v"installed"
# 61. 查看系统安全加固配置
cat /etc/rc.config.d/netconf
cat /etc/rc.config.d/hpsec
cat /etc/rc.config.d/auditing
# 检查:IP_FORWARDING=0, SOURCE_ROUTING=0, STRONG_PASSWORD=1等
# 62. 查看内核可调参数(HP-UX特有kctune)
kctune |grep-i security
# 或查看特定参数
kctune ip_forwarding
kctune tcp_syn_rcvd_max
kctune ndd_tune_cmds
# 63. 查看网络内核参数(ndd方式)
ndd /dev/ip ip_forwarding
ndd /dev/ip ip_strict_dst_multihoming
ndd /dev/tcp tcp_syn_rcvd_max
ndd /dev/tcp tcp_conn_request_max
# 64. 查看系统资源限制(防DoS)
ulimit-a
# 或查看配置文件
cat /etc/security/limits.conf 2>/dev/null
# HP-UX使用/etc/default/security中的ULIMIT
# 65. 查看文件描述符限制
kctune maxfiles
kctune maxfiles_lim
kctune nfile
# 66. 查看进程限制
kctune maxuprc # 每用户最大进程数
kctune max_thread_proc # 每进程最大线程数
kctune nkthread # 系统最大线程数
# 67. 查看核心转储配置(安全考虑)
cat /etc/rc.config.d/coredumps
# 或
kctune enable_core_dumps
# 建议:禁用或限制核心转储
4.2 网络安全配置
# 68. 查看网络接口配置
ifconfig-a
# 或
lanscan # HP-UX特有,查看所有LAN接口
ifconfig lan0 # 查看特定接口
# 69. 查看网络接口状态(HP-UX特有)
netstat-in
# 或
linkloop -i lan0 # 测试链路
# 70. 查看路由表
netstat-rn
# 或
route -va
# 71. 查看监听端口
netstat-an|grep LISTEN
# 或
netstat-a-f inet
# 72. 查看防火墙状态(IPFilter或HP-UX特有)
# HP-UX 11i v3使用IPFilter或HP-UX防火墙
ipfstat -io2>/dev/null
# 或查看
cat /etc/opt/ipf/ipf.conf 2>/dev/null
# 73. 查看TCP Wrappers配置
cat /etc/hosts.allow
cat /etc/hosts.deny
# 期望:hosts.deny包含ALL: ALL
# 74. 查看inetd服务(传统服务管理)
cat /etc/inetd.conf
# 或查看启动脚本
ls /etc/inetd.d/
# 75. 查看Services文件
cat /etc/services |grep-v"^#"
# 76. 查看NFS共享(如使用)
showmount -e localhost
cat /etc/exports
# 检查:限制客户端,使用secure选项
# 77. 查看DNS配置
cat /etc/resolv.conf
cat /etc/nsswitch.conf |grep hosts
# 78. 查看LDAP/NIS配置(如使用)
cat /etc/nsswitch.conf
ypwhich # 如使用NIS
ldaplist # 如使用LDAP
五、恶意代码防范与完整性(8.1.4.5/8.1.4.6)
5.1 系统完整性检查
| 测评项 | HP-UX命令 | 达标判据 |
|---|---|---|
| 查看文件完整性 | swverify / md5sum | 无异常修改 |
| 检查关键文件 | sum / cksum | 哈希校验 |
| 查看软件包签名 | swlist -v | 签名验证 |
| 检查启动完整性 | mkboot / lvlnboot | 启动逻辑卷完整 |
# 79. 使用swverify验证软件包完整性
swverify -v /path/to/package.depot 2>/dev/null
# 或验证已安装软件
swverify -v product_name
# 80. 计算文件校验和(HP-UX特有sum/cksum)
sum /etc/passwd
cksum /etc/passwd
# 或使用md5sum(如安装)
md5sum /etc/passwd 2>/dev/null ||sum-r /etc/passwd
# 81. 查看软件包控制文件(验证文件列表)
swlist -lfile product_name |head-20
# 82. 查看系统启动配置(HP-UX特有LVM启动)
lvlnboot -v
# 检查:启动逻辑卷配置,镜像状态
# 83. 查看启动磁盘配置
mkboot -v-a"hpux /stand/vmunix" /dev/rdsk/c0t0d0
# 或查看
cat /stand/bootconf
# 84. 查看内核完整性
ls-la /stand/vmunix
file /stand/vmunix
# 检查:权限、大小、修改时间
# 85. 查看关键目录完整性
ls-la /sbin /usr/sbin /bin /usr/bin
# 检查:无异常文件,权限正确
# 86. 查看防病毒软件(如安装McAfee/ Symantec)
ps-ef|grep-i"mcafee\|symantec\|sophos\|trend"
# 或查看
swlist |grep-i virus
swlist |grep-i security
# 87. 查看入侵检测(IDS)配置
cat /etc/rc.config.d/ids 2>/dev/null
# 或查看
swlist |grep-i ids
六、数据备份与恢复(8.1.4.9)
6.1 LVM与VxVM备份
HP-UX使用 LVM(Logical Volume Manager) 或 VxVM(Veritas Volume Manager) 进行存储管理。
# 88. 查看逻辑卷配置(LVM)
vgdisplay -v vg00
# 或
vgdisplay -v|grep-E"VG Name|LV Name|PV Name"
# 89. 查看物理卷状态
pvdisplay
pvdisplay -v /dev/dsk/c0t0d0
# 90. 查看逻辑卷状态
lvdisplay
lvdisplay -v /dev/vg00/lvol1
# 91. 查看Veritas Volume Manager(如果使用)
vxprint -ht
# 或
vxdisk list
vxvol list
# 92. 查看文件系统配置
bdf # HP-UX特有,替代df
bdf -l# 本地文件系统
# 或传统
df-k
# 93. 查看文件系统快照(VxFS快照,如果使用)
mount-F vxfs |grep snapshot
# 或
fsadm -F vxfs /mountpoint
# 94. 查看备份配置(fbackup/ftio)
cat /etc/fbackupfiles
# 或
ls /var/adm/fbackupfiles/
# 95. 查看自动备份计划
crontab-l|grep-i backup
cat /var/spool/cron/crontabs/root |grep-i backup
# 96. 查看Ignite-UX备份(HP-UX特有系统备份工具)
swlist Ignite-UX
# 或查看配置
cat /var/opt/ignite/config.local
# 检查:make_tape_recovery, make_net_recovery配置
# 97. 查看Ignite备份历史
ls-la /var/opt/ignite/recovery/
七、服务管理与启动(8.1.4.4/8.1.4.9)
7.1 服务管理
HP-UX使用 SAM(System Administration Manager)、SMH(System Management Homepage) 或传统init脚本管理服务。
# 98. 查看所有服务状态(传统init)
ls /etc/rc*.d/
# 或
ls-la /sbin/rc*.d/
# 99. 查看当前运行级别
who-r
# 或
cat /etc/inittab |grep initdefault
# 100. 查看服务配置(SAM/SMH)
cat /etc/rc.config.d/*
# 关键文件:
# /etc/rc.config.d/netconf # 网络配置
# /etc/rc.config.d/hpsec # 安全配置
# /etc/rc.config.d/auditing # 审计配置
# /etc/rc.config.d/nfsconf # NFS配置
# 101. 查看inetd服务状态
lssrc -s inetd # 如使用SRC
# 或
ps-ef|grep inetd
# 102. 查看SMH(System Management Homepage)配置
cat /opt/hpsmh/conf/smhpd.conf 2>/dev/null
# 检查:端口、认证、SSL
# 103. 查看SAM配置
cat /etc/sam/sam.conf 2>/dev/null
# 104. 查看启动脚本完整性
ls-la /sbin/rc3.d/
ls-la /sbin/rc2.d/
# 检查:无异常脚本,权限正确
八、高可用与集群(8.1.4.9)
HP-UX常用 Serviceguard 或 Veritas Cluster Server (VCS) 实现高可用。
# 105. 查看Serviceguard集群状态(如果使用)
cmviewcl -v
# 或
cmviewcl -f line
# 106. 查看Serviceguard配置
cat /etc/cmcluster.conf
# 或
cmquerycl -v
# 107. 查看Veritas Cluster状态(如果使用)
hastatus -sum
# 或
hares -state
# 108. 查看集群节点状态
cmviewcl -n nodename
# 或
cmviewnode -v
# 109. 查看集群包(Package)状态
cmviewpkg -v
# 或
cmviewcl -p packagename
# 110. 查看集群网络配置
cmviewnet -v
# 检查:心跳网络、冗余配置
九、一键巡检脚本(HP-UX版)
#!/bin/sh
# HP-UX 等保三级一键巡检脚本
# 支持:HP-UX 11i v2/v3 (PA-RISC/Itanium)
# 执行权限:root
INSPECTION_LOG="/var/log/hpux_inspection_$(date +%Y%m%d_%H%M%S).log"
echo"=========================================="|tee-a$INSPECTION_LOG
echo" HP-UX 等保三级巡检报告"|tee-a$INSPECTION_LOG
echo" 时间: $(date)"|tee-a$INSPECTION_LOG
echo" 主机: $(uname-n)"|tee-a$INSPECTION_LOG
echo" 版本: $(uname-r)"|tee-a$INSPECTION_LOG
echo" 型号: $(model)"|tee-a$INSPECTION_LOG
echo"=========================================="|tee-a$INSPECTION_LOG
check_pass(){
echo"[PASS] $1"|tee-a$INSPECTION_LOG
[-n"$2"]&&echo" $2"|tee-a$INSPECTION_LOG
}
check_fail(){
echo"[FAIL] $1"|tee-a$INSPECTION_LOG
[-n"$2"]&&echo" $2"|tee-a$INSPECTION_LOG
}
check_warn(){
echo"[WARN] $1"|tee-a$INSPECTION_LOG
[-n"$2"]&&echo" $2"|tee-a$INSPECTION_LOG
}
# 1. 身份鉴别检查
echo""|tee-a$INSPECTION_LOG
echo"===== 1. 身份鉴别 ====="|tee-a$INSPECTION_LOG
echo"--- 空口令检查 ---"|tee-a$INSPECTION_LOG
empty_pass=$(logins -p2>/dev/null)
if[-z"$empty_pass"];then
check_pass "空口令检查""未发现空口令用户"
else
check_fail "空口令检查""发现空口令用户: $empty_pass"
fi
echo"--- 密码策略检查 ---"|tee-a$INSPECTION_LOG
if[-f /etc/default/security ];then
passlen=$(grep"^MIN_PASSWORD_LENGTH=" /etc/default/security 2>/dev/null |cut-d=-f2)
if["$passlen"-ge8]2>/dev/null;then
check_pass "密码最小长度""当前设置: $passlen"
else
check_fail "密码最小长度""当前设置: ${passlen:-未设置},建议≥8"
fi
maxdays=$(grep"^PASSWORD_MAXDAYS=" /etc/default/security 2>/dev/null |cut-d=-f2)
if["$maxdays"-le90]2>/dev/null;then
check_pass "密码最大使用期""当前设置: ${maxdays}天"
else
check_warn "密码最大使用期""当前设置: ${maxdays:-未设置}天,建议≤90"
fi
crypt=$(grep"^CRYPT_DEFAULT=" /etc/default/security 2>/dev/null |cut-d=-f2)
if["$crypt"="6"];then
check_pass "密码加密算法""使用SHA-512(6)"
else
check_warn "密码加密算法""当前: ${crypt:-未设置},建议SHA-512(6)"
fi
else
check_fail "密码策略文件""/etc/default/security不存在"
fi
echo"--- 账户锁定策略 ---"|tee-a$INSPECTION_LOG
max_fail=$(grep"^MAX_FAILED_LOGINS=" /etc/default/security 2>/dev/null |cut-d=-f2)
lock_time=$(grep"^LOCKOUT_TIME=" /etc/default/security 2>/dev/null |cut-d=-f2)
if["$max_fail"-le5]2>/dev/null;then
check_pass "账户锁定""失败${max_fail}次后锁定${lock_time}秒"
else
check_warn "账户锁定""设置: ${max_fail:-未设置}次失败,建议≤5"
fi
echo"--- SSH安全配置 ---"|tee-a$INSPECTION_LOG
ssh_conf="/opt/ssh/etc/sshd_config"
[-f /etc/ssh/sshd_config ]&&ssh_conf="/etc/ssh/sshd_config"
if[-f"$ssh_conf"];then
ssh_ver=$(grep"^Protocol" $ssh_conf 2>/dev/null |awk'{print $2}')
if["$ssh_ver"="2"];then
check_pass "SSH协议版本""强制使用SSHv2"
else
check_warn "SSH协议版本""未强制SSHv2,当前: ${ssh_ver:-未设置}"
fi
root_login=$(grep"^PermitRootLogin" $ssh_conf 2>/dev/null |awk'{print $2}')
if["$root_login"="no"];then
check_pass "Root远程登录""已禁止"
else
check_fail "Root远程登录""未禁止: ${root_login:-未设置}"
fi
else
check_fail "SSH配置""sshd_config不存在"
fi
# 2. 访问控制检查
echo""|tee-a$INSPECTION_LOG
echo"===== 2. 访问控制 ====="|tee-a$INSPECTION_LOG
echo"--- 关键文件权限 ---"|tee-a$INSPECTION_LOG
shadow_perm=$(ls-la /etc/shadow 2>/dev/null |awk'{print $1}')
if["$shadow_perm"="-r--------"];then
check_pass "Shadow文件权限""权限正确: $shadow_perm"
else
check_fail "Shadow文件权限""权限不合规: ${shadow_perm:-无法获取}"
fi
echo"--- RBAC配置 ---"|tee-a$INSPECTION_LOG
if[-f /etc/rbac/user_attr ];then
check_pass "RBAC配置""RBAC已启用"
else
check_warn "RBAC配置""未启用RBAC,建议启用"
fi
echo"--- SUID/SGID文件 ---"|tee-a$INSPECTION_LOG
suid_count=$(find / -type f \(-perm-4000-o-perm-2000\)2>/dev/null |wc-l)
if["$suid_count"-lt50];then
check_pass "SUID/SGID文件""发现 $suid_count 个"
else
check_warn "SUID/SGID文件""发现 $suid_count 个,建议审查"
fi
# 3. 安全审计检查
echo""|tee-a$INSPECTION_LOG
echo"===== 3. 安全审计 ====="|tee-a$INSPECTION_LOG
echo"--- 审计系统状态 ---"|tee-a$INSPECTION_LOG
audit_stat=$(auditstat 2>/dev/null |head-1)
ifecho"$audit_stat"|grep-q"auditing is ON";then
check_pass "AUDIT审计""审计已启用"
else
check_fail "AUDIT审计""审计未启用: ${audit_stat:-未配置}"
fi
echo"--- 审计日志检查 ---"|tee-a$INSPECTION_LOG
if[-d /var/adm/audit ];then
audit_size=$(du-sk /var/adm/audit 2>/dev/null |awk'{print $1}')
check_pass "审计日志目录""存在,大小: ${audit_size}KB"
else
check_fail "审计日志目录""/var/adm/audit不存在"
fi
echo"--- 系统日志配置 ---"|tee-a$INSPECTION_LOG
if[-f /var/adm/syslog/syslog.log ];then
check_pass "系统日志""syslog.log存在"
else
check_warn "系统日志""syslog.log不存在"
fi
# 4. 入侵防范检查
echo""|tee-a$INSPECTION_LOG
echo"===== 4. 入侵防范 ====="|tee-a$INSPECTION_LOG
echo"--- 系统版本与补丁 ---"|tee-a$INSPECTION_LOG
hpux_ver=$(uname-r)
check_pass "系统版本""$hpux_ver"
echo"--- 软件包状态 ---"|tee-a$INSPECTION_LOG
bad_patches=$(swlist -a state -l patch 2>/dev/null |grep-v"installed"|wc-l)
if["$bad_patches"-eq0];then
check_pass "软件包状态""所有补丁已正确安装"
else
check_warn "软件包状态""$bad_patches 个补丁状态异常"
fi
echo"--- 内核安全参数 ---"|tee-a$INSPECTION_LOG
ip_forward=$(kctune ip_forwarding 2>/dev/null |tail-1|awk'{print $2}')
if["$ip_forward"="0"];then
check_pass "IP转发""已禁用"
else
check_fail "IP转发""已启用,建议禁用"
fi
# 5. 数据安全与备份
echo""|tee-a$INSPECTION_LOG
echo"===== 5. 数据安全与备份 ====="|tee-a$INSPECTION_LOG
echo"--- 逻辑卷配置 ---"|tee-a$INSPECTION_LOG
vg_count=$(vgdisplay 2>/dev/null |grep"VG Name"|wc-l)
if["$vg_count"-gt0];then
check_pass "LVM配置""发现 $vg_count 个卷组"
else
check_warn "LVM配置""未找到卷组配置"
fi
echo"--- Ignite-UX备份 ---"|tee-a$INSPECTION_LOG
if swlist Ignite-UX >/dev/null 2>&1;then
check_pass "Ignite-UX""已安装系统备份工具"
else
check_warn "Ignite-UX""未安装,建议部署"
fi
# 6. 高可用检查
echo""|tee-a$INSPECTION_LOG
echo"===== 6. 高可用与冗余 ====="|tee-a$INSPECTION_LOG
echo"--- Serviceguard集群 ---"|tee-a$INSPECTION_LOG
ifcommand-v cmviewcl >/dev/null 2>&1;then
cluster_stat=$(cmviewcl -f line 2>/dev/null |head-1)
check_pass "Serviceguard""集群工具已安装: $cluster_stat"
else
check_warn "Serviceguard""未安装集群软件"
fi
# 总结
echo""|tee-a$INSPECTION_LOG
echo"=========================================="|tee-a$INSPECTION_LOG
echo" 巡检完成"|tee-a$INSPECTION_LOG
echo" 日志保存: $INSPECTION_LOG"|tee-a$INSPECTION_LOG
echo"=========================================="|tee-a$INSPECTION_LOG
echo""|tee-a$INSPECTION_LOG
echo"统计结果:"|tee-a$INSPECTION_LOG
grep-c"\[PASS\]"$INSPECTION_LOG|xargsecho"通过项:"|tee-a$INSPECTION_LOG
grep-c"\[FAIL\]"$INSPECTION_LOG|xargsecho"失败项:"|tee-a$INSPECTION_LOG
grep-c"\[WARN\]"$INSPECTION_LOG|xargsecho"警告项:"|tee-a$INSPECTION_LOG
高风险项重点核查清单
| 检查项 | 验证命令 | 不合规判定 | 整改建议 |
|---|---|---|---|
| 存在空口令用户 | logins -p | 有输出 | passwd username 设置密码 |
| 密码策略未启用 | cat /etc/default/security | MIN_PASSWORD_LENGTH未设置或<8 | 设置MIN_PASSWORD_LENGTH=8 |
| 未启用账户锁定 | grep MAX_FAILED_LOGINS /etc/default/security | 未设置或>5 | 设置MAX_FAILED_LOGINS=5 |
| 使用弱加密算法 | grep CRYPT_DEFAULT /etc/default/security | 非6(SHA-512) | 设置CRYPT_DEFAULT=6 |
| SSH允许root登录 | grep PermitRootLogin /opt/ssh/etc/sshd_config | 为yes | 设置为no |
| IP转发未禁用 | kctune ip_forwarding | 返回1 | kctune ip_forwarding=0 |
| AUDIT审计未启用 | auditstat | 非auditing is ON | audsys -n 启用审计 |
| 无审计日志目录 | ls /var/adm/audit | 不存在 | 创建目录并配置审计 |
| SUID文件过多 | find / -perm -4000 | wc -l | >50个 | 审查并移除不必要SUID |
| Ignite-UX未安装 | swlist Ignite-UX | 未找到 | 安装系统备份工具 |
| 关键补丁缺失 | swlist -a state -l patch | 存在corrupted/obsolete | 重新安装或更新补丁 |
| RBAC未启用 | ls /etc/rbac/user_attr | 不存在 | 启用RBAC进行权限分离 |
HP-UX 11i v2 vs v3 差异说明
| 功能项 | HP-UX 11i v2 (11.23) | HP-UX 11i v3 (11.31) |
|---|---|---|
| 硬件支持 | PA-RISC/Itanium | PA-RISC/Itanium(最后PA版本) |
| 内核特性 | 基础 | 增强(包括容器/分区) |
| RBAC | 基础 | 增强(Fine-Grained Privileges) |
| 审计 | AUDIT | AUDIT增强 |
| 安全补丁 | 有限支持 | 持续支持(需合同) |
| 等保适配 | 需大量手动加固 | 预置安全模板 |
| 虚拟化 | vPar/nPar | vPar/nPar/Integrity VM/Containers |
| 包管理 | swinstall/swlist | 相同,但增强依赖检查 |
与Solaris/AIX/Linux对比
| 对比项 | HP-UX 11i v3 | Oracle Solaris 11 | IBM AIX 7.2 | RHEL 8 |
|---|---|---|---|---|
| 内核 | HP-UX | SunOS 5.11 | AIX 7.2 | Linux 4.18 |
| 硬件 | PA-RISC/Itanium | SPARC/x86-64 | POWER | x86-64/ARM |
| 包管理 | swinstall | IPS | installp | RPM/DNF |
| 服务管理 | init/SAM/SMH | SMF | SRC/systemd | systemd |
| 文件系统 | JFS/VxFS | ZFS | JFS2 | XFS/ext4 |
| RBAC | 完整 | 完整 | 完整 | sudo/PolicyKit |
| 审计 | AUDIT | BSM | audit | auditd |
| 高可用 | Serviceguard | Cluster Suite | PowerHA | Pacemaker |
| 行业应用 | 金融、电信、制造 | 电信、金融 | 金融、电力 | 全行业 |
| 等保工具 | 需定制 | 需定制 | 有安全基线 | 有加固脚本 |
常用命令速查
# 系统信息
uname-a# 系统版本
model # 硬件型号
getconf MACHINE_MODEL # 机器型号
getconf KERNEL_BITS # 内核位数
hostname# 主机名
# 用户管理
useradd-m username # 添加用户
passwd username # 修改密码
usermod-G group username # 修改组
logins -p# 检查空口令
logins -d# 检查过期密码
pwck # 检查密码文件
grpck # 检查组文件
# 权限管理
chown user:file # 修改属主
chmod644file# 修改权限
getacl file# 查看ACL
setacl file# 设置ACL
lspriv # 查看特权
getprivgrp # 查看特权组
# 审计管理
auditstat # 审计状态
audsys -s# 查看状态
audsys -n# 启用审计
audsys -f# 禁用审计
audcat # 读取审计日志
audpr # 格式化审计记录
audusr -v# 查看用户掩码
# 软件包管理
swlist # 列出软件包
swlist -l product # 列出产品
swlist -l patch # 列出补丁
swinstall # 安装软件
swremove # 移除软件
swverify # 验证软件
# 存储管理
vgdisplay # 显示卷组
lvdisplay # 显示逻辑卷
pvdisplay # 显示物理卷
bdf # 磁盘使用(替代df)
mount# 挂载文件系统
fsck# 文件系统检查
# 网络管理
ifconfig-a# 接口配置
lanscan # 扫描LAN接口
netstat-rn# 路由表
netstat-an# 网络状态
ping# 测试连通
nslookup# DNS查询
# 集群管理(Serviceguard)
cmviewcl -v# 查看集群
cmviewcl -f line # 简要格式
cmviewnode -v# 查看节点
cmviewpkg -v# 查看包
cmruncl # 启动集群
cmhaltcl # 停止集群
# 备份管理
fbackup -f device -i path # 文件备份
make_tape_recovery # 制作磁带恢复
make_net_recovery # 制作网络恢复
copyutil # 复制工具
参考标准:GB/T 22239-2019、GB/T 28448-2019、HP-UX Security Configuration Guide、CIS HP-UX Benchmarks
适用版本:HP-UX 11i v2 (11.23)、HP-UX 11i v3 (11.31)
硬件平台:PA-RISC(最后支持版本)、Itanium (IA-64)
执行权限:多数命令需root或等效特权,部分查看命令普通用户可执行
声明:来自汪汪虚拟空间,仅代表创作者观点。链接:https://eyangzhen.com/7454.html