周末有空看了下web 安全方面的资料,了解下网络安全的 secure by default 原则
1、黑名单 白名单原则
尽可能使用白名单,不使用黑名单。例如:要做限制过滤的时候,只提供一份可信任的白名单列表,比提供一份不可信任的黑名单
列表进行过滤要有效得多。另外,在白名单中应小心* 等通配符的使用。
2、最小权限原则
即是要注意系统只授予主题必须的权限,而不是过度授权。这样能有效减少系统,数据库,网络,应用等出错的机会。
3、纵深防御原则
两层含义:
A:在不同层面,不同方面实施安全方案。
例如:在设计安全方案时,尽可能考虑到web应用安全,os系统安全,数据库安全,网络环境安全等不同层面。共同组成防御体系。
B:在正确的地方做正确的事情,即是要在解决根本问题的地方实施有效的针对性的方案。
例如在对用户输入的html进行过滤时,要先进行语法树的分析,而不是粗暴的进行< 等过滤,以免造成用户本意想表达如1<2的意思。
4、数据与代码的分离
像HTML injection sql injection