我听说数据库链接不利于组织使用。为什么安全性不好?
答案 0 :(得分:3)
你在哪里听到这个?
数据库链接与任何工具一样,都有其使用和滥用。使用数据库链接没有任何固有的不安全感。但是,肯定有很多方法可以使用不安全的数据库链接来构建系统。
数据库链接允许您将一个数据库连接到另一个数据库。从广义上讲,您可以定义数据库链接,使其作为远程数据库上的特定固定用户连接到远程数据库,也可以定义数据库链接,以便它以当前用户身份连接到远程数据库。这些配置有不同的问题。
如果您使用固定用户,则必须注意可以访问本地数据库链接的用户应该能够访问远程数据库用户拥有的任何权限。如果您使用相对强大的帐户来创建数据库链接,但随后授予相对低权限用户的链接访问权限,那肯定是一个安全问题。由于没有一个数据库可以全面了解,因此确定发生这种情况的情况也很困难。如果数据库A上的用户Bob具有对几个表的只读访问权限,但A上有一个公共数据库链接作为高权限用户连接到数据库B,那么攻击Bob的人会认为执行命令的能力在B上作为高度特权的用户。当然,您可以通过不创建数据库链接作为高权限用户来缓解这些问题,在创建公共数据库链接时要小心,在固定用户具有您不想授予的权限时创建私有数据库链接大家等等。
如果您使用当前用户数据库链接,那么数据库A上的用户Bob将作为Bob连接到数据库B,并具有Bob在数据库B上执行的任何权限。通常,这可能更容易保护。至少要无意中做一些愚蠢的事情要困难得多。然而,这种方法的缺点是Bob需要在两个数据库上保持密码同步,或者数据库链接不能正常工作。这通常涉及开发一些基础设施,以允许Bob在所有数据库上重置密码(或使用某种外部身份验证),这是一项设置和维护工作。有时,它还会限制DBA在混合环境中可以配置的安全措施。例如,当您将数据库A升级到11.2时,您可能不希望在数据库B进行类似升级之前启用区分大小写的密码。如果在很多不同升级计划的系统之间有很多数据库链接,那么这类事情可能会引起关注。
答案 1 :(得分:1)
几年前,有一个重要的错误,即“系统变更号”可以在数据库上推进,这将贯穿到通过数据库链接连接的任何数据库,从而导致一连串的失败。根据组织的风险规避方式,将数据库与其他人隔离开来并减少任何“爆发”的影响可能是明智的预防措施。
“此漏洞有趣的地方是,当两个数据库通过数据库链接连接时,SCN与最高SCN同步。因此,可以通过数据库链接将数据库增加到接近最大的SCN,这将是级联到所有其他互连的数据库。结果可能是ORA-600错误,并且可能是数据库崩溃的SCN较低的数据库。“