Internet,這個名詞相信對大說數人來說應該不陌生。你可能也知道 Intranet (內部網路),甚至每天上班辦公都在使用它。那麼你聽過「DMZ」嗎?
每當要討論系統架構時,我的起手式就是直接在白板或紙上畫兩條長長的垂直線,一邊寫下 Inter 一邊寫著 Intra,而兩條垂直線的正中間就是我們這次要討論的 DMZ 。
想像有一天你在火車上吃著火鍋唱著歌,突然就讓麻匪給劫了。接著車廂內一陣天旋地轉你穿越到中世紀,並轉生成了一位公主或王子。你的家是一座城堡,城堡周圍有一道堅固的城牆,可以用來防止外來的入侵。
在城牆之外是一片自由的中土世界,雖然無拘無束但也充滿各種可能的威脅和危險。而城堡內部則是你的家,你的所有家當,重要的一切都放在城堡裡。
某天你想要大撒幣辦一場如 Tomorrowland 的大型電音派對,但想了想,如果是在城牆外可能會有危險,辦在城堡內部人來人往的又不太方便,畢竟你可不想有酒鬼把你金碧輝煌的家吐得髒亂不堪,更不希望家裡遭遇宵小。
就在你一籌莫展之際,你的家臣向你進言:「殿下,咱家城堡與城牆間有一塊空地呀,何不就辦在那」。
此時你的目光看向了城堡與城牆間的那塊空地,突然茅塞頓開地說道:「對啊!辦在這塊空地既不用擔心危險,也不用煩惱家裡被弄亂呀」。
於是你龍心大悅,正式下令將這塊空地命名為【DMZ】。
回到現實,城牆之外就像是外部的網際網路,而城堡則像是企業的內部網路。雖然我們已經有了內外網路可以當作私有與公有領域的區分,但總有些需求既不適合放在內部網路也不適合放在外部。
這時就需要在城牆和城堡之間設立一個安全區域來扮演中繼站的角色,既可以讓城堡裡的人自由進出,又能與外部的人進行一些必要的交流互動。同時你依舊能夠享有城牆帶來的功用,阻止外部威脅直接進入城堡內部,從而保護了城堡的安全。
到這邊我們可以小結一下,DMZ 的主要功能就是提供一個額外的安全層,以防止外部對內部網路的直接訪問。透過將公共服務放置在 DMZ 中,企業可以確保內部網路不會因為外部攻擊而受影響。同時 DMZ 也可以幫助企業更好地管理內部網路使用者對外部服務的訪問,並減少潛在的安全風險。
就如同南北韓間的非軍事區承擔起了兩個實體之間的緩衝功能,將這片如夾心餅乾般的緩衝區域命名為 DMZ (Demilitarized Zone) 再適合不過了。
現在你已經知道 DMZ 大概是怎麼一回事了,那麼接著你可能會好奇,什麼東西跟 DMZ 最速配呢?
以下列舉一些常見且適合放置在 DMZ 的服務:
從上述的例子中,可以發現到會放置在 DMZ 的,最好是那些企業需要面向外部,提供給外部網路使用的公共服務。這些服務應該是低機敏性的,並且不會直接影響到內部網路的安全性。
建置 DMZ 是一個關鍵的安全任務。首先企業需要確定哪些服務要放置在 DMZ 中,以及它們需要與內部和外部網路進行溝通的連線方式。
接著企業需要設計和實施適當的防火牆策略,以確保 DMZ 中的服務只能與所需的網路進行連線,並限制其對內部網路的訪問 (裝機部署時 API 打不通或瀏覽不到網站有 87% 都是因為防火牆^_^)。此外,企業還應定期檢核和更新 DMZ 的安全配置,以應對不斷變化的安全威脅。
在規劃 DMZ 時,有幾個安全原則需要考量。
身為前端工程師千萬別認為 DMZ 是 Infra 的工作而漠不關心,我們所開發的網站 (特別是 2C 性質) 幾乎都是部署在 DMZ。如果對此沒有基本的認知與資安意識,那麼你對於網站架設及其系統環境產生的影響,乃至於造成的網頁異常的解決能力,將會是模糊且不可靠的。
最後還是要強調一個觀念,DMZ 是保護內部網路安全的一個重要組成。建置 DMZ 需要仔細考慮和計劃,並遵循相應的安全原則。通過將公共服務放置在 DMZ 中,企業可以實現內外網路之間的安全隔離,同時提供必要的公共服務。
隨著科技日新月異,資安攻防也不斷地變化。或許吧,在未來我們可能還將看到更多創新的安全解決方案和最佳實踐的出現,以應對瞬息萬變的網路安全威脅。
順道一題,撰寫這篇文章時正值 Tomorrowland Winter 2024 期間唷!放個 2023 年的影片嗨一下吧 🙌 🙌 🙌
Cheng's murmur
浴室乾濕分離的最大缺點就是,
冬天洗完澡走出淋浴間時,
每一秒都是煎熬。