溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

教你一步步用免費(fèi)的WEB應(yīng)用防火墻hihttps保護(hù)CDN源

發(fā)布時(shí)間:2020-08-03 21:59:21 來(lái)源:網(wǎng)絡(luò) 閱讀:1233 作者:wx5e35730d1b964 欄目:安全技術(shù)

CDN是將源站內(nèi)容分發(fā)至最接近用戶的節(jié)點(diǎn),提高用戶訪問(wèn)的響應(yīng)速度,解決企業(yè)源網(wǎng)站的服務(wù)器壓力。未來(lái)五年CDN行業(yè)仍然會(huì)高速增長(zhǎng),超過(guò)50%的互聯(lián)網(wǎng)流量通過(guò)CDN進(jìn)行加速。
但是網(wǎng)絡(luò)安全仍然是非常重要的問(wèn)題, 雖然阿里云Web應(yīng)用防火墻(WAF)支持各類(lèi)CDN(如網(wǎng)宿、加速樂(lè)、七牛、又拍、阿里云CDN等),但是價(jià)格非常昂貴,中小企業(yè)很多負(fù)擔(dān)不起,同時(shí)抱有***不會(huì)***的僥幸心里。那么有沒(méi)有功能和性能都好的免費(fèi)WAF呢,答案是有的。
hihttps是一款免費(fèi)的web應(yīng)用防火墻,既支持傳統(tǒng)WAF的檢測(cè)功能如SQL注入、XSS、惡意漏洞掃描、密碼破解、CC、DDOS等),又支持無(wú)監(jiān)督機(jī)器學(xué)習(xí),自主對(duì)抗,重新定義web安全。具體原理可以百度搜索“hihttps談機(jī)器學(xué)習(xí)之生成對(duì)抗規(guī)則”。今天下面以CentOS 為例,一步一步介紹怎么用hihttps來(lái)免費(fèi)保護(hù)CDN環(huán)境的企業(yè)源站。
教你一步步用免費(fèi)的WEB應(yīng)用防火墻hihttps保護(hù)CDN源
一、 安裝
hihttps可以在WEB源站服務(wù)器上直接安裝,也可以像硬件WAF那樣獨(dú)立部署服務(wù)器前面,用反向代理的原理來(lái)保護(hù)源站。
首先在http://www.hihttps.com/官網(wǎng)下載hihttp.tar.gz安裝包,tar –zxvf hihttps.tar.gz 解壓到任意目錄,核心有3個(gè)文件和3個(gè)目錄:
1、hihttps是可執(zhí)行文件,支持centos 64位系統(tǒng)。
2、hihttps.cfg是配置文件,如端口/反向代理的服務(wù)器IP等。
3、ml.cfg是機(jī)器學(xué)習(xí)配置文件。
4、rules目錄是對(duì)抗規(guī)則,包括OWASP的SQL注入、XSS、CC、DDOS、密碼破解、惡意掃描以及機(jī)器學(xué)習(xí)自主對(duì)抗規(guī)則。
5、train目錄是無(wú)監(jiān)督機(jī)器學(xué)習(xí)樣本采集目錄。
6、log目錄是***報(bào)警日志。

hihttps默認(rèn)配置前端綁定443端口(HTTPS)和81端口(HTTP),反向連接的80端口:

https:// serverip / <==> http://127.0.0.1/
http://serverip:81/ <==> http://127.0.0.1/

注釋?zhuān)簊erverip是你的服務(wù)器的實(shí)際IP地址或者域名,本文下面不再闡述。

如果你是在vmware虛擬機(jī)里面做測(cè)試,或者服務(wù)器上還沒(méi)有web服務(wù)器,請(qǐng)先安裝nginx或者apache如:
yum install nginx或yum install httpd ,打開(kāi)瀏覽器 http://serverip/ ,,確認(rèn)訪問(wèn)80端口是成功的。
二、 hihttps配置
1、端口配置
為了方便測(cè)試,hihttps開(kāi)啟了81和443兩個(gè)web端口,注意443需要綁定PEM格式的證書(shū),默認(rèn)提供了一個(gè)叫server.pem的數(shù)字證書(shū),如果有,請(qǐng)換成源站服務(wù)器的真實(shí)證書(shū)。配置如下:

https.cfg:

frontend web
mode http
bind :81
default_backend s_default

frontend web_ssl
mode http
bind :443 ssl crt server.pem #PEM證書(shū)建議用絕對(duì)路徑如/home/xxx/server.pem
default_backend s_default
errorloc302 400 http://www.hihttps.com/ #***重定向網(wǎng)頁(yè),僅DROP阻斷模式有效

#真實(shí)的后端WEB服務(wù)器端口
backend s_default
mode http
server server_default 127.0.0.1:80

2、OWASP規(guī)則設(shè)置

