亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > Nginx > 正文

為Nginx服務器配置黑名單或白名單功能的防火墻

2024-08-30 12:28:00
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了為Nginx服務器配置黑名單或白名單功能的防火墻的方法,文中還附帶介紹了一個基于lua的第三方防火墻模塊,需要的朋友可以參考下
 

功能描述:
處在黑名單中的ip與網絡,將無法訪問web服務。
處在白名單中的ip,訪問web服務時,將不受nginx所有安全模塊的限制。
支持動態黑名單(需要與ngx_http_limit_req 配合)
具體詳見下面的說明
文件配置方法說明
一、定義黑名單或白名單方法:
1. 配置格式
配置關鍵字 黑名單或白名單文件 存儲空間
white_black_list_conf conf/white.list zone=white:2m;
  | | | |
  | | | --------------------------------------存儲空間大小 這里是2m. 空間大小決定黑白名單的容量
  | | ---------------------------------------------------------------------------------------------存儲空間名
  | ---------------------------------------------------------------黑名單或白名單配置文件路徑
  ------------------------------------------------配置命令
2. 配置關鍵字 white_black_list_conf。
3. 只能在http{} 中使用
4. white_black_list_conf可以配置多個 只需 zone=value 其中的value不同就可
5. 配置示例:

http{    ......    white_black_list_conf conf/white.list zone=white:4m;    white_black_list_conf conf/black.list zone=black:4m;    ......    server{    .......    }    .......}

二、黑白名單作用范圍
1. 配置格式
配置關鍵字 on/off
配置關鍵字有:white_list 與 black_list 分別用來表示白名單與黑名單
2. 能在http{}、server{}、location{}下使用, 功能默認是關閉
3. 配置示例:

