典型Web安全防护策略

Web安全问题的凸显致使得安全防护人员实施大量的安全机制来抵御攻击,尽管各种安全机制设计细节和执行效率可能千差万别,但几乎所有Web应用采用的安全机制在策略上都具有相似性,都离不开核心的几个基本原则和主要措施。

一、基本原则

1、缺省安全

缺省安全可以说是Web安全中最基本、最重要的原则,可以归纳为白名单、黑 名单的思想以及最小权限原则。

黑名单、白名单思想应该都很熟悉,最典型的例子莫过于制定防火墙的访问控制策略时,如果网站只提供Web服务,那么正确的做法是使用白名单,只允许服务器的80和443端口对外提供服务,屏蔽除此之外的其他端口;而如果使用黑名单,则有可能出现问题,比如黑名单策略是不允许SSH端口对外开放,那么就要对SSH的默认端口22进行检查,而实际工作中,部分工程师会私自改变SSH的端口号,从而导致安全策略出现漏洞。除此之外,在防止SQL注入攻击中,使用白名单思想就是只允许用户提交特定类型的数据,比如数值型数据,而如果使用黑名单思想,就需要对很多字符进行过滤,包括引号、注释符号、OR等。再比如,在防止跨站脚本攻击时,可以只允许用户使用等需要用到的标签,这就是白名单思想,而如果是禁止使用,就很有可能触发跨站脚本攻击,因为这个数据段它包含了不可信任的代码。而如果该页面确实要执行JavaScript脚本用于弹出一个对话框,那么数据段应该变为alert()函数的参数,用户只能控制对话框显示的内容,从而杜绝了恶意脚本的执行,这就是数据与代码分离的原则。

# 数据段与代码段

test

    $var  # $var数据段





test


                    
                    

你可能感兴趣的:(典型Web安全防护策略)