攻防演练-防御测试-商业防火墙配置防SQL注入

2021-11-28 杰克 安全

0x00
接上篇,在DVWA靶机环境中模拟实现了基于sql的注入攻击渗透。因为这类注入基本都是利用了代码对参数过滤不严所导致的,在代码层面既可很好的解决。但对于大多数程序员来说可能更多的精力放在了业务代码的实现上,对于安全方面未必有时间和能力去解决。这时候安全就需要借助第三方的软硬件产品来实现。针对sql注入,入侵防御、应用防火墙、代码审计等很多产品都可以防御。但为确保业务系统的稳定性无论用户方还是安全厂商都不希望直接在业务系统上安装软件类的安全产品。更多的是在业务流量的出入口路径方向部署安全产品,比如防火墙:
FW.png
说到防火墙,这里简单说下防火墙的工作方式及发展历史。防火墙的发展经历了三代产品更替(也有细分为五代的)
第一代防火墙基于包过滤技术,通过匹配源目地址、端口、协议等规则允许或拒绝数据包通过防火墙。这种方式有个缺点:只能做单向控制。对于返回源地址的数据包,因为返回的端口是随机的,防护墙会找不到匹配规则而丢弃。如果返回端口设置为any则又会带来很大的安全隐患
第二代防火墙采用了连接状态检测技术,这是防火墙发展历史上里程碑式的技术。数据包不再是孤立的了,而是有了上下文的关系。即当返回的数据包是与之前出去的数据包会话信息相匹配,防火墙将认为这个返回数据包是之前出数据包的后续回应数据包,则允许通过防火墙
第三代防火墙又称为“下一代防火墙”(NGFW),集成了防病毒、VPN、WAF等众多功能。具备深度报文内容检测能力,可以实现应用层的入侵防护。甚至一些厂商还实现了AI智能威胁学习功能。现在市面上基本都是下一代防火墙
FW-his.png

我在二手市场上逛了很久,终于入手一个厂商的二手防火墙产品,为避免广告嫌疑就不说名字了。这个防火墙虽然出厂日期较长但防火墙软件版本较新(8.0.45版本),在市场上的占有率也比较高。其他厂商的产品也找过,不是软件版本非常老就是价格太高。这个厂商的超融合可以部署很多虚拟安全产品(包含防火墙),但一直找不到超融合的U-key(有不用或淘汰下来的可升级U-key能出售的可以联系我)

FW-version.png

下面是我的攻防拓扑环境,之前搭建的物理环境。二台5720-LI配置RIP协议用于模拟Internet 防火墙下面连接DVWA靶机,攻击渗透机是我的笔记本
top.jpg
0x01
在防火墙上设置好内外网IP及源目NAT策略后就可以配置应用层安全策略了,在该厂商防火墙里要设置防范SQL注入攻击,先要配置好相应的WEB应用防护模板,然后创建安全策略。SQL防注入安全模板的建立在 对象---安全策略模板---WEB应用防护  下面,防火墙系统默认建了二个模板。我新建了一个单独用于SQL防注入的模板sql-injection
sql注入模板.png
0x02
安全模板建好后就可以创建安全策略了,安全策略创建在  策略---安全策略---安全防护策略 下面创建
sql策略.png
0x03
策略建完后开始验证是否生效,提交输入正常查询请求可以返回
2.png
提交注入代码 “1' or '1'='1”已失效,显示为无法访问
deny-sql.png
回到防火墙监控页面配置查看安全日志,勾选“Web应用防护”复选框,点击 “查询”按钮
log-op.png
可以看到SQL注入的拦截日志
sql-log.png
点后面的“查看详情”可以看到更详尽的内容,包括请求get和注入代码   1' or '1'='1 以及匹配的安全规则库编号13020507
sql-log-exp.png
点击规则库编号可以跳转到防火墙安全规则库页面,规则库这里详细说明了触发的规则来自哪里
rule.png
0x04
至此防火墙实现了基于SQL注入的防护,下面试试URL防护。一个典型的业务系统出于管理需要会有后台管理系统。考虑到安全,管理员并不希望任何人都可以访问这个后台管理系统。当然,这个需求可以从管理系统的代码实现。不过既然已经有了防火墙,自然希望通过防火墙来实现。这个功能在该厂商防火墙里面叫“URL防护”。首先创建一个URL防护模板,我这里将DVWA靶机的底层lamp环境宝塔管理页面路径添加进去
url-deny模板.png
然后同SQL防注入一样配置好安全防护策略
url策略.png
配置完成后先不启用,宝塔管理后台可以正常打开
bt-manager.png
策略启用后,宝塔管理后台已经无法打开了。显示为无法访问,在实际应用中会配置一个允许访问管理系统的源IP段(比如管理员的固定IP)等信息
bt-manager-deny.png
查看安全日志同时记录了访问请求
url-deny-log.png
该厂商的安全运营功能可以详细记录攻击事件,供汇总分析。提供部署决策等。(源IP地址因我是随意配置的,这里显示为山东某地应该是防火墙根据内部IP地址库呈现出来的,为避免误会下次选个国外的IP测试)
map.png
0x05
测试环境使用的DVWA是基于HTTP的,在HTTPS环境下防火墙是否需要配置证书先进行解密因条件限制没有尝试。后面有条件了再试试。
目前市场上针对WEB应用防护基本都是基于规则库来进行安全防护,保持规则库的最新最全是防火墙持续防护能力的保障。现在有基于AI智能学习的技术可以识别未知的渗透攻击,不过对于这个功能个人认为针对特定攻击工具大批量频繁的扫描攻击可能有效。但对于手工方式的个人渗透未必能起到作用。当然,也许随着后面识别算法进步了。一些功能的实现也说不定

标签: 防火墙规则 入侵防御 安全 SQL注入 DVWA 渗透测试 数据库注入

发表评论:

Powered by emlog 京ICP备17037512-1 e-mail:jackhkyin@163.com QQ:393147796