国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

動態iptables防火墻dynfw
2005-12-14   

防火墻是一個非常重要的網絡安全工具,但是如果在需要對防火墻規則進行快速、復雜的動態修改時你該如何實現呢?如果你使用本文介紹的Daniel Robbins 的動態防火墻腳本,這將是一件非常容易的工作。你可以利用這些腳本來增強你網絡的安全性和對網絡攻擊的實時響應性,并基于該腳本進行自己的創造性設計。
理解動態防火墻的腳本能夠帶來的益處的最好方法就是看它們在實際中的應用。假設我是某個ISP的系統管理員,我最近架設了一個基于Linux的防火墻來保護我的客戶和內部系統,防止外部惡意用戶的攻擊。為了實現該系統我使用了新版Linux2.4內核的iptables工具來實現,防火墻允許客戶和內部服務器向Internet建立連接,也允許從Internet向內部系統的公共服務如web服務器、ftp服務器等建立新的連接。由于這里我使用了默認拒絕任何服務,只開放允許的服務的策略,因此從Internet到非公共服務如squid的代理服務、samba服務的連接是被拒絕的。目前我已經有了一個功能完備的、滿足安全需求的防火墻系統,其能對ISP的所有用戶提供很好的保護。
剛剛開始的一個星期防火墻工作情況良好,但是隨后一些糟糕的事情發生了。Bob-一個攻擊者對我的網絡進行了攻擊,它采用了使用垃圾數據報淹沒我的 ISP網絡的方法來對我的客戶進行Dos攻擊。不幸的是Bob已經對我的防火墻進行了仔細的研究,知道雖然我對內部服務進行了保護但是25端口和80端口都是開放的以收發Emai和開放www服務。Bob決定對我的Email和WWW服務器進行Dos的攻擊。
Bob開始攻擊的1-2分鐘以后我發現我的線路出現嚴重的擁塞情況。通過tcpdump察看我發現這是Bob進行的一次攻擊。并且我得到了它的攻擊源地址。現在我就需要阻止這些IP地址對我的公共服務器的連接。下面我就討論一種簡單方便的解決方案。

阻止攻擊

我馬上采取行動,加載我的防火墻啟動腳本并使用vi對 iptables 規則進行編輯,來阻塞這些Bob發出的惡意攻擊數據的源地址的數據報。大約一分鐘以后我找到了在防火墻啟動腳本中添加新的DROP規則的位置,我馬上添加了新的規則并重新啟動了防火墻。很快防火墻發揮了作用,Bob的攻擊得到了遏制。現在看起來我成功的擊潰了Bob的攻擊,可是不久網絡值班電話又響了起來,原來是客戶發現網絡不可用而打過來的投訴電話。可是更加糟糕的是幾分鐘以后我注意到我的Internet連接線路又開始出現嚴重阻塞。我仔細察看原來是Bob使用了新的IP地址進行攻擊行動。我只好不得不再次修改防火墻啟動腳本來阻止它的攻擊。我就這樣一直在Bob的屁股后面疲于奔命。
問題出在哪里呢?雖然我建立了功能完備的、滿足安全需求的防火墻系統并且快速的發現了網絡出現問題的原因,但是我卻不能在第一時間內對我的防火墻規則進行調整來響應Bob的攻擊。當網絡被攻擊時,被動慌亂地快速對攻擊做出防范反應,對防火墻規則配置腳本進行修改不但是壓力巨大,而且效率低下。

ipdrop

如果能創建一個特殊的"ipdrop"腳本,其被設計為能方便地插入一個規則來阻塞指定的IP,那么將上面的工作將非常容易。通過該腳本阻塞某個IP將是非常容易的工作,只需要幾秒鐘就可以實現。而且通過該腳本還可以防止手工加入規則時容易出現的錯誤。因此阻塞Bob的攻擊將變為確定其攻擊源地址。然后通過如下命令:

# ipdrop 129.24.8.1 on
IP 129.24.8.1 drop on.
ipdrop腳本將立即阻塞129.24.8.1。通過使用該腳本能顯著地提高你的防衛能力。下面就是ipdrop腳本的實現:
The ipdrop bash script

