centos中sqlplus安全设置怎么做
导读:CentOS中SQL*Plus安全设置指南 SQL*Plus作为Oracle数据库的命令行工具,其在CentOS环境中的安全设置需围绕用户权限、密码策略、连接安全、环境配置四大核心维度展开,以下是具体实施步骤: 1. 用户账户与权限精细化管...
CentOS中SQL*Plus安全设置指南
SQL*Plus作为Oracle数据库的命令行工具,其在CentOS环境中的安全设置需围绕用户权限、密码策略、连接安全、环境配置四大核心维度展开,以下是具体实施步骤:
1. 用户账户与权限精细化管理
- 创建专用用户并设置强密码:避免使用
SYS
、SYSTEM
等超级用户执行日常操作,通过CREATE USER
命令创建专用用户(如app_user
),并分配最小必要权限(如CREATE SESSION
、SELECT
、INSERT
等)。例如:CREATE USER app_user IDENTIFIED BY StrongPassword123!; GRANT CREATE SESSION, SELECT ON schema_name.table_name TO app_user; FLUSH PRIVILEGES; -- 使权限立即生效
- 限制用户资源使用:通过
PROFILE
限制用户会话数、CPU时间、连接时间等,防止滥用。例如,限制用户最多同时开启5个会话,空闲超时30分钟后自动断开:CREATE PROFILE app_profile LIMIT SESSIONS_PER_USER 5, IDLE_TIME 30; ALTER USER app_user PROFILE app_profile;
2. 强化密码策略
- 设置密码复杂度规则:通过Oracle自带的
VERIFY_FUNCTION
(位于?/rdbms/admin/utlpwdmg.sql
)强制密码包含大小写字母、数字和特殊字符,且不与用户名相似。例如,将默认profile的密码验证函数设置为VERIFY_FUNCTION
:@?/rdbms/admin/utlpwdmg.sql; -- 安装密码验证脚本 ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION VERIFY_FUNCTION;
- 配置密码有效期与历史:设置密码有效期(如90天),禁止重复使用最近5次密码,强制用户定期更换密码:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME 90, PASSWORD_REUSE_TIME 365, PASSWORD_REUSE_MAX 5;
3. 安全连接配置
- 禁用命令行明文密码:避免在命令行中直接输入密码(如
sqlplus app_user/password
),防止密码被ps
、top
等命令查看。正确做法是:sqlplus app_user # 运行后通过交互式输入密码
- 启用SQL*Net加密:修改
$ORACLE_HOME/network/admin/sqlnet.ora
文件,强制使用AES256加密通信,防止密码在网络传输中被截获:SQLNET.ENCRYPTION_CLIENT = REQUIRED SQLNET.ENCRYPTION_TYPES_CLIENT = (AES256) SQLNET.ENCRYPTION_SERVER = REQUIRED SQLNET.ENCRYPTION_TYPES_SERVER = (AES256)
- 配置防火墙限制访问:使用
firewalld
仅允许特定IP访问Oracle监听端口(默认1521),减少暴露面:firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="1521" accept' --permanent firewall-cmd --reload
4. 环境与日志安全
- 避免密码文件泄露:若使用
ORAPWD
创建密码文件(如orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID
),需设置严格权限(仅oracle
用户可读写):chmod 600 $ORACLE_HOME/dbs/orapw$ORACLE_SID chown oracle:oinstall $ORACLE_HOME/dbs/orapw$ORACLE_SID
- 启用审计功能:通过
AUDIT
命令记录用户的关键操作(如登录、数据修改),便于后续追溯。例如,审计app_user
的所有登录行为:AUDIT CREATE SESSION BY app_user BY ACCESS;
- 保护日志文件:确保Oracle的告警日志(
$ORACLE_BASE/diag/rdbms/$ORACLE_SID/trace/alert_$ORACLE_SID.log
)和审计日志仅能被oracle
用户访问,防止敏感信息泄露。
5. 定期维护与监控
- 定期更新补丁:关注Oracle官方发布的安全补丁,及时升级数据库版本,修复已知漏洞。
- 监控异常行为:通过
V$SESSION
、DBA_AUDIT_TRAIL
等视图定期检查异常登录(如频繁失败的登录尝试)、未授权的操作,及时响应安全事件。
以上措施需结合实际业务需求调整,核心目标是最小化权限、最大化防护,确保SQL*Plus在CentOS环境中的使用安全。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos中sqlplus安全设置怎么做
本文地址: https://pptw.com/jishu/717499.html