欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx安裝配置naxsi waf防火墻的方法實(shí)現(xiàn)

 更新時(shí)間:2024年08月22日 10:10:38   作者:Q.E.D.  
Naxsi是第三方nginx模塊,它也能有效防御,本文主要介紹了Nginx安裝配置naxsi waf防火墻的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

Naxsi 是第三方 nginx 模塊 ,它和 Modsecurity 都是開源 WAF ,但是它們的防御模式不同。 Naxsi 不依賴像防病毒軟件這樣的簽名庫,因此不會(huì)被“未知”攻擊模式所規(guī)避,它就像是 windows 下默認(rèn)的防火墻。Naxsi 和其他 WAF 之間的另一個(gè)主要區(qū)別就是僅過濾 GET 和 POST 請(qǐng)求。

 之前一直在用 modsecurity ,效果還不錯(cuò),但是它對(duì) nginx 支持真的不太好~.~ 。經(jīng)常會(huì)產(chǎn)生大量錯(cuò)誤日志,不過這個(gè)并不影響它的正常功能,只是看著揪心。讓我想更換它的主要原因是 Modsecurity 經(jīng)常在處理某個(gè)請(qǐng)求(正?;虿徽#r(shí),會(huì)突然導(dǎo)致 CPU 99.9% 以上,這是最不能忍受的。

1、Naxsi 和 Modsecurity對(duì)比

WAFNaxsiModsecurity
Nginx 兼容性好(第三方 nginx 模塊)不好(原 Apache 下的模塊,Nginx 下bug較多)
防御模式簡單(不依賴簽名庫)復(fù)雜(依賴更新規(guī)則)
白名單規(guī)則支持支持
安裝難度容易一般(需要安裝依賴庫)
社區(qū)支持一般較好
內(nèi)存占用大?不到哪去
特色支持學(xué)習(xí)模式,可借助 nxapi/nxtool 自動(dòng)分析白名單可開啟只記錄不阻止,但是官方?jīng)]有提供分析工具。
總結(jié)Naxsi 比較靈活,所以學(xué)習(xí)成本較大,白名單規(guī)則需要自己完成。對(duì) Nginx 支持良好,快速輕便。Modsecurity 操作簡單,規(guī)則更新較快,比較占用服務(wù)器資源,對(duì)于生產(chǎn)環(huán)境下的 Nginx 來說是個(gè)噩夢(mèng)

在日常使用中,可以發(fā)現(xiàn) Modsecurity 具有非常嚴(yán)格的防御規(guī)則(誤報(bào)挺多的),并且規(guī)則支持較好(有強(qiáng)大的后臺(tái)?)。如果你使用 Apache 服務(wù)器,推薦使用 Modsecurity WAF。如果你使用的是 Nginx 服務(wù)器,建議先嘗試使用 Naxsi 。

下面就來在 Centos 下編譯安裝 Nginx + Naxsi WAF 。 【占位:Modsecurity 的編譯安裝】

2、編譯 Nginx + Naxsi

首先先運(yùn)行:

# nginx -V

然后可以看到現(xiàn)有的模塊,復(fù)制保存一下備用。

configure arguments: --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-http_mp4_module --with-openssl=../openssl-1.0.2l --with-pcre=../pcre-8.40 --with-pcre-jit --with-ld-opt=-ljemalloc

3、下載 Nginx 和 Naxsi

Naxsi 應(yīng)該使用所有高于 0.8.X 的 Nginx 版本。 Naxsi 版本可以在  https://github.com/nbs-system/naxsi 這里,選擇 Branch –> Tags 查看版本號(hào)。

下載 Nginx 和 Naxsi ,并解壓,然后進(jìn)入解壓后的 Nginx 目錄:

# wget http://nginx.org/download/nginx-1.12.1.tar.gz
# wget https://github.com/nbs-system/naxsi/archive/0.55.3.tar.gz
# tar xvzf nginx-1.12.1.tar.gz 
# tar xvzf naxsi-0.55.3.tar.gz
# cd nginx-1.12.1/

Naxsi 不要求任何特定的依賴,它需要的 libpcre ,libssl ,zlib ,gzip 這些 Nginx 已經(jīng)集成了。

然后編譯(記得在 ./configure 后面加上 --add-module=../naxsi-0.55.3/naxsi_src/ 和你之前備份的模塊):

./configure --prefix=/usr/local/nginx --user=www --group=www --add-module=../naxsi-0.55.3/naxsi_src/ --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-http_flv_module --with-http_mp4_module --with-openssl=../openssl-1.0.2l --with-pcre=../pcre-8.40 --with-pcre-jit --with-ld-opt=-ljemalloc
make //不要 make install,不然就真的覆蓋了

等待編譯完成。Naxsi 安裝完成。

4、替換nginx二進(jìn)制文件

# cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
# cp ./objs/nginx /usr/local/nginx/sbin/

注:如果提示 cp: cannot create regular file ‘/usr/local/nginx/sbin/nginx’: Text file busy ,請(qǐng)先 service nginx stop

5、檢查 nginx 模塊

# nginx -V

看到有 –add-module=../naxsi-0.55.3/naxsi_src/ 就成功了。

6、nginx/naxsi 基本配置

6.1、http 部分配置

打開 nginx.conf 在 http 部分配置:

http {
 include naxsi_core.rules;  #導(dǎo)入 naxsi 核心規(guī)則
 ...
}
server 部分配置
在 nginx.conf 的 server 部分配置:

