Linux 上 Oracle 安全配置清单
一 操作系统层加固
groupadd oinstall; groupadd dbauseradd -g oinstall -G dba -m oraclePermitRootLogin no、PubkeyAuthentication yes、PasswordAuthentication no、Port 2222chattr +i /etc/passwd)。fs.file-max=6815744、kernel.shmmax=2147483648、kernel.shmall=2097152oracle soft nproc 2047; oracle hard nproc 16384oracle soft nofile 1024; oracle hard nofile 65536oracle soft stack 10240二 数据库层安全配置
O7_DICTIONARY_ACCESSIBILITY=FALSE(需重启),避免非SYSDBA访问数据字典基表。verify_function_11G)、设置有效期≤90天、失败登录尝试≤5次、锁定时间≥1小时等,示例:
CREATE/ALTER PROFILE strong_pwd LIMIT PASSWORD_VERIFY_FUNCTION verify_function_11G PASSWORD_LIFE_TIME 90 FAILED_LOGIN_ATTEMPTS 5 PASSWORD_LOCK_TIME 1/24;REMOTE_LOGIN_PASSWORDFILE 设为 NONE(需重启),仅允许本地操作系统认证获取 SYSDBA。TCP.VALIDNODE_CHECKING=YES,配置 TCP.INVITED_NODES(可选 TCP.EXCLUDED_NODES);变更后执行 lsnrctl reload。SQLNET.EXPIRE_TIME(如10分钟)自动断开僵死连接。SQLNET.ENCRYPTION_SERVER=REQUIREDSQLNET.ENCRYPTION_TYPES_SERVER=(AES256)SQLNET.CRYPTO_CHECKSUM_SERVER=REQUIREDSQLNET.CRYPTO_CHECKSUM_TYPES_SERVER=(SHA256)lsnrctl → set current_listener → change_password → save_config),防止未授权修改监听配置。PROCESSES=200、SESSIONS=230(通常 SESSIONS ≈ PROCESSES*1.1 + 5);按需开启细粒度审计 FGA保护敏感列(如薪资)。三 审计与监控
ALTER SYSTEM SET AUDIT_TRAIL='DB,EXTENDED' SCOPE=SPFILE;(需重启);可按用户/对象设置审计策略,如 AUDIT ALL BY scott BY ACCESS;,并通过视图 DBA_AUDIT_TRAIL 查询。-w $ORACLE_HOME/bin/oracle -p x -k oracle_exec-w $ORACLE_HOME/diag/rdbms/*/trace -p rwxa -k oracle_trace四 备份恢复与补丁管理
CONFIGURE ENCRYPTION FOR DATABASE ON)与异地/离线保存,降低数据泄露与单点失效风险。五 实施顺序与注意事项
O7_DICTIONARY_ACCESSIBILITY、REMOTE_LOGIN_PASSWORDFILE、AUDIT_TRAIL 等参数通常需要重启数据库;变更前做好回退方案与窗口期评估。TCP.INVITED_NODES 会拒绝未在白名单中的客户端,变更前务必梳理应用与运维源地址,避免业务中断。