教你用免費的hihttps開源WEB應用防火牆阻止暴力破解密碼

 

教你用免費的hihttps開源WEB應用防火牆阻止暴力破解密碼

 

很多企業都有自己的網站,需要用戶登錄後才能訪問,但有大量的黑客攻擊軟件可以暴力破解網站密碼,即使破解不了也非常噁心。有沒有免費的解決辦法呢?天本文就是以centos 7服務器爲例,教大家怎樣用免費的hihttps開源WEB應用防火牆,來阻止黑客暴力破解網站密碼。

 

一、下載源碼編譯

hihttps是一款完整源碼的高性能SSL WEB應用防火牆( SSL WAF),採用epoll模式支持高併發,並且兼容ModSecurity正則規則。訪問官網http://www.hihttps.com或者github上搜索hihttps,下載最新源碼。

centos首先需要安裝OpenSSLlibpcre兩個開發庫

yum install openssl openssl-devel

yum install -y pcre pcre-devel

然後解壓源碼到任意目錄,直接make即可在當前目錄生成可執行文件hihttps

 

二、配置

打開config.cfg文件,通常是hihttps前端運行443https)端口,後端反向代理80端口。所以,如果你的WEB服務器已經佔用了443端口,請停用或者修改爲其他端口。如下設置即可:

 

# 前端SSL綁定的端口,默認443,注意不要衝突了

frontend = {

    host = "*"

    port = "443"

}

 

backend = "[127.0.0.1]:80"    # 後端默認反向連接80端口

 

#證書文件,建議設置絕對路徑

pem-file = "server.pem"

 

 

三、規則加載 

 規則放在和hihttps同一級的rules目錄即可,注意後綴是.conf或者.rule, 默認已經開啓了DDOS & CC以及暴力破解密碼防禦規則,打開REQUEST-20-APPLICATION-CC-DDOS.conf這個文件,找到這條規則:

 

SecRule DDOS "@rx login" \

    "id:20,\

    phase:2,\

    block,\

    capture,\

    t:none,t:urlDecodeUni,t:lowercase,\

    msg:'LOGIN Brute Force Password test',\

    logdata:'Matched Data: %{TX.0} found within %{MATCHED_VAR_NAME}: %{MATCHED_VAR}',\

    tag:'application-multi',\

    tag:'language-php',\

    tag:'platform-multi',\

    tag:'attack-injection-php',\

    tag:'OWASP_CRS/WEB_ATTACK/PHP_INJECTION',\

    tag:'OWASP_TOP_10/A1',\

    ctl:auditLogParts=+E,\

    ver:'OWASP_CRS/3.1.0',\

    severity:'CRITICAL',\

    setvar:'ddos_burst_time_slice=10,ddos_counter_threshold=3,ddos_block_timeout=60',\

    setvar:'tx.php_injection_score=+%{tx.critical_anomaly_score}',\

    setvar:'tx.anomaly_score_pl1=+%{tx.critical_anomaly_score}',\

    setvar:'tx.%{rule.id}-OWASP_CRS/WEB_ATTACK/PHP_INJECTION-%{MATCHED_VAR_NAME}=%{tx.0}'"

 

上面規則基本含義是:任何url中正則匹配到了login這個關鍵字,同一IP10秒內超過3次訪問,認爲是在暴力破解密碼,直接封鎖其IP地址60秒。因爲正常用戶在登錄的時候,即使錯誤輸入了密碼,也不會在10秒內超過3次請求,如果要修改頻率,直接改規則裏面的時間即可:

 setvar:'ddos_burst_time_slice=10,ddos_counter_threshold=3,ddos_block_timeout=60',

 

hihttps最厲害的是兼容owasp-modsecurity-core-rule攻擊規則,更多的規則說明,請自行百度搜索相關教程。

 

四、運行

  ./hihttps直接運行即可,默認讀取當前目錄下的confg.cfg文件, 或者./hihttps --config /dir/config.cfg

如果成功打印加載了rules目錄下的規則,代表運行成功。

  

五、 測試

  瀏覽器連續刷下訪問https://server_ip/login.html?testsql=delete * from test

   如果hihttps產生了報警記錄,則防禦成功,再也沒有人能暴力破解你網站密碼了。

 

 

hihttps還有其他更強大的功能,在後續的文章裏面再介紹。總之,服務器web安全相當重要,如果不是開源的產品,千萬不能隨便安裝。

 

原文出處:https://www.cnblogs.com/hihttps/p/11648338.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章