1. 系统基础安全加固
sudo apt update && sudo apt upgrade,确保Debian系统及Oracle数据库软件为最新版本,修补已知安全漏洞。oracle-database-server、libaio1等),避免不必要的服务暴露攻击面。oracle用户及oinstall、dba等组(sudo groupadd oinstall; sudo groupadd dba; sudo useradd -g oinstall -G dba oracle),并设置强密码(如包含大小写字母、数字、特殊字符,长度≥12位)。2. 用户与权限精细化管理
SYSDBA等高权限账户进行日常操作。例如,为应用用户仅授予CONNECT、RESOURCE角色,需访问敏感表时再单独授权(如GRANT SELECT ON emp TO app_user)。AUDIT CREATE SESSION, ALTER SESSION, DROP TABLE BY ACCESS;),设置audit_sys_operations=true(记录SYS用户的操作语句),并定期检查alert.log及trace文件。3. 网络与传输安全防护
ufw或iptables限制访问,仅开放Oracle监听端口(默认1521)及SSH端口(22),例如sudo ufw allow 1521/tcp; sudo ufw allow 22/tcp; sudo ufw enable。/etc/ssh/sshd_config,设置PermitRootLogin no),启用密钥对认证(ssh-keygen -t rsa生成密钥,ssh-copy-id oracle@server_ip复制公钥),并修改SSH端口(如Port 2222)降低暴力破解风险。sqlnet.ora,设置SQLNET.ENCRYPTION_SERVER=REQUIRED; SQLNET.CRYPTO_CHECKSUM_SERVER=REQUIRED),保护客户端与服务器间数据传输安全。4. Oracle数据库自身安全设置
PROFILE机制设置密码复杂度,例如创建strict_profile并分配给用户:CREATE PROFILE strict_profile LIMIT
PASSWORD_VERIFY_FUNCTION verify_function_11G,
PASSWORD_LIFE_TIME 90,
PASSWORD_REUSE_TIME 180,
FAILED_LOGIN_ATTEMPTS 5;
ALTER USER myuser PROFILE strict_profile;
CREATE TABLESPACE secure_ts ENCRYPTION USING 'AES256' DEFAULT STORAGE(ENCRYPT);
listener.ora,限制监听地址(如LISTENER = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))),避免监听所有接口;设置监听器密码(ALTER SYSTEM SET SECURE_REGISTER='TRUE';)。5. 监控与维护机制
Logwatch或Fail2ban监控系统日志(/var/log/auth.log、/u01/app/oracle/diag/rdbms/dbname/trace/alert_dbname.log),自动报警异常登录(如连续5次失败)或数据库操作(如大量DROP TABLE)。RMAN工具备份至安全位置(如异地NAS),并定期验证备份可恢复性(RESTORE VERIFY ONLY)。OpenVAS或Nessus扫描系统及数据库漏洞,及时修复高风险问题(如CVE-2025-XXXX系列的Oracle补丁)。