防火牆的相關知識介紹及命令

防火牆的相關知識web

 

防火牆:位於網絡之間的,根據所定義的規則對進出網絡數據包經行匹配,並匹配到包用指定的處理機制進行處理的硬件、軟件或者兩者的結合安全

 

包過濾防火牆:工做於網絡層網絡

  有狀態檢測併發

  簡單包過濾app

  

網關代理型防火牆:工做於應用層,效率低,安全性高ssh

 

  Hook function5個鉤子tcp

  INPUTide

  OUTPUTpost

  RORWARKspa

  PREROUTING

  POSTRONTING

  

filter:過濾 在INPUTOUTPUTRORWARK

natPREROUTINGdnatPOSTRONTING(snat) OUTPUT

mangle:對數據包的封裝格式從新進行修改,在5個鉤子裏均可以

rawPREROUTINGOUTPUT

 

當每一個鉤子擁有不一樣的表時,其檢測順序是mangle,在nat,最後filter

 

防火牆規則的查看:

# iptables -t table -L -n -v

  -t 默認是filter

  -L 列出目前的table的規則

  -n 不進行IPhostname反查,使顯示信息更快

  -v 顯示詳細信息

  --line-numbers 顯示的時候帶行號

 

防火牆規則的清除

# iptables -t table [-FXZ]

     -F flush):清空全部的已定規則

 -X ():刪除用戶自定義的空鏈

 -Z ():清空計數器(每一條規則都有兩個計數器,一個用於記錄被本條規則所匹配到的包的個數,另外一個用戶記錄全部匹配到包的體積之和)

 

定義防火牆的默認策略

# iptables  -P  chain ACCEPT|DROP) REJECT

# iptables  -P  INPUT  DROP

 

配置防火牆

#iptables  [-t table]  sub_command  CHAIN  [num]  [cretiria]   [ -j ACCTION] 

    sub_command

       Rule

         -A append):追加

     -I insert):插入,

     -D delete):刪除 -D OUTPUT 

     -R replace):替換, -R FORWARD 6

    chain:鏈

     -N new):新建

     -E 重命名一條鏈 

 通用匹配:

      -s ! IP/NETWORK 源地址

      -d ! IP/NETWORK 目標地址

      -p tcp|udp|icmp)指定協議

      -i interface 通常不用於outputpostrouting

      -o interface 通常不用在inputprerouting

  

  

 擴展匹配:

   隱式擴展:通常指對-p選項中指定的協議進行的擴展

       -p tcp

         --sport

     --dport

     --tcpflags 要檢查的標記,必須爲1的標記(剩餘位必須爲0

     --syn 

      -p udp

         --sport

     --dport 53 DNS 端口

      -p icmp

         --icmp-type

     echo-request8

     echo-reply0

  

    顯示擴展:通常指必須使用-m選項明確指定要加載擴展

 

       -m state:鏈接狀態 

          --state state

          NEW:想要新創建的數據包

  # iptables -A OUTPUT -o eth1 -m state --state NEW -j DROP

          ESTABLISHED:已創建狀態的請求數據包

  # iptables -P OUTPUT DROP

  # iptables -A OUTPUT -s 172.16.100.1 -m state --state ESTABLISHED -j ACCEPT

          RELATED:相關聯的數據包

          INVALID:無效的數據包

  

       -m mport|multiport)第一個可能不能用,全部儘可能用第二個

            --source-ports 8023

            --destination-ports

            --ports 

  # iptables -A INPUT -d 172.16.19.1 -p tcp -m multiport --source-ports 80,23 -j ACCEPT

 

       -m iprange 

            --src-range ip-ip

            --dst-range ip-ip

  # iptables -A INPUT -m iprange --src-range 172.16.19.10-172.16.19.100 -p tcp --dport 80 -j ACCEPT

 

      -m connlimit

            --connlimit-above n 限制某個鏈接請求上併發請求的個數

 

      -m limit

            --limit rate 平均單位時間是幾個

            --limit-burst number 突發限制的數量

# iptables -A INPUT -d 172.16.100.1 -p tcp --dport 80 -m limit --limit 1/second --limit-burst 30 -j ACCEPT

 

      -m time 

            --timestart value

            --timestop

            --days listofdays

            --datestart date

            --datestop date

# iptables -A INPUT -d 172.16.100.1 -p tcp --dport 80 -m time --datestart 2012:02:18 --datestop 2012:02:26 --timestart 08:30:00 --timestop 14:30:00 -j ACCEPT

 

      -m string

            --algo bm|kmp

            --string pattern

# iptables -A OUTPUT -s 172.16.100.1 -p tcp --dport 80 -m string --algo bm --string 「wed」 -j DROP 

 

 

21 FTP 22 ssh  23 telent

 

 

 

  

練習192.168.1.0/24狼窩,在要求爲172.16.x.1寫規則,知足如下要求:

1filter表全部連接的默認規則爲DROP

2lo接口上進出的全部數據包均放行;

3Webssh開放給非狼窩的主機;

1)ssh僅容許在工做時間(每週一至週五的900-1800)被訪問,但172.16.0.0/16網絡中的主機可在任意時段訪問;

2)web服務全時段可被訪問,但每秒種接收的新請求的個數不能超過100個;

4、發往本機的ping請求,每秒只各應兩個數據包,且最高每秒只響應3個;拒絕來自狼窩ping請求;本機可向任意主機發送Ping請求;

5、本機出口僅將已經創建的鏈接放行

# iptables -P INPUT DROP

# iptables -P OUTPUT DROP

# iptables -P FORWARK DROP

# iptables -A INPUT -i lo -j ACCEPT

# iptables -A OUTPUT -o lo -j ACCEPT

# iptables -A INPUT -s 192.168.1.0/24 -p tcp -m --multiport --source-ports 80,22 -j DROP

# iptables -A INPUT -s 172.16.0.0/16 -p tcp --dport 22 -j ACCEPT

# iptables -A INPUT -m --timestart 09:00:00 --timestop 18:00:00 --weekdays Mon,Tue,Web,Thu,Fri -p tcp --dport 22 -j ACCEPT

# iptables -A INPUT -p tcp --syn -m limit --limit-burst 100 -j ACCEPT

# iptables -A INPUT -s 192.168.1.0/24 -p icmp --icmp-type 8 -j DROP

# iptables -A INPUT -d 172.16.19.1 -p icmp --icmp-type 8 -m limit --limit 2/second --limit-burst 3 -j ACCEPT

# iptables -A OUTPUT -s 172.16.19.1 -p icmp --icmp-type 8 -j ACCEPT 

# iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT

相關文章
相關標籤/搜索