news 2026/8/22 11:51:02

等保测评命令——Oracle Linux

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
等保测评命令——Oracle Linux

依据GB/T 22239-2019《信息安全技术 网络安全等级保护基本要求》等保2.0三级标准,针对Oracle Linux操作系统及Oracle数据库给出可直接落地的测评命令清单。

覆盖身份鉴别、访问控制、安全审计、入侵防范、恶意代码防范等核心控制点,已在Oracle Linux 7/8/9Oracle 11g/12c/19c环境验证通过。


一、身份鉴别(8.1.4.1)

1.1 账户唯一性与密码复杂度

测评命令

功能说明

达标判据

awk -F: '$2==""{print $1}' /etc/shadow

检查空口令账户

无输出

awk -F: '{print $3}' /etc/passwd | sort | uniq -d

核查UID唯一性

无重复UID

grep -E 'PASS_MAX_DAYS|PASS_MIN_DAYS|PASS_WARN_AGE' /etc/login.defs

密码有效期

≤90天,≥7天预警

grep -E 'pam_pwquality|pam_cracklib' /etc/pam.d/system-auth

密码复杂度

minlen=8,minclass=4

Oracle Linux特有配置:

# 查看Oracle Linux默认密码策略 cat /etc/pam.d/system-auth |grep-E"pam_pwquality|pam_cracklib" # 合规配置示例 password requisite pam_pwquality.so try_first_pass local_users_only retry=3minlen=8minclass=4dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1

1.2 登录失败处理与会话超时

测评命令

功能说明

达标判据

grep pam_faillock /etc/pam.d/system-auth

登录失败锁定

deny=5,unlock_time=300

grep TMOUT /etc/profile

会话超时

TMOUT=600(秒)

grep -E 'ClientAliveInterval|ClientAliveCountMax' /etc/ssh/sshd_config

SSH超时

300秒无操作断开


1.3 远程管理安全

# 确认SSH服务运行 systemctl status sshd # 检查SSH安全配置 grep-E'PermitRootLogin|Protocol' /etc/ssh/sshd_config # 合规要求:PermitRootLogin no、Protocol 2 # 确认未开放Telnet ss -tuln|grep':23'

高风险项:使用Telnet或允许root远程登录,直接判定不符合三级要求。


1.4 双因子认证(高风险项)

测评方法:

  • 访谈确认:是否采用"口令+数字证书/Ukey"组合

  • 技术核查

# 检查SSH公钥认证配置 grep"PubkeyAuthentication yes" /etc/ssh/sshd_config # 检查PAM模块是否集成双因子 cat /etc/pam.d/sshd |grep-E"pam_pkcs11|pam_google_authenticator" # Oracle Linux特有:检查Oracle Advanced Security选项 cat$ORACLE_HOME/network/admin/sqlnet.ora |grep-i"authentication"

二、访问控制(8.1.4.2)

2.1 默认账户清理

测评命令

功能说明

达标判据

grep -E 'adm|lp|sync|shutdown|halt|mail|news|uucp|operator|games|gopher' /etc/shadow

确认默认账户禁用

已锁定(!!*)或删除

stat -c '%a %n' /etc/passwd /etc/shadow

关键文件权限

644/000

awk -F: '$3==0 && $1!="root"{print $1}' /etc/passwd

检查UID=0的非root账户

无输出


2.2 权限最小化

# 检查sudo授权 grep-v'^#' /etc/sudoers |grep-v'^$'|head-10 # 检查Oracle用户权限(如存在Oracle数据库) groups oracle id oracle

2.3 强制访问控制(SELinux)

Oracle Linux 默认启用SELinux(与RHEL相同):

# 检查SELinux状态 cat /etc/selinux/config |grep SELINUX # 合规要求:SELINUX=enforcing # 查看当前模式 getenforce # 查看文件安全上下文 ls-Z /etc/passwd /etc/shadow # 查看进程安全上下文 ps-eZ|grep sshd # 检查是否有进程处于unconfined_t(应最小化) ps-eZ|grep unconfined_t |wc-l

三、安全审计(8.1.4.3)

3.1 审计服务启用

测评命令

功能说明

达标判据

systemctl is-active auditd && systemctl is-enabled auditd

审计服务状态

active & enabled

auditctl -l | wc -l

审计规则数量

≥30条

aureport -i | head -20

审计事件摘要

包含登录、权限变更、文件操作

stat -c '%a %U:%G' /var/log/audit/audit.log

日志权限

600 root:root


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.conf systemctl restart rsyslog # 查看日志加密传输(TLS) grep-E'DefaultNetstreamDriverCAFile\|ActionSendStreamDriverMode' /etc/rsyslog.conf

3.3 审计进程保护(高风险项)

测试方法:

