欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Shell腳本配合iptables屏蔽來自某個國家的IP訪問

 更新時間:2015年04月25日 11:16:21   投稿:junjie  
這篇文章主要介紹了Shell腳本配合iptables屏蔽來自某個國家的IP訪問,本文利用IPdeny的IP數(shù)據(jù),然后用Shell腳本導(dǎo)入iptables實(shí)現(xiàn)屏蔽IP訪問,需要的朋友可以參考下

星期六我們一位客戶受到攻擊,我們的網(wǎng)絡(luò)監(jiān)測顯示有連續(xù)6小時的巨大異常流量,我們立即聯(lián)系了客戶,沒有得到回應(yīng),我們修改和限制了客戶的 VPS,使得個別 VPS 受攻擊不會對整個服務(wù)器和其他 VPS 用戶造成任何影響,我們一直保持這個 VPS 為開通狀態(tài)(盡管一直受攻擊),攻擊又持續(xù)了24小時,星期天攻擊仍在繼續(xù),我們?nèi)虩o可忍,但是仍然無法聯(lián)系到客戶,我們向客戶網(wǎng)站的另一負(fù)責(zé)人詢問是否需要我們介入來幫助解決,這位負(fù)責(zé)人答應(yīng)后我們立即投入到與 DDoS 的戰(zhàn)斗中(我們動態(tài)掃描屏蔽壞 IP,現(xiàn)在客戶網(wǎng)站已恢復(fù)。整個過程很有意思,以后有時間再寫一篇博客來描述)。登錄到客戶 VPS 第一件事情就是查當(dāng)前連接和 IP,來自中國的大量 IP 不斷侵占80端口,典型的 DDoS. 所以第一件事是切斷攻擊源,既然攻擊只攻80端口,那有很多辦法可以切斷,直接關(guān)閉網(wǎng)站服務(wù)器、直接用防火墻/iptables 切斷80端口或者關(guān)閉所有連接、把 VPS 網(wǎng)絡(luò)關(guān)掉、換一個 IP,⋯,等等。因為攻擊源在國內(nèi),所以我們決定切斷來自國內(nèi)的所有訪問,這樣看上去網(wǎng)站好像是被墻了而不是被攻擊了,有助于維護(hù)客戶網(wǎng)站的光輝形象,那么如何屏蔽來自某個特定國家的 IP 呢?

方法很容易,先到 IPdeny 下載以國家代碼編制好的 IP 地址列表,比如下載 cn.zone:

復(fù)制代碼 代碼如下:

# wget http://www.ipdeny.com/ipblocks/data/countries/cn.zone

有了國家的所有 IP 地址,要想屏蔽這些 IP 就很容易了,直接寫個腳本逐行讀取 cn.zone 文件并加入到 iptables 中:
復(fù)制代碼 代碼如下:

#!/bin/bash
# Block traffic from a specific country
# written by vpsee.com

COUNTRY="cn"
IPTABLES=/sbin/iptables
EGREP=/bin/egrep

if [ "$(id -u)" != "0" ]; then
   echo "you must be root" 1>&2
   exit 1
fi

resetrules() {
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
$IPTABLES -X
}

resetrules

for c in $COUNTRY
do
        country_file=$c.zone

        IPS=$($EGREP -v "^#|^$" $country_file)
        for ip in $IPS
        do
           echo "blocking $ip"
           $IPTABLES -A INPUT -s $ip -j DROP
        done
done

exit 0


好 IP 和壞 IP 都被屏蔽掉了,這種辦法當(dāng)然不高明,屏蔽 IP 也沒有解決被攻擊的問題,但是是解決問題的第一步,屏蔽了攻擊源以后我們才有帶寬、時間和心情去檢查 VPS 的安全問題。公布一份我們客戶被攻擊的網(wǎng)絡(luò)流量圖,在18點(diǎn)到0點(diǎn)所有帶寬都被攻擊流量占用,這時候客戶無法登錄 VPS,訪問者也無法訪問網(wǎng)站:

