教你一步步用免费的WEB应用防火墙hihttps保护CDN源站

技术分享  / 只看大图  / 倒序浏览   ©

#楼主# 2020-2-12

跳转到指定楼层

马上注册,分享更多源码,享用更多功能,让你轻松玩转云大陆。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
    CDN是将源站内容分发至最接近用户的节点,进步用户访问的响应速度,解决企业源网站的服务器压力。未来五年CDN行业仍然会高速增长,超过50%的互联网流量通过CDN举行加快。
    但是网络安全仍然是非常重要的问题, 固然阿里云Web应用防火墙(WAF)支持各类CDN(如网宿、加快乐、七牛、又拍、阿里云CDN等),但是代价非常昂贵,中小企业很多负担不起,同时抱有黑客不会攻击的侥幸心里。那么有没有功能和性能都好的免费WAF呢,答案是有的。
    hihttps是一款免费的web应用防火墙,既支持传统WAF的检测功能如SQL注入、XSS、恶意漏洞扫描、密码破解、CC、DDOS等),又支持无监督机器学习,自主对抗,重新定义web安全。具体原理可以百度搜刮“hihttps谈机器学习之生成对抗规则”。今天下面以CentOS 为例,一步一步介绍怎么用hihttps来免费保护CDN情况的企业源站。


011007kh77lp7447w4yy0h.png
[if !supportLists]一、   [endif]安装
hihttps可以在WEB源站服务器上直接安装,也可以像硬件WAF那样独立部署服务器前面,用反向署理的原理来保护源站。
首先在http://www.hihttps.com/官网下载hihttp.tar.gz安装包,tar –zxvf hihttps.tar.gz 解压到任意目次,核心有3个文件和3个目次:
1、hihttps是可实行文件,支持centos 64位系统。
2、hihttps.cfg是配置文件,如端口/反向署理的服务器IP等。
3、ml.cfg是机器学习配置文件。
4、rules目次是对抗规则,包罗OWASP的SQL注入、XSS、CC、DDOS、密码破解、恶意扫描以及机器学习自主对抗规则。
5、train目次是无监督机器学习样本采集目次。 
6、log目次是攻击报警日志。 


hihttps默认配置前端绑定443端口(HTTPS)和81端口(HTTP),反向连接的80端口:         


https:// serverip / http://127.0.0.1/ 
http://serverip:81/  http://127.0.0.1/


解释:serverip是你的服务器的实际IP地址或者域名,本文下面不再阐述。


如果你是在vmware虚拟机里面做测试,或者服务器上还没有web服务器,请先安装nginx或者apache如:
yum install nginx或yum install httpd ,打开浏览器 http://serverip/ ,,确认访问80端口是成功的。
[if !supportLists]二、   [endif]hihttps配置
1、端口配置
为了方便测试,hihttps开启了81和443两个web端口,注意443需要绑定PEM格式的证书,默认提供了一个叫server.pem的数字证书,如果有,请换成源站服务器的真实证书。配置如下:


https.cfg:


frontend web
mode http
bind :81
default_backends_default
frontend web_ssl
modehttp
bind:443 ssl crt server.pem     #PEM证书建议用绝对路径如/home/xxx/server.pem
default_backends_default
errorloc302400 http://www.hihttps.com/           #攻击重定向网页,仅DROP阻断模式有效
#真实的后端WEB服务器端口      
backend s_default
mode                    http
server            server_default 127.0.0.1:80        


2、OWASP规则设置


Hihttps兼容ModSecurity大部分规则,最厉害的是著名安全社区OWASP,开发和维护着一套免费的应用步伐保护规则,这就是所谓OWASP的ModSecurity的核心规则集(即CRS),几乎覆盖了如SQL注入、XSS跨站脚本、恶意扫描、密码破解、DOS等几十种常见WEB攻击方法。
hihttps默认配置了这几条,基本满足常见防护:
REQUEST-913-SCANNER-DETECTION.conf
REQUEST-941-APPLICATION-ATTACK-XSS conf
REQUEST-942-APPLICATION-ATTACK-SQLI conf
REQUEST-20-APPLICATION-CC-DDOS conf
REQUEST-20-APPLICATION-Brute-PASS conf
white_url.data
black_url.data
……
更多的规则,可以去https://github.com/SpiderLabs/ModSecurity官方网站下载,把文件保存在rule目次下即可。




