ホームページ >バックエンド開発 >PHPチュートリアル >nginxのセキュリティ基盤(nginx+waf+lua)

nginxのセキュリティ基盤(nginx+waf+lua)

WBOY
WBOYオリジナル
2016-07-29 09:15:231283ブラウズ

ドキュメントを提供してくれたインターネット上の偉大な人々に感謝します。

nginx waf +lua セキュリティ モジュールの構築 、nginx 上の Web アプリケーション ファイアウォール

必要なソフトウェア:

1. LuaJIT ダウンロード Web サイト: http://luajit.org (現在の安定バージョン: 2.0.4 )
2、ngx_devel_kit-0.2.19.tar
3、lua-nginx-module-0.9.5rc2.tar
4、master.zip
5、nginx
nginxパッケージを最適化
1、libunwind
2、gperftools

1. LuaJITをインストールします

tar -zxvf LuaJIT.tar.gz

make

make install

インストール後、lib、includeの場所/usr/local/lib および /usr/local/include に直接追加

2. ngx_devel_kit、lua-nginx-module を解凍します

3. 環境変数を設定します

export LUAJIT_LIB=/usr /local /lib
export LUAJIT_INC=/usr/local/include/luajit-2.0
export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH

4. nginx (バージョン 1.6.1) をインストールします、失敗しました1.9.4)

4.1 で最適化された nginx

vim /usr/local/src/nginx-1.6.1/auto/cc/gcc

コメント: #debug
#CFLAGS ="$ CFLAGS -g"

説明: nginx デバッグモジュールをオフにして、nginx インストールパッケージのサイズを削減します

4.2 nginx を最適化します

説明: nginx のパフォーマンスを最適化し、メモリ割り当ての効率と速度を大幅に改善します, 負荷を軽減します。 libunwind と gperftools をインストールする必要があります

4.2.1 libunwind をインストールします

tar -xf /usr/local/src/libunwind.tar.gz

cd /usr/local/src/libunwind CFLA GS =-fPIC ./configure
make CFLAGS=-fPIC
make CFLAGS=-fPIC install

4.2.2 gperftoolsのインストール

tar -xf /usr/local/src/gperftools.tar.gz cd / usr/local/src/gperftools
make && make install

mkdir /tmp/tcmalloc //ファイルを書き込むための tcmalloc スレッドを作成します
777 echo "/usr/local /lib" > /etc/ld.so.conf.d/usr_local_lib.conf #nginx.conf の google_perftools_profiles の設定を有効にして有効化します

4.2.3 nginx をインストールします

cd /usr/local/src/ nginx -1.6.1/

例: 本番環境: ngx_devel_kit-0.2.19 および lua-nginx-module-0.9.5rc2 のパスが正しい必要があることに注意してください--prefix=/usr/local/nginx -- user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module --add-module=/usr/local/nginx_upstream_check_module-master --with-http_stub_status_module - -add- module=/usr/local/src/ngx_devel_kit-0.2.19 --add-module=/usr/local/src/lua-nginx-module-0.9.5rc2 --with-google_perftools_module

make && make install



4.2.4 ngx_lua_waf_master を追加

unzip -o /usr /local/src/ngx_lua_waf_master.zip mv /usr/local/src/ngx_lua_waf_master /usr/local/nginx/conf/waf

#書き込み権限が必要な waf ログを保存するフォルダーを作成します
mkidr /home / niignx_waf_log/

chmod

777 /home/nginx_waf_log/

vim /usr/local/src/nginx/conf/waf/conf.lua

RulePath = "/ usr/local/nginx-help / conf/waf/wafconf/" #wafルールの保存先フォルダーを指定
logdir = "/home/nginx_waf_log" #wafログの保存場所を指定
vim /usr/local/nginx/conf/nginx.conf #pid の下に追加、gperftools ライブラリをサポート google_perftools_profiles /tmp/tcmalloc/tcmalloc.;

#http の下に追加

lua_package_path "/usr/local/nginx/conf/waf/?.lua"; dict lua_shared_limit 10m;
init_by_lua_file; /usr/local/nginx/conf/waf/init.lua;
access_by_lua_file /usr/local/nginx/conf/waf/waf.lua;




次に、nginx を起動し

ウェブサイトのサブ接続を追加しますurl? id=../etc/passwd; ファイアウォールブロックページが表示されるか確認してください
lsof -n | greo tcmalloc 正式に使用する場合は、www で提供されているものを使用してください。 wooyun.org waf モジュール、ルールはニーズに応じて変更できます

上記は、nginx のセキュリティ基盤 (nginx+waf+lua) を、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:DedeCMSの学習次の記事:DedeCMSの学習