我、實戰nginx+naxsi(WAF)之一


      差不多,一個星期多的時間都過去了。但是還是感覺時間過的太快,總是不禁的讓人長嘆一聲,關於nginx和(naxsi)WAF這個問題,也算是只走出了第一步,在遇到了各種亂七八糟的錯誤之后總算是想要靜下心來寫一些自己這小段時間里的一些感受或者是算不上總結的總結。參考的文章也很多,我在這里把所有的東西都融到一起,像我一樣的小白希望你們遇到的時候能幫的上你們,而對於熟悉Linux環境和各種錯誤的人也希望能幫助到你們。

      言歸正傳,我們開始我們的實戰之旅。

第一部分---安裝nginx+naxsi

      首先,我說一下我的環境是ubuntu14.04LTS版本,並且是在root用戶下進行操作的,省去了很多麻煩,至於其他的版本也應該是大同小異的,區別也極有可能只是命令的不通而已。

1 下載nginx源碼:wget http://nginx.org/download/nginx-1.7.9.tar.gz

2 下載naxsi源碼:wget https://naxsi.googlecode.com/files/naxsi-core-0.51-1.tgz

(注意:這個網址是在谷歌,所以自己想辦法下載,我當時使用辦法是在windows系統下下載好之后再挪進虛擬機的。為什么要這樣做我想你能懂。)

3 安裝開發包  apt-get install libpcre3-dev libpcre3 gcc make zlib1g-dev

(注意:這些安裝包還是先安裝比較好,省去以后需要時才安裝帶來的麻煩,當然以后要是需要其他的開發包等時,可以那時再安裝。)

4 解壓縮、編譯

(我之前把所有的包全部放在了統一的目錄下方便進行操作)

tar xzvf nginx-1.7.9.tar.gz

tar xzvf naxsi-core-0.51-1.tar.gz

執行編譯:

在編譯安裝nginx之前請確定你沒有安裝apache,如果已經安裝請你先卸載在安裝。

./configure --add-module=/home/stone/Downloads/naxsi-core-0.51-1/naxsi_src --prefix=/home/stone/Downloads/nginx(這一步要在解壓之后的nginx文件目錄下執行)

附圖解釋:

執行 make&& make install;

結束,之后在我的Downloads目錄下生成了一個nginx文件夾,這就是安裝之后的nginx。

5 運行nginx

生成的可執行的nginx文件在/home/stone/Downloads/nginx/sbin目錄下,即你編譯生成的nginx文件夾下的sbin文件夾里面。(當時我不知道之前的編譯命令是什么意思,結果在指定安裝目錄的時候我就寫的是nginx1.7.9,就生成了一個nginx1.7.9的文件夾

執行命令:./nginx(啟動nginx)

訪問127.0.0.1出現歡迎界面:

      這里的nginx的目錄就是你指定的目錄,比如,我的就是/home/stone/Downloads/nginx1.7.9

      我們下面可以測試一下我們定制安裝的nginx是否已經安裝成功了:

我的命令是這樣的:./nginx -t

注意:有的文章上面寫的是nginx -t,如果在我的那個目錄下也敲nginx -t命令的話會出現這樣的狀況:

      我們可以看到了,系統應該是已經自帶有安裝包的,如果你執行了安裝命令的話,我們使用源碼安裝的意義就沒有了,所以,個人覺得命令應該是./nginx -t。

     接下來,我們需要將nginx配制成反向代理,

6 配置反向代理

     第一,首先我們要清楚的知道nginx的安裝目錄,我的安裝目錄是指定到了/home/stone/Downloads/nginx1.7.9

   

     接着,我們進入naxsi的目錄下,將naxsi的核心配置拷貝到nginx的配置文件夾下(即nginx1.7.9/conf文件夾下)。也可以用命令行的形式進行這個過程:

cp /home/stone/Downloads/naxsi-core-0.51-1/naxsi_config/naxsi_core.rules /home/stone/Downloads/nginx1.7.9/conf/
      完成這一步之后,我們要配置一下nginx.conf的配置文件,加入配置,讓其包含naxsi的核心規則庫文件:

然后需要定義一個虛擬主機的安全規則,我參考的內容如下,並且我將它命名為naxsi_nbs.rules(你可以將它命名為test.rules否可以):

然后這個文件在conf文件夾下,之后在配置配置文件的時候需要將該文件包含在配置文件中,

形如:include  /home/stone/Downloads/nginx1.7.9/conf/

      到此為止,我們的nginx+naxsi安裝以及關聯已經告一個小小的段落,之后還有一些詳細的配置文件的內容介紹,我將在下一篇隨筆里面介紹。

      在這過程之間,我曾遇到過一下問題,如果你們也遇到了和我一樣的問題,那么我之前的時候記錄的一篇關於遇到的一些問題思路或解決方法的隨筆也許可以幫到你們:

http://www.cnblogs.com/stone-dan-dan/p/stone.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM