自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

動(dòng)態(tài)iptables防火墻之dynfw

運(yùn)維 系統(tǒng)運(yùn)維
iptables 是與最新的 2.6.x 版本Linux 內(nèi)核集成的 IP 信息包過(guò)濾系統(tǒng).本文為大家介紹一種iptables防火墻工具:dynfw

dynfw是一種一個(gè)非常重要的iptables網(wǎng)絡(luò)防火墻安全工具,來(lái)看下文的具體介紹。
 

  防火墻是一個(gè)非常重要的網(wǎng)絡(luò)安全工具,但是如果在需要對(duì)防火墻規(guī)則進(jìn)行快速、復(fù)雜的動(dòng)態(tài)修改時(shí)你該如何實(shí)現(xiàn)呢?如果你使用本文介紹的Daniel Robbins 的動(dòng)態(tài)防火墻腳本,這將是一件非常容易的工作。你可以利用這些腳本來(lái)增強(qiáng)你網(wǎng)絡(luò)的安全性和對(duì)網(wǎng)絡(luò)攻擊的實(shí)時(shí)響應(yīng)性,并基于該腳本進(jìn)行自己的創(chuàng)造性設(shè)計(jì)。

  理解動(dòng)態(tài)防火墻的腳本能夠帶來(lái)的益處的最好方法就是看它們?cè)趯?shí)際中的應(yīng)用。假設(shè)我是某個(gè)ISP的系統(tǒng)管理員,我最近架設(shè)了一個(gè)基于Linux的防火墻來(lái)保護(hù)我的客戶(hù)和內(nèi)部系統(tǒng),防止外部惡意用戶(hù)的攻擊。為了實(shí)現(xiàn)該系統(tǒng)我使用了新版Linux2.4內(nèi)核的iptables工具來(lái)實(shí)現(xiàn),防火墻允許客戶(hù)和內(nèi)部服務(wù)器向Internet建立連接,也允許從Internet向內(nèi)部系統(tǒng)的公共服務(wù)如web服務(wù)器、ftp服務(wù)器等建立新的連接。由于這里我使用了默認(rèn)拒絕任何服務(wù),只開(kāi)放允許的服務(wù)的策略,因此從Internet到非公共服務(wù)如squid的代理服務(wù)、samba服務(wù)的連接是被拒絕的。目前我已經(jīng)有了一個(gè)功能完備的、滿(mǎn)足安全需求的防火墻系統(tǒng),其能對(duì)ISP的所有用戶(hù)提供很好的保護(hù)。

  剛剛開(kāi)始的一個(gè)星期防火墻工作情況良好,但是隨后一些糟糕的事情發(fā)生了。Bob-一個(gè)攻擊者對(duì)我的網(wǎng)絡(luò)進(jìn)行了攻擊,它采用了使用垃圾數(shù)據(jù)報(bào)淹沒(méi)我的 ISP網(wǎng)絡(luò)的方法來(lái)對(duì)我的客戶(hù)進(jìn)行Dos攻擊。不幸的是Bob已經(jīng)對(duì)我的防火墻進(jìn)行了仔細(xì)的研究,知道雖然我對(duì)內(nèi)部服務(wù)進(jìn)行了保護(hù)但是25端口和80端口都是開(kāi)放的以收發(fā)Emai和開(kāi)放www服務(wù)。Bob決定對(duì)我的Email和WWW服務(wù)器進(jìn)行Dos的攻擊。

  Bob開(kāi)始攻擊的1-2分鐘以后我發(fā)現(xiàn)我的線(xiàn)路出現(xiàn)嚴(yán)重的擁塞情況。通過(guò)tcpdump察看我發(fā)現(xiàn)這是Bob進(jìn)行的一次攻擊。并且我得到了它的攻擊源地址?,F(xiàn)在我就需要阻止這些IP地址對(duì)我的公共服務(wù)器的連接。下面我就討論一種簡(jiǎn)單方便的解決方案。

  阻止攻擊

  我馬上采取行動(dòng),加載我的防火墻啟動(dòng)腳本并使用vi對(duì) iptables 規(guī)則進(jìn)行編輯,來(lái)阻塞這些Bob發(fā)出的惡意攻擊數(shù)據(jù)的源地址的數(shù)據(jù)報(bào)。大約一分鐘以后我找到了在防火墻啟動(dòng)腳本中添加新的DROP規(guī)則的位置,我馬上添加了新的規(guī)則并重新啟動(dòng)了防火墻。很快防火墻發(fā)揮了作用,Bob的攻擊得到了遏制?,F(xiàn)在看起來(lái)我成功的擊潰了Bob的攻擊,可是不久網(wǎng)絡(luò)值班電話(huà)又響了起來(lái),原來(lái)是客戶(hù)發(fā)現(xiàn)網(wǎng)絡(luò)不可用而打過(guò)來(lái)的投訴電話(huà)??墒歉釉愀獾氖菐追昼娨院笪易⒁獾轿业腎nternet連接線(xiàn)路又開(kāi)始出現(xiàn)嚴(yán)重阻塞。我仔細(xì)察看原來(lái)是Bob使用了新的IP地址進(jìn)行攻擊行動(dòng)。我只好不得不再次修改防火墻啟動(dòng)腳本來(lái)阻止它的攻擊。我就這樣一直在Bob的屁股后面疲于奔命。

  問(wèn)題出在哪里呢?雖然我建立了功能完備的、滿(mǎn)足安全需求的防火墻系統(tǒng)并且快速的發(fā)現(xiàn)了網(wǎng)絡(luò)出現(xiàn)問(wèn)題的原因,但是我卻不能在第一時(shí)間內(nèi)對(duì)我的防火墻規(guī)則進(jìn)行調(diào)整來(lái)響應(yīng)Bob的攻擊。當(dāng)網(wǎng)絡(luò)被攻擊時(shí),被動(dòng)慌亂地快速對(duì)攻擊做出防范反應(yīng),對(duì)防火墻規(guī)則配置腳本進(jìn)行修改不但是壓力巨大,而且效率低下。

  ipdrop

  如果能創(chuàng)建一個(gè)特殊的"ipdrop"腳本,其被設(shè)計(jì)為能方便地插入一個(gè)規(guī)則來(lái)阻塞指定的IP,那么將上面的工作將非常容易。通過(guò)該腳本阻塞某個(gè)IP將是非常容易的工作,只需要幾秒鐘就可以實(shí)現(xiàn)。而且通過(guò)該腳本還可以防止手工加入規(guī)則時(shí)容易出現(xiàn)的錯(cuò)誤。因此阻塞Bob的攻擊將變?yōu)榇_定其攻擊源地址。然后通過(guò)如下命令:

  # ipdrop 129.24.8.1 on

  IP 129.24.8.1 drop on.

  ipdrop腳本將立即阻塞129.24.8.1。通過(guò)使用該腳本能顯著地提高你的防衛(wèi)能力。下面就是ipdrop腳本的實(shí)現(xiàn):

  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:解釋

