Ubuntu 上保障 Informix 安全的实用清单
一 身份与访问控制
- 使用专用的系统账号运行 Informix(如创建 informix 用户/组,家目录与数据目录归属该用户),禁止以 root 直接运行数据库进程;为运维开通受限 sudo 并采用个人账号登录跳板机。
- 强制实施强密码策略(复杂度、最小长度、历史与有效期)、账户锁定(连续失败锁定)、最小特权原则(按角色授予权限,撤销 PUBLIC 默认权限)。
- 在 Ubuntu 上通过 PAM 配置密码策略与锁定策略:例如在 /etc/pam.d/common-password 使用 pam_cracklib 设置至少包含大小写字母、数字、特殊字符中的3 类;在 /etc/login.defs 设置 PASS_MIN_LEN=8、PASS_MAX_DAYS=90;在 /etc/pam.d/common-auth 使用 pam_tally2 设置 deny=6、unlock_time=300 等锁定参数。
- 网络访问控制:仅开放必要端口(如 9088/9089 等,具体以 $INFORMIXDIR/etc/sqlhosts 与服务为准),使用 UFW/iptables 限制来源 IP;数据库与应用分离部署,禁止公网直连数据库。
- 系统加固:关闭不必要的服务与端口,限制 SUID/SGID,为关键目录设置最小权限(如数据页、日志、备份目录仅 informix 可写)。
二 加密与密钥管理
- 传输加密:启用 SSL/TLS 保护客户端与服务器通信,防范中间人攻击;仅允许加密会话,禁用明文协议。
- 数据静态加密:启用 TDE(透明数据加密) 对数据文件与日志进行加密,密钥由 KMS 或企业密钥托管流程集中管理,定期轮换。
- 应用层加密:对敏感列使用内置函数 ENCRYPT_AES / ENCRYPT_TDES 与 DECRYPT_CHAR / DECRYPT_BINARY;注意口令长度 6–128 字节、提示不超过 32 字节;加密列若参与索引/约束将影响约束与索引使用,分布式场景需启用 ENCCSM 防止口令明文传输。
- 磁盘/介质加密:对宿主机磁盘或备份介质采用 LUKS 等文件系统级加密,防止物理介质丢失导致的数据泄露。
三 审计与监控
- 启用数据库审计:在 $INFORMIXDIR/aaodir/adtcfg 中设置 ADTMODE=7(同时写入 Informix 与操作系统审计,并自动审计 DBSSO/DBSA 活动);审计文件路径 ADTPATH 建议设为专用目录,文件权限 660,仅 informix 与审计管理员可访问。
- 系统侧审计与监控:集中采集 syslog、auth.log、数据库审计日志与连接日志,部署 IDS/IPS 与主机加固基线,定期审计异常登录、权限变更与失败连接。
- 日志保护:审计日志与数据库日志落盘即设防篡改(权限、完整性校验),并建立离线归档与保留策略。
四 系统与网络安全加固
- 补丁与更新:保持 Ubuntu 与 Informix 的安全补丁及时更新;变更前在测试环境验证,变更窗口化并回滚就绪。
- 加固内核与本地安全:启用 AppArmor(Ubuntu 默认)为 Informix 进程配置最小能力集;按需评估 SELinux;限制 SUID/SGID 与可写可执行文件。
- SSH 安全:禁用 root 登录,强制 密钥认证,可更改默认端口并限制可登录用户组。
- 资源与抗 DoS:在 $INFORMIXDIR/etc/onconfig 中调优 LISTEN_TIMEOUT、MAX_INCOMPLETE_CONNECTIONS 等参数,降低半开连接与资源耗尽风险。
- 崩溃信息保护:设置 DUMPSHMEM=0,防止共享内存转储泄露敏感信息。
五 备份恢复与演练
- 制定并验证 备份与恢复 流程:全量+增量备份、异地/离线副本、加密与校验;定期做恢复演练与可用性验证。
- 变更与应急:变更遵循评估-审批-灰度-回滚;建立安全事件响应预案(隔离、取证、通报、修复与复盘)。