色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

封ip腳本進化的解決辦法

阿銘linux ? 來源:阿銘linux ? 2023-06-11 17:03 ? 次閱讀

上次給大家分享過一個封IP腳本,點這里看。我搞那個腳本的目的是為了把訪問量太大的IP地址給封掉,然后每隔半小時解封。其實,它并沒有解決問題。服務器CPU使用率還是跟之前一樣,非常有規律。

經過幾天的觀察和日志分析,得出一個結論,大概率是最近服務器上來采集數據的量比之前大了,畢竟近期AI很熱,好多組織在搞大模型,采集數據是根本。

這些人就有點不道德了,又不是不讓你采集,你再把頻率降低一些,分散一些,只要不影響到我們的業務,就沒人管你,但你現在把我們的服務器給拖垮了,影響到客戶訪問和使用,這樣誰都不好不是。

分析過程中,也找到了一些規律,有一些IP是一個IP段,很分散,所以單個IP訪問量并不大,但是整個IP段就非常明顯了。

6d314764-05d9-11ee-962d-dac502259ad0.png

所以,我想了想,決定把腳本改造一下,針對IP段來進行分析并封IP。思路是:分析過去1小時的訪問日志,然后把訪問日志中的IP截取出來,取IP的前三個數字,只要這三個數字一樣的IP都算一個,這樣再計算總次數。把總次數超過1600次的IP段給找出來。此時可不能直接封IP段,因為會誤傷,所以還需要根據IP段,再去過濾出中招的IP地址,針對這些IP地址再去封掉。而解封則每隔2小時來一次。

腳本如下,關鍵步驟是有注釋的。

#! /bin/bash
## 把訪問量比較大的IP段封掉,如果2小時內被封的IP沒有請求或者請求很少,需要解封
## 作者:阿銘
## 日期:2023-05-27
## 版本:v1.1


#定義1小時以前的時間,用于過濾1小時以前的日志
t1=`date -d "-1 hour" +%Y:%H:`
log=/data/logs/nginx/access.log


block_ip()
{
##白名單ip/ip段,自己的IP,正經蜘蛛的IP
w_ip="^66.249.|^220.181.|^116.179."


    ##截取一小時以前的日志
egrep"$t1[0-5][0-9]:"$log>/tmp/tmp_last_hour.log
    ##將所有ip都過濾出來,存到臨時文件
    awk '{print $1}' /tmp/tmp_last_hour.log > /tmp/tmp_last_hour_ip.log


    ##處理IP,只留前面三位,排序、去重,獲取多于1600次請求的ip段,這個數字可以根據實際情況來調整
    awk -F '.' '{print $1"."$2"."$3"."}' /tmp/tmp_last_hour_ip.log|sort |uniq -c |sort -n |awk '$1 > 1600 {print $2}' > /tmp/bad_ip_hour.list


    #當ip數大于0時,才會用iptables封掉它
    ip_n=`wc -l /tmp/bad_ip_hour.list|awk '{print $1}'`
    if [ ${ip_n} -ne 0 ]
    then
        for ip in `cat /tmp/bad_ip_hour.list`
        do
            #封ip,不能直接封ip段
            for ip2 in `grep "^$ip" /tmp/tmp_last_hour_ip.log|sort -n|uniq`
            do
                /usr/sbin/iptables -I INPUT -s $ip2 -j REJECT
            done
        done
        #將這些被封的IP記錄到日志里
        echo "`date` 封掉的IP段有:" >> /tmp/block_ip2.log
        cat /tmp/bad_ip_hour.list >> /tmp/block_ip2.log
    fi
}


unblock_ip()
{
    #首先將包個數小于5的ip段記錄到一個臨時文件里,把它們標記為白名單IP
    /usr/sbin/iptables -nvL INPUT|grep REJECT |awk '$1<5 {print $8}' > /tmp/good_ip2.list
    n=`wc -l /tmp/good_ip2.list|awk '{print $1}'`
    if [ $n -ne 0 ]
    then
        for ip in `cat /tmp/good_ip2.list`
        do
            /usr/sbin/iptables -D INPUT -s $ip -j REJECT
        done
        echo "`date` 解封的IP段有:" >> /tmp/unblock_ip2.log
        cat /tmp/good_ip2.list >> /tmp/unblock_ip2.log
    fi
    #當解封完白名單IP后,將計數器清零,進入下一個計數周期
    /usr/sbin/iptables -Z
}


#取當前時間的小時
t=`date +%H`
t2=$[$t%2]


#每2小時執行解封IP的函數,其他時間只執行封IP的函數
if [ $t2 -eq 0 ]
then
   unblock_ip
   block_ip
else
   block_ip
fi

上完腳本后,觀察了一天,CPU使用率終于降低到可接受范圍了。





審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10854

    瀏覽量

    211585
  • 服務器
    +關注

    關注

    12

    文章

    9123

    瀏覽量

    85328

原文標題:問題終于解決了--封ip腳本的進化

