数据保护与通讯安全
数据保护:
授予最低权限,以限制用户只能访问为完成任务所需要的功能、数据和系统信息。
保护所有存放在服务器上缓存的或临时拷贝的敏感数据,以避免非授权的访问,并在临时工
作文件不再需要时被尽快清除。
即使在服务器端,任然要加密存储的高度机密信息,比如,身份验证的验证数据。总是使用
已经被很好验证过的算法,更多指导信息请参见 “ 加密规范 ” 部分。
保护服务器端的源代码不被用户下载。
不要在客户端上以明文形式或其他非加密安全模式保存密码、连接字符串或其他敏感信息。
这包括嵌入在不安全的形式中: MS viewstate 、 Adobe flash 或者已编译的代码。
删除用户可访问产品中的注释,以防止泄露后台系统或者其他敏感信息。
删除不需要的应用程序和系统文档,因为这些也可能向攻击者泄露有用的信息。
不要在 HTTP GET 请求参数中包含敏感信息。
禁止表单中的自动填充功能,因为表单中可能包含敏感信息,包括身份验证信息。
禁止客户端缓存网页,因为可能包含敏感信息。 “Cache-Control: no-store” ,可以和 HTTP 报头
控制 “Pragma: no-cache” 一起使用,该控制不是非常有效,但是与 HTTP/1.0 向后兼容。
应用程序应当支持,当数据不再需要的时候,删除敏感信息(比如:个人信息或者特定财务
数据)。
通讯安全:
为所有敏感信息采用加密传输。其中应该包括使用 TLS 对连接的保护,以及支持对敏感文件
或非基于 HTTP 连接的不连续加密。
TLS 证书应当是有效的,有正确且未过期的域名,并且在需要时,可以和中间证书一起安装。
没有成功的 TLS 连接不应当后退成为一个不安全的连接。
为所有要求身份验证的访问内容和所有其他的敏感信息提供 TLS 连接。
为包含敏感信息或功能、且连接到外部系统的连接使用 TLS 。
使用配置合理的单一标准 TLS 连接。
为所有的连接明确字符编码。
当链接到外部站点时,过滤来自 HTTP referer 中包含敏感信息的参数。
推荐阅读
如何保护我们系统的安全?