3、机器学习配置
一般来说,机器学习是主动完成的,不消配置。当然也可以为机器精确设置要学习的网站文件所对应的目次,这样学习更快速、准确:
ml.cfg:


#www_dir /usr/share/nginx/html/


#缺省是报警模式ruleAction alert,要设置为阻断模式,请开启ruleAction drop
#ruleAction drop




4机器学习对抗规则
Rules目次下的gan.rule是机器学习主动生成的对抗规则文件,为了方便测试,默认了一条接口规则https://serverip/hihttps.html?id=xxx


三、运行测试


011008oj6bwx3ras4010w3.png
运行./hihttps,如果界面打印出了OWASP 规则、Mache Learning(机器学习规则),而且显示了start ok……就说明正常。
1OWASP 规则测试
可以用Kali Linux,集成了很多web漏洞扫描工具,非常方便测试,如nkito等。
运行 nikto -h192.168.0.1 -p 80,81 -C
或者nikto -host www.baidu.com–C port 443 –ssl
hihttps主界面就会打印出,大量的报警日志。


2、机器学习测试


机器学习是hihttps的核心,但采集成千上万的样本需要一定时间,为了方便测试,默认了一条hihttps.html机器学习样本。
https://serverip/hihttps.html?id=123,采集到的样本大于99%都是这种形态,那么浏览器输入下面的网址,都将视为攻击:


测试样本:
https://serverip/hihttps.html?id=123' or 1='1
https://serverip/hihttps.html?id=alert(1);


https://serverip/hihttps.html?id=1234567890&t=123
https://serverip/hihttps.html?id=abc


如果上图界面,打印出了攻击日志,那么恭喜你,系统运行正常,hihttps保护成功。


报警日志产生在log目次下,按天存储,格式是这样的。。
2020-02-09 21:14:49  192.168.1.153:59615 [*ALERT*]  [888] [GET /hihttps.html] STR:"ff"Matched, Machine Learning : Detect an attack,value is not a number...
…..
四、正式部署
作为免费版本,到这里就结束了。实际部署的时候,把hihttps和nginx(apache)的端口换一下,hihttps绑定80和443,nginx(apache)绑定127.0.0.1:81就可以了。


修改hihttps.cfg文件相关配置:
http://serverip/ http://127.0.0.1:81/
https://serverip/ http://127.0.0.1:81/


用机器学习几天后,如果人工核实报警准确率大于99.9%,在不影响生产的情况下,可以修改ml.cfg文件,开启ruleAction drop阻断模式。


hihttps企业版付费本无非就是开源,而且有专门的WEB管理界面而已,核心防护功能都一样,小企业没须要再去购买昂贵的WAF。


五、总结
1、传统的waf规则很难对付未知漏洞和未知攻击。让机器像人一样学习,具有一定智能主动对抗APT攻击大概是唯一有效途径,但黑客攻防技术本身就是人类最顶尖智力的比力,WEB安全仍然任重而道远。
2、幸好hihttps这类免费的应用防火墙在机器学习、自主对抗中开了很好一个头,未来WEB安全很可能是特征工程+机器学习共同完成,必然是AI的天下。
分享淘帖
回复

使用道具

您的回复是对作者最大的奖励

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于作者

京禾_56e8

新手猿

  • 主题

    8

  • 帖子

    8

  • 关注者

    0

Archiver|手机版|小黑屋|云大陆 | 赣ICP备18008958号-4|网站地图
Powered by vrarz.com!  © 2019-2020版权所有云大陆