1. 首页 > GoldenGate教程 > 正文

GoldenGate教程FG062-OGG安全加固与数据加密传输实战

本文档风哥主要介绍Oracle GoldenGate安全加固与数据加密传输实战方法,包括安全架构概念、安全威胁分析、凭证存储配置、数据传输加密、安全审计等内容,风哥教程参考GoldenGate官方文档安全管理、加密配置等内容,适合需要进行OGG安全加固的运维人员参考。

Part01-基础概念与理论知识

1.1 OGG安全架构概念

OGG安全架构是指在数据同步过程中,保护数据的机密性、完整性和可用性的安全措施体系。在当前网络安全形势下,数据安全已成为企业的重要关注点。更多视频教程www.fgedu.net.cn

OGG安全架构核心要素:

  • 身份认证:验证用户和进程身份
  • 访问控制:控制对资源的访问权限
  • 数据加密:保护数据传输和存储安全
  • 审计日志:记录安全相关操作
  • 安全配置:加固系统安全设置
# OGG安全架构层次

# 第一层:网络安全
– 网络隔离
– 防火墙配置
– VPN加密通道
– 访问控制列表

# 第二层:主机安全
– 操作系统加固
– 用户权限管理
– 文件权限控制
– 安全补丁更新

# 第三层:OGG安全
– 凭证存储加密
– 数据传输加密
– 进程权限控制
– 审计日志记录

# 第四层:数据库安全
– 数据库用户权限
– 数据加密存储
– 数据库审计
– 数据脱敏

# OGG安全组件
| 组件 | 功能 | 安全级别 |
|——————|————————|———–|
| Credential Store | 存储加密凭证 | 高 |
| Wallet | 存储密钥和证书 | 高 |
| ENCRYPTKEY | 数据加密密钥 | 高 |
| Trail加密 | Trail文件加密 | 中 |
| 网络加密 | 传输数据加密 | 高 |
| 审计日志 | 操作审计记录 | 中 |

# 安全威胁模型
CIA三元组:
– Confidentiality(机密性):数据不被未授权访问
– Integrity(完整性):数据不被未授权修改
– Availability(可用性):数据和服务可用

# 常见安全威胁
| 威胁类型 | 描述 | 影响 |
|—————–|————————|——————|
| 数据泄露 | 敏感数据被未授权访问 | 机密性受损 |
| 数据篡改 | 数据被未授权修改 | 完整性受损 |
| 拒绝服务 | 服务不可用 | 可用性受损 |
| 权限提升 | 获取未授权权限 | 全面安全风险 |
| 中间人攻击 | 数据传输被截获 | 机密性完整性受损 |

1.2 安全威胁与风险分析

了解安全威胁是制定安全策略的基础:

# OGG安全威胁分析

# 威胁1:凭证泄露
风险点:
– 参数文件中的明文密码
– 数据库连接字符串
– 操作系统用户密码

影响:
– 数据库被未授权访问
– 数据泄露或篡改
– 系统被入侵

防护措施:
– 使用Credential Store
– 使用Wallet存储密钥
– 定期更换密码

# 威胁2:数据传输截获
风险点:
– 网络传输中的Trail文件
– 数据库连接数据
– 管理端口通信

影响:
– 敏感数据泄露
– 数据被篡改
– 合规风险

防护措施:
– 启用传输加密
– 使用SSL/TLS
– 配置网络隔离

# 威胁3:Trail文件泄露
风险点:
– Trail文件存储
– Trail文件备份
– Trail文件传输

影响:
– 数据泄露
– 数据被篡改

防护措施:
– Trail文件加密
– 文件权限控制
– 安全存储介质

# 威胁4:未授权访问
风险点:
– OGG管理端口
– GGSCI命令行
– 数据库连接

影响:
– 配置被篡改
– 数据被泄露
– 服务被中断

防护措施:
– 访问控制列表
– 用户权限管理
– 审计日志记录

# 风险评估矩阵
| 风险项 | 可能性 | 影响程度 | 风险等级 | 优先级 |
|—————-|———|———–|———–|———|
| 凭证泄露 | 中 | 高 | 高 | P1 |
| 数据传输截获 | 低 | 高 | 中 | P2 |
| Trail文件泄露 | 低 | 中 | 中 | P2 |
| 未授权访问 | 中 | 中 | 中 | P2 |
| 服务拒绝 | 低 | 中 | 低 | P3 |

1.3 OGG安全组件介绍

OGG提供多种安全组件来保护数据安全:

# 组件1:Credential Store
功能:
– 安全存储数据库凭证
– 加密存储用户名密码
– 支持别名引用

配置方式:
# 创建Credential Store
GGSCI> ADD CREDENTIALS

# 添加凭证
GGSCI> ALTER CREDENTIALS ADD USER fgedu, PASSWORD password, ALIAS fgedu_alias