location / {
   #開啟 naxsi
   SecRulesEnabled;
   #開啟學(xué)習(xí)模式
   LearningMode;
   #定義阻止請(qǐng)求的位置
   DeniedUrl "/50x.html"; 
   #CheckRules, 確定 naxsi 何時(shí)采取行動(dòng)
   CheckRule "$SQL >= 8" BLOCK;
   CheckRule "$RFI >= 8" BLOCK;
   CheckRule "$TRAVERSAL >= 4" BLOCK;
   CheckRule "$EVADE >= 4" BLOCK;
   CheckRule "$XSS >= 8" BLOCK;
   #naxsi 日志文件
   error_log /.../foo.log;
   ...
  }
  error_page   500 502 503 504  /50x.html;
  #This is where the blocked requests are going
  location = /50x.html {
  return 418; #I'm a teapot \o/
  }

6.2、測(cè)試

測(cè)試 nginx 配置

/nginx/sbin/nginx -t
nginx: the configuration file /nginx/conf/nginx.conf syntax is ok
nginx: configuration file /nginx/conf/nginx.conf test is successful 

重啟 nginx

service nginx reload

6.3、防御測(cè)試

瀏覽器中打開 http://www.test.com/?a=<>‘ ,出現(xiàn) 403 錯(cuò)誤,并且在 foo.log 中出現(xiàn) NAXSI_FMT 開頭的日志。恭喜你 Naxsi 啟用成功。

6.4、白名單規(guī)則

Naxsi 社區(qū)提供了一些常用的白名單規(guī)則,例如 wordpress ??梢栽?nbsp; https://github.com/nbs-system/naxsi-rules下載白名單規(guī)則。

然后將規(guī)則 include 到 server 內(nèi)的 location 中。重啟 nginx 即可。不過目前這些白名單最近的修改日期有點(diǎn)久了~.~ ,可根據(jù)自身需要添加白名單規(guī)則。

詳細(xì)的白名單規(guī)則以及 Naxsi 其他支持,可參考  Naxsi WIKI。

到此這篇關(guān)于Nginx安裝配置naxsi waf防火墻的方法實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Nginx安裝配置naxsi waf防火墻內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Nginx 動(dòng)態(tài) DNS 反向代理的幾種寫法

    詳解Nginx 動(dòng)態(tài) DNS 反向代理的幾種寫法

    這篇文章主要介紹了詳解Nginx 動(dòng)態(tài) DNS 反向代理的幾種寫法,詳細(xì)的介紹了Nginx 動(dòng)態(tài) DNS 反向代理的4種方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-05-05
  • 升級(jí)nginx以支持http2的方法

    升級(jí)nginx以支持http2的方法

    本篇文章主要介紹了升級(jí)nginx以支持http2的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • Keepalived+Nginx+Tomcat 實(shí)現(xiàn)高可用Web集群的示例代碼

    Keepalived+Nginx+Tomcat 實(shí)現(xiàn)高可用Web集群的示例代碼

    這篇文章主要介紹了Keepalived+Nginx+Tomcat 實(shí)現(xiàn)高可用Web集群的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • nginx禁止直接通過ip進(jìn)行訪問并跳轉(zhuǎn)到自定義500頁面的操作

    nginx禁止直接通過ip進(jìn)行訪問并跳轉(zhuǎn)到自定義500頁面的操作

    這篇文章主要介紹了nginx禁止直接通過ip進(jìn)行訪問并跳轉(zhuǎn)到自定義500頁面的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Nginx可視化配置工具NginxWebUI的使用

    Nginx可視化配置工具NginxWebUI的使用

    本文主要介紹了Nginx可視化配置工具NginxWebUI的使用,可以使用?WebUI?配置?Nginx?的各項(xiàng)功能,包括端口轉(zhuǎn)發(fā),反向代理,ssl?證書配置,負(fù)載均衡等,感興趣的可以了解一下
    2022-01-01
  • 重啟或殺掉Nginx進(jìn)程后丟失nginx.pid的解決辦法

    重啟或殺掉Nginx進(jìn)程后丟失nginx.pid的解決辦法

    在重啟或殺掉nginx進(jìn)程后,會(huì)丟失nginx.pid文件,導(dǎo)致nginx無法正常啟動(dòng),這里分享下解決方法
    2014-01-01
  • Nginx服務(wù)器作反向代理實(shí)現(xiàn)內(nèi)部局域網(wǎng)的url轉(zhuǎn)發(fā)配置

    Nginx服務(wù)器作反向代理實(shí)現(xiàn)內(nèi)部局域網(wǎng)的url轉(zhuǎn)發(fā)配置

    這篇文章主要介紹了Nginx服務(wù)器作反向代理實(shí)現(xiàn)內(nèi)部局域網(wǎng)的url轉(zhuǎn)發(fā)實(shí)例,文中提到需要注意proxy_read_timeout參數(shù)的相關(guān)調(diào)整,需要的朋友可以參考下
    2016-01-01
  • 使用Nginx和Lua進(jìn)行JWT校驗(yàn)介紹

    使用Nginx和Lua進(jìn)行JWT校驗(yàn)介紹

    大家好,本篇文章主要講的是使用Nginx和Lua進(jìn)行JWT校驗(yàn)介紹,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下
    2021-12-12
  • 使用Nginx搭載rtmp直播服務(wù)器的方法

    使用Nginx搭載rtmp直播服務(wù)器的方法

    這次我們搭建一個(gè)rtmp直播服務(wù)器,用于電腦或手機(jī)直播推流到服務(wù)器,然后其他終端如電腦或手機(jī)可以觀看直播的視頻畫面。接下來通過本文給大家分享使用Nginx搭載rtmp直播服務(wù)器的問題,感興趣的朋友一起看看吧
    2021-10-10
  • Nginx中split_clients模塊的使用

    Nginx中split_clients模塊的使用

    split_clients模塊可以輕松地實(shí)現(xiàn)A/B測(cè)試,本文主要介紹了Nginx中split_clients模塊的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-06-06

最新評(píng)論