通用-服务发现与软件排查命令单
跨平台中间件与服务发现通用命令单(三级等保现场测评取证):dpkg -l 与 rpm -qa 按 nginx/apache/tomcat/redis-server/mongod/postgresql/mysql/mariadb/memcached/rabbitmq-server 关键字排查已安装软件(覆盖 Debian/Ubuntu/UOS 与 RPM/RHEL/CentOS/openEuler 两类发行版),systemctl list-units –type=service –state=running 与 service –status-all 服务状态发现,ps -ef 运行进程发现,netstat -tulnp、ss -tulpn 与 lsof -i 端口发现,find /etc 与 ls /var/log 配置与日志目录发现,并给出 java -jar、WebLogic、nginx master process 等进程识别提示。
Categories:
3 分钟阅读
定位:三级等保现场测评取证命令单,按功能小节组织核查命令、预期现象与判定要点。
Debian / Ubuntu / UOS 中间件发现
- 对应控制点:GB/T 22239-2019 8.1.4.4 入侵防范 a)(遵循最小安装原则,仅安装需要的组件和应用程序)。
- 判定要点:仅安装业务必需组件、无来历不明软件包判"符合";存在用途不明或确认多余的组件判"部分符合/不符合";未部署相关组件判"不适用"。
- 取证要求:留存 dpkg -l 过滤结果截图与软件包清单,对可疑包记录包名、版本、安装时间及用途说明。
dpkg -l | grep -iE 'nginx|apache|tomcat|redis-server|mongod|postgresql|mysql|mariadb|memcached|mongodb-server|rabbitmq-server'
- 预期现象:安装对应组件时应输出软件包名、版本、架构等信息。
示例输出(节选)
ii nginx 1.18.0-6ubuntu14.4 amd64 small, powerful, scalable web/proxy server
ii redis-server 5:6.0.16-1ubuntu1.2 amd64 persistent key-value database with network interface
ii mysql-server-core-8.0 8.0.33-0ubuntu0.22.04.2 amd64 MySQL database core server files
RPM / RHEL / CentOS / openEuler 中间件发现
- 对应控制点:GB/T 22239-2019 8.1.4.4 入侵防范 a)(最小安装,仅安装需要的组件和应用程序)。
- 判定要点:仅安装业务必需组件、无来历不明软件包判"符合";存在用途不明或确认多余的组件判"部分符合/不符合";未部署相关组件判"不适用"。
- 取证要求:留存 rpm -qa 过滤结果截图与软件包清单,对可疑包记录包名、版本、安装时间及用途说明。
rpm -qa | grep -iE 'nginx|apache|tomcat|redis-server|mongod|postgresql|mysql|mariadb|memcached|mongodb-server|rabbitmq-server'
- 预期现象:安装对应组件时应输出软件包名和版本。
示例输出(节选)
nginx-1.20.1-10.el8.x86_64
redis-6.2.7-1.el8.x86_64
postgresql-server-13.11-1.module_el8.x86_64
服务状态发现
- 对应控制点:GB/T 22239-2019 8.1.4.4 入侵防范 b)(关闭不需要的系统服务)。
- 判定要点:运行中服务均有明确业务用途或运维必需判"符合";存在无人认领、业务无关的自启/运行服务判"部分符合/不符合"。
- 取证要求:留存服务列表截图,记录服务名、运行状态与自启状态,对多余服务给出关闭建议。
- 注意:systemd 系发行版(RHEL/CentOS 7+、Debian 8+、Ubuntu 16.04+ 等)用 systemctl;RHEL/CentOS 6 等 SysV 旧系统用 service、chkconfig –list。
systemctl list-units --type=service --state=running
- 预期现象:systemd 系统应列出当前加载且处于 running 状态的 service 单元。
示例输出(节选)
UNIT LOAD ACTIVE SUB DESCRIPTION
nginx.service loaded active running A high performance web server and reverse proxy
redis-server.service loaded active running Advanced key-value store
postgresql.service loaded active running PostgreSQL RDBMS
service --status-all
- 预期现象:按字母序列出已知 SysV 服务并以 [+](运行)/ [-](停止)/ [?](无 status 子命令)标注;systemd 系统上该命令仅覆盖 SysV 兼容脚本(同名 systemd 单元优先),完整清单以 systemctl 为准。
示例输出(节选)
[ + ] nginx
[ + ] redis-server
[ - ] postgresql
[ ? ] hwclock.sh
运行进程发现
- 对应控制点:GB/T 22239-2019 8.1.4.4 入侵防范 b)(关闭不需要的系统服务)。
- 判定要点:运行的进程均与业务或运维相关且责任明确判"符合";存在来历不明、长期无人认领的进程判"部分符合/不符合"。
- 取证要求:留存 ps -ef 输出截图(含 PID、启动用户、启动时间、完整命令行),可疑进程进一步核对其二进制路径。
ps -ef | grep -iE 'nginx|apache|tomcat|redis-server|mongod|postgresql|mysql|mariadb|memcached|mongodb-server|rabbitmq-server|weblogic' | grep -v grep
- 预期现象:运行对应中间件时应显示相关进程(末尾 grep -v grep 用于排除 grep 自身进程行)。
示例输出(节选)
root 1123 1 0 Aug20 ? 00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data 1124 1123 0 Aug20 ? 00:00:02 nginx: worker process
redis 1456 1 0 Aug20 ? 00:01:10 /usr/bin/redis-server 127.0.0.1:6379
postgres 1789 1 0 Aug20 ? 00:00:05 /usr/lib/postgresql/13/bin/postgres -D /var/lib/postgresql/13/main
ps -ef | grep -iE 'nginx|apache|tomcat|java|redis|rabbitmq|kafka' | grep -v grep
- 预期现象:运行相关组件时应显示对应进程。
示例输出(节选)
tomcat 2044 1 1 Aug20 ? 00:03:22 /usr/bin/java -Dcatalina.home=/opt/tomcat ... org.apache.catalina.startup.Bootstrap start
rabbitmq 2301 1 0 Aug20 ? 00:01:45 /usr/lib/erlang/erts-12.3.2/bin/beam.smp -K true ... -root /usr/lib/rabbitmq
kafka 2567 1 2 Aug20 ? 00:08:31 java -Xmx1G -jar kafka_2.13-3.4.0/libs/kafka.jar ...
端口发现
- 对应控制点:GB/T 22239-2019 8.1.4.4 入侵防范 b)(关闭不需要的系统服务和高危端口)。
- 判定要点:监听端口均有对应业务/服务且经运维确认判"符合";存在不明监听端口,或 23、445、3389 等高危端口对业务网暴露判"部分符合/不符合"。
- 取证要求:留存 ss/netstat/lsof 输出截图,记录端口号、协议、进程名与 PID;对不明端口追踪二进制路径并拍照留证。
netstat -tulnp
- 预期现象:应显示监听端口、本地地址、PID/程序名等信息(-p 显示 PID/程序名需 root 权限,非特权用户下该列为 “-")。
示例输出(节选)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1123/nginx
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 1456/redis-server
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 2044/java
ss -tulpn
- 预期现象:新版本 Linux 中应显示监听端口和进程信息(-p 需 root 权限)。
示例输出(节选)
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
tcp LISTEN 0 128 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=1124,fd=6))
tcp LISTEN 0 4096 127.0.0.1:6379 0.0.0.0:* users:(("redis-server",pid=1456,fd=7))
tcp LISTEN 0 100 0.0.0.0:8080 0.0.0.0:* users:(("java",pid=2044,fd=48))
lsof -i :8080
- 预期现象:8080 被占用时应显示 COMMAND、PID、USER 等字段。
示例输出(节选)
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 2044 tomcat 48u IPv4 0xa1b2 0t0 TCP *:http-alt (LISTEN)
配置与日志目录发现
- 对应控制点:GB/T 22239-2019 8.1.4.4 入侵防范(定位组件配置,辅证最小安装);8.1.4.3 安全审计(定位审计/运行日志文件)。
- 判定要点:能定位组件配置与日志文件且日志按 8.1.4.3 要求留存判"符合”;配置或日志缺失、无法定位判"部分符合/不符合"。
- 取证要求:留存配置目录与日志目录清单截图,记录关键日志文件路径,供安全审计条款后续核查取证。
find /etc -maxdepth 2 | grep -E 'nginx|redis|tomcat|apache'
- 预期现象:存在对应配置目录时应输出目录路径。
示例输出(节选)
/etc/nginx
/etc/nginx/nginx.conf
/etc/nginx/conf.d
/etc/redis
/etc/redis/redis.conf
/etc/httpd
ls /var/log | grep -E 'nginx|apache|redis'
- 预期现象:存在对应日志目录或日志文件时应输出名称。
示例输出(节选)
nginx
redis
进程识别提示
- 对应控制点:GB/T 22239-2019 8.1.4.4 入侵防范(进程甄别,辅证 8.1.4.4 a) 最小安装)。
- 判定要点:能据进程特征准确识别中间件类型并核实部署来源判"符合";存在无法识别或伪装成常见中间件名的进程判"部分符合/不符合"。
- 取证要求:留存特征进程命令行截图,记录中间件名称、版本与部署路径,与版本复核结果相互印证。
识别 java -jar、org.apache.catalina.startup.Bootstrap
- 预期现象:常作为 Tomcat 启动特征。
示例输出(节选)
tomcat 2044 1 1 Aug20 ? 00:03:22 java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties ... org.apache.catalina.startup.Bootstrap start
识别 java weblogic.Server
- 预期现象:常作为 WebLogic 启动特征。
示例输出(节选)
weblogic 3102 1 3 Aug20 ? 00:12:07 /usr/bin/java -server -Xms512m -Xmx1024m weblogic.Server
识别 nginx: master process
- 预期现象:常作为 Nginx 主进程特征。
示例输出(节选)
root 1123 1 0 Aug20 ? 00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
识别 beam.smp
- 预期现象:原始文档指出其可对应 Erlang 环境下的 RabbitMQ。
示例输出(节选)
rabbitmq 2301 1 0 Aug20 ? 00:01:45 /usr/lib/erlang/erts-12.3.2/bin/beam.smp -K true -P 1048576 -- -root /usr/lib/erlang -progname erl ...
参考依据
- GB/T 22239-2019《信息安全技术 网络安全等级保护基本要求》8.1.4 安全计算环境(全国标准信息公共服务平台,现行有效)
- GB/T 28448-2019《信息安全技术 网络安全等级保护测评要求》(全国标准信息公共服务平台,现行有效)
- dpkg(1):-l / –list 列出软件包
- rpm(8):-q -a 查询全部已安装包
- ps(1):-e -f 标准语法全进程列表
- ss(8):-t -u -l -p -n 选项
- netstat(8):-t -u -l -n -p 选项
- systemctl(1):list-units / –type / –state
- service(8):–status-all
- lsof(8):-i :port 筛选监听端口
- 《网络安全等级保护测评高风险判定指引》(T/ISEAA 001—2020,中关村信息安全测评联盟团体标准)
命令核验说明:本文命令已于 2026-09 对照上述官方文档核验,现场以实际系统版本为准。
关联文章
- 配套加固:03、Linux安装软件的几种方法
- 取证记录:16、安全评估加固记录表3.0
- 高风险口径:22、高风险判定指引与加固对照表