Hihttps兼容ModSecurity大部分規(guī)則,最厲害的是著名安全社區(qū)OWASP,開(kāi)發(fā)和維護(hù)著一套免費(fèi)的應(yīng)用程序保護(hù)規(guī)則,這就是所謂OWASP的ModSecurity的核心規(guī)則集(即CRS),幾乎覆蓋了如SQL注入、XSS跨站***腳本、惡意掃描、密碼破解、DOS等幾十種常見(jiàn)WEB***方法。
hihttps默認(rèn)配置了這幾條,基本滿足常見(jiàn)***防護(hù):
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
……
更多的規(guī)則,可以去https://github.com/SpiderLabs/ModSecurity官方網(wǎng)站下載,把文件保存在rule目錄下即可。

3、機(jī)器學(xué)習(xí)配置
一般來(lái)說(shuō),機(jī)器學(xué)習(xí)是自動(dòng)完成的,不用配置。當(dāng)然也可以為機(jī)器精確設(shè)置要學(xué)習(xí)的網(wǎng)站文件所對(duì)應(yīng)的目錄,這樣學(xué)習(xí)更快速、準(zhǔn)確:
ml.cfg:

#www_dir /usr/share/nginx/html/

#缺省是報(bào)警模式ruleAction alert,要設(shè)置為阻斷模式,請(qǐng)開(kāi)啟ruleAction drop
#ruleAction drop

4、 機(jī)器學(xué)習(xí)對(duì)抗規(guī)則
Rules目錄下的gan.rule是機(jī)器學(xué)習(xí)自動(dòng)生成的對(duì)抗規(guī)則文件,為了方便測(cè)試,默認(rèn)了一條接口規(guī)則https://serverip/hihttps.html?id=xxx

三、運(yùn)行測(cè)試

教你一步步用免費(fèi)的WEB應(yīng)用防火墻hihttps保護(hù)CDN源
運(yùn)行./hihttps,如果界面打印出了OWASP 規(guī)則、Mache Learning(機(jī)器學(xué)習(xí)規(guī)則),并且顯示了start ok……就說(shuō)明正常。
1、OWASP 規(guī)則測(cè)試
可以用Kali Linux,集成了很多web漏洞掃描工具,非常方便測(cè)試,如nkito等。
運(yùn)行 nikto -h 192.168.0.1 -p 80,81 -C
或者nikto -host www.baidu.com –C port 443 –ssl
hihttps主界面就會(huì)打印出,大量的報(bào)警日志。

2、機(jī)器學(xué)習(xí)測(cè)試

機(jī)器學(xué)習(xí)是hihttps的核心,但采集成千上萬(wàn)的樣本需要一定時(shí)間,為了方便測(cè)試,默認(rèn)了一條hihttps.html機(jī)器學(xué)習(xí)樣本。
https://serverip/hihttps.html?id=123,采集到的樣本大于99%都是這種形態(tài),那么瀏覽器輸入下面的網(wǎng)址,都將視為***:

***測(cè)試樣本:
https://serverip/hihttps.html?id=123' or 1='1
https://serverip/hihttps.html?id=<script>alert(1);</script>

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

如果上圖界面,打印出了***日志,那么恭喜你,系統(tǒng)運(yùn)行正常,hihttps保護(hù)成功。

報(bào)警日志產(chǎn)生在log目錄下,按天存儲(chǔ),格式是這樣的。。
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...
…..
四、正式部署
作為免費(fèi)版本,到這里就結(jié)束了。實(shí)際部署的時(shí)候,把hihttps和nginx(apache)的端口換一下,hihttps綁定80和443,nginx(apache)綁定127.0.0.1:81就可以了。

修改hihttps.cfg文件相關(guān)配置:
http://serverip/ <==> http://127.0.0.1:81/
https://serverip/ <==> http://127.0.0.1:81/

用機(jī)器學(xué)習(xí)幾天后,如果人工核實(shí)報(bào)警準(zhǔn)確率大于99.9%,在不影響生產(chǎn)的情況下,可以修改ml.cfg文件,開(kāi)啟ruleAction drop阻斷模式。

hihttps企業(yè)版付費(fèi)本無(wú)非就是開(kāi)源,并且有專(zhuān)門(mén)的WEB管理界面而已,核心防護(hù)功能都一樣,小企業(yè)沒(méi)必要再去購(gòu)買(mǎi)昂貴的WAF。

五、總結(jié)
1、傳統(tǒng)的waf規(guī)則很難對(duì)付未知漏洞和未知***。讓機(jī)器像人一樣學(xué)習(xí),具有一定智能自動(dòng)對(duì)抗APT***或許是唯一有效途徑,但******技術(shù)本身就是人類(lèi)最頂尖智力的較量,WEB安全仍然任重而道遠(yuǎn)。
2、幸好hihttps這類(lèi)免費(fèi)的應(yīng)用防火墻在機(jī)器學(xué)習(xí)、自主對(duì)抗中開(kāi)了很好一個(gè)頭,未來(lái)WEB安全很可能是特征工程+機(jī)器學(xué)習(xí)共同完成,必然是AI的天下。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI