Security 三层体系结构中的管理员保护

Security 三层体系结构中的管理员保护,security,administration,Security,Administration,假设我们有三层体系结构应用程序(客户端、服务器、数据库) 如何保护它不受在服务器上具有管理员权限的用户的影响?在某个时间点,来自客户端和数据库的所有数据都将被解密(以进行一些数据处理)。所有东西都通过这个服务器,所以看起来管理员可以得到他想要的任何数据 我脑海中闪现的唯一想法是将敏感的逻辑转移到客户端,并确保在客户端对所有内容进行加密。所以,服务器不会做任何处理,并将把这些敏感信息传递给数据库。然而,这违背了服务器的用途(尤其是在敏感数据周围存在大量逻辑的情况下) 有什么办法可以处理好这个问题吗

假设我们有三层体系结构应用程序(客户端、服务器、数据库)

如何保护它不受在服务器上具有管理员权限的用户的影响?在某个时间点,来自客户端和数据库的所有数据都将被解密(以进行一些数据处理)。所有东西都通过这个服务器,所以看起来管理员可以得到他想要的任何数据

我脑海中闪现的唯一想法是将敏感的逻辑转移到客户端,并确保在客户端对所有内容进行加密。所以,服务器不会做任何处理,并将把这些敏感信息传递给数据库。然而,这违背了服务器的用途(尤其是在敏感数据周围存在大量逻辑的情况下)


有什么办法可以处理好这个问题吗?

这样做的目的是什么?您是否正在尝试遵守某些特定的标准、法律或法规?这些是可以从细粒度访问控制中受益的严格安全要求,细粒度访问控制是一种限制授权用户在行级别访问数据库数据的做法。即使管理员也无法查看未经授权的数据。贾斯汀:这只是一个假设性的问题。但是,我听说过这样的规定(针对高度管制的行业)。2詹姆斯:我说的是服务器机器管理员vs数据库管理员。例如,服务器机器的管理员可以看到来自DB的内容。我不确定您为什么想要“服务器”组件。编写直接与数据库对话的客户机应用程序,特别是与细粒度访问控制结合使用时,这种情况非常常见。如果存在需要运行的批处理进程或长时间运行的进程,请在数据库服务器上设置它们,或仅为应用程序设置专用服务器(无论是哪种良好的管理实践)。