#!/bin/bash
source /usr/local/share/dynfw.sh
args 2 $# "${0} IPADDR {on/off}" "Drops packets to/from IPADDR. Good for obnoxious networks/hosts/DoS"
if [ "$2" == "on" ]
then
#rules will be appended or inserted as normal
APPEND="-A"
INSERT="-I"
rec_check ipdrop $1 "$1 already blocked" on
record ipdrop $1
elif [ "$2" == "off" ]
then
#rules will be deleted instead
APPEND="-D"
INSERT="-D"
rec_check ipdrop $1 "$1 not currently blocked" off
unrecord ipdrop $1
else
echo "Error: "off" or "on" expected as second argument"
exit 1
fi
#block outside IP address thats causing problems
#attackers incoming TCP connections will take a minute or so to time out,
#reducing DoS effectiveness.
iptables $INSERT INPUT -s $1 -j DROP
iptables $INSERT OUTPUT -d $1 -j DROP
iptables $INSERT FORWARD -d $1 -j DROP
iptables $INSERT FORWARD -s $1 -j DROP
echo "IP ${1} drop ${2}."

ipdrop:解釋

從上面的腳本源代碼中最后四行內容可以看到實際的命令是在防火墻表中插入適當的規則。可以看到$INSERT變量的值取決于在命令行參數中是使用"on"還是"off"模式。當iptables行被執行時特定的規則將被適當的插入或刪除。
現在我們看看這些規則本身的功能,它們能和任何類型的防火墻一起發揮作用,甚至在沒有部署防火墻的系統上。需要的條件僅僅是支持iptables的 Linux2.4版本的內核。我們阻塞來自惡意IP的攻擊數據報(第一條iptables語句),阻塞發向惡意攻擊IP的數據報(第二條iptables 語句),并且對該IP關閉任意方向的數據轉發(最后兩條iptables工具)。一旦這些規則發揮作用系統將丟棄滿足這些條件的任何數據報。
另外一個需要注意的是:腳本中調用了"rec_check", "unrecord", "record",和"args"。這些都是定義在"dynfw.sh"中的特殊的bash函數。"record"函數實現將被阻塞的IP記錄在文件 /root/.dynfw-ipdrop文件中,而"unrecord"則是將其從文件/root/.dynfw-ipdrop中去除。 "rec_check"函數是在發現試圖重新阻塞某個已經阻塞的IP地址或取消某個沒有被阻塞的IP地址時輸出錯誤信息并停止腳本執行。"args"函數實現確保命令行參數的正確性,并實現打印腳本幫助命令。文件dynfw-1.0.tar.gz包含所有的這些工具,具體情況請見文章最后的資源部分。

tcplimit

如果你需要對某個特殊的基于TCP的網絡服務的使用進行限制(例如在端系統上產生嚴重負載時),則tcplimit腳本則可以幫助你達到這個目的,該腳本使用TCP端口、一個率值和"on"或"off"作為參數:

# tcplimit 873 5 minute on
Port 873 new connection limit (5/minute, burst=5) on.

tcplimit使用iptables的"state"模塊(應確保在內核中打開該選項或加載模塊)來實現在某段時間內只允許特定數目的連接請求通過。在本例中防火墻將限制每分鐘只允許5個新連接到我的rsync服務器(port 873)。當然你可以根據需要選擇時間單位為秒鐘/分鐘/小時。
tcplimit提供了一個限制對非關鍵服務的使用的非常好的方法-這樣大量到非關鍵服務的數據不會破壞服務器。在上面的例子中使用tcplimit 來設置使用rsync的限制,以防止tsync數據占用了Internet連接的所有帶寬。其中連接服務限制信息記錄在文件/root/.dynfw- tcplimit中。若想關閉該限制只需要鍵入如下命令:

# tcplimit 873 5 minute off
Port 873 new connection limit off.

tcplimit通過在"filter"表中創建一個新的規則鏈來實現。這個新的規則鏈將拒絕所有超過指定限制的數據報,同時將一個規則插入到 INPUT規則鏈中,其將所有的到目標端口(在本例中是873端口)的新連接數據報定向到這個新的規則鏈。新規則鏈只會影響新的超過限制的連接而不會影響已經建立的連接。
當tcplimit定義的規則被關閉,INPUT規則和新規則鏈則會被刪除。象ipdrop一樣其tcplimit可以和任何類型的防火墻一起工作。

host-tcplimit

host-tcplimit和tcplimit非常類似,但是它是限制來自一個特定的IP的到服務器上某個特定端口的TCP連接數量。host -tcplimit在防止某個特定的人濫用你的網絡資源時非常有用處。例如你維護有一個CVS服務器,有一天突然發現一個特殊的新開發者出現了,他好像建立了一個腳本每十分鐘更新它的資源。占用了大量的網絡資源。然后你就給他發送信件說明他的行為的錯誤之處。但是你收到他如下的回信:

Hi guys!
Im really excited to be part of your development project. I just set up a
script to update my local copy of the code every ten minutes. Im about to
leave on a two-week cruise, but when I get back, my sources will be totally
up-to-date and Ill be ready to help out! Im heading out the door now...see
you in two weeks!

