最近偶然心血來潮,發現了一些免費的雲WAF和免費的軟體WAF,順便做了一下測試,今天就給大家看看免費的雲WAF和免費的軟體WAF哪個更適合網站使用。
免費的雲WAF,我們用的是GOODWAF,是一款直接解析域名DNS地址就能生效的WAF,簡單來說GOODWAF是針對域名進行防護。
註冊完以後,點選新增域名,新增域名、ip、備案號等資訊。新增完資訊以後,需要到購買域名的地方解析域名,我用的是聯通節點,記錄值就是後臺選的節點值,然後WAF就能生效。
總體來看,雲WAF的使用還是比較方便的,只需要新增域名、解析域名就能實現安全防護。但是雲WAF也存在弊端,就是有時候會不穩定,造成網站出現打不開等問題,需要修復。
軟體的WAF,我測試的是ModSecurity在Windows下IIS安裝版本,沒有安裝Nginx版本的,比較複雜,windows版本的相較於Nginx版本要簡單一些,具備部署方法如下。
一、安裝VCredist
在安裝ModSecurity之前需要安裝VCredist,點選https://visualstudio.microsoft.com/zh-hans/downloads/進入下載頁進行下載。
下載完成後,直接安裝即可。
二、安裝ModSecurity
按照作業系統下載對應的ModSecurityIIS,點選此處下載32位ModSecurityIIS,點選此處下載64位ModSecurityIIS,下載後複製到伺服器內,直接安裝即可。
安裝成功後,applicationHost.config檔案(位於C:\\Windows\\System32\\inetsrv\\Config目錄下),會自動新增以下內容,表示IIS下所有網站都會預設使用ModSecurity進行防護:
Bash
<section name="ModSecurity" overrideModeDefault="Allow" allowDefinition="Everywhere" /></sectionGroup>
三、規則配置
雖然IIS版的ModSecurity安裝後自動包含了規則檔案,但由於自帶的規則檔案版本較老,因此需要手動將規則檔案進行更新。
首先,訪問https://github.com/coreruleset/coreruleset下載規則檔案:
下載後上傳到伺服器,將解壓後的"crs-setup.conf.example"重新命名為"crs-setup.conf"後複製到ModSecurity安裝目錄下,即C:\\Program Files\\ModSecurity IIS。
修改modsecurity_iis.conf,將檔案中的"Include crs-setup.conf.example"修改為"Include crs-setup.conf"。
修改modsecurity.conf,將"SecRuleEngine DetectionOnly"改為"SecRuleEngine On"。
將解壓後的rules資料夾複製到C:\\Program Files\\ModSecurity IIS\\owasp_crs\\下,同時修改REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf.example與RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf.example兩個檔案的檔名,將".example"刪除,可將自己寫的規則放置於此兩個檔案中。
將c:\\inetpub\\temp\\資料夾與c:\\inetpub\\logs\\賦予IIS_IUSRS與IUSR完全控制權限。
重啟IIS。
四、測試防禦效果
訪問http://伺服器IP或域名/?param=%22%3E%3Cscript%3Ealert(1);%3C/script%3E,檢視防禦效果。
同時可在"控制面板-管理工具-事件檢視器-Windows日誌-應用程式"中檢視攔截日誌。
總結:這兩款WAF都是免費的,GOODWAF是開源免費的雲WAF,ModSecurity是開源免費的軟體WAF,GOODWAF使用比較方便,解析域名就實現了防護。ModSecurity需要安裝軟體能實現防護,適合稍微專業一些人使用。雲WAF適合個人網站和中小網站使用,軟體WAF適合站長和技術方面使用。