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连接时数据传输加密。