安全性是系统架构的一个重要的指标,可以说系统没有安全性,将会给系统的使用带来很大的灾难。下面从几个维度列举一下实际项目中采取过的安全措施,仅供参考:
1、数据库安全:这块对我们开发来讲主要涉及到两个点,一个是黑白名单机制,仅仅允许那几台应用服务器访问数据库;另一个是强密码措施,不能使用简单的密码。
2、应用数据安全:应用中的重要数据要加密,而且使用的密码需要增加复杂度,对于敏感数据要进行脱敏处理,尽量不要将敏感数据暴露出去。
3、代码访问安全:包括防止SQL注入、XSS攻击、CSRF攻击等。建议对用户输入数据进行校验和过滤,以减少这些攻击的风险。
4、身份校验和授权:这个是每个系统必须有的环节,不管是WEB的还是终端的,必须有用户登录,在用户登录时,需要对用户的身份进行验证,并且授权访问该用户所具备的权限。建议使用多因素身份验证(例如短信验证码、二次验证、人脸识别,指纹识别等),以增加身份验证的安全性。API性质的必须用密钥,Token之类的做接口验证和鉴权。
5、网络安全: 确保应用服务器在网络层面上的安全性,包括限制网络端口、限制访问IP等等。当然建议使用网络防火墙和入侵检测系统等工具来监控和保护网络安全。应用服务协议用加密协议,比如Https的方式。
6、日志审计: 在系统中增加日志记录功能,对所有操作进行记录,以便及时发现和解决安全事件。同时,还需要对系统进行监控,及时发现异常情况,以便及时响应并解决问题。
7、漏洞修复: 及时更新和修复系统和组件中的漏洞,避免系统受到攻击。及时关注和修复第三方组件和库的漏洞,以避免安全风险。这块我们遇到过客户方会定期就系统漏洞做扫描,然后给予系统建设方反馈,督促系统建设方修复漏洞并给予反馈。
8、国产化替代:这个咱就不多说了,现在都在适配国产化的系统,数据库,中间件等等,包括密码也建议使用国密,不过道路可能会比较漫长和曲折,毕竟国产的兼容性和性能还在不断的优化。