#p#

  從上面的腳本源代碼中最后四行內(nèi)容可以看到實(shí)際的命令是在防火墻表中插入適當(dāng)?shù)囊?guī)則??梢钥吹?INSERT變量的值取決于在命令行參數(shù)中是使用"on"還是"off"模式。當(dāng)iptables行被執(zhí)行時(shí)特定的規(guī)則將被適當(dāng)?shù)牟迦牖騽h除。

  現(xiàn)在我們看看這些規(guī)則本身的功能,它們能和任何類(lèi)型的防火墻一起發(fā)揮作用,甚至在沒(méi)有部署防火墻的系統(tǒng)上。需要的條件僅僅是支持iptables的 Linux2.4版本的內(nèi)核。我們阻塞來(lái)自惡意IP的攻擊數(shù)據(jù)報(bào)(第一條iptables語(yǔ)句),阻塞發(fā)向惡意攻擊IP的數(shù)據(jù)報(bào)(第二條iptables 語(yǔ)句),并且對(duì)該IP關(guān)閉任意方向的數(shù)據(jù)轉(zhuǎn)發(fā)(最后兩條iptables工具)。一旦這些規(guī)則發(fā)揮作用系統(tǒng)將丟棄滿(mǎn)足這些條件的任何數(shù)據(jù)報(bào)。

  另外一個(gè)需要注意的是:腳本中調(diào)用了"rec_check", "unrecord", "record",和"args"。這些都是定義在"dynfw.sh"中的特殊的bash函數(shù)。"record"函數(shù)實(shí)現(xiàn)將被阻塞的IP記錄在文件 /root/.dynfw-ipdrop文件中,而"unrecord"則是將其從文件/root/.dynfw-ipdrop中去除。 "rec_check"函數(shù)是在發(fā)現(xiàn)試圖重新阻塞某個(gè)已經(jīng)阻塞的IP地址或取消某個(gè)沒(méi)有被阻塞的IP地址時(shí)輸出錯(cuò)誤信息并停止腳本執(zhí)行。"args"函數(shù)實(shí)現(xiàn)確保命令行參數(shù)的正確性,并實(shí)現(xiàn)打印腳本幫助命令。文件dynfw-1.0.tar.gz包含所有的這些工具,具體情況請(qǐng)見(jiàn)文章最后的資源部分。

  tcplimit

  如果你需要對(duì)某個(gè)特殊的基于TCP的網(wǎng)絡(luò)服務(wù)的使用進(jìn)行限制(例如在端系統(tǒng)上產(chǎn)生嚴(yán)重負(fù)載時(shí)),則tcplimit腳本則可以幫助你達(dá)到這個(gè)目的,該腳本使用TCP端口、一個(gè)率值和"on"或"off"作為參數(shù):

  # tcplimit 873 5 minute on

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

  tcplimit使用iptables的"state"模塊(應(yīng)確保在內(nèi)核中打開(kāi)該選項(xiàng)或加載模塊)來(lái)實(shí)現(xiàn)在某段時(shí)間內(nèi)只允許特定數(shù)目的連接請(qǐng)求通過(guò)。在本例中防火墻將限制每分鐘只允許5個(gè)新連接到我的rsync服務(wù)器(port 873)。當(dāng)然你可以根據(jù)需要選擇時(shí)間單位為秒鐘/分鐘/小時(shí)。

  tcplimit提供了一個(gè)限制對(duì)非關(guān)鍵服務(wù)的使用的非常好的方法-這樣大量到非關(guān)鍵服務(wù)的數(shù)據(jù)不會(huì)破壞服務(wù)器。在上面的例子中使用tcplimit 來(lái)設(shè)置使用rsync的限制,以防止tsync數(shù)據(jù)占用了Internet連接的所有帶寬。其中連接服務(wù)限制信息記錄在文件/root/.dynfw- tcplimit中。若想關(guān)閉該限制只需要鍵入如下命令:

  # tcplimit 873 5 minute off

  Port 873 new connection limit off.

  tcplimit通過(guò)在"filter"表中創(chuàng)建一個(gè)新的規(guī)則鏈來(lái)實(shí)現(xiàn)。這個(gè)新的規(guī)則鏈將拒絕所有超過(guò)指定限制的數(shù)據(jù)報(bào),同時(shí)將一個(gè)規(guī)則插入到 INPUT規(guī)則鏈中,其將所有的到目標(biāo)端口(在本例中是873端口)的新連接數(shù)據(jù)報(bào)定向到這個(gè)新的規(guī)則鏈。新規(guī)則鏈只會(huì)影響新的超過(guò)限制的連接而不會(huì)影響已經(jīng)建立的連接。

  當(dāng)tcplimit定義的規(guī)則被關(guān)閉,INPUT規(guī)則和新規(guī)則鏈則會(huì)被刪除。象ipdrop一樣其tcplimit可以和任何類(lèi)型的防火墻一起工作。

  host-tcplimit

  host-tcplimit和tcplimit非常類(lèi)似,但是它是限制來(lái)自一個(gè)特定的IP的到服務(wù)器上某個(gè)特定端口的TCP連接數(shù)量。host -tcplimit在防止某個(gè)特定的人濫用你的網(wǎng)絡(luò)資源時(shí)非常有用處。例如你維護(hù)有一個(gè)CVS服務(wù)器,有一天突然發(fā)現(xiàn)一個(gè)特殊的新開(kāi)發(fā)者出現(xiàn)了,他好像建立了一個(gè)腳本每十分鐘更新它的資源。占用了大量的網(wǎng)絡(luò)資源。然后你就給他發(fā)送信件說(shuō)明他的行為的錯(cuò)誤之處。但是你收到他如下的回信:

  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

  對(duì)于這種情況,使用host-tcplimit可以非常容易的解決問(wèn)題:

  # host-tcplimit 1.1.1.1 2401 1 day on

  現(xiàn)在Newbie先生(IP地址為1.1.1.1)被限制為每天只能進(jìn)行一次CVS連接從而節(jié)省了網(wǎng)絡(luò)帶寬。

  user-outblock

  最后一個(gè),也是這幾個(gè)防火墻腳本中最有趣的是user-outblock。這個(gè)腳本提供了一種實(shí)現(xiàn)允許某個(gè)用戶(hù)通過(guò)SSH或telnet登錄到系統(tǒng)上但是不允許它通過(guò)命令行命令建立向外連接去的一個(gè)很理想的方法。下面是一個(gè)應(yīng)用user-outblock的一個(gè)示例場(chǎng)合。假設(shè)一個(gè)特殊的家庭在我們的ISP擁有一個(gè)賬號(hào)。媽媽和爸爸使用圖形化的email客戶(hù)端程序閱讀自己的信件,偶爾會(huì)沖浪Internet,但是他們的兒子卻是一個(gè)熱衷的 hacker分子,他常常使用它的shell訪(fǎng)問(wèn)權(quán)限來(lái)對(duì)其他的機(jī)器做一些淘氣的事情。