# 使用非审计管理员账户执行,应失败 sudo-u testuser systemctl stop auditd # 预期结果:Failed to stop auditd.service: Operation not permitted # 检查auditd是否受保护 cat /etc/systemd/system/auditd.service |grep-i"protect\|refuse"

四、入侵防范(8.1.4.4)

4.1 最小化安装与服务管控

测评命令

功能说明

达标判据

yum list installed | grep -E 'telnet|rsh|rlogin|ypbind'

检查非必要组件

未安装

rpm -qa --last | head -10

最近补丁

≤30天

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|0.0.0.0:32768'

高危端口检查

无监听

firewall-cmd --list-rich-rules

防火墙规则

限制管理终端IP

cat /etc/hosts.deny

TCP Wrappers

包含ALL:ALL

Oracle Linux防火墙配置:

# 查看默认防火墙(firewalld) sudo firewall-cmd --state sudo firewall-cmd --list-all # 合规配置示例 sudo firewall-cmd --set-default-zone=drop sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="10.1.1.0/24" service name="ssh" accept' sudo firewall-cmd --reload

4.3 漏洞与入侵检测

# 检查Oracle Linux补丁更新(使用yum或dnf) yum check-update dnf check-update # Oracle Linux 8+ # 查看已安装的安全更新 rpm-qa--last|grep-i"security" # 检查主机入侵检测工具 rpm-qa|grep-E"ossec|aide|tripwire" # 使用Oracle Ksplice(零停机补丁) uptrack-show uptrack-upgrade

五、恶意代码防范(8.1.4.5)

测评命令

功能说明

达标判据

systemctl is-active clamd && systemctl is-enabled clamd

ClamAV状态

active & enabled

freshclam --version

病毒库版本

24小时内更新

ps -ef | grep clamd

实时扫描进程

常驻内存

Oracle Linux特有:

# 检查Oracle预装安全工具 rpm-qa|grep-E"oracle-validated|preinstall" # 使用Oracle Linux Security Advisory yum --security update

⚠️高风险项:未部署实时防病毒工具,直接判定不符合三级要求。


六、Oracle数据库专项检查

6.1 身份鉴别与密码策略

-- 检查数据库密码策略 SELECT profile, resource_name,limit FROM DBA_PROFILES WHERE profile='DEFAULT'AND resource_name LIKE'PASSWORD%'; -- 达标判据: -- FAILED_LOGIN_ATTEMPTS ≤ 5 -- PASSWORD_LIFE_TIME ≤ 90 -- PASSWORD_VERIFY_FUNCTION ≠ NULL -- PASSWORD_REUSE_TIME ≥ 365

6.2 操作系统认证禁用

# 检查sqlnet.ora配置 cat$ORACLE_HOME/network/admin/sqlnet.ora # 合规配置 SQLNET.AUTHENTICATION_SERVICES=(NONE) # 或 SQLNET.AUTHENTICATION_SERVICES=(TCPS)

6.3 审计与远程加密

-- 检查审计配置 SHOW PARAMETER AUDIT_TRAIL; -- 合规值:DB、DB,EXTENDED、XML、OS SHOW PARAMETER AUDIT_SYS_OPERATIONS; -- 合规值:TRUE
# 检查网络加密配置 cat$ORACLE_HOME/network/admin/sqlnet.ora |grep-i"encryption" # 合规配置 SQLNET.ENCRYPTION_SERVER=REQUIRED SQLNET.ENCRYPTION_TYPES_SERVER=(AES256,AES192,AES128) SQLNET.CRYPTO_CHECKSUM_SERVER=REQUIRED

6.4 数据库访问控制

-- 检查默认账户状态 SELECT username, account_status FROM dba_users WHERE username IN('SCOTT','OUTLN','ORDSYS','MDSYS','DBSNMP'); -- 合规状态:EXPIRED & LOCKED 或已删除 -- 检查SYSDBA权限分配 SELECT grantee, granted_role FROM dba_role_privs WHERE granted_role='SYSDBA'AND grantee NOTIN('SYS'); -- 应无返回行

一键巡检脚本(Bash)

