1. 系统准备与环境更新
在开始配置前,确保Debian系统处于最新状态,以修复已知漏洞并提升兼容性。执行以下命令更新系统:
sudo apt update && sudo apt upgrade -y
安装Oracle数据库所需的依赖包(如libaio1
、libssl-dev
等),具体包名可根据Oracle版本调整。
2. 用户与权限管理
oinstall
、dba
、backupdba
),并添加oracle
用户(避免使用root管理数据库):sudo groupadd oinstall
sudo groupadd dba
sudo useradd -g oinstall -G dba -m -s /bin/bash oracle
sudo passwd oracle # 设置强密码
/etc/security/limits.d/30-oracle.conf
文件,限制Oracle用户的资源使用(防止资源耗尽攻击),示例如下:oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
oracle
用户的~/.bash_profile
文件,添加Oracle环境变量(确保数据库正常运行):export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1 # 根据实际安装路径调整
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export ORACLE_SID=orcl # 根据实际SID调整
source ~/.bash_profile # 使配置生效
3. 内核参数优化
修改/etc/sysctl.d/98-oracle.conf
文件,调整内核参数以提升Oracle性能和安全性:
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
kernel.sem = 250 32000 100 128
执行sudo sysctl -p
使参数生效。
4. 网络与防火墙配置
$ORACLE_HOME/network/admin/listener.ora
文件,设置监听器地址和端口(默认1521):LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = your_hostname)(PORT = 1521))))
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = orcl)(ORACLE_HOME = $ORACLE_HOME)))
启动监听器并设置为开机自启:lsnrctl start
lsnrctl enable
ufw
(推荐)或iptables
限制对Oracle端口的访问。以ufw
为例:sudo ufw allow 1521/tcp # 允许Oracle监听端口
sudo ufw enable # 启用防火墙
sudo ufw status # 确认规则生效
若使用iptables
,需添加规则并保存:sudo iptables -A INPUT -p tcp --dport 1521 -j ACCEPT
sudo netfilter-persistent save # 保存规则(需安装iptables-persistent)
5. SSH安全加固
ssh-keygen -t rsa -b 4096 # 生成密钥对
ssh-copy-id oracle@your_server_ip # 复制公钥到服务器
编辑/etc/ssh/sshd_config
文件,修改以下参数:PasswordAuthentication no
PermitRootLogin no
重启SSH服务使配置生效:sudo systemctl restart sshd
6. 数据加密配置
$ORACLE_HOME/network/admin/sqlnet.ora
文件,添加以下内容:SQLNET.AUTHENTICATION_SERVICES = (TCPS)
SSL_CLIENT_AUTHENTICATION = TRUE
SSL_VERSION = 1.2
配置listener.ora
文件,启用SSL监听端口(如1522):LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCPS)(HOST = your_hostname)(PORT = 1522))))
7. 审计与监控
sqlplus / as sysdba
AUDIT SESSION; -- 审计用户登录/注销
AUDIT SELECT TABLE, INSERT TABLE, UPDATE TABLE, DELETE TABLE BY ACCESS; -- 审计表操作
查看审计日志(位于$ORACLE_HOME/rdbms/audit
目录)。Logwatch
或Fail2ban
监控系统日志,及时发现异常登录或攻击行为。安装Fail2ban
并配置防护:sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
8. 定期更新与补丁管理
保持Oracle数据库和Debian系统的最新状态,定期检查并安装安全补丁。对于Oracle数据库,可通过Oracle Support获取最新的安全补丁包(如CPU、PSU),并按照官方文档进行安装;对于Debian系统,定期执行sudo apt update && sudo apt upgrade -y
更新系统包。
9. 备份与恢复
制定定期备份计划,使用RMAN(Recovery Manager)工具备份数据库。示例如下:
rman target /
BACKUP DATABASE FORMAT '/path/to/backup/%U' TAG 'FULL_BACKUP';
BACKUP CURRENT CONTROLFILE FORMAT '/path/to/backup/controlfile.bak';
将备份文件存储在安全的异地位置(如云存储),并定期测试恢复流程。