nginxの動的なIPのブラックとホワイトリストの建物のウェブファイアウォール(ngx_white_black_list)

機能の説明:
ブラックリストIPネットワークでは、Webサービスにアクセスすることができません。
Webサービスにアクセスする際にホワイトリストのIPで、nginxのは、すべてのセキュリティ・モジュールを制限しません。
ダイナミックブラックリストのサポート(ngx_http_limit_reqで作業する必要があります)
詳細な説明以下の詳細
ファイルの設定手順
I.定義黒またはホワイトリスト方式:
1.設定フォーム
設定キーワード黒または白のリストファイル保存スペース
white_black_list_confのconf / white.listゾーン=白:2メートル。
  | | | |
  | | | --------------------------------------ここ収納スペースは2メートルのスペースです。黒と白のリストの容量を決定します
  | | ------------------------------------------------ ---------------------------------------------収納スペース名
  | ------------------------------------------------- --------------ブラックまたはホワイトリストプロファイルパス
  ------------------------------------------------構成コマンド
2.キーワードwhite_black_list_confを設定します。
3. HTTPは{}でのみ使用することができます
単に値が異なっていてもよく、複数のゾーン=値を設定することができwhite_black_list_conf 4。
5.設定例:
HTTP {
        ......
        white_black_list_conf CONF / white.listゾーン=白:4メートル。
        white_black_list_conf CONF / black.listゾーン=黒:4メートル。
        ......
        サーバ{
        .......
        }
        .......
}
第二に、黒と白のリストの範囲
1.設定フォーム
オン/オフの設定のキーワード
設定キーワードは次のとおりです。ホワイトリストとブラックリストを表すために使用されwhite_listとblack_list
2がHTTP {}、サーバ{}、{場所}で使用することができ、デフォルトでは無効になって
3.設定例:
HTTP {
        ......
        white_black_list_confのconf / white.listゾーン= white1:4メートル。
        white_black_list_confのconf / black.listゾーン= black1:4メートル。
        {HTTPを通して開いているwhite1#ホワイトリスト};でwhite_list white1
        上black_list black1;#ブラックリストBLACK1は} {HTTPを通して開いています
        サーバ{
                .......
        }
        .......
}
HTTP {
        ......
        white_black_list_confのconf / white.listゾーン= white2:4メートル。
        white_black_list_confのconf / black.listゾーン= black2:4メートル。
        サーバ{
                .......
                white_listにwhite2、サーバ全体で開いているwhite1#ホワイトリスト{}
                サーバ全体で開いているblack1#ブラックリスト{};でblack_list black2
                .......
        }
        .......
}
HTTP {
        ......
        white_black_list_confのconf / white.listゾーン= white3:4メートル。
        white_black_list_confのconf / black.listゾーン= black3:4メートル。
        white_black_list_confのconf / black.listゾーン= black2:4メートル。
        white_black_list_confのconf / white.listゾーン= white2:4メートル。
        サーバ{
                .......
                位置/ DO {
                        ........
                        white_listにwhite3;位置オンwhite3#ホワイトリストが/で} {行います
                        black_list black3オン;#ブラックリストブラック3が位置オン/ {}は、で行います
                        ........
                }
                位置/ DO1 {
                        white_listにwhite2、サーバ全体で開いているwhite2#ホワイトリスト{}
                        ブラックリストBLACK2はサーバ全体で開いている#{};上black_list black2
                }
                .......
        }
        .......
}
HTTP設定インターフェイス説明:
、設定インタフェース
HTTP {
        .......
        サーバ{
                ......
                位置/ sec_config {
                        上sec_config;
                }
                ......
        }
        .......
}
第二に、構成:
1.のhttp:// XXX / sec_config事情に定義のブラックリストとホワイトリストを参照してください
次の結果が返さ
{
        "バージョン": "nginxの/ 1.3.0"、
        "コード": "0"、
        "アイテム":{
                "conf_type": "white_black_list_conf"、
                "ZONE_NAME": "白"、
                "list_path": "/home/john/nginx/conf/white.list"
        }、
        "アイテム":{
                "conf_type": "white_black_list_conf"、
                "ZONE_NAME": "黒"、
                "list_path": "/home/john/nginx/conf/black.list"
        }、
        "アイテム":{
                "conf_type": "white_black_list_conf"、
                "ZONE_NAME": "EX"、
                "list_path": "/ホーム/ジョン/ nginxの/ confに/ status_ex"
        }
}
list_pathの白の特定のコンテンツを視聴する2. HTTP :? // XXX / sec_config ZONE_NAME =白ZONE_NAME
3. HTTP :? // XXX / sec_config ZONE_NAME =白&ADD_ITEM = 192.168.141.23 192.168.141.23として白色ZONE_NAMEために添加
4. HTTP :? // XXX / sec_config ZONE_NAME =白&delete_item = 192.168.141.23 192.168.141.23 ZONE_NAME白に削除されます
ビューの設定方法2:
http:// XXX / sec_config for_each
ファイルの内容の第三に、黒と白のリスト
次のようにconfに/ black.list文書が読み込み
2.2.2.2
192.168.141.1
3.3.3.3
4.4.4.5
2.3.4.4
第四に、ダイナミックブラックリスト
    ngx_http_limit_req_module.cのパッチを適用する必要があり、この機能を使用するには
    ngx_http_limit_req_module.cで
    增加する#include <white_black_list.h>
    そして見つけるためにコードを変更します。
    "
    IF(RC NGX_BUSYを==){
        ngx_log_error(lrcf-> limit_log_level、R-> Connection(接続) - > Connectログ、0、
                      %のVの\ ": "リクエストを制限し、過剰。ゾーン\よる%UI%の03ui""、
                      過剰/ 1000、過剰%1000年、
                      &リミット - 側> shm_zone-> shm.name);
        "
    その次の増加で:
    ngx_black_add_item_interface(R、1);
        キーワードで:
                dyn_black
        フォーマット:
                $ ZONE_NAME時間をdyn_black。
        例えば:
                黒60 dyn_black; 60秒に//無効にアクセスし、自動的に60秒後にリリース
        注意:
                あなたはblack_list設定する必要があります
        設定例:
                HTTP {
                        ....
                        white_black_list_conf CONF / black.listゾーン=黒:4メートル。
                        limit_req_zone $ binary_remote_addrゾーン= 1:8メートル率= 4R /秒;
                        ...
                        サーバー{
                                位置/ {
                 black_list黒に。
                 limit_reqゾーン= 1つのバースト= 6。
                 黒60 dyn_black; 60秒に//無効にアクセスし、自動的に60秒後にリリース
                 ...
                 }
                 位置/ XXX {
                 上sec_config;
                 }
                 ...
                        }
                        ...
                }
参考記事
プロジェクトアドレスします。https://github.com/codehunte/ngx_white_black_list
プロジェクト文書ます。https://github.com/codehunte/ngx_white_black_list/blob/master/white_black_list.txt
ウェブサイト: 運転・保守寿命の   URLます。http://www.ttlsa.com/html/4145.html

ます。https://my.oschina.net/766/blog/211390で再現

おすすめ

転載: blog.csdn.net/weixin_33713350/article/details/91493206