Post view

insoler網站的FortiGate 110C防火牆關閉全部的Web→Internet對外規則,封鎖對外的所有網路封包

insoler網站目前使用的FortiGate 110C防火牆是在2012年10月6日購入,到今天為止,不知不覺已經用了5年多。雖然FortiGate 110C有點老舊,但卻非常穩定,幾乎從來都沒有當機過。而且防火牆使用的作業系統版本FortiOS v5.2.3,build670也不算太過老舊。目前的最新版本是2018年10月9日釋出的FortiOS 6.0.3。只是新的FortiOS 6.0無法安裝在過於老舊的防火牆,因此FortiGate 110C只能使用前一代的FortiOS 5.2.3。

我打算明年將防火牆升級到新的Fortinet FortiGate 81E來取代有點老舊的FortiGate 110C,也可以同時升級防火牆作業系統到最新的FortiOS 6.0.3以上的版本。舊的FortiGate 110C則當作備用品,萬一FortiGate 81E故障或是出了什麼問題,還可以有臨時替換的舊款防火牆可以使用。

雖然是有點老舊的FortiGate 110C防火牆與FortiOS 5.2.3,但只要沒有嚴重的安全性漏洞,並沒有使用上的問題。在防火牆的Poicy政策(也就是管制網路port與管制網路封包)你可以看到有設置了許多規則:

事實上,任何一台專業防火牆的Poicy政策,都可以設定多達9個方向以上的網路管理規則:

內部網路政策:

  • LAN to WAN或是LAN→Internet:內部網路到網際網路。
  • LAN to DMZ或是LAN→Web:內部網路到insoler網站。
  • LAN to LAN:內部網路到內部網路。如果有支援VLAN的防火牆,就可以在設定VLAN虛擬區域網路以後,控管不同的內部網路。比如禁止其他部門透過網路上的芳鄰存取會計部的電腦,但可以使用會計部的網路印表機等。

網站網路(非軍事區)政策:

  • DMZ to WAN或是Web→Internet::管理insoler網站主機到網際網路的上網規則。
  • DMZ to LAN或是Web→LAN::管制Web網站主機到內部電腦主機的規則。
  • DMZ to DMZ:管制Web網站主機之間的網路封包。同樣的這必須是在使用VLAN以後才能透過防火牆管制。如果是相同的網路區段,比如都是192.168.10.x區段,就無法透過防火牆管制,因為Switch Hub集線器會直接接通相同區域網路的所有電腦。

網際網路政策:

  • WAN to DMZ或是Web→Internet::管制從外面的網際網路到insoler網站主機的網路埠。
  • WAN to LAN或是Web→LAN::管制Web網站主機到內部電腦主機的規則。
  • WAN to WAN:有支援2個或是多個WAN port的防火牆,就可以管控網際網路對網際網路。

 

以上並不包含管制VPN虛擬私人網路。許多新世代的防火牆甚至還可以統合管理Wi-Fi專用的網路埠,提高無線網路的安全性。

全球有超過1億以上的網站,我想不管是哪一個網站,至少會開放幾個必要的網路埠,讓網站的伺服器主機群組,可以正常的對外上網,連上外部的網際網路。例如:

  • DNS網路埠:處理e-mail信件、網站主機的作業系統版本更新、下載MySQL Server更新版本等,網站套件更新等,如果無法連上DNS,就無法使用網域名稱,所有的網路服務都會無法正常使用!
  • SMTP與POP3網路埠:處理e-mail信件所需的網路埠。以insoler與BNW來說,至少會需要SMTP網路埠來寄送新會員註冊時的帳號啟用信件、忘記密碼信件等。
  • NTP網路埠:NTP是Network Time Protocol網路時間通訊協定的縮寫,可以讓網站的主機自動同步、校正電腦主機的時區、時間。

其他還會依據使用的用途,必須開放VPN網路埠(Virtual Private Network虛擬私人網路,透過網際網路連接遠端的內部網路,例如連接分公司與總公司的內部網路)以及HTTPS、HTTP網路埠,以便讓網站的主機可以正常上網,或是更新網站主機的作業系統版本、MySQL Server、網站套件等。