http{    ......    white_black_list_conf conf/white.list zone=white1:4m;    white_black_list_conf conf/black.list zone=black1:4m;    white_list white1 on; #白名單 white1 在整個http{} 中都開啟    black_list black1 on; #黑名單 black1 在整個http{} 中都開啟    server{        .......    }    .......}http{    ......    white_black_list_conf conf/white.list zone=white2:4m;    white_black_list_conf conf/black.list zone=black2:4m;    server{        .......        white_list white2 on; #白名單 white1 在整個server{} 中都開啟        black_list black2 on; #黑名單 black1 在整個server{} 中都開啟        .......    }    .......}http{    ......    white_black_list_conf conf/white.list zone=white3:4m;    white_black_list_conf conf/black.list zone=black3:4m;    white_black_list_conf conf/black.list zone=black2:4m;    white_black_list_conf conf/white.list zone=white2:4m;    server{        .......        location /do {            ........            white_list white3 on; #白名單 white3 在location /do{} 中開啟            black_list black3 on; #黑名單 black3 在location /do{} 中開啟            ........        }        location /do1{            white_list white2 on; #白名單 white2 在整個server{} 中都開啟            black_list black2 on; #黑名單 black2 在整個server{} 中都開啟        }        .......    }    .......}

 

4.http配置接口說明:
(1)配置配置接口

http{    .......    server{        ......        location /sec_config{            sec_config on;        }        ......    }    .......}

(2)配置方法:
a. http://xxx/sec_config 查看黑白名單定義情況
返回結果如下

{    "version":    "nginx/1.3.0",    "code":    "0",    "item":    {        "conf_type":    "white_black_list_conf",        "zone_name":    "white",        "list_path":    "/home/john/nginx/conf/white.list"    },    "item":    {        "conf_type":    "white_black_list_conf",        "zone_name":    "black",        "list_path":    "/home/john/nginx/conf/black.list"    },    "item":    {        "conf_type":    "white_black_list_conf",        "zone_name":    "ex",        "list_path":    "/home/john/nginx/conf/status_ex"    }}

b. http://xxx/sec_config?zone_name=white 查看zone_name 為white 的 list_path中的具體內容
c.http://xxx/sec_config?zone_name=white&add_item=192.168.141.23 向 zone_name 為white 中增加192.168.141.23
d. http://xxx/sec_config?zone_name=white&delete_item=192.168.141.23 在 zone_name 為white 中刪除192.168.141.23
查看配置方法2:
http://xxx/sec_config?for_each
三、黑白名單文件內容
conf/black.list 文件內容如下

2.2.2.2192.168.141.13.3.3.34.4.4.52.3.4.4

四、動態黑名單
    要使用該功能必須對 ngx_http_limit_req_module.c 進行patch
    在ngx_http_limit_req_module.c中
    增加#include <white_black_list.h>
    并修改代碼找到:

  "  if (rc == NGX_BUSY) {    ngx_log_error(lrcf->limit_log_level, r->connection->log, 0,           "limiting requests, excess: %ui.%03ui by zone /"%V/"",           excess / 1000, excess % 1000,           &limit->shm_zone->shm.name);    "

    在其下面增加:

  ngx_black_add_item_interface(r, 1);

        配備關鍵字:
                dyn_black
        格式:
                dyn_black $zone_name time;
        比如:
                dyn_black black 60; //禁止訪問60秒,60秒后自動解除
        注意:
                必須要配置black_list
        配置示例:

        http{            ....            white_black_list_conf conf/black.list zone=black:4m;            limit_req_zone $binary_remote_addr zone=one:8m rate=4r/s;            ...            server {                location / {         black_list black on;         limit_req zone=one burst=6;         dyn_black black 60; //禁止訪問60秒,60秒后自動解除         ...         }         location /xxx {         sec_config on;         }         ...            }            ...        }

PS:基于lua-nginx-module的ngx_lua_waf防火墻

項目地址:https://github.com/loveshell/ngx_lua_waf?utm_source=tuicool&utm_medium=referral
推薦安裝:

推薦使用lujit2.1做lua支持

ngx_lua如果是0.9.2以上版本,建議正則過濾函數改為ngx.re.find,匹配效率會提高三倍左右。

使用說明:

nginx安裝路徑假設為:/usr/local/nginx/conf/

把ngx_lua_waf下載到conf目錄下,解壓命名為waf

在nginx.conf的http段添加

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

配置config.lua里的waf規則目錄(一般在waf/conf/目錄下)

  RulePath = "/usr/local/nginx/conf/waf/wafconf/"

絕對路徑如有變動,需對應修改

然后重啟nginx即可

配置文件詳細說明:

  RulePath = "/usr/local/nginx/conf/waf/wafconf/"
  --規則存放目錄
  attacklog = "off"
  --是否開啟攻擊信息記錄,需要配置logdir
  logdir = "/usr/local/nginx/logs/hack/"
  --log存儲目錄,該目錄需要用戶自己新建,切需要nginx用戶的可寫權限
  UrlDeny="on"
  --是否攔截url訪問
  Redirect="on"
  --是否攔截后重定向
  CookieMatch = "on"
  --是否攔截cookie攻擊
  postMatch = "on" 
  --是否攔截post攻擊
  whiteModule = "on" 
  --是否開啟URL白名單
  ipWhitelist={"127.0.0.1"}
  --ip白名單,多個ip用逗號分隔
  ipBlocklist={"1.0.0.1"}
  --ip黑名單,多個ip用逗號分隔
  CCDeny="on"
  --是否開啟攔截cc攻擊(需要nginx.conf的http段增加lua_shared_dict limit 10m;)
  CCrate = "100/60"
  --設置cc攻擊頻率,單位為秒.
  --默認1分鐘同一個IP只能請求同一個地址100次
  html=[[Please go away~~]]
  --警告內容,可在中括號內自定義
  備注:不要亂動雙引號,區分大小寫

檢查規則是否生效

部署完畢可以嘗試如下命令:

  curl http://xxxx/test.php?id=../etc/passwd

    返回"Please go away~~"字樣,說明規則生效。
注意:默認,本機在白名單不過濾,可自行調整config.lua配置

為Nginx服務器配置黑名單或白名單功能的防火墻

為Nginx服務器配置黑名單或白名單功能的防火墻

規則更新:

考慮到正則的緩存問題,動態規則會影響性能,所以暫沒用共享內存字典和redis之類東西做動態管理。

規則更新可以把規則文件放置到其他服務器,通過crontab任務定時下載來更新規則,nginx reload即可生效。以保障ngx lua waf的高性能。

只記錄過濾日志,不開啟過濾,在代碼里在check前面加上--注釋即可,如果需要過濾,反之

一些說明:

過濾規則在wafconf下,可根據需求自行調整,每條規則需換行,或者用|分割

  •   global是全局過濾文件,里面的規則對post和get都過濾 
  •   get是只在get請求過濾的規則  
  •   post是只在post請求過濾的規則  
  •   whitelist是白名單,里面的url匹配到不做過濾   
  •   user-agent是對user-agent的過濾規則

默認開啟了get和post過濾,需要開啟cookie過濾的,編輯waf.lua取消部分--注釋即可

日志文件名稱格式如下:虛擬主機名_sec.log



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美成人免费视频| 久久久免费高清电视剧观看| 欧美精品日韩www.p站| 色系列之999| 日本精品久久电影| 久久久天堂国产精品女人| 精品在线观看国产| 国产激情视频一区| 国产精品久久久久久一区二区| 国产精品久久97| 中文在线资源观看视频网站免费不卡| 亚洲情综合五月天| 亚洲美女视频网| 亚洲欧美视频在线| 国产日产亚洲精品| 欧美性猛交xxxx乱大交蜜桃| 久久精品视频在线观看| 伦伦影院午夜日韩欧美限制| 欧美激情视频网站| 久久久精品国产一区二区| 亚洲欧美资源在线| 成年无码av片在线| 国产97在线|日韩| 亚洲精品www久久久久久广东| 92看片淫黄大片看国产片| 午夜精品久久久久久99热| 92裸体在线视频网站| 国产精品成人免费视频| 日韩av免费网站| 欧美视频一二三| 亚洲桃花岛网站| 欧美色播在线播放| 亚洲一区二区三区香蕉| 国产区精品在线观看| 亚洲免费中文字幕| 日韩欧美在线观看| 国产在线精品成人一区二区三区| 亚洲欧美中文字幕在线一区| 伊人伊成久久人综合网站| xvideos成人免费中文版| 亚洲自拍偷拍第一页| 色综合久综合久久综合久鬼88| 日韩在线免费视频| 黑丝美女久久久| 韩剧1988免费观看全集| 国产z一区二区三区| 另类图片亚洲另类| 亚洲精品一区二区在线| 欧美激情精品久久久久久变态| 国产精品白丝av嫩草影院| 欧美日韩国产一区二区| 欧美成人午夜剧场免费观看| 久久中文字幕国产| 这里只有精品丝袜| 日韩高清欧美高清| 久久久免费高清电视剧观看| 欧美老女人www| 欧美亚洲国产视频小说| 亚洲欧美国产精品va在线观看| 亚洲最新在线视频| 亚洲香蕉伊综合在人在线视看| 97国产精品免费视频| 在线观看中文字幕亚洲| 亚洲人成欧美中文字幕| 亚洲免费福利视频| 日韩精品在线播放| 国产精品中文字幕久久久| 奇米四色中文综合久久| 77777少妇光屁股久久一区| 日韩大陆欧美高清视频区| 日韩电影中文字幕在线观看| 亚洲xxxx做受欧美| 久久久久久久久久久亚洲| 成人亚洲激情网| 国产精品一香蕉国产线看观看| 成人午夜高潮视频| 欧美国产日韩二区| 精品久久香蕉国产线看观看gif| 91九色视频导航| 亚洲电影免费观看高清完整版在线观看| 成人国产精品一区二区| 97精品视频在线观看| 欧美亚洲免费电影| 欧美日韩亚洲一区二区三区| 蜜臀久久99精品久久久无需会员| 亚洲精品乱码久久久久久按摩观| 亚洲aⅴ日韩av电影在线观看| 日本一区二三区好的精华液| 精品久久久久久国产| 国产欧美在线看| 日本成人精品在线| 精品自在线视频| 国产精品久久久久久久久免费| 久久久91精品国产一区不卡| 久久精品国产一区| 欧美xxxx做受欧美.88| 亚洲男人的天堂网站| 亚洲free性xxxx护士hd| 欧美激情va永久在线播放| 中文字幕亚洲一区二区三区五十路| 欧美丝袜一区二区| 国产精品毛片a∨一区二区三区|国| 亚洲欧美三级伦理| 91精品国产乱码久久久久久蜜臀| 久久精品一偷一偷国产| 久久久久久久久久久免费| 国产剧情久久久久久| 国产成人精品免费久久久久| 日韩av网站电影| 精品久久久久久电影| 日韩精品视频中文在线观看| 亚洲精品v欧美精品v日韩精品| 久久久999精品| 欧美富婆性猛交| 亚洲高清色综合| 茄子视频成人在线| 日韩av免费在线观看| 成人在线播放av| 欧美影院在线播放| 久久久久久久久国产精品| 国产成人97精品免费看片| 视频一区视频二区国产精品| 欧美黑人一级爽快片淫片高清| 亚洲bt欧美bt日本bt| 国产亚洲精品久久久久久| 亚洲精品中文字| 精品露脸国产偷人在视频| 国产精品日日摸夜夜添夜夜av| 国产精品色婷婷视频| 亚洲国产天堂久久综合| 欧美麻豆久久久久久中文| 亚洲精品免费在线视频| 国产视频在线一区二区| 精品久久久香蕉免费精品视频| 欧美日韩国产中文精品字幕自在自线| 疯狂欧美牲乱大交777| 8090成年在线看片午夜| 色噜噜国产精品视频一区二区| 在线观看精品自拍私拍| 亚洲一区二区在线播放| 欧美日韩国产麻豆| 国产精品久久久久久影视| 一区二区欧美在线| 久久综合88中文色鬼| 欧美日韩精品在线| 69国产精品成人在线播放| 成人激情视频在线观看| 亚洲a在线播放| 亚洲日韩中文字幕在线播放| 69av视频在线播放| 91人人爽人人爽人人精88v| 久久琪琪电影院| 国产精品免费视频xxxx| 国产精品爽爽爽爽爽爽在线观看| 国产在线拍揄自揄视频不卡99| 亚洲深夜福利网站| 亚洲人成在线播放| 中文在线不卡视频| 成人免费网站在线观看| 一区二区福利视频| 91精品国产成人| 一本色道久久综合狠狠躁篇怎么玩| 97在线视频免费观看| 国产精品中文久久久久久久|