国产一级一区二区_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久久夜色精品国产_欧美色网一区二区
欧美理论在线播放| 狠狠色丁香婷婷综合久久片| 在线观看欧美成人| 国产精品v亚洲精品v日韩精品| 久久五月天婷婷| 欧美中文在线观看国产| 这里只有精品在线播放| 亚洲日本视频| 亚洲高清视频一区二区| 精品动漫3d一区二区三区免费版| 国产精品久久久久久av下载红粉 | 久久手机精品视频| 中文日韩电影网站| 亚洲国产一区二区视频| 国产日产欧美a一级在线| 欧美三级在线视频| 香港久久久电影| 亚洲综合欧美日韩| 亚洲精品视频在线播放| 好看的av在线不卡观看| 欧美午夜电影在线观看| 久久亚洲国产精品日日av夜夜| 亚洲欧美在线免费观看| 一区二区高清视频在线观看| 一区在线免费| 好看的日韩视频| 国产精品一区二区三区观看| 欧美日韩在线大尺度| 欧美激情视频给我| 欧美国产日韩在线观看| 欧美高清自拍一区| 欧美国产日韩一区二区在线观看| 欧美在现视频| 久久成人免费| 久久久精品性| 久久久99精品免费观看不卡| 欧美在线精品免播放器视频| 日韩视频免费观看| 一色屋精品视频在线看| 国产日韩亚洲欧美综合| 国产精品成人一区二区网站软件| 欧美精品日韩一区| 欧美护士18xxxxhd| 欧美ed2k| 美日韩精品免费观看视频| 久久在线免费视频| 欧美va亚洲va日韩∨a综合色| 卡通动漫国产精品| 欧美激情视频网站| 欧美日韩福利| 国产精品高潮呻吟久久av黑人| 欧美色另类天堂2015| 欧美三区免费完整视频在线观看| 欧美日韩亚洲视频| 国产乱码精品一区二区三区五月婷 | 久久久xxx| 久久精品国产欧美亚洲人人爽| 性一交一乱一区二区洋洋av| 午夜在线精品| 久久久999精品免费| 欧美电影在线观看完整版| 欧美日韩视频在线一区二区| 国产精品免费小视频| 国产夜色精品一区二区av| 伊人久久大香线蕉av超碰演员| 91久久久久久国产精品| 一区二区三区高清在线观看| 亚洲伦理在线| 亚洲一区日本| 久久亚洲色图| 欧美日韩一级黄| 亚洲日韩欧美一区二区在线| 夜夜嗨一区二区| 激情丁香综合| 亚洲天堂成人| 欧美精选在线| 欧美**字幕| 国产一区二区三区日韩| 欧美日韩日韩| 欧美视频免费在线| 欧美成人免费小视频| 99在线热播精品免费| 亚洲人成人一区二区三区| av成人毛片| 欧美日韩一区二区精品| 国产欧美一区二区精品秋霞影院| 欧美高清视频一区| 蜜乳av另类精品一区二区| 欧美另类人妖| 国产主播精品| 一区二区三区国产在线| 久久婷婷丁香| 国产精品乱人伦中文| 91久久精品美女高潮| 欧美一区二区三区视频| 欧美日韩一区不卡| 亚洲国产aⅴ天堂久久| 亚洲色图自拍| 美女视频黄 久久| 国产主播一区| 欧美一级成年大片在线观看| 欧美理论大片| 伊人久久久大香线蕉综合直播| 日韩香蕉视频| 老司机精品导航| 国产精品免费福利| 一本色道久久加勒比精品| 免费看亚洲片| 韩国一区二区三区在线观看| 久久久久久久网站| 国产午夜精品久久久久久免费视 | 亚洲精品中文字幕女同| 午夜日本精品| 欧美日韩另类丝袜其他| 亚洲国产精品女人久久久| 欧美一区免费视频| 国产伦精品一区二区三区高清| 亚洲一区二区三区视频| 国产精品a久久久久久| 99av国产精品欲麻豆| 欧美搞黄网站| 亚洲国产你懂的| 欧美成人影音| 亚洲日本欧美| 欧美激情视频在线免费观看 欧美视频免费一 | 国产三级精品三级| 午夜精品久久久久久久久久久久久 | 亚洲欧美日韩人成在线播放| 欧美成熟视频| 精品白丝av| 久久国产精品色婷婷| 国产精品无码永久免费888| 一二三四社区欧美黄| 女主播福利一区| 日韩视频二区| 欧美视频在线观看 亚洲欧| 一区二区三欧美| 国产精品女人毛片| 久久激情综合| 在线播放亚洲| 欧美日韩国产限制| 亚洲主播在线播放| 国外成人在线视频| 蜜臀99久久精品久久久久久软件| 亚洲电影免费观看高清完整版在线观看 | 久久综合综合久久综合| 91久久精品国产91久久性色tv| 欧美日本在线播放| 午夜影视日本亚洲欧洲精品| 狠狠色狠狠色综合日日91app| 免费一级欧美片在线播放| 在线视频日本亚洲性| 国产在线精品成人一区二区三区| 久久综合福利| 亚洲午夜av在线| 狠狠色丁香婷婷综合| 欧美日韩精品三区| 久久久午夜视频| 中文一区二区| 永久免费毛片在线播放不卡| 欧美日韩a区| 欧美一区二区三区四区视频| 国模叶桐国产精品一区| 欧美激情精品久久久久久黑人| 亚洲男同1069视频| 国产精品日韩在线一区| 羞羞答答国产精品www一本| 今天的高清视频免费播放成人| 欧美久久一区| 久久精品国产视频| 国产日产高清欧美一区二区三区| 老司机一区二区| 亚洲天堂av电影| 国产欧美成人| 欧美激情一区二区三区成人| 欧美亚洲日本网站| 国产综合色精品一区二区三区| 免费成人高清| 欧美一区二区国产| 一区二区三区精品视频在线观看| 美国成人毛片| 亚洲精选一区| 尤物在线精品| 国产视频欧美| 欧美视频在线观看免费| 欧美性大战久久久久久久蜜臀| 欧美成人午夜| 久久精品国产亚洲一区二区| 亚洲免费在线看| 亚洲精品欧美在线| 激情av一区二区| 国产美女一区| 国产精品毛片在线| 欧美日韩视频第一区| 麻豆精品视频在线观看视频| 亚洲欧美日韩中文视频| 中日韩视频在线观看| aa日韩免费精品视频一| 亚洲人成绝费网站色www| 在线免费观看日韩欧美|