kupa Asked: 2014-09-19 03:00:05 +0800 CST2014-09-19 03:00:05 +0800 CST 2014-09-19 03:00:05 +0800 CST Oracle 远程操作系统身份验证、域用户的安全风险 772 域用户可能存在哪些安全风险? create user "OPS$KA\USERNAME" identified externally. grant create session to "OPS$KA\MARIK"; 然后在KA 域中的MARIK,可以免密码登录数据库。 我想知道 oracle 是否检查用户是否是真正的域用户? 例如,具有计算机名称 LB 和用户名 MARIK 的人是否存在连接到数据库的风险,即使它不是域用户? oracle security 2 个回答 Voted kubanczyk 2014-09-28T00:18:50+08:002014-09-28T00:18:50+08:00 请注意,操作系统身份验证是由客户端计算机完成的,而不是由数据库服务器完成的。 我认为,在对 Oracle 工具的合理悲观情绪中,您可以预期它可以归结为:数据库服务器从可能通过网络路径的任何 IP 地址接收 TCP 连接,并且该连接只是声称“我保证我已经完成操作系统身份验证相信我,这种联系是代表 OPS$JohnSmithCEO 建立的。” 数据库客户端或数据库服务器都没有为额外的操作系统身份验证提供操作系统密码!您甚至不能相信此连接来自有效的 Oracle 软件。它可以是现实中的中间人。它比 telnet 更糟糕。 无论 Oracle 完成什么“特定于 Windows”的检查,它们看起来都是人为的,您不能真正相信它们是完整和安全的。 Best Answer captjackvane 2014-09-19T12:31:41+08:002014-09-19T12:31:41+08:00 如果没有特定的设置,Oracle 数据库将不会知道您设置的任何域类型用户的任何信息。事实上,这就是首先拥有操作系统身份验证的意义所在;操作系统进行身份验证,数据库假定此身份验证是合法的。 如果您为用户使用操作系统身份验证,您(或您 IT 部门的其他人)将需要设置必要的预防措施以在操作系统级别保护该身份验证。 操作系统身份验证在某些情况下很有用(自动备份、cron 作业等。任何您希望后台用户登录但又不想使用 grep 密码的地方),但 IMO 作为一种安全做法它是要求用户必须输入密码实在是太过分了。安全性最好分层。
请注意,操作系统身份验证是由客户端计算机完成的,而不是由数据库服务器完成的。
我认为,在对 Oracle 工具的合理悲观情绪中,您可以预期它可以归结为:数据库服务器从可能通过网络路径的任何 IP 地址接收 TCP 连接,并且该连接只是声称“我保证我已经完成操作系统身份验证相信我,这种联系是代表 OPS$JohnSmithCEO 建立的。” 数据库客户端或数据库服务器都没有为额外的操作系统身份验证提供操作系统密码!您甚至不能相信此连接来自有效的 Oracle 软件。它可以是现实中的中间人。它比 telnet 更糟糕。
无论 Oracle 完成什么“特定于 Windows”的检查,它们看起来都是人为的,您不能真正相信它们是完整和安全的。
如果没有特定的设置,Oracle 数据库将不会知道您设置的任何域类型用户的任何信息。事实上,这就是首先拥有操作系统身份验证的意义所在;操作系统进行身份验证,数据库假定此身份验证是合法的。
如果您为用户使用操作系统身份验证,您(或您 IT 部门的其他人)将需要设置必要的预防措施以在操作系统级别保护该身份验证。
操作系统身份验证在某些情况下很有用(自动备份、cron 作业等。任何您希望后台用户登录但又不想使用 grep 密码的地方),但 IMO 作为一种安全做法它是要求用户必须输入密码实在是太过分了。安全性最好分层。