[轉]學習使用windows下類似iptables的防火牆軟件

 

 

原文: https://www.cnblogs.com/seasonzone/p/3531795.html

-------------------

項目地址:
http://wipfw.sourceforge.net
一、下載地址:
http://sourceforge.net/projects/wipfw/files/
安裝:
解壓軟件包後執行install.cmd文件,就安裝完成。

二、相關參數:
The following options are available:
-a     查看規則,並統計經過的數據包。
-d     顯示動態規則,除了靜態規則。
-e     和-d參數一樣,也顯示過期的規則。
-f     一般用在清空規則的時候
-q     在添加、清空、resetlogging、flushing,它會打印一條消息,因爲所有的規則都被重置,這個消息會被傳到登陸回話,回話可能會被關閉;在調整多個ipfw命令的時候非常有用。
-t     查看所有規則,並打印最後查看時間。
-N     在輸出的時候,解析IP地址和服務的名稱(建議不要用,因爲解析地址和服務名稱會很慢)

額外的命令(僅用於Windows):
enum     查看本地所有網絡接口
sysctl    編輯sysctl的值.如:ipfw sysctl debug=0

三、規則的格式如下:
[prob match_probability] action [log [logamount number]] proto from src to dst [interface-spec] [options]
1、相關解釋:
rule_number
規則數,範圍1-65535,默認不指定爲100;規則的排序是從小到大排,規則數越小優先級越高。另外多個規則可以指定一個number
log 
消息包與規則匹配日誌,默認會放到%systemroot%\security\logs\wipfwYYYYMMDD.log下

2、規則動作:
action: allow、accept、pass、permit
check-state:匹配動態規則集,如果有檢查狀態規則,則從第一條開始檢查;如果沒有檢查狀態規則,動態規則優先。
count針對所有的數據包更新計數器。
deny|drop 匹配到規則,就終止。
3、規則主體:
[proto from src to dst] [options]
proto: protocol 支持協議列表%systemroot%\system32\drivers\etc\protocol
列入常用的IP/TCP/UDP/ICMP/RDP等

源和目的地址:
any、單個IP或主機名,IP/netmask,IP:netmask
ports: {port|port-port|port:mask}[,port[,...]]
"-"表示端口範圍
":"這個用在端口上暫時還沒理解,官網是這麼解釋的notation specifies a port and a mask, a match is declared if the port number in the packet matches the one in the rule, limited to the bits which are set in the mask.

4、規則的options:
established  TCP信息包匹配具有RST或ACK bits設置
fragment     片段 
icmptypes    匹配ICMP packets,支持的數據包類型
    reply (0) 回覆
    destination unreachable (3)目的不可達
    source quench (4) 關閉源
    redirect(5)  重定向
    echo request (8) 輸出請求
    router advertisement (9)路由通告
    router solicitation (10) 路由器請求
    time-to-live exceeded (11)傳出時間超時
     IP header bad (12) 壞的IP包頭
    timestamp request(13) 時間戳請求
    timestamp reply (14) 時間戳應答
    information request (15) 信息請求 
    information reply (16) 信息應答
    address mask request (17) 地址掩碼請求
    address mask reply (18) 地址掩碼應答
    
in | out  匹配進出請求
ipoptions 匹配指定IP報頭
keep-state 更新規則的生命週期,一有請求就刷新規則
limit {src-addr | src-port | dst-addr | dst-port} N
recv | xmit | via {ifX | if* | ipno | any} 匹配收到,傳中中的,檢測中的包。
setup 匹配SYN TCP請求,不匹配ACK bit;tcpflags syn,!ack
tcpflags spec  
tcpoptions spec 

四、命令的使用以及案例:
默認安裝完的防火牆規則是允許所有的,如下
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
add 100 allow all from any to any via lo*
add 110 deny log all from any to 127.0.0.0/8 in
add 110 deny log all from 127.0.0.0/8 to any in
add check-state
add pass all from me to any out keep-state
add count ip from any to any
++++++++++++++++++++++++++++++++++++++++++++++++

清掉所有的規則:
ipfw -f flush
ipfw delete number刪除某條規則
ipfw  -at list  常看當前規則
ipfw -a list 查看當前規則
ipfw list 查看當前規則
ipfw show 查看當前規則,更詳細些
ipfw add check-state 添加動態規則集
ipfw add 220 allow/deny tcp/udp from 192.168.0.1/24 2000-4000 to any  限制TCP/UDP和客戶端
ipfw add 101 deny tcp from 192.168.1.0/24 to  172.16.0.19 3389  限制指定客戶端遠程服務器

+++++++++限制訪問(不使用動態規則)+++++++++++++++++++++++++++++++++++
ipfw add allow tcp from any to any established
ipfw add allow tcp from net1 portlist1 to net2 portlist2 setup
ipfw add allow tcp from net3 portlist3 to net3 portlist3 setup
ipfw add deny tcp from any to any

++++爲了保護一個網站從洪水襲擊涉及假TCP數據包,更安全的做法是使用動態規則+++++++++++
ipfw add check-state
ipfw add deny tcp from any to any established
ipfw add allow tcp from my-net to any setup keep-state


++++++++++++++++++++我現在的windows服務器規則++++++++++++++++++++++++++++++
#寫批處理文件,然後加到啓動項裏面。

ipfw -f flush 清掉所有規則
ipfw add check-state
ipfw add 101 allow ip from 192.168.1.0/24  to any
ipfw add 101 allow ip from 10.0.0.0/8 to any
ipfw add 102 allow ip from 10.0.0.0/16 to any
ipfw add deny tcp from any to any
ipfw add deny udp from any to any

 

花費了半個下午終於搞定了windows下的安全,有些地方是自己翻譯的不是很精確,有出入的地方望指教。[email protected]

 

本文出自 “Larry學習之路” 博客,請務必保留此出處http://5iqiong.blog.51cto.com/2999926/1112657

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