# 使用凭证
GGSCI> DBLOGIN USERIDALIAS fgedu_alias

优点:
– 凭证加密存储
– 参数文件无需明文密码
– 支持权限控制

# 组件2:Oracle Wallet
功能:
– 存储PKI证书
– 存储加密密钥
– 支持SSL/TLS

配置方式:
# 创建Wallet
$ mkstore -wrl /GoldenGate/app/wallet -create

# 添加凭证
$ mkstore -wrl /GoldenGate/app/wallet -createEntry oracle.fgedu.credentials fgedu/password

# 配置OGG使用Wallet
GGSCI> SET ENCRYPTION ON, KEYNAME mykey, ALGORITHM AES256

优点:
– 符合Oracle安全标准
– 支持多种加密算法
– 密钥管理方便

# 组件3:数据加密
功能:
– Trail文件加密
– 网络传输加密
– 数据库连接加密

配置方式:
# 生成加密密钥
GGSCI> ENCRYPT PASSWORD password ALGORITHM AES256 ENCRYPTKEY mykey

# 配置Trail加密
EXTRACT E_FGEDU01
ENCRYPTTRAIL AES256 KEYNAME mykey
EXTTRAIL /GoldenGate/app/dirdat/ea

优点:
– 数据全程加密
– 多种加密算法
– 符合合规要求

# 组件4:访问控制
功能:
– 控制GGSCI访问
– 控制Manager端口访问
– 控制进程操作权限

配置方式:
# Manager访问控制
GGSCI> EDIT PARAMS MGR

ACCESSRULE, PROG *, USER ogg, ALLOW
ACCESSRULE, PROG *, IPADDR 192.168.1.*, ALLOW
ACCESSRULE, PROG *, DENY

优点:
– 细粒度访问控制
– 支持IP和用户限制
– 增强安全性

# 加密算法对比
| 算法 | 密钥长度 | 安全级别 | 性能 | 推荐场景 |
|———-|———–|———–|——–|—————|
| AES128 | 128位 | 高 | 快 | 一般数据加密 |
| AES192 | 192位 | 很高 | 中 | 敏感数据加密 |
| AES256 | 256位 | 最高 | 慢 | 高敏感数据 |
| 3DES | 168位 | 中 | 慢 | 兼容旧系统 |

风哥提示:安全加固是一个系统工程,需要从网络、主机、应用、数据等多个层面综合考虑,建立纵深防御体系。学习交流加群风哥微信: itpux-com

Part02-生产环境规划与建议

2.1 安全加固规划

制定详细的安全加固规划是保障OGG安全的基础:

安全加固规划要点:

  • 识别敏感数据和关键资产
  • 评估安全风险和威胁
  • 制定安全策略和标准
  • 实施安全控制措施
  • 建立安全监控和响应机制
# 安全加固范围

# 1. 网络安全
| 加固项 | 措施 | 优先级 |
|—————-|————————|———|
| 网络隔离 | 部署防火墙,划分安全域 | P1 |
| 端口控制 | 限制OGG端口访问 | P1 |
| 传输加密 | 启用SSL/TLS加密 | P1 |
| 访问控制 | 配置IP白名单 | P2 |

# 2. 主机安全
| 加固项 | 措施 | 优先级 |
|—————-|————————|———|
| 用户管理 | 使用专用OGG用户 | P1 |
| 权限控制 | 最小权限原则 | P1 |
| 文件权限 | 限制OGG目录访问 | P1 |
| 安全补丁 | 及时更新安全补丁 | P2 |

# 3. OGG安全
| 加固项 | 措施 | 优先级 |
|—————-|————————|———|
| 凭证管理 | 使用Credential Store | P1 |
| 数据加密 | 启用Trail加密 | P1 |
| 传输加密 | 启用网络加密 | P1 |
| 审计日志 | 启用操作审计 | P2 |

# 4. 数据库安全
| 加固项 | 措施 | 优先级 |
|—————-|————————|———|
| 用户权限 | 最小权限原则 | P1 |
| 连接加密 | 启用数据库加密连接 | P2 |
| 数据脱敏 | 敏感数据脱敏 | P2 |

# 安全加固实施计划
阶段1:紧急加固(1周)
– 配置Credential Store
– 启用传输加密
– 配置访问控制

阶段2:重要加固(2周)
– 启用Trail加密
– 配置审计日志
– 完善权限控制

阶段3:全面加固(1个月)
– 完善监控告警
– 安全培训
– 安全演练

2.2 加密策略规划

制定合理的加密策略可以平衡安全性和性能:

# 加密策略设计

# 1. 凭证加密
策略:
– 使用Credential Store存储所有凭证
– 使用AES256加密算法
– 定期更换密钥

