學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 電腦安全 > 防火墻知識 >

Linux防火墻iptables簡易教程

時間: 加城1195 分享

  防火墻主要由服務(wù)訪問規(guī)則、驗證工具、包過濾和應(yīng)用網(wǎng)關(guān)4個部分組成,防火墻就是一個位于計算機和它所連接的網(wǎng)絡(luò)之間的軟件或硬件。對于linux下常見的防火墻iptables的一些內(nèi)容,本著簡明化學(xué)習(xí)的目的,微魔為大家剔除了許多冗余的內(nèi)容,提取出盡量多的精華部分成文,和大家共同學(xué)習(xí),本文涉及的內(nèi)容包括如下

  Linux防火墻iptables簡明教程

  1.安裝iptables

  2.查看現(xiàn)有的iptables規(guī)則

  3.刪除某iptables規(guī)則

  4.清除現(xiàn)有iptables規(guī)則

  5.創(chuàng)建規(guī)則

  6.設(shè)置開機啟動

  7.保存iptables規(guī)則

  8.iptables在手動防CC攻擊中的簡單應(yīng)用

  1.安裝iptables

  很多Linux已經(jīng)默認安裝iptables,可使用后文的查看命令測試是否安裝

  CentOS/RedHat下執(zhí)行:

  yum install iptablesDebian/Ubuntu下執(zhí)行:

  apt-get install iptables

  2.查看現(xiàn)有的iptables規(guī)則

  命令后面的line-number為顯示行號(將規(guī)則一則一則輸出,并顯示行號),可選,方便后文的刪除指令。

  iptables -L -n --line-numbers

  3.刪除某iptables規(guī)則

  例如,刪除第12行的規(guī)則,行號可由之前的命令查看

  iptables -D INPUT 12

  4.清除現(xiàn)有iptables規(guī)則

  iptables -F

  iptables -X

  iptables -Z

  5.創(chuàng)建規(guī)則

  a).開放端口

  命令iptables -A INPUT -j REJECT將屏蔽其他未授權(quán)的端口,因此請務(wù)必開放22端口以保障SSH連接正常~

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

  #允許本機訪問

  iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

  # 允許已建立的或相關(guān)連的通行

  iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

  #允許所有本機向外的訪問

  iptables -A OUTPUT -j ACCEPT

  # 允許訪問22端口

  iptables -A INPUT -p tcp --dport 22 -j ACCEPT

  #允許訪問80端口

  iptables -A INPUT -p tcp --dport 80 -j ACCEPT

  #允許FTP服務(wù)的21和20端口

  iptables -A INPUT -p tcp --dport 21 -j ACCEPT

  iptables -A INPUT -p tcp --dport 20 -j ACCEPT

  #如果有其他端口的話,規(guī)則也類似,稍微修改上述語句就行

  #禁止其他未允許的規(guī)則訪問

  iptables -A INPUT -j REJECT

  iptables -A FORWARD -j REJECT

  b).屏蔽ip

  iptables -I INPUT -s 123.123.123.123 -j DROP可通過更換上述ip為ip段來達到屏蔽ip段的目的~

  若需屏蔽整個ip段(123.0.0.1到123.255.255.254)則換為123.0.0.0/8

  若需屏蔽ip段123.123.0.1到123.123.255.254,則換為124.123.0.0/16

  若需屏蔽ip段123.123.123.1到123.123.123.254則換為123.123.123.0/24

  6.設(shè)置開機啟動

  一般在安裝iptables完成后,開機啟動會自動設(shè)置成功,但在個別CentOS系統(tǒng)上,貌似還有些問題,可以使用如下命令手動設(shè)置

  chkconfig --level 345 iptables on

  7.保存iptables規(guī)則

  service iptables save

  8.iptables在手動防CC攻擊中的簡單應(yīng)用

  關(guān)于獲取攻擊者ip的方法,可以通過很多方法獲取,如查看網(wǎng)站日志等,本文不再贅述。

  a).建立要屏蔽的ip/ip段文件,名為ip.txt

  #屏蔽的ip

  123.4.5.6

  #屏蔽的ip段(編寫方法,同前文)

  123.4.5.6/24b).建立block_ip.sh腳本文件

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

  #!/bin/sh

  # Filename: block_ip.sh

  # Purpose: blocks all IP address/network found in a text file

  # The text file must have one IP address or network per line

  #################################################################

  # Change the following path/filename to match yours

  IP_LIST_FILE=/path/to/ip.txt

  #################################################################

  # Don't change anything below unless you are a smarty pant!

  #################################################################

  IPTABLES_BIN=/sbin/iptables

  # Get the IP address/network from the file and ignore any line starting with # (comments)

  BAD_IP_ADDR_LIST=$(grep -Ev "^#" $IP_LIST_FILE)

  # Now loop through the IP address/network list and ban them using iptabels

  for i in $BAD_IP_ADDR_LIST

  do

  echo -n "Blocking $i ...";

  $IPTABLES_BIN -A INPUT -s $i -j DROP

  $IPTABLES_BIN -A OUTPUT -d $i -j DROP

  echo "DONE.";

  done

  ##################################################################

  # END OF SCRIPT - NOTHING TO SEE HERE - THAT'S ALL FOLKS!

  ##################################################################

  c).運行腳本

  sh /path/to/block_ip.sh

  d).查看iptables規(guī)則是否生效/正確,這一步的命令,之前有提到哦,開動腦筋,實在忘了,點擊此處~

  補充閱讀:防火墻主要使用技巧

  一、所有的防火墻文件規(guī)則必須更改。

  盡管這種方法聽起來很容易,但是由于防火墻沒有內(nèi)置的變動管理流程,因此文件更改對于許多企業(yè)來說都不是最佳的實踐方法。如果防火墻管理員因為突發(fā)情況或者一些其他形式的業(yè)務(wù)中斷做出更改,那么他撞到槍口上的可能性就會比較大。但是如果這種更改抵消了之前的協(xié)議更改,會導(dǎo)致宕機嗎?這是一個相當(dāng)高發(fā)的狀況。

  防火墻管理產(chǎn)品的中央控制臺能全面可視所有的防火墻規(guī)則基礎(chǔ),因此團隊的所有成員都必須達成共識,觀察誰進行了何種更改。這樣就能及時發(fā)現(xiàn)并修理故障,讓整個協(xié)議管理更加簡單和高效。

  二、以最小的權(quán)限安裝所有的訪問規(guī)則。

  另一個常見的安全問題是權(quán)限過度的規(guī)則設(shè)置。防火墻規(guī)則是由三個域構(gòu)成的:即源(IP地址),目的地(網(wǎng)絡(luò)/子網(wǎng)絡(luò))和服務(wù)(應(yīng)用軟件或者其他目的地)。為了確保每個用戶都有足夠的端口來訪問他們所需的系統(tǒng),常用方法是在一個或者更多域內(nèi)指定打來那個的目標(biāo)對象。當(dāng)你出于業(yè)務(wù)持續(xù)性的需要允許大范圍的IP地址來訪問大型企業(yè)的網(wǎng)絡(luò),這些規(guī)則就會變得權(quán)限過度釋放,因此就會增加不安全因素。服務(wù)域的規(guī)則是開放65535個TCP端口的ANY。防火墻管理員真的就意味著為黑客開放了65535個攻擊矢量?

  三、根據(jù)法規(guī)協(xié)議和更改需求來校驗每項防火墻的更改。

  在防火墻操作中,日常工作都是以尋找問題,修正問題和安裝新系統(tǒng)為中心的。在安裝最新防火墻規(guī)則來解決問題,應(yīng)用新產(chǎn)品和業(yè)務(wù)部門的過程中,我們經(jīng)常會遺忘防火墻也是企業(yè)安全協(xié)議的物理執(zhí)行者。每項規(guī)則都應(yīng)該重新審核來確保它能符合安全協(xié)議和任何法規(guī)協(xié)議的內(nèi)容和精神,而不僅是一篇法律條文。

  四、當(dāng)服務(wù)過期后從防火墻規(guī)則中刪除無用的規(guī)則。

  規(guī)則膨脹是防火墻經(jīng)常會出現(xiàn)的安全問題,因為多數(shù)運作團隊都沒有刪除規(guī)則的流程。業(yè)務(wù)部門擅長讓你知道他們了解這些新規(guī)則,卻從來不會讓防火墻團隊知道他們不再使用某些服務(wù)了。了解退役的服務(wù)器和網(wǎng)絡(luò)以及應(yīng)用軟件更新周期對于達成規(guī)則共識是個好的開始。運行無用規(guī)則的報表是另外一步。黑客喜歡從來不刪除規(guī)則的防火墻團隊。


Linux防火墻iptables簡易教程相關(guān)文章:

1.linux怎么關(guān)閉iptables linux如何關(guān)閉防火墻

2.Linux關(guān)閉防火墻的方法 Linux怎么關(guān)閉防火墻

3.linux如何開放防火墻8080端口

4.linux如何查看防火墻是否開啟

5.linux怎么查看防火墻是否開啟

4042096