教你用免費的hihttps開源WEB應用防火牆阻止暴力破解密碼
很多企業都有自己的網站,需要用戶登錄后才能訪問,但有大量的黑客攻擊軟件可以暴力破解網站密碼,即使破解不了也非常惡心。有沒有免費的解決辦法呢?天本文就是以centos 7服務器為例,教大家怎樣用免費的hihttps開源WEB應用防火牆,來阻止黑客暴力破解網站密碼。
一、下載源碼編譯
hihttps是一款完整源碼的高性能SSL WEB應用防火牆( SSL WAF),采用epoll模式支持高並發,並且兼容ModSecurity正則規則。訪問官網http://www.hihttps.com或者github上搜索hihttps,下載最新源碼。
centos首先需要安裝OpenSSL和libpcre兩個開發庫
yum install openssl openssl-devel
yum install -y pcre pcre-devel
然后解壓源碼到任意目錄,直接make即可在當前目錄生成可執行文件hihttps
二、配置
打開config.cfg文件,通常是hihttps前端運行443(https)端口,后端反向代理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這個關鍵字,同一IP在10秒內超過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安全相當重要,如果不是開源的產品,千萬不能隨便安裝。