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