Sincerely,
Mr. Newbie
對于這種情況,使用host-tcplimit可以非常容易的解決問題:

# host-tcplimit 1.1.1.1 2401 1 day on

現在Newbie先生(IP地址為1.1.1.1)被限制為每天只能進行一次CVS連接從而節省了網絡帶寬。

user-outblock

最后一個,也是這幾個防火墻腳本中最有趣的是user-outblock。這個腳本提供了一種實現允許某個用戶通過SSH或telnet登錄到系統上但是不允許它通過命令行命令建立向外連接去的一個很理想的方法。下面是一個應用user-outblock的一個示例場合。假設一個特殊的家庭在我們的ISP擁有一個賬號。媽媽和爸爸使用圖形化的email客戶端程序閱讀自己的信件,偶爾會沖浪Internet,但是他們的兒子卻是一個熱衷的 hacker分子,他常常使用它的shell訪問權限來對其他的機器做一些淘氣的事情。
有一天你發現他和若干系統建立ssh連接,發現目標地址是屬于巴基斯坦軍事網站。你希望幫助這個小孩子走向正道,因此你采取了以下的行動:
首先,你檢查自己的系統并確保去掉了所有和網絡相關的程序的suid位,例如ssh:

# chmod u-s /usr/bin/ssh
現在他企圖使用的任何和網絡相關的進程都會擁有自己的UID。你現在可以使用user-outblock來阻塞所有該UID發出的的向外TCP連接(假設其UID為2049):

# user-outblock 2049 on
UID 2049 block on.

現在他只能登錄到系統中閱讀自己的信件,但是他不能使用你的服務器建立SSH連接。

資源

