有哪些设计能保证我们的数据安全

有哪些设计能保证我们的数据安全

如果一个程序要保存用户的信息,那么就涉及到了数据安全。那么有哪些好的设计有助于数据安全呢?下面我们就分别在编码、网络、架构、数据库等角度,来聊聊如何进行数据安全的设计。

01 编码

程序的本质,我们可以用ABC来代替。输入是A,代码处理是B,输出为C。所以我们可以在这三个点来思考如何处理。首先是针对A,需要设定一些关卡,即对输入进行校验,只有符合我们要求的输入才让它走到下一步。然后是B,在B的部分,要进行防御编程,比如使用预编译SQL,防止SQL注入。然后是C,针对输出内容中用户输入的数据进行编码,防止XSS攻击,或者防止明文展示涉密数据。

02 网络

在网络角度,也就是服务器和客户端互发数据的过程,最常见的是采用https协议,以加密通信。

如果使用令牌或者cookie,要设置过期时间,以增加验证用户身份的次数,防止用户身份冒用。

03 架构

架构角度,也就是软件模块角度,我们要做什么。首先是用户身份认证,对安全级别要求高的系统,要采用多因素认证,而不仅仅是校验用户名和密码。

其次是资源控制,一般来说,资源权限要采用RBAC的权限控制。无论是使用Oauth,还是传统的用户+角色+资源 的结构,都要限制读写的范围。

除此之外,要设计审计和日志记录模块,记录对系统资源的访问和更改。

03 数据库

数据库层面,首先要做到数据库用户的权限访问控制,不同应用不同用户不同权限。

其次,数据落到数据库中,所有敏感的数据都要进行加密。以避免绕过应用的权限机制获取用户数据。

再者,要周期性备份数据,以保证数据安全,防止数据丢失。

04 其他

除了上述的几个角度,注意进行依赖的更新,补丁的安装,使用软件进行代码审计,周期性进行内部进行安全评审和渗透测试,也是常用的保证数据安全的手法。



有哪些设计能保证我们的数据安全

——————–往期精彩——————–

原文始发于微信公众号(架构师手札):有哪些设计能保证我们的数据安全

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/234606.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!