MSCBSC 移動通信論壇
搜索
登錄注冊
網(wǎng)絡(luò)優(yōu)化工程師招聘專欄 4G/LTE通信工程師最新職位列表 通信實(shí)習(xí)生/應(yīng)屆生招聘職位

  • 閱讀:115351
  • 回復(fù):0
linux服務(wù)器如果被cc攻擊怎么自動拉黑肉雞IP(教程篇)
佛山電信機(jī)房
初級會員
鎵嬫満鍙風(fēng)爜宸查獙璇? style=


 發(fā)短消息    關(guān)注Ta 

積分 55
帖子 11
威望 3688 個
禮品券 0 個
專家指數(shù) 0
注冊 2017-3-7
專業(yè)方向  DDOS,CC防御技術(shù)
回答問題數(shù) 0
回答被采納數(shù) 0
回答采納率 0%
 
發(fā)表于 2019-10-12 14:06:40  只看樓主  QQ

一、Shell 代碼

#!/bin/bash
#Author:ZhangGe
#Desc:Auto Deny Black_IP Script.#Date:2014-11-05#取得參數(shù)$1為并發(fā)閾值,若留空則默認(rèn)允許單IP最大50并發(fā)(實(shí)際測試發(fā)現(xiàn),2M帶寬,十來個并發(fā)服務(wù)器就已經(jīng)無法訪問了!)if [[ -z $1 ]];then
       num=50else 
       num=$1fi
#巧妙的進(jìn)入到腳本工作目錄
cd $(cd $(dirname $BASH_SOURCE) && pwd)
#請求檢查、判斷及拉黑主功能函數(shù)function check(){
       iplist=`netstat -an |grep ^tcp.*:80|egrep -v 'LISTEN|127.0.0.1'|awk -F"[ ]+|[:]" '{print $6}'|sort|uniq -c|sort -rn|awk -v str=$num '{if ($1>str){print $2}}'`
       if [[ ! -z $iplist ]];
               then                >./black_ip.txt                for black_ip in $iplist                do
                       #白名單過濾中已取消IP段的判斷功能,可根據(jù)需要自行修改以下代碼(請參考前天寫的腳本)
                       #exclude_ip=`echo $black_ip | awk -F"." '{print $1"."$2"."$3}'`
                       #grep -q $exclude_ip ./white_ip.txt
                       grep -q $black_ip ./white_ip.txt                        if [[ $? -eq 0 ]];then
                               echo "$black_ip (white_ip)" >>./black_ip.txt                        else
                               echo $black_ip >>./black_ip.txt     
                               iptables -nL | grep $black_ip ||(iptables -I INPUT -s $black_ip -j DROP & echo "$black_ip  `date +%Y-%m-%H:%M:%S`">>./deny.log & echo 1 >./sendmail)
                       fi
               done
               #存在并發(fā)超過閾值的單IP就發(fā)送郵件                if [[ `cat ./sendmail` == 1 ]];then sendmsg;fi
       fi}
#發(fā)郵件函數(shù)function sendmsg(){
       netstat -nutlp | grep "sendmail" >/dev/null 2>&1 || /etc/init.d/sendmail start >/dev/null 2>&1
       echo -e "From: 發(fā)郵件地址@qq.com To:收郵件地址@qq.com Subject:Someone Attacking your system!! Its Ip is" >./message
       cat ./black_ip.txt >>./message        /usr/sbin/sendmail -f 發(fā)郵件地址@qq.com -t 收郵件地址@qq.com -i <. message="">./sendmail}
#間隔10s無限循環(huán)檢查函數(shù)while truedo 
       check
       #每隔10s檢查一次,時間可根據(jù)需要自定義
       sleep 10done

二、執(zhí)行腳本

將以上代碼保存為 deny_blackip.sh 之后,進(jìn)入到腳本文件所在目錄,然后使用如下命令后臺執(zhí)行腳本(后面的 50 表示并發(fā)數(shù),可自行調(diào)整):

nohup ./deny_blackip.sh 50 &

執(zhí)行后會出現(xiàn)如下信息:

[root@Mars_Server iptables]# nohup ./deny_blackip.sh 50 & [1] 23630[root@Mars_Server iptables]# nohup: ignoring input and appending output to `nohup.out'

表示如果腳本產(chǎn)生輸出信息,將會寫入到 nohup.out 文件,可以看到當(dāng)前目錄已經(jīng)生成了一個空的 nohup.out:

[root@Mars_Server iptables]# ll nohup.out-rw------- 1 root root 0 Nov  5 21:15 nohup.out

好了,現(xiàn)在你執(zhí)行執(zhí)行 ps aux 應(yīng)該可以找到如下進(jìn)程:

