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個方向以上的網路管理規則:
以上並不包含管制VPN虛擬私人網路。許多新世代的防火牆甚至還可以統合管理Wi-Fi專用的網路埠,提高無線網路的安全性。
全球有超過1億以上的網站,我想不管是哪一個網站,至少會開放幾個必要的網路埠,讓網站的伺服器主機群組,可以正常的對外上網,連上外部的網際網路。例如:
其他還會依據使用的用途,必須開放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來說,這樣的防火牆升級過程有點奇怪,其實是有某些理由的考量之後決定的結果: