引用:
作者darkangel
之前要在 windows 上跑 filezilla server 所以才需要開 5000~5500,因為 filezilla server 是用 service 的模式在跑,一般 for win 的防火牆只對 application 做對應卻無法對 service 做對應,雖然 ftp client 端是對映到 port 20 & 21,但是在 server 端往 client 丟時卻是亂數跑一個 1024 以上的 port,我只好鎖定 server 亂數跑的 port range 為 5000~5500,結果試了兩三套免費的防火牆都達不到我想要的功能,才藉這個機會問問看高手。
windows 拿來當 server 我並不熟,要不是因為有特別的需求,不然我會直接用 BSD 來做 server,我的 BSD 雖然會啟用防火牆(ipfw/ipfilter) 功能,但是我設定為 open,因為擋服務我用 tcpwapper,ipfilter 只是用來自動化 deny cracker 用 nmap 或 nessus 這類的工具來掃我機器而已,除此之外我在 router 跟 switch 上也有做 access-list,所以我覺得 windows 的 se...
|
多數比較進階的防火牆軟體,都可以設定, allow filezilla這支程式架成server模式, 且這個
程式可以允許特定port的存取(或回應), 但是不套用到其他所有的程式. 這樣只有開放一支.
FTP server 有兩種運作模式: active mode and passive mode
使用兩個channel: command channel : 下指令之用, 通常是21port
data channel: 傳輸資料之用, 在active mode是20port, 在passivde則是由client指定
如果你的server可以指定的話,可以限定僅執行active mode的模式.就會鎖定在20/21.
只不過這種方式,client端躲在NAT之後的情況,相容性會很差.
多數FTP server 支援passive mode以求更佳的client環境相容性, 如果要鎖定不亂開
port的話,那你的防火牆需要支援FTP ALG(Application Layer Gateway)功能.
就可以監視ftp command channel/data channel的溝通過程,動態開啟upper port 給
client 端使用(僅開放會用到的,而不是整段). 像是ZoneAlarmPro都可以做到這樣的功能.
至於一般free firewall, 頂多只有access control list, 並不能稱上stateful firewall
無法合併request and response的狀態來檢查,您的需求自然很難達成.