#!/bin/bash # Oracle Linux 等保三级一键巡检脚本 # 适用:Oracle Linux 7/8/9 # 执行用户:root echo"===== 1 身份鉴别 =====" echo"--- 空口令检查 ---" awk -F: '$2==""{print "空口令用户: "$1}' /etc/shadow echo"--- 密码有效期 ---" grep-E'PASS_MAX_DAYS|PASS_MIN_DAYS|PASS_WARN_AGE' /etc/login.defs echo"--- 密码复杂度 ---" grep-E'pam_pwquality|pam_cracklib' /etc/pam.d/system-auth |head-5 echo"--- 登录失败锁定 ---" grep pam_faillock /etc/pam.d/system-auth echo"--- SSH配置 ---" grep-E'PermitRootLogin|Protocol|ClientAlive' /etc/ssh/sshd_config |head-5 echo"" echo"===== 2 访问控制 =====" echo"--- 默认账户状态 ---" grep-E'adm|lp|sync|shutdown|halt|mail|news|uucp|operator|games|gopher' /etc/shadow |head-5 echo"--- 关键文件权限 ---" stat-c'%a %n' /etc/passwd /etc/shadow 2>/dev/null echo"--- SELinux状态 ---" getenforce cat /etc/selinux/config |grep SELINUX |head-2 echo"" echo"===== 3 安全审计 =====" echo"--- auditd状态 ---" systemctl is-active auditd && systemctl is-enabled auditd echo"--- 审计规则数量 ---" auditctl -l2>/dev/null |wc-l echo"--- 日志权限 ---" stat-c'%a %U:%G' /var/log/audit/audit.log 2>/dev/null echo"--- 远程日志配置 ---" grep-E'@\w+.*514' /etc/rsyslog.conf /etc/rsyslog.d/*.conf 2>/dev/null |head-3 echo"" echo"===== 4 入侵防范 =====" echo"--- 高危端口 ---" ss -tunlp|grep-E'0.0.0.0:23|0.0.0.0:111|0.0.0.0:513|0.0.0.0:32768' echo"--- 待更新包 ---" yum check-update 2>/dev/null |wc-l|| dnf check-update 2>/dev/null |wc-l echo"--- 防火墙状态 ---" firewall-cmd --state2>/dev/null ||echo"firewalld未运行" echo"--- Ksplice状态 ---" uptrack-show 2>/dev/null |head-5||echo"Ksplice未安装" echo"" echo"===== 5 恶意代码防范 =====" echo"--- ClamAV状态 ---" systemctl is-active clamd 2>/dev/null systemctl is-enabled clamd 2>/dev/null echo"--- 病毒库版本 ---" freshclam --version2>/dev/null ||echo"未安装freshclam" echo"" echo"===== 6 Oracle数据库检查(如存在) =====" # 检查Oracle环境 if[-n"$ORACLE_HOME"];then echo"--- Oracle版本 ---" sqlplus -v2>/dev/null |head-3 echo"--- 密码策略 ---" sqlplus -s / as sysdba <<EOF SET PAGES 0 LINES 200 SELECT resource_name, limit FROM dba_profiles WHERE profile='DEFAULT' AND resource_name LIKE 'PASSWORD%'; EXIT; EOF echo"--- 审计配置 ---" sqlplus -s / as sysdba <<EOF SET PAGES 0 LINES 200 SHOW PARAMETER AUDIT_TRAIL; SHOW PARAMETER AUDIT_SYS_OPERATIONS; EXIT; EOF else echo"未检测到Oracle环境变量" fi echo"" echo"===== 巡检完成 ====="

高风险项重点核查清单

检查项

验证命令

不合规判定

整改建议

空口令账户awk -F: '$2==""{print $1}' /etc/shadow

存在输出

立即设置强口令或锁定

密码复杂度未启用grep -E 'pam_pwquality|pam_cracklib' /etc/pam.d/system-auth

无输出

配置pam_pwquality模块

无登录失败锁定grep pam_faillock /etc/pam.d/system-auth

无输出

配置pam_faillock策略

root远程登录grep ^PermitRootLogin /etc/ssh/sshd_config

值为yes

修改为no

SELinux未启用getenforce

返回DisabledPermissive

修改配置文件为enforcing

审计未启用systemctl is-active auditd

active

安装并启用auditd

审计进程无保护sudo -u testuser systemctl stop auditd

执行成功

配置权限限制

无杀毒软件systemctl is-active clamd

active

安装ClamAV

Oracle SYS默认口令sqlplus sys/change_on_install as sysdba

登录成功

修改默认口令

Oracle OS认证未禁用cat $ORACLE_HOME/network/admin/sqlnet.ora

无SQLNET.AUTHENTICATION_SERVICES配置

添加(NONE)或(TCPS)


Oracle Linux版本差异说明(7 vs 8 vs 9)

功能项

Oracle Linux 7

Oracle Linux 8

Oracle Linux 9

包管理

yum

dnf(yum兼容)

dnf

默认内核

UEK R5

UEK R6

UEK R7

Ksplice

支持

支持

支持+增强

SELinux

基础

增强

增强+用户空间

国密支持

需手动

基础

完整

容器工具

Docker

Podman

Podman+Kubernetes

等保合规

需加固

预优化

预优化+安全启动


测评执行要点

1. 权限要求

  • 操作系统命令需root权限

  • Oracle数据库命令需SYSDBA权限

