防火牆配置

防火牆 : Fire wall    由軟件或者硬件組成的組件. 指工作在網絡邊緣(主機邊緣),對進出等網絡的數據包基於一定的規則進行檢查,並在匹配到某規則時,由規則定義的處理機制進行處理的這樣一種功能的組件                                

防火牆的五個系統自帶的規則鏈:INPUT  OUTPUT  FORWARD   POSTROUTING  PREROUTING

四個表:filter過濾在三個點上做:input,output,forward      nat地址轉換在三個點做:prerouting在此上做目標地址轉換,  postrouting在此上做源地址轉換, output     mangle在五個點都可以做,拆包,做重新封裝的    raw只在兩個地方做:prerouting,output

寫規則:iptables [-t table] command 加到哪個鏈上 跟上這個鏈的第幾個位置 匹配條件 -j

-t table 有四種可選 filter nat mangle raw

command 對規則(rule)操作的命令-A表示追加,在鏈的最後追加           -I表示插入,用法:-I CHAIN UNM        -R 替換,用法:-R CHAIN NUM           -D用於刪除一條規則用法:-D CHAIN NUM

對鏈(CHAIN)進行操作  -N用於新建一個用戶自定義鏈    -X表示刪除一條用戶自定義鏈,只能刪除一條空鏈       -F用於清空一個鏈         -Z表示清空計數器,默認兩個計數器        -P表示定義一個鏈的默認處理策略      -E用於重命名一條鏈  

list -L 列出鏈中所有規則

-L的輔助命令:-n表示以數字的方式來顯示,不反解ip地址  -v顯示詳細信息   -x顯示精確數字,不做換算       --line-numbers顯示規則行號

Match Creteria

基本匹配 

-s匹配數據包的源地址(--src或者--source   

-d--dst或者--destination)指定匹配數據包目標地址    

-i指定數據包的流入接口(指邏輯接口)  

-o指定數據包的流出接口  

-p用於做協議匹配(四層協議匹配:tcpudpicmp

擴展匹配:隱含擴展:對某一協議的擴展  顯式擴展

隱含擴展

-p tcp      

--sport匹配源端口    --dport  匹配目標端口

--tcp-flags(留個標誌位,SYN,ACK,FIN,PSH,URG,RST.ALL,ALONE

--syn表示上面的數據包 重置時syn重置,rst不可重置

-p udp

           --sport

           --dport

-p icmp

           --icmp-type     echo-request代碼是8發出請求   echo-reply代碼是0應答

顯示擴展

-m   明確指定是一個擴展    

state:

四個狀態:NEW   ESTABLISHED   RELATED  INVALID

--state後跟狀態 表示檢查哪幾個狀態

/etc/sysconfig/iptables-sysconfig 文件下寫進ftp服務項

-m multiport多端口匹配

--sports 用於指定多個源端口 中間用逗號隔開  

--dports用於指定多個目標端口

--ports指定非連續的端口

-m connlimit

--connlimit-above    NUM 超出幾個就被拒絕,上限是多高

-m time 用於指定之間

--timestart 起始時間  --timestop結束時間    起始時間不能小於結束時間,凌晨後寫成兩段

-m string 做字符串匹配

--algo

--string pattern

-j  TARGET

        ACCEPT允許

        DROP拒絕

        REJECT

        SNAT

        DNAT

        REDIRECT

        LOG

例如:本機上有ssh的服務工作在tcp22端口,來自於192.168.0.0//24,目標地址此地址,允許通過 

進來的iptables -t filter -A INPUT -s  192.168.0.0/24 -d 192.168.0.97 -p tcp --dport 22 -j ACCEPT  

出去的iptables -t filter -A OUTPUT -s 192.168.0.97 -d 192.168.0.0/24 -p tcp --sport 22 -j ACCEPT

iptables -L -n查看策略 默認是filter 

寫默認策略 iptables -t filter -P INPUT DROP     iptables -t filter -P OUTPUT DROP    

-s ‘ ! ‘ 192.168.0.0/24表示取反  前面加感嘆號 用強引用

service iptables save 保存iptables的設置

關於target :ACCEPT  , DROP   , REJECT    ,SNAT    ,DNAT

源地址轉換SNAT ,MASQUERADE地址僞裝 POSTROUTING上做

DNAT目標地址轉換  PREROUTING上做

在轉換的基礎上加過濾功能  iptables -A FORWARD -i eth1 -s 172.16.0.1 -j DROP 但別人改地址 就沒轍了  所以說包過濾的安全性還是很有限的  (-i 表示流入接口的設置)

layer7-filter   7層過濾  補充到內核上,重編內核(netfilter   再重裝iptables  (電子檔rh253

大致三個步驟  解壓完之後  ./configure --prefix=指定安裝路徑   make(頭文件,庫文件)  make install

二進制文件安裝位置/usr/local/bin,/usr/local/sbin,/usr/local/libexec

庫文件安裝位置/usr/local/lib

配置文件安裝位置/usr/local/etc

幫助文件安裝位置/usr/local/share

系統默認尋找庫文件的路徑/lib,/usr/lib,/usr/local/lib   /etc/ld.so.conf 定義新庫文件路徑(若路徑發生改變) 或者   /etc/ld.so.conf.d/ *.conf 建立這個文件,把新路徑寫進來     ldconfig  -v重新加載庫文件路徑

幫助文件:man有個配置文件/etc/man.config 定義在執行man命令時到什麼路徑下去找man文件 MANPATH行下加一個新路徑   

頭文件在/usr/include,/usr/local/include 若路徑發生變化,則制定鏈接:ln -sv /usr/local/tutils/include  /usr/include/tutils(起個名字)

保存iptables的設置  service iptables save  保存在/etc/sysconfig/iptables

iptables-save 保存規則 要手動設置輸出重定向 > /etc/sysconfig/iptables/iptables.2011012401

iptables-restore < /etc/sysconfig/iptables/iptables.20110124* 表示啓動哪個iptables設置

防火牆腳本 把所有執行的命令放進去 開機自動運行

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章