Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (中文) » SQL Anywhere 服务器 - 数据库管理 » 启动并连接到数据库 » SQL Anywhere 数据库连接 » 使用 Windows 集成登录

 

安全问题:不受限制的数据库访问

集成登录功能使用 Windows 的登录控制系统代替 SQL Anywhere 安全系统来工作,使得无需提供用户 ID 或口令便可连接数据库。实质上,如果用户可以登录到承载数据库的计算机,他就能够通过数据库安全验证。

如果用户以 dsmith 身份成功登录到 Windows 服务器,只要用户有集成登录映射或者缺省的集成登录用户 ID,则他们不必经过进一步的身份验证即可连接数据库。

在使用集成登录时,数据库管理员应当特别注意 Windows 强制登录安全的方法,以防止出现对数据库不必要的访问。

小心

如果启用 Guest 用户配置文件,将允许对在该服务器上运行的数据库进行不受限制的访问。

如果 Guest 用户配置文件处于启用状态且口令为空,则登录到该服务器的任何尝试都将成功。用户配置文件无需存在于服务器上,或者所提供的登录 ID 无需具有域登录权限。准确地说,任何用户都可以使用任何登录 ID 和任何口令登录到服务器:缺省情况下他们会登录到 Guest 用户配置文件。

这对于在启用集成登录功能的情况下连接到数据库有着重要的含义。

请考虑以下情况:假定承载数据库的 Windows 服务器有一个用空口令启用的 Guest 用户配置文件。

  • 在用户 fran_whitney 和数据库用户 ID DBA 之间存在集成登录映射。用户 fran_whitney 使用正确的登录 ID 和口令连接服务器时,她将以 DBA 身份(具有全部管理权限的用户)连接到数据库。

    但是,任何试图以 fran_whitney 身份连接服务器的人都将成功登录到服务器,而无论他们提供什么口令,这是因为 Windows 将把该连接尝试缺省为 Guest 用户配置文件。在使用 fran_whitney 登录 ID 成功登录到服务器之后,未经授权的用户便可以通过集成登录映射,以 DBA 身份成功连接到数据库。

为了安全而禁用 Guest 用户配置文件

最安全的集成登录策略是在承载 SQL Anywhere 数据库的所有 Windows 计算机上禁用 Guest 用户配置文件。这可以通过使用 Windows 用户管理器实用程序来实现。