Naxsiを利用してNginx上にWAFを構築する

1876 ワード

環境で使用されるパッケージは次のとおりです.https://share.weiyun.com/5VfnzVo
1、  naxsi-0.55.3.tar.gz  /usr/local/src
$ tar xzvf naxsi-0.55.3.tar.gz
2、  nginx
$ ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --add-module=/usr/local/src/nginx-sticky-module-ng --with-pcre=/usr/local/src/pcre-8.20 --add-module=/usr/local/src/naxsi-0.55.3/naxsi_src

$ make && make install

3、       【naxsi_core.rules】    
$ cp naxsi_config/naxsi_core.rules  /usr/local/nginx/conf/

4、    naxsi_core.rules   nginx http   
$ vim /usr/local/nginx/conf/nginx.conf

http {
...
include /usr/local/nginx/conf/naxsi_core.rules;
...
}

5、      【naxsi.rules】
$ vim  /usr/local/nginx/conf/naxsi.rules

#   Naxsi  
SecRulesEnabled;

#       ,           ,             。
#LearningMode;


#           
DeniedUrl "/RequestDenied";

#     
CheckRule "$SQL >= 10" BLOCK;
CheckRule "$RFI >= 8" BLOCK;
CheckRule "$TRAVERSAL >= 4" BLOCK;
CheckRule "$EVADE >= 4" BLOCK;
CheckRule "$XSS >= 8" BLOCK;

6、      location ,    /RequestDenied   
$ vim /usr/local/nginx/conf/nginx.conf

server {

  location / {

  #   Naxsi   
  include  /usr/local/nginx/conf/naxsi.rules;
  root   html;
  index  index.html index.htm;
  }

  #                ,      403。
  location /RequestDenied {
    return 403;
  }
}

7、       【wordpress.rules】
$ vim /usr/local/nginx/conf/wordpress.rules
# WordPress naxsi rules

### HEADERS
BasicRule wl:11,1302,1303,16;

8、  【wordpress.rules】    
location / {

  #   Naxsi   
  include  /usr/local/nginx/conf/naxsi.rules;
  #      
  include  /usr/local/nginx/conf/wordpress.rules;

  root   html;
  index  index.html index.htm;
  }

 :
      : naxsi.rules  LearningMode;    ,  nginx -s reload  .

#       ,           ,             
LearningMode;

参照リンクアドレス:https://www.hi-linux.com/posts/3282.html