一、操作系统层面安全配置
/etc/redhat-release文件内容(如替换为自定义标识),避免泄露系统版本信息;编辑/etc/sysctl.conf文件,添加或调整内核参数以提升性能与安全,例如fs.aio-max-nr = 1048576(异步I/O最大数量)、fs.file-max = 6815744(系统最大文件描述符数)、kernel.sem = 250 32000 100 128(信号量参数)、net.ipv4.ip_local_port_range = 9000-65500(本地端口范围)、net.ipv4.icmp_echo_ignore_broadcasts = 1(忽略广播ICMP请求)等,修改后执行sysctl -p使配置生效。oinstall用于安装、dba用于数据库管理)和用户(如oracle),并将用户加入对应组:groupadd oinstall; groupadd dba; useradd -g dba -G oinstall oracle; passwd oracle(设置强密码)。修改/etc/security/limits.conf文件,限制用户资源使用:oracle soft nproc 2047(软进程数限制)、oracle hard nproc 16384(硬进程数限制)、oracle soft nofile 1024(软文件描述符限制)、oracle hard nofile 65536(硬文件描述符限制),防止资源滥用。permissive模式(setenforce 0)或禁用(修改/etc/selinux/config文件),避免其对Oracle服务的过度限制;使用firewalld配置端口访问,仅开放Oracle必要端口(如监听端口1521、企业管理器端口1158),例如:firewall-cmd --permanent --add-port=1521/tcp; firewall-cmd --permanent --add-port=1158/tcp; firewall-cmd --reload。关闭不必要的网络服务(如iptables),减少攻击面。二、Oracle数据库层面安全加固
$ORACLE_HOME/network/admin/sqlnet.ora文件,设置sqlnet.authentication_services=(NONE),避免客户端通过操作系统自动认证;执行ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE SCOPE=SPFILE;(设置密码文件模式为独占)和ALTER SYSTEM SET REMOTE_OS_AUTHENT=FALSE SCOPE=SPFILE;(禁用远程OS认证),重启数据库和监听使配置生效。DBA等高权限角色,仅授予完成工作所需的最小权限(如SELECT、INSERT);撤销PUBLIC角色对敏感程序包的执行权限(如utl_file、utl_http),执行REVOKE EXECUTE ON utl_file FROM PUBLIC;,防止恶意代码执行。SYS、SYSTEM等默认管理员账户的口令(如使用12位以上包含字母、数字、特殊字符的强密码),并锁定不需要的用户(如SCOTT),执行ALTER USER SYS IDENTIFIED BY StrongPassword123; ALTER USER scott ACCOUNT LOCK;。$ORACLE_HOME/network/admin/sqlnet.ora文件,启用IP过滤:tcp.validnode_checking=yes; tcp.invited_nodes=(192.168.1.10,192.168.1.20);(仅允许指定IP访问),重启监听服务使配置生效。$ORACLE_HOME/network/admin/listener.ora文件,修改监听端口(如从1521改为11251),执行lsnrctl stop; lsnrctl start重启监听;同步修改客户端连接字符串,确保应用正常访问。lsnrctl工具为监听器设置管理口令(SET PASSWORD命令),防止未授权修改监听配置;关闭监听器的远程管理功能(仅在必要时开启),降低管理接口风险。CREATE TABLESPACE encrypt_ts ENCRYPTION DEFAULT STORAGE(ENCRYPT);创建加密表空间,或ALTER TABLE employees MODIFY (salary ENCRYPT);加密表列,确保静态数据即使泄露也无法读取。ALTER SYSTEM SET audit_trail=DB SCOPE=SPFILE;(设置审计轨迹为数据库),重启数据库后,通过AUDIT SELECT ON employees BY user1;审计特定操作,定期审查DBA_AUDIT_TRAIL视图中的审计日志。三、监控与维护
DBA_AUDIT_TRAIL视图,分析异常活动(如频繁的失败登录、未授权的数据访问),例如:SELECT USERNAME, TIMESTAMP, ACTION_NAME, OBJ_NAME FROM DBA_AUDIT_TRAIL WHERE STATUS='FAILED' ORDER BY TIMESTAMP DESC;,及时发现潜在的安全威胁。user1不再需要SELECT权限),执行REVOKE SELECT ON employees FROM user1;;使用角色管理权限(如创建data_reader角色,授予SELECT权限,再将角色分配给用户),简化权限管理并提高一致性。RMAN> BACKUP DATABASE PLUS ARCHIVELOG;;定期测试备份恢复流程(如模拟数据丢失场景),确保备份数据的完整性和可用性,避免因数据丢失导致业务中断。