在過去幾年,insoler網站主機上網的「DMZ→WAN」對外封包,其實一直都有開啟DNS、SMTP、NTP這3個網路埠。在需要更新macOS系統版本的時候,會臨時開放Web Server主機、MySQL Server主機或是BNW主機的HTTPS的443 port、HTTP的80網路埠。平時並不會開放HTTPS與HTTP網路埠。

換句話說,我設置這樣的防火牆政策的目的是:

讓駭客絕對無法入侵,就算駭客有本事入侵,也會讓駭客進的來,也出不去!

雖然我的目的是嚴密管控,讓「駭客進的來,也出不去」但是如果駭客真的有本事找到防火牆的漏洞,穿越防火牆,或是利用唯一開放的HTTPS 443網路埠入侵,甚至駭客還可以繼續入侵位於防火牆之後的macOS 10.11.6、macOS 10.14.1的Mac mini主機。

駭客在Mac mini主機上到處搜刮資料,想要傳回到駭客自己手上的時候,會發現網站主機竟然完全無法上網,無法開啟任何的網頁,無論是HTTPS或是HTTP。不過,山不轉路轉,駭客進一步確認以後,會發現網站主機可以對外寄信!因為防火牆的SMTP網路埠是一直開啟中!這樣的話,駭客只要把搜刮的資料,透過emal寄信給自己就行了!

如果為了避免駭客透過SMTP把網站上的資料寄給駭客自己,而封鎖SMTP網路埠的話,也會影響insoler網站新會員註冊時的帳號啟用信件、忘記密碼信件這兩個功能。許多網站(包括Facebook)還會需要透過SMTP寄送通知信件(例如有其他會員回覆討論,或是要求加入好友等),甚至有重要的活動、新產品發表、週年慶活動等,會寄送信件給所有的會員。

雖然insoler網站從一開始就不使用「新會員註冊時的帳號啟用email」,但如果有某些會員因為很久都沒有來insoler,忘記當時註冊時使用的密碼,還是需要透過「忘記密碼」功能,寄送新的登入密碼到註冊時後輸入的email。

無論是什麼樣的網站,新的會員註冊時,通常都會需要輸入這些基本資料:

  • 帳號名稱。
  • 密碼。
  • 電子郵件地址。用來寄送帳號啟用信件、忘記密碼,或是通知信件。

某些新的社群網站,例如Facebook等,還需要輸入「電話號碼」,利用寄送簡訊確認是否為同一個人註冊的啟用碼。在過去,沒有「簡訊確認碼」的年代,很容易被某些駭客,先在Yahoo、MSN、Google...隨便註冊一個新的email帳號,就可以在其他網站,例如insoler或是BNW註冊一個新的會員帳號,用來亂貼惡意廣告或是惡意網址的連結(可能會含有自動下載的惡意木馬程式,以便尋找更多的被害者)。

也因此在註冊時輸入「電子郵件地址」來確認註冊的動作,寄送帳號啟用信件,已經過時,也完全無法防堵惡意的駭客的BOT程式到處惡意註冊一堆惡意帳號。

因此Apple、Google、Facebook等現代的網站,都有使用例如「Apple ID 雙重認證」功能,來避免駭客惡意註冊帳號,並可以避免使用者的帳號被駭客竊取之後,直接入侵使用者的帳號,取得更多私人資料。

然而insoler只是一個非常微小的奈米等級網站,網站上通常只有幾位會員,而且BOONEX的海豚系統也沒有「雙重認證」功能,我們也無法寄送確認的「簡訊」。雖然insoler無法使用新的「雙重認證」功能,但是為了提高安全性,而且我對會員的email地址沒有任何興趣,我不會寄送任何廣告,或是通知信件,更不可能利用insoler來搜集email地址。因此大約是在今年7月左右,我修改了會員註冊的方式,註冊時不再需要輸入email郵件地址!簡化到只需要輸入:

  • 帳號名稱。
  • 密碼。