通過(guò)文章,我們可以清楚的知道動(dòng)態(tài)iptables防火墻dynfw,希望對(duì)大家有用!

【編輯推薦】

  1. Linux防火墻的IPtables設(shè)置與用法
  2. 巧用iptables建立Linux防火墻
  3. 使用iptables封殺內(nèi)網(wǎng)的bt軟件
  4. 用iptables來(lái)防止web服務(wù)器被CC攻擊
  5. 常用服務(wù)iptables設(shè)置
  6. Iptables性能測(cè)試
  7. iptables nat實(shí)驗(yàn)
責(zé)任編輯:趙鵬 來(lái)源: 網(wǎng)絡(luò)轉(zhuǎn)載
相關(guān)推薦

2011-03-15 16:35:27

2011-03-17 16:00:57

2011-03-15 15:47:15

Iptables防火墻

2011-03-17 10:58:55

Linux防火墻Iptables入門(mén)

2011-03-15 09:10:43

iptables防火墻

2011-03-15 17:18:45

2011-03-16 12:46:29

CentOSiptables防火墻

2018-07-02 09:18:11

Linuxiptables防火墻

2011-01-05 09:19:59

防火墻firewalld

2021-10-26 09:39:21

IptablesLinux防火墻

2010-01-07 14:12:11

Linux防火墻

2011-03-15 15:47:26

LinuxIptables防火墻

2011-03-16 10:12:32

2011-03-16 10:17:06

2011-03-15 10:48:47

2011-03-16 16:23:23

保存iptables防火墻

2011-03-15 09:10:42

Linux防火墻Iptables

2011-03-15 17:25:38

2011-03-15 17:12:11

2011-03-16 15:58:40

Iptables防火墻
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)