2022-10-11 分類: 網(wǎng)站建設(shè)
簡介
一直都有用戶建議我們開發(fā)木馬掃描,木馬清理模塊,但我們認(rèn)為與其亡羊補牢,不如直接在源頭上阻止站點被掛馬的事情發(fā)生,《寶塔網(wǎng)站防火墻》是基于nginx/apache模塊開發(fā)的一套應(yīng)用層防火墻,能有效阻止大部分滲透攻擊,且提供高度自由的規(guī)則自定義功能,為站點加一道銅墻鐵壁,目前寶塔官網(wǎng)、官方論壇已經(jīng)成為《寶塔網(wǎng)站防火墻》的首個用戶,效果良好。使用場景:
1.遭受CC攻擊、部分流量攻擊的用戶
2.遭受SQL注入、XSS/XSRF之類的滲透攻擊的用戶
3.遭受惡意上傳腳本、webshell等危險行為的用戶
4.希望屏蔽境內(nèi)或境外地區(qū)訪問自己網(wǎng)站的用戶
5.希望通過UA、IP黑白名單管理網(wǎng)站訪問規(guī)則的用戶
6.希望可視化管理網(wǎng)站防御規(guī)則的用戶
7.希望實時展示防火墻攔截狀態(tài)的用戶
8.適合想要查看攻擊來源、被攻擊的URI、保護(hù)的目錄,但又不會看的用戶
9.適合網(wǎng)站不需要某些蜘蛛來訪,但又不會禁止的用戶
10.適合網(wǎng)站被掃描器惡意掃描,但又不會禁止的用戶
11.適合網(wǎng)站發(fā)文章不想要某些敏感詞出現(xiàn),但又不會設(shè)置的用戶
12.應(yīng)用場景包含所有動態(tài)網(wǎng)站
兼容性:僅支持主程序Nginx1.18以上的版本使用,如果低于此版本請更換至更高版本。另外,需要LuaJIT組件的支持,安裝Nginx時請使用編譯安裝模式,如果您已經(jīng)安裝的Nginx并非編譯安裝,請在業(yè)務(wù)不忙時重新編譯安裝后再安裝Nginx防火墻。
注意:
1、請根據(jù)自己的網(wǎng)站環(huán)境 選擇是支持Nginx還是支持Apache的防火墻
2、如果您不了解正則表達(dá)式,請不要隨意修改防火墻自帶規(guī)則
快速預(yù)覽(僅是圖片展示,后文有更詳細(xì)的插件使用說明)
安裝步驟如下:
登錄寶塔面板-->軟件商店-->【關(guān)鍵詞搜索:Nginx防火墻】或【點擊專業(yè)版插件】-->網(wǎng)站監(jiān)控報表-->安裝
插件使用快速入門:
【概覽】
插件安裝后可直接點擊寶塔面板左側(cè)【防火墻】按鈕,即可訪問新版防火墻的管理頁面。
啟動后它展示的默認(rèn)頁是概覽頁,它將展示的內(nèi)容有總攔截次數(shù)、24小時攔截次數(shù)、CC攔截次數(shù)以及保護(hù)天數(shù)。在第二第三欄中更有封鎖IP列表、攻擊地圖、7天攔截趨勢圖、今日網(wǎng)站攔截TOP5與防御動態(tài)展示。
概覽頁互動操作如下
1.封鎖IP列表、攻擊地圖下攻擊IP排行榜、防御動態(tài)鼠標(biāo)滑輪滾動查看;
2.攻擊IP排行榜點擊IP可直接將IP加入黑名單;
3.防御動態(tài)某一條目點擊詳情可查看攔截的具體信息。
【攻擊地圖】
此頁面將展示攻擊者的地圖詳情,圖形化展示攻擊者的來源以及承受的攻擊情況。
初次使用時,請先點擊設(shè)置,設(shè)置您的所在地,以獲得好體驗。
注:地圖僅供參考,目前尚在測試階段,請以實際為準(zhǔn)。
【攻擊列表】
攻擊報表頁面將展示保護(hù)類型前10萬條的數(shù)據(jù)、攻擊IP排行榜、攻擊IP報表、被攻擊的URI報表與攔截搜索功能。
攻擊列表頁互動操作如下
1.鼠標(biāo)移動到保護(hù)類型頁可顯示各類型的數(shù)值;
2.點擊攻擊IP排行榜的IP可直接將IP加入黑名單;
3.在IP報表、URI報表、攔截搜索項中切換。
IP報表
此項功能有:顯示所有攻擊者的真實IP,可直接點擊IP或詳情,從而查看該IP對哪些URI進(jìn)行了攻擊。每個URL后面還可以查看URI訪問的詳情與HTTP。
URI報表
此項功能有:顯示所有被攻擊的URI列表,可直接點擊URI或詳情,從而查看該URI被攻擊的詳細(xì)情況。
攔截搜索
此項功能有:可選擇所有站點或單個站點搜索包含IP、URI、URL或時間類型的搜索。
注意:如果當(dāng)前攔截信息為/111.php?uid=1,則URi為/111.php,URL為/111.php?uid=1
【全局設(shè)置】
全局設(shè)置頁面將展示防火墻的所有功能,可在此設(shè)置全局規(guī)則、各種類型的黑白名單、響應(yīng)狀態(tài)碼等。當(dāng)前頁面支持導(dǎo)入導(dǎo)出防火墻的配置(僅支持Nginx防火墻內(nèi)的規(guī)則導(dǎo)入導(dǎo)出),恢復(fù)默認(rèn)防火墻配置、模擬攻擊測試等。
開始前請詳細(xì)閱讀下列提示,非常重要、非常重要、非常重要。
繼承:全局設(shè)置將在站點配置中自動繼承為默認(rèn)值,現(xiàn)有站點不受全局設(shè)置的影響,新增站點才會直接自動繼承的應(yīng)用全局設(shè)置。
優(yōu)先級:IP白名單> IP黑名單 > UA白名單> UA黑名單> URL關(guān)鍵詞攔截 > URL白名單 > URL黑名單 > 禁止境外> 禁止境內(nèi)> > 非瀏覽器攔截> User-Agent > CC防御 > Cookie > URI過濾 > URL參數(shù) > Thinkphp防御> POST > 網(wǎng)站自定義防御
CC防御
互動操作:設(shè)置響應(yīng)代碼、開關(guān)防御狀態(tài)、初始化規(guī)則。
注意:全局CC設(shè)置的是初始值,新添加站點時將繼承,對現(xiàn)有站點無效,已經(jīng)存在被攻擊現(xiàn)象的站點前往站點配置即可。
規(guī)則說明:
1.標(biāo)準(zhǔn)模式與增強模式:默認(rèn)為標(biāo)準(zhǔn)模式,網(wǎng)站正常使用時建議使用標(biāo)準(zhǔn)模式,避免收錄時出現(xiàn)問題,增強模式中有人機校驗方式設(shè)置。
2.請求類型有4種攔截方式,分為URL帶參數(shù)、URL不帶參數(shù)、IP、IP+UA
2.1.URL帶參數(shù)(適用于絕大場景防御效果一般)
例如:設(shè)置了URL帶參數(shù)60秒周期60次頻率,此刻Nginx防火墻做出的動作是某個IP在60秒內(nèi)累計請求同一個URL(帶參數(shù))超過60次就會觸發(fā)攔截。
例如:/index.php/index/login?username=admin,那么他的是代表整個URI去計算的(/index.php/index/login?username=admin),也就是URL不變的情況下去請求這個URL就會觸發(fā)攔截。
2.2.URL不帶參數(shù)(不適用于Thinkphp默認(rèn)路由)
例如:設(shè)置了URL不帶參數(shù)60秒周期60次頻率,此刻Nginx防火墻做出的動作是某個IP60秒內(nèi)累計請求同一URL(不帶參數(shù))超過60次就會觸發(fā)攔截。
例如:/index.php/index/login?username=admin,那么Nginx防火墻會用URI去計算(/index.php/index/login),也就是URL(不帶參數(shù))不變的情況下去請求這個URL才會觸發(fā)攔截。
2.3.IP(受到大量攻擊的時候適用)
例如:某個IP60秒周期內(nèi)訪問服務(wù)器內(nèi)所有網(wǎng)站的總次數(shù)超過60次的頻率將會觸發(fā)攔截,建議在受到攻擊的時候開啟。注意:不建議一直開啟!
2.4.IP+UA(適用于API接口)
例如:某個IP+UA60秒周期內(nèi)訪問服務(wù)器內(nèi)所有網(wǎng)站的總次數(shù)超過60次頻率將會觸發(fā)攔截。注意:建議不要開啟,只適用于API網(wǎng)站!
3.周期、頻率、封鎖時間:xx秒周期內(nèi)累計請求同一URL超過xx次頻率,觸發(fā)CC防御,封鎖此IPxx秒,所有時間取1天,最長不會超過86400秒。
例如:60秒周期內(nèi)累計請求同一URL超過180次頻率,觸發(fā)CC防御,封鎖此IP300秒。
注意:IP封鎖不等于拉黑名單,需要加黑名單需自行點擊添加。請不要設(shè)置過于嚴(yán)格的CC規(guī)則,以免影響正常用戶體驗。
4.增強模式-人機校驗:可設(shè)置自動開啟/一直開啟,自動開啟可設(shè)置觸發(fā)條件,例如60描述被訪問600次觸發(fā)開啟人機校驗。人機校驗有4種校驗方式,分為跳轉(zhuǎn)驗證、驗證碼驗證、人機驗證、滑動驗證,只是驗證方式不同,看個人喜好開啟哪種,如果開啟后無法正常顯示,手動重啟nginx主程序即可。
惡意容忍度
某一IP對網(wǎng)站進(jìn)行了多少次的惡意請求后,nginx防火墻將進(jìn)行對該IP的封鎖。這不同于CC防御,惡意請求有可能是SQL注入、XSS等惡意傳參、CC,當(dāng)此IP的訪問行為達(dá)到了設(shè)置的閾值,nginx防火墻就會做出封鎖動作。
舉例:192.168.1.10這個IP對www.bt.cn網(wǎng)站60秒進(jìn)行了10次惡意攻擊(包含SQL注入、XSS),觸發(fā)了防火墻設(shè)置的閾值,此時防火墻將會對192.168.1.10進(jìn)行攔截。
注意:全局應(yīng)用:全局設(shè)置當(dāng)前惡意容忍規(guī)則,且覆蓋當(dāng)前全部站點的惡意容忍規(guī)則。
IP黑白名單
設(shè)置后,所有規(guī)則對IP白名單無效,IP白名單前文提到位居規(guī)則頂端。IP黑名單設(shè)置后既在nginx防火墻禁止此IP訪問所有網(wǎng)站。
建議使用場景:自己的服務(wù)器間互動、公司內(nèi)測試、公司的其他服務(wù)器IP、需要測試的服務(wù)器IP等加入IP白名單(如果沒有需求就不用設(shè)置IP白名單)。IP黑名單使用場景可以禁止某個或某個段的IP訪問、某個段的蜘蛛爬蟲,將需要拉黑的IP添加進(jìn)入即可。
URL黑白名單
設(shè)置后,只要是關(guān)于添加的URL請求,都是進(jìn)行URL黑白名單過濾,白名單設(shè)置后該URL將會失去大部分防御規(guī)則。
注意格式:例如誤攔截的url如下: /index/index/aaa.php?id=eradasa&adas,只需要填寫它的URL,不需要添加它的參數(shù)。
有添加URL黑白名單的需求是,操作如下:^/index/index/aaa.php,只需要添加^/index/index/aaa.php到URL黑白名單即可。
UA黑白名單
設(shè)置后,UA白名單查詢到關(guān)鍵詞直接跳過任何攔截,UA黑白名單初始化階段在客戶端UA中查找關(guān)鍵詞,謹(jǐn)慎使用。UA白名單默認(rèn)為空,沒有就一直保持空即可。建議使用場景:例如可以禁用Google蜘蛛的UA到黑名單中,可以禁止某個瀏覽器UA訪問,例如safari等。
非瀏覽器攔截
攔截非瀏覽器請求,通過UA判斷是否是爬蟲,此功能不會攔截真實的蜘蛛爬蟲。
建議使用場景:此開關(guān)將應(yīng)用所有網(wǎng)站,建議開啟。另外如果使用了微信小程序外部調(diào)用,建議關(guān)閉此功能,因為微信那邊驗證網(wǎng)站也是非瀏覽器行為。
HTTP請求過濾
可選擇過濾的請求類型、請求頭過濾、語義分析開關(guān)等。
請求類型包含:POST、GET、OPTIONS、DELETE等;如果您只想允許POST和GET類型使用,其他的都不要,除了POST和GET其他的都關(guān)閉即可。
請求頭包含:origin、content-type、accept、user-agent、cookie等;請求頭過濾是過濾的請求頭的字段長度。
例如:請求頭中的cookie頭部只能500字節(jié)以內(nèi),那么超過這個長度就被視為惡意的請求觸發(fā)攔截。
語義分析開關(guān):POST傳參XSS防御、POST傳參SQL注入防御、GET傳參XSS防御、GET傳參SQL注入防御。
建議使用場景:默認(rèn)既全部開啟,不建議關(guān)閉、不建議關(guān)閉、不建議關(guān)閉。
GET(GET-URL)、POST、UA(User-Agent)過濾、Cookie過濾、常見掃描器
GET-參數(shù)過濾 --> 對GET類型的參數(shù)進(jìn)行過濾
GET-URL過濾 --> 對URI 進(jìn)行過濾
User-Agent過濾--> 對客戶端的UA進(jìn)行過濾
POST過濾-->對POST傳遞的參數(shù)進(jìn)行過濾
Cookie過濾--> 對客戶端傳遞的Cookie進(jìn)行過濾
常見掃描器-->對已知的掃描器進(jìn)行封鎖
建議:保持默認(rèn)即可,不建議修改;需要自定義規(guī)則時,建議添加新的規(guī)則,不建議改動原來的,全部支持正則表達(dá)式。
GET(GET-URL)
GET參數(shù)和GET-URL的區(qū)別
例如:/index.php?id=1&id2=1,id=1&id2=1是過濾的參數(shù)和值,index.php是URI。
那么GET參數(shù)過濾只會取GET傳遞的參數(shù),進(jìn)行判斷是否是惡意的參數(shù);而GET-URL這塊主要攔截的是一個備份文件被非法下載、sql文件被下載等。
UA(User-Agent)過濾
這里是對用戶的惡意UA 進(jìn)行了攔截,例如攔截go的UA直接填入go即可,支持正則。
POST、Cookie過濾、常見掃描器
這里是對POST的傳遞參數(shù)、用戶提交的Cookie進(jìn)行過濾,常見掃描器是對掃描器的特征去匹配。
禁止境內(nèi)外訪問
字面意思,設(shè)置后可禁止境內(nèi)或境外訪問,用戶可自行點擊設(shè)置設(shè)置IP,境外IP庫可同步云端。
注意:不建議兩個都開啟,兩個都開啟后只能本地訪問。
From-data協(xié)議、HTTP包、蜘蛛池、URL關(guān)鍵詞攔截、違禁詞攔截、API接口防御
Webshell查殺-->動態(tài)查殺webshell
From-data協(xié)議-->針對文件上傳格式傳輸數(shù)據(jù)進(jìn)行規(guī)范
蜘蛛池--->蜘蛛IP進(jìn)行整合
URL關(guān)鍵詞攔截-->針對URL某些關(guān)鍵詞進(jìn)行攔截(不記錄日志)
違禁詞攔截-->針對用戶傳遞的文字進(jìn)行攔截,例如用戶發(fā)帖的違禁詞進(jìn)行攔截
API接口防御-->針對已經(jīng)加入白名單的接口進(jìn)行單獨防御
From-data協(xié)議
協(xié)議是multipart傳輸數(shù)據(jù)的一種格式規(guī)范,不符合規(guī)范的將會觸發(fā)攔截。
HTTP包
默認(rèn)攔截的HTTP日志只會記錄1M 之內(nèi)的記錄,如果超過1M的HTTP包默認(rèn)不會記錄,如果您在日志中發(fā)現(xiàn)了大于1M的包希望記錄它,您可以開啟此功能。
注意:此功能默認(rèn)關(guān)閉。
蜘蛛池
云端有存儲百度、谷歌、360、搜狗、雅虎、必應(yīng)、頭條的蜘蛛池,除了這些,用戶可以對蜘蛛池自行增刪蜘蛛。
API接口防御
API防御指的是部分API在白名單的情況下有需要對某些接口進(jìn)行CC防御,API書寫格式例如:^/api/getuserinfo$,寫法需注意一定得用^開頭和$結(jié)尾。
模擬攻擊
模擬攻擊為:模擬黑客進(jìn)行SQL注入獲取數(shù)據(jù)庫權(quán)限,不會影響業(yè)務(wù)的正常運行。
如果您的IP在IP白名單中測試則無效果。
如需測試其他的網(wǎng)站可使用(http://網(wǎng)站域名/?id=/etc/passwd)進(jìn)行攻擊。
返回攔截信息則表示攔截成功,如發(fā)現(xiàn)未攔截,建議更新至最新版。
導(dǎo)出導(dǎo)入配置
僅導(dǎo)出全局配置(CC配置、惡意容忍度配置、IP黑白名單、UA黑白名單、URL黑白名單、敏感文字替換、URL關(guān)鍵詞攔截),不包含站點配置。
GET、POST、URL、UA、Cookie僅導(dǎo)出響應(yīng)碼和開關(guān)狀態(tài),不包含內(nèi)部規(guī)則。
建議使用復(fù)制或下載按鈕,選中復(fù)制有可能遺漏密鑰,導(dǎo)致導(dǎo)入或?qū)С鰰r失敗。
恢復(fù)默認(rèn)配置
將會清除所有配置、恢復(fù)到默認(rèn)配置、包括URL黑白名單、IP黑白名單等所有規(guī)則項。
【站點設(shè)置】
站點設(shè)置頁面將所有已有站點展示在此,可在此設(shè)置頁面對某一個網(wǎng)站進(jìn)行單獨的規(guī)則設(shè)置。此頁可直接對GET、POST、UA、Cookie、禁止境內(nèi)外、CDN、CC防御以及主防御開關(guān)進(jìn)行設(shè)置。
批量操作互動如下:開關(guān)Get攔截、開關(guān)Post攔截、開關(guān)UA操作、開關(guān)CC防御、開關(guān)Cookie攔截、開關(guān)禁國外攔截、開關(guān)禁國內(nèi)攔截、開關(guān)CDN攔截、開關(guān)狀態(tài)。
CDN選項
開啟了云WFA,比如阿里云、云鎖之類的第三方安全軟件,需要開啟CDN選項。兼容阿里云、又拍云、Cloud Flare、阿里云WAF、和其他的CDN。
另外,對于百度云CDN兼容方案如下:CDN設(shè)置-->開啟兼容百度CDN-->即可獲取百度云CDN傳遞過來的客戶端真實IP。
注意:當(dāng)網(wǎng)站部署了CDN之后,一定得開啟CDN按鈕,不然會攔截CDN的節(jié)點IP。
攔截記錄
此頁面將展示某個站點今日、昨日、近7天、近30天或自定義時間的攔截記錄。
互動操作如下:
1.用戶可點擊IP加入IP黑名單;
2.用戶可點擊誤報,將URL加入URL白名單;(慎點,確定需要點才點)
3.用戶可查看請求的詳情以及HTTP原文。
【設(shè)置】
禁止執(zhí)行PHP的URL:禁止指定的URL運行PHP腳本
禁止訪問的URL:禁止訪問指定的URL
禁止擴展名:禁止訪問指定的擴展名
禁止上傳的文件類型:禁止上傳指定的文件類型
受保護(hù)的URL
通過自定義參數(shù)加密URL地址,參數(shù)錯誤將被攔截。
支持正則表達(dá)式,可用于保護(hù)網(wǎng)站后臺地址,API接口等非公眾URI地址不被滲透,參數(shù)名與參數(shù)值對大小寫敏感,設(shè)置受保護(hù)的URL,訪問該URL時必需帶有指定的參數(shù)名和參數(shù)值,否則將被防火墻攔截。
假設(shè)URI地址:^/admin/admin.php,參數(shù)名:test,參數(shù)值:bt.cn
正確的訪問方式:/admin/admin.php?test=bt.cn
URL專用過濾
為特定URL地址設(shè)置過濾規(guī)則,可用于加強登錄入口、回帖評論等接口的保護(hù),快速修補第三方程序安全漏洞,參數(shù)名與參數(shù)值對大小寫敏感。
注意:本過濾器同時作用于GET和POST參數(shù)。
防盜鏈
防盜鏈設(shè)置,默認(rèn)允許資源被直接訪問,即不限制HTTP_REFERER為空的請求,多個URL后綴與域名請使用英文狀態(tài)下的逗號(,)隔開,如:png,jpeg,zip,js
當(dāng)觸發(fā)防盜鏈時,將直接返回404狀態(tài)。
【木馬查殺】
此頁功能為:當(dāng)前掃描內(nèi)容為疑似木馬文件,掃描方式基于當(dāng)前規(guī)則庫,可自行添加掃描規(guī)則。
掃描出來的文件,都需要使用寶塔檢測與第三方檢測來檢測當(dāng)前文件是否有問題,如有一方檢測為webshell文件,請立即刪除此問題。
另外需要特別注意:最終決定權(quán)在用戶手上,可能當(dāng)前的規(guī)則誤報了您的文件,規(guī)則是死的人是活的,您需要自行檢查文件代碼是否真的有問題,如無問題,請點擊誤報。
【封鎖記錄】
此頁面將展示每個站點的封鎖記錄,記錄了有時間、IP、站點、封鎖的原因、封鎖時常等。
用戶可互動操作如下
1.對攔截記錄點擊誤報;
2.對攔截的IP進(jìn)行拉黑;
3.解封當(dāng)前攔截;
4.可查看攔截詳情和HTTP請求;5.用戶可選擇每頁展示多少條記錄。
【操作日志】
此頁面記錄所有Nginx防火墻的功能性操作,比如設(shè)置CC規(guī)則、給某個IP添加了黑白名單、URL黑白名單等等,所有操作記錄都會記錄在此。
新聞名稱:寶塔面板Nginx網(wǎng)站防火墻使用說明
網(wǎng)址分享:http://jinyejixie.com/news37/204487.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計、網(wǎng)站維護(hù)、面包屑導(dǎo)航、建站公司、小程序開發(fā)、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容