就可以輕輕鬆鬆註冊成功。但是當會員忘記密碼的時候,就會因為缺少email資料而無法自動寄送新的密碼。這個部分我打算手動解決。由於insoler的會員很少,如果有某會員忘記密碼的時候,就只能寫信給站長,告知想要註冊的帳號,由站長來審核是註冊的本人還是駭客想要企圖破解某個會員的帳號?

既然決定關閉寄送信件的SMTP網路埠,當然就連同DNS、NTP網路埠也一起關閉!所以現在insoler網站對外可說是完全封鎖!除非駭客有本事破解防火牆,找到防火牆的安全性漏洞,我相信任何駭客絕對是進不來,也絕對出不去!

你看到的防火牆畫面是100%的真實畫面,我沒有做任何修改。完全公開防火牆畫面也沒關係,不可能因此就可以讓駭客入侵!

除了完全封鎖「DMZ→WAN」的IPv4網路埠,也包括IPv6的部分。

你可以看到IPv6的「DMZ→WAN」也完全封鎖!所有的放行規則都是關閉不使用!

雖然insoler是一個會員非常少,非常微小、沒有任何知名度的奈米網站,但是我對網站的安全性,卻非常重視!一直想辦法提高網站的安全性。在2012年10月6日購入價值約NT$20萬的FortiGate 110C防火牆,用來取代更老舊的ZyXEL ZyWALL 70(更早之前是ZyWALL 5,更早之前是Cisco PIX 515、IP分享器)。也許對許多MIS來說,這樣的防火牆升級過程有點奇怪,其實是有某些理由的考量之後決定的結果:

  • 2000年左右:我在2000年的時候,一開始是購買brentsu.com的網址,架設一個我的個人網站,我當時使用的是Windows 2000 Server與簡單的IP分享器內建的DMZ功能來架設phpBB討論區。畢竟是個人網站,也沒有想要花很多費用購買防火牆。
  • BNW網站早期時代:為了提高安全性,就從廉價的IP分享器升級到當年價值NT$20幾萬的Cisco PIX 515防火牆。雖然Cisco PIX 515的安全性極高,但是只能用電腦的COM端子連上防火牆的console端子(外觀很像RJ-45網路埠,但卻是COM port),使用命令列來管理防火牆。如果想要透過瀏覽器管理,則必須安裝JAVA。安全性雖然極高,但卻管理不易,使用不便,而且Cisco PIX 515使用的Intel處理器非常耗電,容易過熱當機。
  • BNW網站中期時代:太難用的Cisco PIX 515防火牆,被我換成簡單的ZyWALL 5(大約NT$3萬左右)。但是ZyWALL 5的「防火牆效能」非常有限(每秒能過濾管理的網路封包能力,實際測試大約只有「防火牆效能30Mbps」),隨著升級Hinet網路的網際網路速率,就升級到更好的ZyWALL 70。
  • BNW網站後期時代:雖然2006年發表的ZyWALL 70(建議售價:95000元)原廠宣稱「防火牆效能100Mbps」,但隨著韌體版本更新等,我實際測試的結果,大約只能達到「防火牆效能60Mbps」左右。
  • insoler社群網站時代:在架設全新的insoler社群網站的時候,也升級網際網路到Hinet光世代企業級網路100M/100M。由於ZyWALL 70實際的「防火牆效能60Mbps」,反而會無法發揮100M/100M光纖網路的效能,因此才會再次考慮NT$20萬等級的FortiGate 110C防火牆。新的防火牆雖然還有支援COM port的console端子,但已經幾乎不需要使用,也不需要另外安裝JAVA,就可以透過瀏覽器就能管理防火牆。
蘇言霖 2018/11/17 0 2426
Comments
Order by: 
Per page:
 
  • There are no comments yet
Rate
1 votes
Post info
蘇言霖
「超級懶貓級」社群網站站長
2018/11/17 (1991 days ago)
Actions