發表文章

目前顯示的是有「防火牆」標籤的文章

無狀態和有狀態防火牆

圖片
目前USER和WEB_SERVER都是互通,所有服務都沒有阻擋。 有一天我們想讓所有經由F0/1到F0/0的連線都無法通過。 我們設定了一條ACL NAME TCPIN,然後把他擺在F0/1 IN方向的端口。 結果當然如我們預料的WEB_SERVER無法連到USER,但是USER不但ping不到也連不到web服務。 因為封包是一去一回,所以極有可能是回去的封包被阻擋了,因此我們在deny ip any any前加了兩條,允許established的封包和echo-reply的封包。 我們除了USER能ping和連WEB_SERVER的80port外,而且ACL的matches也有增加。 現在我們只是解決了兩個問題,可是如果還有其他服務要開呢?所以非常難以維護和使用。 仔細想想我們現在使用的防火牆,只有一條內對外全部允許,外對內全部拒絕,好像也是可以瀏覽網頁和PING,似乎有點矛盾? 因為傳統只靠這種ACL的防火牆我們稱作stateless firewall(無狀態防火牆),就是我有設定才放行,沒設定就不放行,所以管理者必須要很清楚所有封包往返的流量,他不會紀錄已出去的封包狀態。 但是現在的防火牆大部分為stateful firewall(有狀態防火牆),這有點像是我發起一個50000port去連google網站80port,防火牆當然會預期google網站會回應一個80port回給我50000port的連線,所以他所有出去的流量都會記錄在他的stateful表格裡,只要在表格內都會自動放行,當然等到他偵測到一個結束訊號的話,這些暫時放行的防火牆規則就會關掉了。 再舉個比方就像是我主動打電話給A,因為防火牆政策有允許我打給A,所以有狀態防火牆就會允許並且開始記錄這通電話的狀態,例如我和對方電話多少,目前進行到開始還是結束?而且之後所有這通電話A回應給我的聲音都會被防火牆自動允許,直到雙方說再見掛電話,防火牆的自動允許才會取消,但A能不能主動打給我呢?要看防火牆有沒有允許A能打給我的政策。

防火牆政策尋找連線符合允許和拒絕的規則

圖片
我們防火牆就兩個區域,一個是LAN,一個是DMZ。 我們想要達到的目的為: LAN TO DMZ:WIN7可以存取PRIVATE_WEB和PUBLIC_WEB。 LAN TO DMZ:XP只能存取PUBLIC_WEB。 如果是新建的防火牆,每個人大概五分鐘可以設定完成,可惜的是大部份的防火牆都不是新建的而是接前手或是廠商的,那原本的設定規則一但累積下去,在沒有定期整理的情況下,一、兩百條是家常便飯。 我們這台是XP,但是可以存取PRIVATE_WEB,表示設定和安全規範已經產生了落差。 原本防火牆就有設定好這五條,你當然可以說,我用邏輯判斷第四條設定有問題,但是如果有一百多條呢?你這時候很難判斷,或是需要花費大量的時間,所以我們需要靠機器輔助, 就是他到底是哪一條允許才可以存取資源的 ,記住防火牆預設是正向表列,就是最後一條一定是隱藏的拒絕全部。 我們進LOG看到原來是ID5政策允許的,這時候在去判斷邏輯就方便多了。 雖然ID3已經設定XP不能存取PRIVATE_WEB,但因為防火牆政策是採取TOP-DOWN的判斷方式,先進先出,所以我們在ID5政策已經允許XP的HTTP連線的,你之後在拒絕永遠不可能符合到這條條件,這是防火牆設定順序錯誤,我們把ID3和ID5政策對調順序。 改完設定之後果然XP不能存取PRIVATE_WEB,理由是違反ID3政策。 結論: 如果防火牆政策少的時候可以透過肉眼邏輯判斷問題,但是一多的時候就很難判斷,因此從LOG來看說是哪一條允許或拒絕的才是比較正確並且節省時間的做法,而且防火牆也要定期去檢視政策,會不會已經有不合乎安全規範但還是設定在上面,比方說廠商要連近來看所以暫時開放,但使用完後卻沒有拿掉政策之類的。

中小企業防火牆常見的對外服務

圖片
這是我的架構圖,客戶向ISP業者申請四個實體IP,網段為 222.222.222.221 ~ 222.222.222.224,內部伺服器網段為192.168.1.0/24。 介面IP和預設閘道設定好以後,我們會建立一條政策讓所有主機可以上網,通常就是使用介面IP來做PAT即可。 郵件伺服器使用222.222.222.222作NAT的IP。 驗證192.168.1.100其他的伺服器要出去都轉成222.222.222.221實體介面IP。 只有郵件伺服器轉成222.222.222.222實體IP出去。 郵件伺服器一定要使用222.222.222.222帶自己的IP做NAT出去,為什麼呢? 通常對方伺郵件服器收到這封信之後,為了要確認這封信確實是由你們公司寄出,所以會看寄出的IP有無帶DNS反解,舉例來說他收到來自 59.124.61.242這個IP,會反查這個IP屬於哪個公司,最後查出是synology.com,又這個帳號是support@synology.com寄出,這樣會比較相信信件是由公司寄出的,不然可能會丟到垃圾郵件中。 接下來我們要設定外對內的服務,所以是WAN to LAN,實體IP對應到虛擬IP。 我們把 222.222.222.224都對應到內部DNS IP, 222.222.222.223都對應到內部MAIL IP,因為只剩下一個222.222.222.222 IP可以用,所以我們必須透過PORT轉換,比方說WEB1的80 port和 222.222.222.222 的80 port 對應,WEB2的80 port和222.222.222.222的81 port對應,常用在監視器上,比方說一個實體IP對應多個網頁監視鏡頭。 111.111.111.111是郵件伺服器維護廠商的公司IP,有時候需要從外面連遠端桌面,所以我們只開放111.111.111.111可以連入。 如果其他IP來連的話就會被防火牆阻擋。 接下來要測試郵件伺服器,郵件伺服器需要外面寄信進來或外部認證寄信(25 port),外部的人可以透過outlook收信(110 port),或是使用郵件webmail(80),測試方式可以直接telnet 他的25 port。 只要有看到東西就表示連線有建...