2. 现场核查重点

  • Ksplice补丁:检查是否使用Oracle零停机补丁技术

  • UEK内核:确认使用Oracle Unbreakable Enterprise Kernel

  • Oracle预安装包:检查oracle-validatedoracle-database-preinstall是否安装

  • 数据库OS认证:确认sqlnet.ora中已禁用操作系统认证

3. 与RHEL/CentOS对比

对比项

RHEL

CentOS

Oracle Linux

源代码

商业

RHEL重新编译

RHEL兼容

支持周期

10年

已停止

10年+

内核优化

通用

通用

数据库优化(UEK)

零停机补丁

需订阅

不支持

Ksplice免费

等保合规

官方指南

需自行加固

预优化+官方指南

成本

订阅制

免费

免费(含Ksplice)


常用命令速查

# 用户与权限 cat /etc/passwd # 查看所有用户 cat /etc/shadow # 查看密码状态 lastlog # 查看最后登录 faillock --user username # 查看登录失败记录(OL8+) # 网络与安全 ss -tunlp# 查看监听端口 firewall-cmd --list-all # 查看防火墙规则 getsebool -a|grep httpd # 查看SELinux布尔值 # 系统与日志 uname-r# 内核版本(检查UEK) cat /etc/oracle-release # Oracle Linux版本 uptrack-show # 查看Ksplice补丁 ausearch -ts today -k identity_changes # 搜索今日审计日志 # Oracle数据库 sqlplus / as sysdba # 登录数据库 SELECT * FROM v$version;# 查看数据库版本 SELECT log_mode FROM v$database;# 查看归档模式 # 备份与恢复 tar czf /backup/etc-$(date +%F).tar.gz /etc # 备份/etc rsync-avz /backup/ remote:/backup/ # 异地同步

参考标准:GB/T 22239-2019、GB/T 28448-2019、Oracle Linux安全指南
适用版本:Oracle Linux 7/8/9(含UEK内核)
验证环境:x86_64 / ARM64 架构


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 11:49:57

ResNet网络学习

从VGGNet后&#xff0c;CNN结构就从“卷积层&#xff0b;池化层”范式进化为了“卷积块&#xff0b;池化层”范式。 卷积块就是由1层或多层卷积层组成。 这个概念现在基本成为共识。注意&#xff0c;VGGNet提出后&#xff0c;后面网络对卷积层进行了各种“折腾”、“整活”和“…

作者头像 李华
网站建设 2026/8/22 11:49:30

TensorFlow学习笔记:猫狗识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 一、基础设置与导入数据 import matplotlib.pyplot as plt import numpy as np import os import PIL import tensorflow as tf from tensorflow import ker…

作者头像 李华
网站建设 2026/8/22 11:48:05

稀土抑烟剂: 让PVC燃烧“静默”的秘密

你或许不曾留意&#xff0c;生活中处处可见的PVC材料&#xff0c;正悄然完成一场安全升级。从建筑工地的防护膜、农业温室大棚&#xff0c;到电子产品包装&#xff0c;这种轻便耐用的塑料无处不在。但鲜为人知的是&#xff0c;传统PVC有一个致命短板——遇火即燃&#xff0c;且…

作者头像 李华
网站建设 2026/8/22 11:49:02

从零开始学网络安全:指纹识别的5种实用方法及工具推荐

从零到一&#xff1a;网络安全中的指纹识别实战指南 刚接触网络安全&#xff0c;你可能听过“指纹识别”这个词&#xff0c;但总觉得它有点神秘&#xff0c;像是电影里特工用的技术。其实&#xff0c;在数字世界里&#xff0c;指纹识别是安全工程师和渗透测试人员最基础、最核心…

作者头像 李华
网站建设 2026/7/14 16:39:10

小白也能玩转CVPR模型:MogFace人脸检测工具部署实录

小白也能玩转CVPR模型&#xff1a;MogFace人脸检测工具部署实录 1. 引言 你有没有想过&#xff0c;自己也能轻松用上那些在顶级学术会议上发表的最新AI模型&#xff1f;今天&#xff0c;我要带你体验的&#xff0c;就是一个来自CVPR 2022的“明星”模型——MogFace&#xff0…

作者头像 李华
网站建设 2026/7/14 16:39:08

RK3588 Ubuntu系统下ARM平台交叉编译环境搭建指南

1. 为什么要在RK3588上折腾交叉编译&#xff1f; 如果你手头有一块RK3588的开发板&#xff0c;比如Firefly的ITX-3588J或者Rockchip官方的ROC-RK3588S-PC&#xff0c;并且已经刷好了Ubuntu系统&#xff0c;那你可能会遇到一个很实际的问题&#xff1a;我想在板子上跑我自己写的…

作者头像 李华