首页 > Linux操作系统 > Linux操作系统 > 限制 SYSDBA 登录
限制 SYSDBA 登录
背景
您可能已经注意到,属于组“dba”成员的任何 *nix 用户都可通过以下命令以 SYSDBA 用户身份登录:
sqlplus / as sysdba
这通常被认为是一件很方便的事,因为您不需要记住或输入用户 SYS 的密码。 但是,这也带来了一个漏洞: 任何可通过 dba 组成员身份登录的用户都可通过 SYS 身份登录数据库。 导致 SYS 的加强密码并不经常使用。 如果您有一个牢固的 SYS 帐户,您可能应该对其以及 dba 组用户进行保护,使得以 SYS 身份登录必须提供 SYS 密码。 这种方法不会消除渗透的风险,但是可以使该风险显著降低。
策略
该进程由文件 SQLNET.ORA 中的参数 SQLNET.AUTHENTICATION_SERVICES 控制。如果将该参数设置为 NONE,会禁用 SYSDBA 角色的自动登录。 要禁用 SYSDBA 角色的自动登录,可将以下行放到位于 $ORACLE_HOME/network/admin 目录中的 SQLNET.ORA 文件中。
SQLNET.AUTHENTICATION_SERVICES=(NONE)
从此时起,如果属于组 dba 的 *nix 用户希望使用类似的登录连接:
$ sqlplus / as sysdba
他们将收到:
ERROR:
ORA-01031:insufficient privileges
要进行连接,必须提供 SYS 密码:
$ sqlplus /nolog
SQL> connect sys/oracle as sysdba
这可以防止仍然不知道 SYS 密码的人访问 dba 帐户。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/20542911/viewspace-615736/ ,如需转载,请注明出处,否则将追究法律责任。