root     23630  0.0  0.2   5060  1224 pts/0    S    21:15   0:00 /bin/bash ./deny_blackip.sh
root     23964  0.0  0.0   4064   508 pts/0    S    21:19   0:00 sleep 10

一切順利!每 10s 將檢查一次服務(wù)器請求,如果某個 IP 超過 50 個并發(fā),立即拉黑,并發(fā)一封郵件給你!

三、效果測試

測試很簡單,先使用 nohup 啟動腳本,然后在另一臺 Linux 或 Windows 安裝 webbench,然后模擬 50+并發(fā)去抓取該服務(wù)器的某個頁面,20s 之內(nèi)可見到效果,下面是我的測試截圖:

①、模擬 CC 攻擊的服務(wù)器截圖:

②、被 CC 攻擊的服務(wù)器截圖:

③、攻擊 IP 被拉黑后的報警郵件:

測試時,模擬 55 個并發(fā)攻擊了 20s,立馬就被拉黑了,效果很明顯!

四、附加說明

①、腳本發(fā)郵件需要安裝 sendmail,若未安裝請執(zhí)行 yum -y install sendmail 安裝并啟動即可;

②、若要停止后臺運(yùn)行的腳本,只要使用 ps aux 命令找到該腳本的 pid 線程號,然后執(zhí)行 kill -9 pid 號即可結(jié)束;

③、關(guān)于腳本的單 IP 并發(fā)限制,我實(shí)際測試同時打開博客多個頁面并持續(xù)刷新,頂多也就產(chǎn)生十來個并發(fā),所以單 IP 超過 50 個并發(fā)就已經(jīng)有很大的問題了!當(dāng)然,文章的閾值設(shè)為 50 也只是建議值,你可以根據(jù)需求自行調(diào)整(如果網(wǎng)站靜態(tài)文件未托管到 CDN,那么一個頁面可能存在 10 多個并發(fā));

④、寫這個腳本,主要是為了彌補(bǔ)用 crontab 執(zhí)行時間間隔最低只能是 1 分鐘的不足,可以讓 CC 防護(hù)更嚴(yán)密,甚至每隔 1S 執(zhí)行一次!雖說腳本不怎么占用資源,不過還是建議 10s 執(zhí)行一次為佳,不用太過極端是吧?

⑤、對于白名單過濾,只要將白名單 IP 保存到腳本同一目錄下的 white_ip.txt 文件中即可,若發(fā)現(xiàn)攻擊 IP 在白名單中,腳本不會直接拉黑,而是發(fā)一封郵件給你,讓你自己判斷這個白名單攻擊你是為毛?如果白名單需要支持 IP 段,請參考我前天寫的腳本即可。

五.可視化解決處理方案
        很多用戶可能不用Linux系統(tǒng)的操作為了方便用戶自身能處理和操作相對頻率比較高的訪問ip,我們?yōu)橛脩糁贫丝梢暬缑娌僮鞯膚af安全系統(tǒng)。

轉(zhuǎn)發(fā)自:http://news.deshengidc.cn/post-56.html

掃碼關(guān)注5G通信官方公眾號,免費(fèi)領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費(fèi)領(lǐng)取《中國移動:5G網(wǎng)絡(luò)AI應(yīng)用典型場景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費(fèi)領(lǐng)取《5G_6G毫米波測試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費(fèi)領(lǐng)取《中國移動:6G至簡無線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費(fèi)領(lǐng)取《《中國聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費(fèi)領(lǐng)取《中國電信5G NTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費(fèi)領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費(fèi)領(lǐng)取《中國移動算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費(fèi)領(lǐng)取《 R16 23501-g60 5G的系統(tǒng)架構(gòu)1
  • 對本帖內(nèi)容的看法? 我要點(diǎn)評

     
    [充值威望,立即自動到帳] [VIP貴賓權(quán)限+威望套餐] 另有大量優(yōu)惠贈送活動,請光臨充值中心
    充值擁有大量的威望和最高的下載權(quán)限,下載站內(nèi)資料無憂

    快速回復(fù)主題    
    標(biāo)題
    內(nèi)容
     上傳資料請點(diǎn)左側(cè)【添加附件】

    當(dāng)前時區(qū) GMT+8, 現(xiàn)在時間是 2025-01-22 14:40:20
    渝ICP備11001752號  Copyright @ 2006-2016 mscbsc.com  本站統(tǒng)一服務(wù)郵箱:mscbsc@163.com

    Processed in 0.287581 second(s), 13 queries , Gzip enabled
    TOP
    清除 Cookies - 聯(lián)系我們 - 移動通信網(wǎng) - 移動通信論壇 - 通信招聘網(wǎng) - Archiver