加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

php – 安全地存储数据

发布时间:2020-12-11 23:43:00 所属栏目:MySql教程 来源:网络整理
导读:我理解大多数情况下安全存储数据的概念,包括将数据存储在一个单独的服务器上,该服务器只允许来自应用程序的连接,加密的密钥对等等.但是,我仍然不了解服务器的分离方式它更加安全. 例如,假设我有一个强化且安全的Web服务器,它从用户输入中捕获数据以进行存储.

我理解大多数情况下安全存储数据的概念,包括将数据存储在一个单独的服务器上,该服务器只允许来自应用程序的连接,加密的密钥对等等.但是,我仍然不了解服务器的分离方式它更加安全.

例如,假设我有一个强化且安全的Web服务器,它从用户输入中捕获数据以进行存储.数据经过加密并通过db查询或Web服务提交给数据库服务器.数据库服务器仅允许来自Web服务器的连接,并以加密形式存储数据.因此,如果有人访问数据库,则数据毫无价值.

但是,如果有人访问Web服务器,他们将可以访问数据库以及加密算法和密钥,不是吗?既然如此,为什么甚至将数据放在不同的服务器上,因为数据传输只是另一个潜在的攻击点?

有没有办法在Web服务器上隐藏连接信息和加密算法,这样如果它被泄露,就无法访??问数据库服务器?混淆是不够的,我不会想到.欢迎任何想法.

谢谢
布赖恩 最佳答案 人们为安全设计的方式有一定的神奇思维和民间传说,你是对的:将数据存储在不同的服务器上并不一定能让事情变得更加安全,除非你做过各种各样的事情.太.

管理密钥是其中很重要的一部分;在Web应用程序的上下文中这样做是一个独立的主题,我不知道任何强大的PHP解决方案.你是对的 – 如果你的web应用程序需要能够解密某些东西,它需要访问密钥,如果web应用程序被泄露,攻击者也可以访问密钥.

这就是为什么我倾向于使用公钥加密,并将面向公众的网络服务器视为“只写” – 即网络服务器使用公钥加密,存储在数据库中,并且永远不能解密它;只有一个单独的进程(在公共互联网上不可用)才能使用私钥对其进行解密.这样,您可以在您的数据库中存储信用卡详细信息,只有为卡充电的应用程序才有私钥来解密它;此应用程序在安全的环境中运行,无法从Internet访问.

其次,有多种级别的妥协 – 例如,攻击者可能获得对服务器文件系统的只读访问权限.如果该文件系统包含数据库,则他们可以获取数据文件,将其还原到他们控制的服务器,并使用解密密钥窃取您的私人数据.如果数据库在单独的服务器上运行(无法从Internet访问),则此攻击路径将变得不可能.

一条攻击路线让你打开的事实并不意味着你无法抵御其他攻击.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读