实施:
# 创建Credential Store
GGSCI> ADD CREDENTIALS

# 添加数据库凭证
GGSCI> ALTER CREDENTIALS ADD USER fgedu, PASSWORD password, ALIAS fgedu_alias

# 修改参数文件使用别名
USERIDALIAS fgedu_alias

# 2. Trail文件加密
策略:
– 所有Trail文件加密存储
– 使用AES256加密算法
– 密钥安全存储

实施:
# 生成加密密钥
GGSCI> OPEN WALLET
GGSCI> CREATE ENCRYPTKEY mykey

# 配置Extract加密
EXTRACT E_FGEDU01
ENCRYPTTRAIL AES256 KEYNAME mykey
EXTTRAIL /GoldenGate/app/dirdat/ea

# 配置Replicat解密
REPLICAT R_FGEDU01
DECRYPTTRAIL AES256 KEYNAME mykey
EXTTRAIL /GoldenGate/app/dirdat/ea

# 3. 网络传输加密
策略:
– 所有网络传输加密
– 使用SSL/TLS协议
– 证书认证

实施:
# 配置Manager SSL
GGSCI> EDIT PARAMS MGR

PORT 7809
SSL_CERTIFICATE /GoldenGate/app/certs/server.crt
SSL_PRIVATEKEY /GoldenGate/app/certs/server.key

# 配置Data Pump加密
EXTRACT P_FGEDU01
RMTHOST target-host, MGRPORT 7809, ENCRYPT AES256 KEYNAME mykey
RMTTRAIL /GoldenGate/app/dirdat/ra

# 4. 数据库连接加密
策略:
– 数据库连接使用加密通道
– 配置Oracle Net加密

实施:
# 配置sqlnet.ora
SQLNET.ENCRYPTION_SERVER = REQUIRED
SQLNET.ENCRYPTION_TYPES_SERVER = (AES256)
SQLNET.CRYPTO_CHECKSUM_SERVER = REQUIRED
SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER = (SHA256)

# 加密性能影响评估
| 加密类型 | CPU开销 | 网络开销 | 存储开销 |
|—————-|———-|———–|———–|
| 凭证加密 | 极低 | 无 | 极低 |
| Trail加密 | 5-10% | 无 | 5-10% |
| 网络加密 | 3-5% | 2-5% | 无 |
| 数据库连接加密 | 2-3% | 1-2% | 无 |

2.3 审计合规规划

建立完善的审计机制是满足合规要求的关键:

# 审计需求分析

# 合规要求
| 标准 | 审计要求 |
|————–|——————————————|
| 等保2.0 | 访问控制、安全审计、入侵防范 |
| GDPR | 数据访问记录、安全事件报告 |
| PCI DSS | 访问日志、安全事件监控 |
| SOX | 访问控制、变更审计 |

# 审计内容规划
# 1. 访问审计
– GGSCI命令执行记录
– 进程启动/停止记录
– 配置变更记录
– 数据访问记录

# 2. 操作审计
– 用户登录/登出
– 权限变更
– 配置修改
– 数据操作

# 3. 安全事件审计
– 认证失败
– 权限违规
– 异常访问
– 安全告警

# 审计日志配置
# Manager审计配置
GGSCI> EDIT PARAMS MGR