相關(guān)文章

  • shell中if條件判斷的實(shí)現(xiàn)

    shell中if條件判斷的實(shí)現(xiàn)

    本文主要介紹了shell中if條件判斷的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 在Linux中重命名文件和目錄的幾種方法

    在Linux中重命名文件和目錄的幾種方法

    在這篇基本命令行教程中,你將學(xué)習(xí)在 Linux 終端重命名文件和目錄的各種方法,文中通過代碼示例講解非常詳細(xì),對學(xué)習(xí)Linux重命名文件和目錄非常有幫助,需要的朋友跟著小編一起來學(xué)習(xí)吧
    2024-01-01
  • Linux nano命令使用示例

    Linux nano命令使用示例

    nano是一個小型、免費(fèi)、友好的編輯器,旨在取代非免費(fèi)Pine包中的默認(rèn)編輯器Pico,nano是一個字符終端的文本編輯器,有點(diǎn)像DOS下的editor程序,這篇文章主要介紹了Linux nano命令使用示例,需要的朋友可以參考下
    2023-03-03
  • Linux tar 命令用法實(shí)例詳解

    Linux tar 命令用法實(shí)例詳解

    利用 tar 命令,可以把一大堆的文件和目錄全部打包成一個文件,這對于備份文件或?qū)讉€文件組合成為一個文件以便于網(wǎng)絡(luò)傳輸是非常有用的。這篇文章主要介紹了Linux tar 命令用法詳解,需要的朋友可以參考下
    2018-03-03
  • shell批量curl接口腳本的簡單實(shí)現(xiàn)方法

    shell批量curl接口腳本的簡單實(shí)現(xiàn)方法

    這篇文章主要跟大家介紹了關(guān)于shell批量curl接口腳本的簡單實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用shell具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-08-08
  • Linux Bash 提示符的一些騷操作(自定義 Bash 提示符)

    Linux Bash 提示符的一些騷操作(自定義 Bash 提示符)

    這篇文章主要介紹了Linux Bash 提示符的一些騷操作,一些能讓你自定義 Bash 提示符的黑科技,需要的朋友可以參考下
    2017-07-07
  • Linux下的fdisk指令用法場景分析

    Linux下的fdisk指令用法場景分析

    在Linux系統(tǒng)中,對磁盤進(jìn)行分區(qū)是管理和利用磁盤空間的重要任務(wù)之一,本篇將以通俗易懂的方式,詳細(xì)介紹fdisk指令的前世今生、功能、用法和應(yīng)用場景,幫助讀者全面了解fdisk指令,并掌握其在磁盤管理和問題排查方面的應(yīng)用,需要的朋友可以參考下
    2024-01-01
  • shell實(shí)現(xiàn)四則運(yùn)算簡單方法

    shell實(shí)現(xiàn)四則運(yùn)算簡單方法

    在剛剛學(xué)習(xí)寫shell 批處理時候,進(jìn)行邏輯運(yùn)算中,少不了需要進(jìn)行基礎(chǔ)的:四則運(yùn)算,這里說說在linux shell 里面簡單的實(shí)現(xiàn)方法
    2014-03-03
  • Linux命令之tail的使用及應(yīng)用場景介紹

    Linux命令之tail的使用及應(yīng)用場景介紹

    tail 是一條在 Linux 系統(tǒng)中常用的命令行工具,用來顯示文件的末尾內(nèi)容,tail 的功能強(qiáng)大且簡潔,能夠滿足多種應(yīng)用需求本文就給大家介紹一下Linux命令tail的使用及應(yīng)用場景,需要的朋友可以參考下
    2023-09-09
  • 一天一個shell命令 linux文本內(nèi)容操作系列-sed命令詳解

    一天一個shell命令 linux文本內(nèi)容操作系列-sed命令詳解

    這篇文章主要介紹了一天一個shell命令 linux文本內(nèi)容操作系列-sed命令詳解,需要的朋友可以參考下
    2016-06-06

最新評論