1. 保持系統與軟件更新
定期執行sudo apt update && sudo apt upgrade
命令,修復操作系統及SQLPlus相關軟件包(如Oracle Instant Client)的安全漏洞,避免已知漏洞被利用。
2. 強化SSH訪問控制
/etc/ssh/sshd_config
文件,設置PermitRootLogin no
或PermitRootLogin prohibit-password
;ssh-keygen -t rsa
),將公鑰添加至~/.ssh/authorized_keys
文件;/etc/ssh/sshd_config
中的Port
參數,降低暴力破解風險。3. 配置防火墻限制訪問
使用ufw
(Uncomplicated Firewall)工具,僅開放必要端口(如SSH的22端口、Oracle數據庫的1521端口),阻止非法IP訪問。例如:
sudo ufw allow 22/tcp
sudo ufw allow 1521/tcp
sudo ufw enable
4. 最小化安裝與權限控制
apt install --no-install-recommends sqlplus
避免安裝不必要的依賴;oinstall
(Oracle安裝組)和dba
(數據庫管理員組,如需管理權限),避免使用root賬戶運行SQLPlus。5. 安全增強工具部署
fail2ban
:防御SSH暴力破解,自動封禁多次登錄失敗的IP;AppArmor
:限制SQLPlus及Oracle客戶端的權限,防止惡意操作;rkhunter
或chkrootkit
檢查系統是否存在后門或rootkit。1. 用戶與權限管理
GRANT
語句為用戶分配最小必要權限(如SELECT
、INSERT
),避免授予DBA
等高權限。例如:GRANT CONNECT, RESOURCE TO scott; -- 僅授予連接和資源權限
REVOKE DBA FROM scott; -- 收回DBA權限
/opt/oracle/instantclient
)。2. 文件與目錄權限設置
/opt/oracle/instantclient
)的所有者設為root
,組設為oinstall
,權限設為750
(drwxr-x---
);sqlplus.log
)的權限設為600
(-rw-------
),僅允許所有者讀寫。3. 環境變量安全配置
~/.bashrc
或~/.profile
文件,添加Oracle環境變量:export ORACLE_HOME=/opt/oracle/instantclient
export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH
source ~/.bashrc
使配置生效,避免將敏感環境變量暴露在全局配置文件(如/etc/profile
)中。4. 連接安全優化
tiger
);sqlnet.ora
文件中的SQLNET.ENCRYPTION_SERVER
參數為REQUIRED
,確保SQLPlus連接時數據傳輸加密。