操作系统身份验证

操作系统身份验证

我目前在 RHEL 5 上使用 Oracle 11g。

由于存在安全问题,我想禁用数据库上的 OS 身份验证管理。当 OS 管理员用户登录 OS 并发出“sqlplus /”时,他们可以登录我的数据库。我该如何禁用此功能?

问候,

沙里思

答案1

这受多种因素控制。通常默认不允许这样做。如果您的用户可以这样做,那是因为您的数据库和用户已设置为允许这样做。

操作系统身份验证仅当您的操作系统用户名与已设置为的数据库帐户名兼容时才有效外部识别 兼容的意思是它有合适的操作系统身份验证前缀

默认情况下,OS 用户“fred”将连接到数据库帐户“OP$fred”。如果不存在这样的帐户,则他无法连接。如果帐户存在但未设置 IDENTIFIED EXTERNALLY,则他无法连接。

值得注意的是,在某些情况下,它是一种安全机制。例如,如果您在 OS 用户“batch”下设置 cron 作业,那么您可以为该用户设置一个数据库帐户,该帐户只能由该 OS 帐户连接。另一种方法是将用户名/密码存储在配置文件中。不可避免地,该文件会被不应该阅读它的人读取,并备份到不安全的位置……

假设您确实想阻止他们,只需执行 ALTER USER batch ACCOUNT LOCK 或 ALTER USER batch IDENTIFIED BY password;

注意:dba 组中的用户能够使用“/ AS SYSDBA”子句进行连接,这是另一个问题。简单的解决方法是将此类用户从 dba 组中删除。如果他们具有 sudo/root 访问权限,请礼貌地要求他们不要这样做。如果这不起作用,您可以尝试使用 AUDIT 来跟踪他们的行为,并让您的经理参与进来。

相关内容