现代web安全防护机制主要基于两方面的机制。
下面将主要介绍第一方面的内容:处理用户访问的相关机制
1.身份验证,身份验证是应用程序处理用户访问最基本的机制,通过对身份验证机制的验证测试可以允许攻击者非法访问敏感数据和内容。
2.会话管理,用户登录以后与web应用程序会直接建立会话,这时候服务器端会给用户发布标识会话的令牌,通过该令牌可以直接辨识用户身份,而http cookie就是其中一种手段,cookie的产生过程也是黑客进行攻击的着眼点。
3.访问控制机制,这是设计最复杂的机制,可以进行重点的关注。
第二方面的内容,处理用户输入的相关机制:
1.输入处理的手段:
a.黑名单策略,拒绝已知的不良输入。
b.白名单策略,只接受已知的正常输入
c.净化,对已知的用户进行输入进行html编码等。
d.安全数据处理,保证命令执行过程中能正常执行。
2.边界确认机制
我们应该把所有的用户输入当成不良且不可信的,因此需要进行一个边界确认机制,保证系统执行的是可信且正常的,因此需要进行一个边界检查,常用可以用来进行一个边界确认手段如下:
a.表单处理程序应当确认用户输入仅包含正常字符。
b.为防止注入攻击和跨站点脚本攻击,应当进行对用户输入进行编码转义
c.多重确认以及规范化,需要对用户输入进行规范化和过滤。
3.处理攻击者
处理有可能出现攻击者相关机制,主要有以下几方面:
a.处理相关错误,错误可以给别有用心的攻击者暴露一些信息,可被黑客利用。
b.维护审计日志,有利于进行数字取证和后续的足迹追踪。
c.向管理员发出警报,可进行良好的预警,但要处理好误报和不报之间的关系。
d.应对攻击,对于能明显标识出为攻击者的手段,应该有相应的手段措施,例如对爆破进行封锁ip等。