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';
將備份文件存儲在安全的異地位置(如云存儲),并定期測試恢復流程。