web渗透--2--web安全原则(下)

六、敏感数据保护原则

1、口令不允许明文存储在系统中,应该加密保护。在不需要还原口令的场景,必须使用不可逆算法加密。对银行账号等敏感数据的访问要有认证、授权和加密机制。口令文件必须设置访问权限控制,普通用户不能读取或拷贝加密的内容。如果帐户文件/数据中含有口令又必须所有用户可访问,则需将帐户文件/数据与口令文件/数据分开。

2、在非信任网络之间进行敏感数据(包括口令,银行帐号,批量个人数据等)的传输须采用安全传输通道或者加密后传输,有标准协议规定除外。

3、禁止使用私有加密算法,必须使用公开、安全的标准加密算法。

4、用于敏感数据传输加密的密钥,不能硬编码在代码中。在敏感数据的安全传输上,优先使用业界的标准安全协议(如SSH v2/TLS1.0/SSL3.0/IPSec/SFTP/HTTPS等),并确保密钥可配置;如果是由产品自身实现安全传输过程,则优先使用Diffie-Hellman密钥交换算法,如果使用预置共享密钥等其他方法,也必须保证该密钥可配置和可替换。

5、禁止在日志、话单等文件中记录口令、银行账号、通信内容等敏感数据;避免不安全的本地存储。

6、涉及个人数据的采集/处理的功能须提供安全保护机制(如认证、权限控制、日志记录等),并通过产品资料向客户公开。

7、尽量避免在日志、话单中记录个人数据,如果必须记录个人数据,则所有数据必须进行结构化存储或适合于进行匿名化提取。

8、加密不能确保安全:加密是单纯的概念,单纯的加密不能保证系统的任何安全。加密需要与算法、密钥生成算法、密码传送等一系列机制结合才能保证安全。安全是相对的,没有绝对安全。

9、禁止在代码中存储敏感数据。(禁止在代码中存储如数据库连接字符串、口令和密钥之类的敏感数据,这样容易导致泄密。用于加密密钥的密钥可以硬编码在代码中)。

10、禁止密钥或帐号的口令以明文形式存储在数据库或文件中(密钥或帐号的口令必须经过加密存储。例外情况,如果Web容器的配置文件中只能以明文方式配置连接数据库的用户名和口令,则不用强制遵循该规则,将该配置文件的属性改为只有属主可读写)。

11、禁止在cook

你可能感兴趣的:(web渗透)