<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Ngnix IP封禁以及實現(xiàn)自動封禁IP

          共 2536字,需瀏覽 6分鐘

           ·

          2023-02-24 08:15

          1. 在ngnix的conf目錄下創(chuàng)建一個blockip.conf文件

          2. 里面放需要封禁的IP,格式如下

              deny?1.2.3.4;
          1. 在ngnix的HTTP的配置中添加如下內(nèi)容
              include?blockips.conf;

          61ab219c52fa9450ca7a3f99849ca535.webp

          1. 重啟 ngnix
              /usr/local/nginx/sbin/nginx?-s?reload
          1. 然后你就會看到IP被封禁了,你會喜提403;

          125062dd10db73dce1fed03a3603373d.webp

          1. 小思考:如何實現(xiàn)使用ngnix自動封禁ip的功能
              1.AWK統(tǒng)計access.log,記錄每分鐘訪問超過60次的ip,然后配合nginx進行封禁
          2.編寫shell腳本
          3.crontab定時跑腳本

          好了上面操作步驟列出來了,那我們先來實現(xiàn)第一個吧

          78a582d57a992ca98e03fad3c1d4d72d.webp

          操作一:AWK統(tǒng)計access.log,記錄每分鐘訪問超過60次的ip

              awk?'{print?$1}'?access.log?|?sort?|?uniq?-cd?|?awk?'{if($1>60)print?$0}'

          1.?awk?'{print?$1}'?access.log ??取出access.log的第一列即為ip。
          2.?sort?|?uniq?-cd??去重和排序
          3.?awk?'{if($1>60)print?$0}'?判斷重復的數(shù)量是否超過60個,超過60個就展示出來

          操作二:編寫shell腳本,實現(xiàn)整體功能(寫了注釋代碼)

              #不能把別人IP一直封著吧,這里就清除掉了
          echo?""?>?/usr/local/nginx/conf/blockip.conf

          #前面最開始編寫的統(tǒng)計數(shù)據(jù)功能
          ip_list=$(awk?'{print?$1}'?access.log?|?sort?|?uniq?-cd?|?awk?'{if($1>60)print?$0}')

          #判斷這個變量是否為空
          if?test?-z?"$ip_list"
          then
          ????????#為空寫入?11.log中,并重新啟動ngnix
          ????????echo?"為空"??>>?/usr/local/nginx/logs/11.log

          ????????/usr/local/nginx/sbin/nginx?-s?reload

          else
          ????????#如果不為空?前面加上?deny格式和ip寫入blockip.conf中
          ????????echo?"deny"?$ip_list?>?/usr/local/nginx/conf/blockip.conf
          ????
          ????????#因為前面攜帶了行數(shù),所有我們需要去除掉前面的行數(shù),寫入后在讀取一次
          ????????ip_list2=$(awk?'{print?$3}'?/usr/local/nginx/conf/blockip.conf)
          ????????
          ????????#最后再把讀取出來的值,在次寫入到blockip.conf中
          ????????echo?"deny"?$ip_list2";">?/usr/local/nginx/conf/blockip.conf

          ????????#重啟ngnix
          ????????/usr/local/nginx/sbin/nginx?-s?reload
          ????????#清空之前的日志,從最新的開始截取
          ????????echo?""?>?/usr/local/nginx/logs/access.log

          fi

          操作三:使用crontab定時,來實現(xiàn)訪問每分鐘超過60的

              crontab?-e?
          *?*?*?*?*?cd?/usr/local/nginx/logs/?&&?sh?ip_test.sh??每一分鐘運行一次
          systemctl?restart?crond.service?重啟一下配置既可

          0b3100ebc2c9f5f4ed703043b4b6abc5.webp

          鏈接:https://blog.csdn.net/qq_38925100/article/details/123742463

          (版權歸原作者所有,侵刪)

              --完--

          讀到這里說明你 喜歡 本公眾號的文章,歡迎? 置頂(標星) 本公眾號 信安黑客技術,這樣就可以第一時間獲取推送了~
          本公眾號?信安黑客技術,后臺回復: 黑客 ,領取2T學習資料?! 1.?淺談九款黑客必備工具(小白必看) 2.?10款最佳免費WiFi黑客工具(附傳送門) 3. ?5種最常用的黑客工具,以及如何防御 4.?最受歡迎的20款黑客工具


          b3e0ace7d499e4e778b1579446aa8ca0.webp


          瀏覽 34
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产亚洲精品美女 | 欧美a精品 | 99性爱视频 | 午夜视频黄色 | jzzjzz日本丰满成熟少妇 |