文章出處:【微信號:aming_linux,微信公眾號:阿銘linux】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    關于TCP/IP門禁系統有哪些安全問題?有什么解決辦法

    關于TCP/IP門禁系統有哪些安全問題?有什么解決辦法
    發表于 05-31 06:04

    經典網絡故障及解決辦法

    經典網絡故障及解決辦法 IP與MAC綁定的難題問:我的計算機原來采用公網固定IP地址。為了避免被他人盜用,使用“arp -s ip mac”命令對MAC地址和
    發表于 08-06 14:09 ?1402次閱讀

    華碩筆記本聲卡驅動無法安裝的解決辦法

    華碩筆記本聲卡驅動無法安裝的解決辦法
    發表于 01-18 10:10 ?3544次閱讀

    聲卡硬件維修的常見問題及解決辦法

    聲卡硬件維修的常見問題及解決辦法 常見故障一:聲卡無聲   出現這種故障常見的原因有:
    發表于 02-23 14:25 ?2549次閱讀

    誤碼特性,誤碼產生的機理及解決辦法

    誤碼特性,誤碼產生的機理及解決辦法
    發表于 03-19 17:10 ?2264次閱讀

    UPS電源輸入跳閘淺析及解決辦法

    UPS電源輸入跳閘淺析及解決辦法解析
    發表于 11-10 16:42 ?89次下載
    UPS電源輸入跳閘淺析及<b class='flag-5'>解決辦法</b>

    Matlab編程常見錯誤與解決辦法

    Matlab編程常見錯誤與解決辦法求人不如求己
    發表于 03-16 15:58 ?0次下載

    電梯IP五方對講的問題和解決辦法的介紹

    梯云物聯:深圳電梯IP五方對講有什么問題和解決辦法
    發表于 04-11 18:16 ?5757次閱讀

    ESP32勘誤表及解決辦法

    電子發燒友網站提供《ESP32勘誤表及解決辦法.pdf》資料免費下載
    發表于 09-23 11:51 ?0次下載
    ESP32勘誤表及<b class='flag-5'>解決辦法</b>

    電腦右鍵管理打開失敗的解決辦法

    此電腦右鍵管理打不開怎么辦 電腦右鍵管理打開失敗的解決辦法
    發表于 09-28 09:56 ?0次下載

    硬盤故障的3個終極解決辦法

    電子發燒友網站提供《硬盤故障的3個終極解決辦法.pdf》資料免費下載
    發表于 10-20 10:46 ?0次下載
    硬盤故障的3個終極<b class='flag-5'>解決辦法</b>

    細碎機軸承位磨損問題的解決辦法

    【設備故障】細碎機軸承位磨損問題的解決辦法
    發表于 10-27 16:36 ?0次下載

    Protel99 與WIN10系統沖突解決辦法

    PROTEL99 與WIN10系統沖突解決辦法
    的頭像 發表于 11-20 09:30 ?4081次閱讀
    Protel99 與WIN10系統沖突<b class='flag-5'>解決辦法</b>

    常見MCU故障及解決辦法

    微控制器單元(MCU)是現代電子設備中的核心組件,負責處理和控制各種功能。然而,由于各種原因,MCU可能會出現故障。以下是一些常見的MCU故障及其解決辦法: 1. 電源問題 故障現象: MCU無法
    的頭像 發表于 11-01 13:41 ?1484次閱讀

    常見墊圈故障及解決辦法 防漏墊圈的設計與應用

    常見墊圈故障及解決辦法 1. 墊圈老化 故障現象: 墊圈因長時間使用而老化,失去彈性,導致密封性能下降。 解決辦法: 定期檢查墊圈的老化情況,及時更換新的墊圈。 2. 墊圈變形 故障現象: 由于安裝
    的頭像 發表于 12-12 15:31 ?211次閱讀
    主站蜘蛛池模板: xiao77唯美清纯| 网红刘婷hd国产高清| 男人插曲女人的叫声| 内射少妇三洞齐开| 麒麟色欧美影院在线播放| 日韩一卡二卡三卡四卡免费观在线| 色戒2小时38分在线观看| 香蕉久久夜色精品国产小优| 亚洲精品国产A久久久久久| 一道本无吗d d在线播放| 国内视频在线精品一区| 精品国产麻豆AV无码| 免费 高清 中文在线观看| 欧洲最大无人区免费高清完整版| 色色色五的天| 亚洲免费无l码中文在线视频| 最近中文字幕2018MV高清在线 | 99爱在线观看精品视频| JIZZ19学生第一次| 国产精品久久免费视频| 久久久无码精品无码国产人妻丝瓜| 欧美00后rapper潮水| 四虎影视国产精品亚洲精品| 野花社区视频WWW高清| 把腿张开JI巴CAO死你H教室| 国产人妻人伦精品久久久| 乱VODAFONEWIFI熟妇| 神马影院午夜伦理限级| 在线观看日韩一区| 第一次处破女高清电影| 久久99精品AV99果冻传媒| 人妻夜夜爽天天爽三区麻豆AV网站| 亚洲成色爱我久久| 99在线精品国自产拍| 国内精品不卡一区二区三区| 欧美成人3d动漫专区| 亚洲精品视频在线观看视频| chinese野外男女free| 激情床戏视频片段有叫声| 日本50人群体交乱| 又大又硬又爽免费视频|