1. 操作系统层安全加固
firewalld,需执行systemctl stop firewalld && systemctl disable firewalld),避免未授权的网络访问;修改系统标识(如覆盖/etc/redhat-release文件),隐藏操作系统真实版本信息,降低针对性攻击风险。/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用户分配最小必要权限(如usermod -a -G oinstall,dba oracle);通过/etc/security/limits.conf限制用户资源使用(如oracle hard nproc 16384限制最大进程数、oracle hard nofile 65536限制最大文件描述符数),防止资源滥用。2. Oracle数据库层安全配置
ALTER SYSTEM SET O7_DICTIONARY_ACCESSIBILITY=FALSE),禁止非SYSDBA用户直接访问数据字典基础表(如SYS.USER$),减少敏感信息泄露风险。dba组内多余操作系统用户(使用userdel命令删除非必要用户),仅保留必要的Oracle管理员账户,降低DBA权限扩散风险。PROFILE(如DEFAULT或自定义profile),设置口令复杂度(如PASSWORD_VERIFY_FUNCTION=verify_function要求包含大小写字母、数字和特殊字符)、有效期(PASSWORD_LIFE_TIME=90限制90天内更换)、失败锁定(FAILED_LOGIN_ATTEMPTS=5锁定5次失败后账户、PASSWORD_LOCK_TIME=1/24锁定1小时),防止暴力破解。ALTER SYSTEM SET audit_trail='DB or OS' SCOPE=SPFILE),记录用户操作(如AUDIT SELECT TABLE, INSERT TABLE, DELETE TABLE BY ACCESS审计表操作)、权限使用(如AUDIT CREATE ANY PROCEDURE审计存储过程创建),便于事后追溯;审计记录可存储在数据库(DB)、操作系统文件(OS,推荐)或XML文件中。lsnrctl> change_password),防止未授权修改监听器配置;限制监听器访问IP(编辑$ORACLE_HOME/network/admin/sqlnet.ora,设置tcp.validnode_checking=yes并指定tcp.invited_nodes=(信任IP列表)),拒绝非法IP连接;修改默认监听端口(编辑listener.ora,将PORT=1521改为非标准端口),降低端口扫描攻击概率。3. 网络传输与访问控制
sqlnet.ora文件配置tcp.validnode_checking=yes和tcp.invited_nodes参数,仅允许信任的IP地址(如应用服务器、管理终端IP)访问数据库,阻止非法IP连接。sqlnet.encryption=required要求加密、sqlnet.crypto_checksums=required验证数据完整性),保护客户端与数据库之间、中间件与数据库之间的数据传输安全,防止数据泄露。4. 用户权限与角色管理
CONNECT(登录)和RESOURCE(创建对象)权限,管理员授予DBA权限但不授予SYSDBA权限,除非必要);撤销不必要的系统权限(如REVOKE EXECUTE ON UTL_SMTP FROM PUBLIC撤销公共用户的邮件发送权限)、角色(如REVOKE CONNECT FROM unused_user撤销未使用角色的权限),减少权限滥用风险。app_developer),将常用权限(如CREATE TABLE、SELECT ANY TABLE)授予角色,再将角色授予用户,简化权限管理;避免直接授予用户系统权限,提高权限管理的灵活性和可维护性。5. 审计与监控强化
DBMS_FGA包创建细粒度审计策略(如AUDIT SELECT ON hr.employees BY scott WHENEVER (TIME='18:00-06:00' OR DAYOFWEEK IN ('SAT','SUN'))审计周六周日或晚上18:00至次日6:00对hr.employees表的查询操作),聚焦敏感操作(如敏感数据访问)和异常行为(如非工作时间访问),生成更有针对性的审计记录。Oracle Audit Vault and Database Firewall),监控数据库活动(如频繁的失败登录尝试、大量数据导出操作);设置告警规则(如WHENEVER FAILED_LOGIN_ATTEMPTS > 5),当触发告警条件时,通过邮件、短信等方式通知安全管理员,及时响应安全事件。6. 补丁与备份管理
RMAN(Recovery Manager)工具备份数据库(如BACKUP DATABASE PLUS ARCHIVELOG);定期测试备份恢复流程(如模拟数据丢失场景,恢复到测试环境),确保备份数据的完整性和可用性,应对数据丢失或勒索软件攻击。