PORT 7809
PURGEOLDEXTRACTS /GoldenGate/app/dirdat/*, USECHECKPOINTS

— 启用命令审计
COMMANDAUDIT ON

— 启用访问日志
ACCESSLOG /GoldenGate/app/logs/access.log

# 审计日志保留策略
| 日志类型 | 保留时间 | 存储位置 |
|—————-|———–|—————|
| 访问日志 | 90天 | 集中日志平台 |
| 操作日志 | 90天 | 集中日志平台 |
| 安全事件日志 | 1年 | 安全审计系统 |
| Trail日志 | 30天 | 本地存储 |

# 审计报告要求
– 每日:安全事件汇总报告
– 每周:访问统计报告
– 每月:合规审计报告
– 每季度:安全评估报告

风哥提示:审计日志是安全事件追溯的重要依据,务必确保审计日志的完整性和不可篡改性。学习交流加群风哥QQ113257174

Part03-生产环境项目实施方案

3.1 凭证存储安全配置实战

3.1.1 Credential Store配置

# 步骤1:创建Credential Store
GGSCI (fgedu.net.cn)> ADD CREDENTIALS

Credential store created in /GoldenGate/app/dircrd/.

# 步骤2:验证Credential Store
GGSCI (fgedu.net.cn)> INFO CREDENTIALS

Credential store domain: OracleGoldenGate
Credential store location: /GoldenGate/app/dircrd/
Credential store size: 4096 bytes

# 步骤3:添加数据库凭证
GGSCI (fgedu.net.cn)> ALTER CREDENTIALS ADD USER fgedu, PASSWORD fgedu123, ALIAS fgedu_alias

Credentials added for alias ‘fgedu_alias’.

# 步骤4:验证凭证
GGSCI (fgedu.net.cn)> INFO CREDENTIALS

Alias: fgedu_alias
Userid: fgedu
Domain: OracleGoldenGate

# 步骤5:使用凭证登录
GGSCI (fgedu.net.cn)> DBLOGIN USERIDALIAS fgedu_alias

Successfully logged into database.

# 步骤6:修改参数文件使用别名
# 修改前
EXTRACT E_FGEDU01
USERID fgedu, PASSWORD fgedu123
EXTTRAIL /GoldenGate/app/dirdat/ea
TABLE fgedu01.*;

# 修改后
EXTRACT E_FGEDU01
USERIDALIAS fgedu_alias
EXTTRAIL /GoldenGate/app/dirdat/ea
TABLE fgedu01.*;

# 步骤7:更新凭证
GGSCI (fgedu.net.cn)> ALTER CREDENTIALS REPLACE USER fgedu, PASSWORD newpassword, ALIAS fgedu_alias

Credentials replaced for alias ‘fgedu_alias’.

# 步骤8:删除凭证
GGSCI (fgedu.net.cn)> ALTER CREDENTIALS DELETE ALIAS fgedu_alias

Credentials deleted for alias ‘fgedu_alias’.

# 步骤9:设置Credential Store权限
$ chmod 700 /GoldenGate/app/dircrd
$ chown ogg:ogg /GoldenGate/app/dircrd
$ ls -la /GoldenGate/app/dircrd/

total 8
drwx—— 2 ogg ogg 4096 Apr 10 10:00 .
drwxr-x— 8 ogg ogg 4096 Apr 10 10:00 ..
-rw——- 1 ogg ogg 4096 Apr 10 10:00 cwallet.sso

3.1.2 Wallet配置

# 步骤1:创建Wallet目录
$ mkdir -p /GoldenGate/app/wallet
$ chmod 700 /GoldenGate/app/wallet

# 步骤2:创建Wallet
$ orapki wallet create -wallet /GoldenGate/app/wallet -pwd WalletPass123 -auto_login

Oracle PKI Tool : Version 19.0.0.0.0
Copyright (c) 2004, 2019, Oracle and/or its affiliates. All rights reserved.

Enter wallet password:
Wallet created.

# 步骤3:添加凭证到Wallet
$ mkstore -wrl /GoldenGate/app/wallet -createEntry oracle.fgedu.credentials fgedu/fgedu123

Oracle Secret Store Tool : Version 19.0.0.0.0
Copyright (c) 2004, 2019, Oracle and/or its affiliates. All rights reserved.

Enter wallet password:
Create credential oracle.fgedu.credentials.

# 步骤4:配置OGG使用Wallet
# 在GLOBALS文件中配置
GGSCI (fgedu.net.cn)> EDIT PARAMS ./GLOBALS

WALLETLOCATION /GoldenGate/app/wallet

# 步骤5:生成加密密钥
GGSCI (fgedu.net.cn)> OPEN WALLET
Wallet opened.

GGSCI (fgedu.net.cn)> CREATE ENCRYPTKEY mykey
Encryption key ‘mykey’ created.

# 步骤6:列出密钥
GGSCI (fgedu.net.cn)> INFO ENCRYPTKEY

Encryption key name: mykey
Algorithm: AES256
Created: 2026-04-10 10:00:00

# 步骤7:使用密钥加密密码
GGSCI (fgedu.net.cn)> ENCRYPT PASSWORD mypassword ALGORITHM AES256 ENCRYPTKEY mykey

Encrypted password: AACAAAAAAAAAAAJAUEPOMEW…

# 步骤8:配置参数文件使用加密密码
EXTRACT E_FGEDU01
USERID fgedu, PASSWORD AACAAAAAAAAAAAJAUEPOMEW…, ENCRYPTKEY mykey
EXTTRAIL /GoldenGate/app/dirdat/ea
TABLE fgedu01.*;

3.2 数据传输加密配置实战

3.2.1 Trail文件加密

# 步骤1:创建加密密钥
GGSCI (fgedu.net.cn)> OPEN WALLET
GGSCI (fgedu.net.cn)> CREATE ENCRYPTKEY trail_key

Encryption key ‘trail_key’ created.

# 步骤2:配置Extract加密Trail
GGSCI (fgedu.net.cn)> EDIT PARAMS E_FGEDU01

EXTRACT E_FGEDU01
USERIDALIAS fgedu_alias

— 启用Trail加密
ENCRYPTTRAIL AES256 KEYNAME trail_key

EXTTRAIL /GoldenGate/app/dirdat/ea
TABLE fgedu01.*;

# 步骤3:配置Data Pump加密传输
GGSCI (fgedu.net.cn)> EDIT PARAMS P_FGEDU01

EXTRACT P_FGEDU01
USERIDALIAS fgedu_alias

— 加密网络传输
RMTHOST target-host, MGRPORT 7809, ENCRYPT AES256 KEYNAME trail_key

RMTTRAIL /GoldenGate/app/dirdat/ra
TABLE fgedu01.*;

# 步骤4:配置Replicat解密Trail
GGSCI (target-host)> EDIT PARAMS R_FGEDU01

REPLICAT R_FGEDU01
USERIDALIAS fgedu_alias

— 解密Trail文件
DECRYPTTRAIL AES256 KEYNAME trail_key

ASSUMETARGETDEFS
MAP fgedu01.*, TARGET fgedu01.*;

# 步骤5:重启进程应用加密配置
GGSCI (fgedu.net.cn)> STOP EXTRACT E_FGEDU01
GGSCI (fgedu.net.cn)> START EXTRACT E_FGEDU01

# 步骤6:验证加密效果
# 查看Trail文件内容(加密后为乱码)
$ strings /GoldenGate/app/dirdat/ea000000 | head

�~�_�]�;�”�$�,�0�4�8�<�@�D�H�L�P�T�X�\�`�d�h�l�p�t�x�|����� # 步骤7:检查加密状态 GGSCI (fgedu.net.cn)> INFO EXTRACT E_FGEDU01

EXTRACT E_FGEDU01 Last Started 2026-04-10 10:00:00 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:05 ago)
Trail Encryption AES256 (KEYNAME trail_key)

3.2.2 SSL/TLS加密配置

# 步骤1:生成SSL证书
# 创建证书目录
$ mkdir -p /GoldenGate/app/certs
$ cd /GoldenGate/app/certs

# 生成私钥
$ openssl genrsa -out server.key 2048

Generating RSA private key, 2048 bit long modulus
……………………….+++
………..+++
e is 65537 (0x10001)

# 生成证书签名请求
$ openssl req -new -key server.key -out server.csr

You are about to be asked to enter information that will be incorporated
into your certificate request.
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:Beijing
Locality Name (eg, city) [Default City]:Beijing
Organization Name (eg, company) [Default Company Ltd]:FGEDU
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server’s hostname) []:fgedu.net.cn
Email Address []:admin@fgedu.net.cn

# 生成自签名证书
$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Signature ok
subject=/C=CN/ST=Beijing/L=Beijing/O=FGEDU/OU=IT/CN=fgedu.net.cn/emailAddress=admin@fgedu.net.cn
Getting Private key

# 步骤2:配置Manager SSL
GGSCI (fgedu.net.cn)> EDIT PARAMS MGR

PORT 7809
PURGEOLDEXTRACTS /GoldenGate/app/dirdat/*, USECHECKPOINTS

— SSL配置
SSL_CERTIFICATE /GoldenGate/app/certs/server.crt
SSL_PRIVATEKEY /GoldenGate/app/certs/server.key

# 步骤3:重启Manager
GGSCI (fgedu.net.cn)> STOP MANAGER
GGSCI (fgedu.net.cn)> START MANAGER

# 步骤4:配置客户端SSL连接
# 在目标端配置
GGSCI (target-host)> EDIT PARAMS P_FGEDU01

EXTRACT P_FGEDU01
USERIDALIAS fgedu_alias

— SSL连接
RMTHOST source-host, MGRPORT 7809, SSL
RMTTRAIL /GoldenGate/app/dirdat/ra
TABLE fgedu01.*;

# 步骤5:验证SSL连接
$ openssl s_client -connect fgedu.net.cn:7809 -showcerts

CONNECTED(00000003)
depth=0 C = CN, ST = Beijing, L = Beijing, O = FGEDU, OU = IT, CN = fgedu.net.cn
verify error:num=18:self signed certificate
verify return:1
depth=0 C = CN, ST = Beijing, L = Beijing, O = FGEDU, OU = IT, CN = fgedu.net.cn
verify return:1

Certificate chain
0 s:/C=CN/ST=Beijing/L=Beijing/O=FGEDU/OU=IT/CN=fgedu.net.cn
i:/C=CN/ST=Beijing/L=Beijing/O=FGEDU/OU=IT/CN=fgedu.net.cn

from GoldenGate视频:www.itpux.com

3.3 安全审计配置实战

# 步骤1:配置命令审计
GGSCI (fgedu.net.cn)> EDIT PARAMS MGR

PORT 7809
PURGEOLDEXTRACTS /GoldenGate/app/dirdat/*, USECHECKPOINTS

— 启用命令审计
COMMANDAUDIT ON

— 审计日志位置
ACCESSLOG /GoldenGate/app/logs/access.log

# 步骤2:配置访问控制
GGSCI (fgedu.net.cn)> EDIT PARAMS MGR

PORT 7809

— 访问控制规则
ACCESSRULE, PROG *, USER ogg, ALLOW
ACCESSRULE, PROG *, IPADDR 192.168.1.*, ALLOW
ACCESSRULE, PROG *, IPADDR 10.*, ALLOW
ACCESSRULE, PROG *, DENY

# 步骤3:创建审计日志收集脚本
#!/bin/bash
# audit_log_collect.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn

OGG_HOME=/GoldenGate/app
AUDIT_LOG=/GoldenGate/app/logs/audit.log
ACCESS_LOG=/GoldenGate/app/logs/access.log
CENTRAL_LOG=/var/log/ogg-audit/

mkdir -p $CENTRAL_LOG

# 收集审计日志
collect_audit_logs() {
echo “=== 审计日志收集 $(date) ===” >> $CENTRAL_LOG/daily_audit.log

# 收集访问日志
if [ -f $ACCESS_LOG ]; then
echo “— 访问日志 —” >> $CENTRAL_LOG/daily_audit.log
tail -100 $ACCESS_LOG >> $CENTRAL_LOG/daily_audit.log
fi

# 收集进程报告
echo “— 进程报告 —” >> $CENTRAL_LOG/daily_audit.log
for report in $OGG_HOME/dirrpt/*.rpt; do
echo “文件: $report” >> $CENTRAL_LOG/daily_audit.log
tail -50 $report >> $CENTRAL_LOG/daily_audit.log
done

# 收集错误日志
echo “— 错误日志 —” >> $CENTRAL_LOG/daily_audit.log
for err in $OGG_HOME/dirrpt/*.err; do
if [ -f $err ]; then
echo “文件: $err” >> $CENTRAL_LOG/daily_audit.log
cat $err >> $CENTRAL_LOG/daily_audit.log
fi
done
}

# 分析安全事件
analyze_security_events() {
echo “=== 安全事件分析 $(date) ===” >> $CENTRAL_LOG/security_events.log

# 检查认证失败
grep -i “authentication failed\|login failed\|access denied” $ACCESS_LOG >> $CENTRAL_LOG/security_events.log

# 检查异常访问
grep -i “unauthorized\|invalid\|error” $ACCESS_LOG >> $CENTRAL_LOG/security_events.log
}

collect_audit_logs
analyze_security_events

# 步骤4:设置定时任务
$ crontab -e
# 每小时收集审计日志
0 * * * * /GoldenGate/app/scripts/audit_log_collect.sh

# 步骤5:验证审计配置
GGSCI (fgedu.net.cn)> SEND MANAGER GETCONFIG

Manager Parameters:
PORT 7809
PURGEOLDEXTRACTS /GoldenGate/app/dirdat/*, USECHECKPOINTS
COMMANDAUDIT ON
ACCESSLOG /GoldenGate/app/logs/access.log

# 步骤6:查看审计日志
$ cat /GoldenGate/app/logs/access.log

2026-04-10 10:00:00 INFO OGG-00983 Manager started.
2026-04-10 10:00:05 INFO OGG-00989 Command: INFO ALL, User: ogg, IP: 192.168.1.100
2026-04-10 10:00:10 INFO OGG-00989 Command: START EXTRACT E_FGEDU01, User: ogg, IP: 192.168.1.100

Part04-生产案例与实战讲解

4.1 金融行业安全加固案例

某银行OGG安全加固实施案例:

# 项目背景
– 环境:银行核心系统数据同步
– 要求:等保三级、PCI DSS合规
– 数据:敏感金融数据

# 安全加固措施

# 1. 凭证安全
– 所有凭证使用Credential Store存储
– 密码复杂度要求:16位,包含大小写字母、数字、特殊字符
– 密码定期更换:90天

# 2. 数据加密
– Trail文件加密:AES256
– 网络传输加密:SSL/TLS
– 数据库连接加密:Oracle Net加密

# 3. 访问控制
– IP白名单限制
– 用户权限最小化
– 操作审计记录

# 4. 安全监控
– 实时监控异常访问
– 安全事件告警
– 定期安全审计

# 实施效果
| 安全项 | 实施前 | 实施后 |
|—————-|————-|————-|
| 凭证存储 | 明文存储 | 加密存储 |
| 数据传输 | 明文传输 | SSL加密 |
| 访问控制 | 无限制 | IP白名单 |
| 审计日志 | 无 | 完整审计 |
| 合规状态 | 不合规 | 合规 |

# 关键配置
# Credential Store配置
GGSCI> ADD CREDENTIALS
GGSCI> ALTER CREDENTIALS ADD USER fgedu, PASSWORD “Fg@2026#Secure!”, ALIAS fgedu_alias

# Trail加密配置
EXTRACT E_FGCORE
USERIDALIAS fgedu_alias
ENCRYPTTRAIL AES256 KEYNAME core_key
EXTTRAIL /GoldenGate/app/dirdat/core
TABLE FGCORE.*;

# 访问控制配置
ACCESSRULE, PROG *, USER ogg_admin, ALLOW
ACCESSRULE, PROG *, IPADDR 10.0.0.0/8, ALLOW
ACCESSRULE, PROG *, DENY

4.2 安全配置常见问题

# 问题1:Credential Store无法访问
# 错误信息
ERROR OGG-02541 Credential store is corrupted or inaccessible.

# 原因分析
– 文件权限不正确
– Wallet文件损坏
– 密码错误

# 解决方案
# 1. 检查文件权限
$ ls -la /GoldenGate/app/dircrd/
drwx—— 2 ogg ogg 4096 Apr 10 10:00 .

# 2. 修复权限
$ chmod 700 /GoldenGate/app/dircrd
$ chown -R ogg:ogg /GoldenGate/app/dircrd

# 3. 重建Credential Store
GGSCI> DELETE CREDENTIALS
GGSCI> ADD CREDENTIALS

# 问题2:SSL证书验证失败
# 错误信息
ERROR OGG-01201 SSL handshake failed.

# 原因分析
– 证书过期
– 证书不匹配
– 证书链不完整

# 解决方案
# 1. 检查证书有效期
$ openssl x509 -in server.crt -noout -dates

notBefore=Apr 10 00:00:00 2026 GMT
notAfter=Apr 10 23:59:59 2027 GMT

# 2. 验证证书
$ openssl verify server.crt

# 3. 重新生成证书
$ openssl req -new -x509 -days 365 -key server.key -out server.crt

# 问题3:加密密钥丢失
# 错误信息
ERROR OGG-00722 Encryption key not found.

# 原因分析
– Wallet文件丢失
– 密钥被删除
– Wallet路径错误

# 解决方案
# 1. 恢复Wallet备份
$ cp /backup/wallet/* /GoldenGate/app/wallet/

# 2. 重新创建密钥
GGSCI> OPEN WALLET
GGSCI> CREATE ENCRYPTKEY new_key

# 3. 更新配置使用新密钥

4.3 安全加固解决方案

# 解决方案1:完整安全检查脚本
#!/bin/bash
# security_check.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn

OGG_HOME=/GoldenGate/app
REPORT_FILE=/GoldenGate/app/logs/security_report.txt

echo “=== OGG安全检查报告 ===” > $REPORT_FILE
echo “检查时间: $(date)” >> $REPORT_FILE
echo “” >> $REPORT_FILE

# 1. 检查Credential Store
echo “1. Credential Store检查:” >> $REPORT_FILE
if [ -d “$OGG_HOME/dircrd” ]; then
perms=$(stat -c %a $OGG_HOME/dircrd)
if [ “$perms” = “700” ]; then
echo ” [OK] Credential Store权限正确” >> $REPORT_FILE
else
echo ” [警告] Credential Store权限不正确: $perms” >> $REPORT_FILE
fi
else
echo ” [错误] Credential Store不存在” >> $REPORT_FILE
fi

# 2. 检查参数文件中的明文密码
echo “” >> $REPORT_FILE
echo “2. 参数文件检查:” >> $REPORT_FILE
for prm in $OGG_HOME/dirprm/*.prm; do
if grep -q “PASSWORD” $prm | grep -v “ENCRYPTKEY” | grep -v “USERIDALIAS”; then
echo ” [警告] 发现明文密码: $prm” >> $REPORT_FILE
fi
done

# 3. 检查Trail加密
echo “” >> $REPORT_FILE
echo “3. Trail加密检查:” >> $REPORT_FILE
for prm in $OGG_HOME/dirprm/*.prm; do
if grep -q “EXTRACT” $prm && ! grep -q “ENCRYPTTRAIL” $prm; then
echo ” [警告] Extract未启用Trail加密: $prm” >> $REPORT_FILE
fi
done

# 4. 检查访问控制
echo “” >> $REPORT_FILE
echo “4. 访问控制检查:” >> $REPORT_FILE
if grep -q “ACCESSRULE” $OGG_HOME/dirprm/mgr.prm; then
echo ” [OK] 已配置访问控制规则” >> $REPORT_FILE
else
echo ” [警告] 未配置访问控制规则” >> $REPORT_FILE
fi

# 5. 检查审计日志
echo “” >> $REPORT_FILE
echo “5. 审计日志检查:” >> $REPORT_FILE
if grep -q “COMMANDAUDIT” $OGG_HOME/dirprm/mgr.prm; then
echo ” [OK] 已启用命令审计” >> $REPORT_FILE
else
echo ” [警告] 未启用命令审计” >> $REPORT_FILE
fi

# 6. 检查文件权限
echo “” >> $REPORT_FILE
echo “6. 文件权限检查:” >> $REPORT_FILE
dir_perms=$(stat -c %a $OGG_HOME)
if [ “$dir_perms” = “750” ] || [ “$dir_perms” = “700” ]; then
echo ” [OK] OGG目录权限正确: $dir_perms” >> $REPORT_FILE
else
echo ” [警告] OGG目录权限不正确: $dir_perms” >> $REPORT_FILE
fi

echo “” >> $REPORT_FILE
echo “=== 检查完成 ===” >> $REPORT_FILE

cat $REPORT_FILE

# 解决方案2:安全加固自动化脚本
#!/bin/bash
# security_hardening.sh
# from:www.itpux.com.qq113257174.wx:itpux-com
# web: http://www.fgedu.net.cn

OGG_HOME=/GoldenGate/app

# 1. 设置文件权限
echo “设置文件权限…”
chmod 750 $OGG_HOME
chmod 700 $OGG_HOME/dircrd
chmod 700 $OGG_HOME/wallet
chmod 600 $OGG_HOME/dirprm/*.prm

# 2. 配置访问控制
echo “配置访问控制…”
if ! grep -q “ACCESSRULE” $OGG_HOME/dirprm/mgr.prm; then
echo “” >> $OGG_HOME/dirprm/mgr.prm
echo “– 访问控制规则” >> $OGG_HOME/dirprm/mgr.prm
echo “ACCESSRULE, PROG *, USER ogg, ALLOW” >> $OGG_HOME/dirprm/mgr.prm
echo “ACCESSRULE, PROG *, IPADDR 192.168.1.*, ALLOW” >> $OGG_HOME/dirprm/mgr.prm
echo “ACCESSRULE, PROG *, DENY” >> $OGG_HOME/dirprm/mgr.prm
fi

# 3. 启用命令审计
echo “启用命令审计…”
if ! grep -q “COMMANDAUDIT” $OGG_HOME/dirprm/mgr.prm; then
echo “COMMANDAUDIT ON” >> $OGG_HOME/dirprm/mgr.prm
fi

echo “安全加固完成”

Part05-风哥经验总结与分享

5.1 安全加固最佳实践

根据多年安全加固经验,总结以下最佳实践:

安全加固最佳实践:

  • 安全是持续过程,不是一次性任务
  • 纵深防御,多层保护
  • 最小权限原则
  • 定期安全审计
  • 及时更新补丁
# 最佳实践1:凭证管理
– 使用Credential Store存储所有凭证
– 定期更换密码
– 密码复杂度要求
– 凭证备份加密

# 最佳实践2:数据加密
– Trail文件加密存储
– 网络传输加密
– 数据库连接加密
– 密钥安全管理

# 最佳实践3:访问控制
– IP白名单限制
– 用户权限最小化
– 操作审计记录
– 定期权限审查

# 最佳实践4:监控审计
– 实时安全监控
– 完整审计日志
– 安全事件告警
– 定期安全报告

5.2 安全检查清单

# 凭证安全检查
[ ] 所有凭证使用Credential Store
[ ] 参数文件无明文密码
[ ] 密码复杂度符合要求
[ ] 密码定期更换

# 数据加密检查
[ ] Trail文件已加密
[ ] 网络传输已加密
[ ] 数据库连接已加密
[ ] 密钥安全存储

# 访问控制检查
[ ] 已配置访问控制规则
[ ] IP白名单已配置
[ ] 用户权限最小化
[ ] 无多余权限

# 审计日志检查
[ ] 命令审计已启用
[ ] 访问日志已启用
[ ] 日志完整保留
[ ] 日志定期分析

# 系统安全检查
[ ] 操作系统已加固
[ ] 安全补丁已更新
[ ] 文件权限正确
[ ] 服务最小化

5.3 风哥实战经验总结

在多年安全加固项目实施过程中,总结以下实战经验:

风哥实战经验:

  • 安全加固要系统化
  • 定期检查比一次性加固更重要
  • 人员安全意识培训不可少
  • 安全事件响应机制要完善
  • 合规要求要持续满足
# 经验1:安全规划
– 从业务需求出发
– 平衡安全与性能
– 分阶段实施

# 经验2:安全实施
– 充分测试验证
– 保留回退方案
– 详细记录配置

# 经验3:安全运维
– 定期安全检查
– 及时处理告警
– 持续改进优化

风哥提示:安全加固是保障数据安全的重要措施,建议根据业务需求和安全合规要求,制定完善的安全策略,并定期进行安全检查和评估。

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息