1. 操作系统级安全加固
oracle-database-server),卸载无关组件(如X-Windows、CUPS打印服务),减少攻击面。通过Kickstart自动化安装或手动rpm -e卸载无用包。/etc/sysctl.conf优化网络与内存安全,例如:fs.file-max=6815744(增大文件描述符上限)、kernel.sem=250 32000 100 128(调整信号量参数)、net.ipv4.ip_local_port_range=9000-65500(限制本地端口范围)。执行sysctl -p使配置生效。oinstall用于安装、dba用于数据库管理),并添加Oracle用户(useradd -g oinstall -G dba oracle)。设置强密码(passwd oracle),并通过/etc/security/limits.conf限制资源使用:oracle hard nproc 16384(最大进程数)、oracle hard nofile 65536(最大文件句柄数)。2. Oracle数据库核心安全配置
ALTER SYSTEM SET O7_DICTIONARY_ACCESSIBILITY=FALSE SCOPE=SPFILE;,禁止非SYSDBA用户访问数据字典基础表(如TAB$、COL$),重启数据库使设置生效。PROFILE(通常为DEFAULT)设置口令复杂度:ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION verify_function PASSWORD_LIFE_TIME 90 PASSWORD_REUSE_TIME 0 FAILED_LOGIN_ATTEMPTS 5 PASSWORD_LOCK_TIME 1/24;。其中verify_function需自定义(或使用Oracle内置函数),要求口令包含大小写字母、数字、特殊字符中的至少2类,长度≥6位。ALTER SYSTEM SET audit_trail='DB,EXTENDED' SCOPE=SPFILE;(记录到数据库),或AUDIT_TRAIL='OS'(记录到系统日志)。重启数据库后,可通过SELECT * FROM DBA_AUDIT_TRAIL;查看审计记录。lsnrctl进入命令行,依次输入:set current_listener LISTENER→change_password(输入旧密码与新密码)。修改$ORACLE_HOME/network/admin/listener.ora,添加SECURE_REGISTER=<listener_name>限制监听器注册。$ORACLE_HOME/network/admin/sqlnet.ora,添加tcp.validnode_checking=YES(启用IP检查)和tcp.invited_nodes=('192.168.1.10','10.0.0.5')(允许访问的IP列表),重启监听器使配置生效。3. 网络与传输安全防护
firewalld或iptables限制访问,仅开放数据库端口(默认1521)和SSH端口(默认22)。例如,firewall-cmd --permanent --add-port=1521/tcp→firewall-cmd --reload。建议将数据库服务器置于DMZ后,通过中间件(如WebLogic)访问。/etc/ssh/sshd_config中设置PermitRootLogin no),修改默认SSH端口(如Port 2222),启用密钥认证(PubkeyAuthentication yes)并禁用密码认证(PasswordAuthentication no)。重启SSH服务(systemctl restart sshd)。$ORACLE_HOME/network/admin/sqlnet.ora,添加sqlnet.encryption_server=REQUIRED(服务器端强制加密)、sqlnet.encryption_types_server=(AES256)(加密算法),客户端配置需同步。4. 数据安全保护
ALTER TABLESPACE USERS ENCRYPTION USING 'AES256' ONLINE;加密表空间,或通过CREATE TABLE emp (id NUMBER, name VARCHAR2(50) ENCRYPT) ENCRYPTION USING 'AES256';加密列。需先设置钱包(ADMINISTER KEY MANAGEMENT CREATE KEYSTORE)。RMAN加密备份,执行CONFIGURE ENCRYPTION FOR DATABASE ON;开启数据库级加密,备份时自动加密。测试恢复流程(RESTORE DATABASE FROM TAG 'weekly_backup'→RECOVER DATABASE),确保备份可用性。5. 监控与维护管理
/var/log/secure查看SSH登录记录)、Oracle审计日志(DBA_AUDIT_TRAIL),使用grep或awk筛选异常操作(如频繁失败登录FAILED_LOGIN_ATTEMPTS)。部署SIEM工具(如Splunk)实现实时告警。yum updateinfo list security),定期应用CPU(Critical Patch Update)和PSU(Patch Set Update)补丁。使用yum update --security仅更新安全补丁,减少系统停机时间。