* 由于發現動態這些防火墻腳本非常有用,因此將它們打包(http://www.vfocus.net/blog/archives/tools/dynfw-1.0.tar.gz)以供下載安裝。
要進行安裝只需要解壓縮包,運行其中的install.sh文件。該腳本將安裝一個共享bash腳本為 /usr/local/share/dynfw.sh,并且安裝動態防火墻腳本到/usr/local/sbin目錄下。若希望安裝在其他腳本中,則只需要在執行install.sh以前執行:
# export PREFIX=/usr
還可以在dynamic firewall scripts section to the Gentoo Linux Web site下載dynfw的最新版本1.0.1

* tcpdump是一個非常重要的探測底層的IP報交換的工具,使用它可以驗證防火墻工作是否正常。


熱詞搜索:

上一篇:為什么實現千兆防火墻很困難
下一篇:iptables配置工具比較

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
一本久久a久久精品亚洲| 欧美日韩亚洲丝袜制服| 欧美日韩精品三区| 一区二区三区在线视频播放| av综合在线播放| 亚洲精品免费在线| 欧美在线视频日韩| 日本网站在线观看一区二区三区 | 精品国产一二三| 国产电影一区在线| 一区二区三区精品| 精品少妇一区二区| 不卡的电影网站| 日韩精品视频网站| 亚洲天堂网中文字| 日韩欧美中文字幕一区| 99久久精品免费看国产免费软件| 一区二区理论电影在线观看| 精品国产精品一区二区夜夜嗨| 成人av免费网站| 久久国产尿小便嘘嘘尿| 亚洲精品第1页| 国产亚洲一区二区三区四区| 欧美日韩一区二区三区四区| 丰满白嫩尤物一区二区| 日本亚洲电影天堂| 亚洲一级二级三级| 国产精品色呦呦| 日韩免费一区二区| 欧美日韩国产系列| 在线一区二区三区| 成人免费av网站| 国产一区美女在线| 青草国产精品久久久久久| 亚洲日本电影在线| 国产精品每日更新| 久久久久久久av麻豆果冻| 欧美一区二区三区四区高清| 在线亚洲高清视频| 99久久综合99久久综合网站| 精品一区二区免费看| 日韩成人dvd| 热久久久久久久| 午夜激情综合网| 亚洲一区二区3| 一区二区三区精品| 亚洲综合丁香婷婷六月香| 国产精品情趣视频| 国产精品无遮挡| 欧美激情在线免费观看| 欧美激情在线免费观看| 国产欧美一区二区精品性色超碰| 日韩欧美国产一区在线观看| 欧美精选一区二区| 欧美日韩国产在线观看| 欧美精品色综合| 欧美一区二区成人6969| 日韩写真欧美这视频| 欧美电视剧在线看免费| 欧美成人综合网站| 国产日产欧产精品推荐色| 国产欧美日韩卡一| 日韩理论片中文av| 亚洲精品国产a久久久久久| 亚洲综合视频在线观看| 午夜一区二区三区视频| 免费观看91视频大全| 精品一区二区在线播放| 国产福利一区二区三区在线视频| 国产成人在线观看免费网站| av亚洲产国偷v产偷v自拍| 色哟哟欧美精品| 91精品国产aⅴ一区二区| 精品久久久久久久久久久久久久久久久 | 蓝色福利精品导航| 国产另类ts人妖一区二区| 高清av一区二区| 日本丰满少妇一区二区三区| 91精品国产色综合久久ai换脸| 欧美大胆一级视频| 国产精品素人一区二区| 一区2区3区在线看| 裸体歌舞表演一区二区| 成人深夜福利app| 欧美美女视频在线观看| 国产亚洲一区字幕| 亚洲成人动漫精品| 国产999精品久久久久久绿帽| 一本色道**综合亚洲精品蜜桃冫| 欧美一区永久视频免费观看| 久久精品人人做人人爽人人| 亚洲精品国产a| 精品制服美女丁香| 色综合婷婷久久| 久久这里只精品最新地址| 亚洲免费观看高清完整版在线观看熊 | 欧美视频一区二区在线观看| 久久婷婷国产综合国色天香| 亚洲图片一区二区| 国产99久久久国产精品免费看| 欧美三日本三级三级在线播放| 久久综合一区二区| 日韩专区中文字幕一区二区| 国产成人精品网址| 欧美电影免费观看高清完整版在| 亚洲卡通动漫在线| 成人免费观看视频| 国产亚洲女人久久久久毛片| 日韩精品电影在线观看| 色综合久久88色综合天天| 国产亚洲精品aa| 国产真实乱子伦精品视频| 51精品久久久久久久蜜臀| 亚洲综合色婷婷| 色综合久久久网| 亚洲欧洲国产专区| 成人一区二区三区在线观看| 精品乱人伦小说| 麻豆国产欧美日韩综合精品二区 | 91麻豆产精品久久久久久| 国产日韩欧美不卡在线| 国产精品乡下勾搭老头1| 欧美电影精品一区二区| 久久综合综合久久综合| 日韩午夜av一区| 免费成人你懂的| 日韩欧美一级在线播放| 日韩国产在线一| 欧美性感一类影片在线播放| 亚洲激情成人在线| 欧美色图天堂网| 天天综合色天天| 欧美成人国产一区二区| 国精产品一区一区三区mba桃花| 日韩欧美成人午夜| 亚洲精品日韩专区silk| 成人免费毛片片v| 国产精品久久久久久久第一福利| 欧美高清在线视频| 国产 欧美在线| 亚洲人成在线播放网站岛国| 粉嫩嫩av羞羞动漫久久久| 国产一区二区三区电影在线观看| 怡红院av一区二区三区| 麻豆一区二区在线| 亚洲欧美影音先锋| 色狠狠一区二区三区香蕉| 国产欧美一区二区精品性色超碰| 成人免费毛片高清视频| 欧美日韩mp4| 亚洲欧美在线aaa| 亚洲午夜久久久久久久久久久 | 99精品欧美一区二区三区小说| 欧美无砖砖区免费| 亚洲男人电影天堂| 欧美性大战久久久久久久蜜臀| 亚洲私人黄色宅男| 欧美国产日本韩| 99久久婷婷国产综合精品| 一区在线播放视频| 91精品国产综合久久久久久| 午夜日韩在线观看| 99国产精品一区| 91在线看国产| 日韩一区有码在线| 色婷婷综合中文久久一本| 亚洲男同性视频| 日韩精品一区二区三区中文不卡| 亚洲国产精品久久久久婷婷884| 91久久精品一区二区三区| 亚洲免费看黄网站| 午夜精品福利一区二区三区av| 色呦呦国产精品| 精品无人码麻豆乱码1区2区| 久久久九九九九| 精品视频免费在线| 国产99一区视频免费| 午夜私人影院久久久久| 国产精品剧情在线亚洲| 91精品国产乱| 欧美制服丝袜第一页| 成人性生交大片免费看中文| 日韩黄色一级片| 一区二区视频免费在线观看| 久久蜜桃香蕉精品一区二区三区| 欧美三级视频在线播放| gogo大胆日本视频一区| 国产伦精品一区二区三区免费迷| 亚洲aⅴ怡春院| 亚洲精品国产一区二区精华液 | 91视频xxxx| 精品无人码麻豆乱码1区2区 | 久久久国产精品午夜一区ai换脸| 欧美亚洲图片小说| 91丨porny丨国产| 成人性色生活片免费看爆迷你毛片| 秋霞影院一区二区| 日本aⅴ精品一区二区三区| 亚洲在线观看免费视频| 亚洲蜜桃精久久久久久久|