開場白:allow any 是工程師的泡麵
凌晨兩點、專案卡關、客戶在催、系統就是不通。
這時候,最容易出現的一行設定就是:
Source:any
Destination:any
Service:any
Action:allow
它就像泡麵——
不健康、沒營養、但「立刻可以活下來」。
但在 Palo Alto Networks 的世界裡,
Security Policy 的存在,就是為了阻止你每天吃泡麵。
第一課:Security Policy 到底在管什麼?
先講人話版本:
Security Policy = 誰,可以,在什麼情況下,用什麼方式,跟誰說話。
工程師翻譯版是五個 W:
-
Who(Source):誰發起連線
-
To Whom(Destination):要連到哪
-
How(Application / Service):用什麼方式
-
When(Schedule):什麼時間
-
So What(Action):放行 or 擋掉
allow any 等於直接跟防火牆說:
「你不要思考,我來承擔後果。」
(歷史證明,後果通常你也承擔不起)
第二課:為什麼 Palo Alto 討厭 allow any?
因為 Palo Alto 的核心哲學只有一句話:
「我不只看 port,我看你在幹嘛。」
傳統防火牆:
-
TCP/443?好,大概是 HTTPS,放。
Palo Alto:
-
TCP/443?
-
是 HTTPS?
-
還是 Dropbox?
-
還是某個你不想讓老闆知道的東西?
你如果用 allow any,等於買了跑車卻永遠踩一檔。
第三課:正確的 Policy 心法
1️⃣ 先想「業務需求」,不是先想「怎麼通」
錯誤流程:
ping 不通 → allow any → 世界和平(10 分鐘)
正確流程:
這台 Server 要做什麼?
它應該跟誰說話?
Security Policy 是白名單思維,不是黑名單懺悔錄。
2️⃣ App-ID 是你的好朋友,不是麻煩鬼
很多人抱怨:
「App-ID 很煩,規則寫不動。」
但實話是:
App-ID 是幫你把『不知道自己在幹嘛』變成『我很清楚』。
實務建議:
-
能用 Application,就不要只用 Service
-
HTTPS ≠ 一切合法行為
3️⃣ Rule Order:防火牆是從上往下讀的
這不是小說,沒有伏筆。
-
第一條 match,就停
-
allow any 放最上面 = 所有規則都是裝飾品
工程師金句:
「規則不是沒生效,是你永遠跑不到它。」
第四課:一個「不丟臉」的 Security Policy 教學範例
假設情境:
Web Server 需要對外提供 HTTPS
錯誤寫法(資安會皺眉):
-
Source:any
-
Destination:Web Server
-
Service:any
-
Action:allow
比較像樣的寫法:
-
Source:Internet Zone
-
Destination:Web Server Zone
-
Application:ssl, web-browsing
-
Service:application-default
-
Action:allow
這時候 Palo Alto 會說:
「好,我知道你在做網站,不是在亂來。」
第五課:Log 不看,比 allow any 更可怕
很多人寫完規則就收工,
Log 的存在彷彿只是為了佔硬碟。
但事實是:
-
Log = 你未來自保的證據
-
Log = 你跟資安、稽核、老闆溝通的翻譯機
至少做到三件事:
-
允許的流量要記錄
-
被擋的流量要敢看
-
出事時不要第一句就說「防火牆沒動」
結語:allow any 不是原罪,但是警訊
老實說,每個工程師人生中都用過 allow any。
真正的差別在於:
-
新手:用了就忘
-
老手:用了會內疚,然後刪掉
Security Policy 的成熟度,
不是你會不會寫 allow any,
而是你能不能不用它,系統還是活得好好的。
如果你現在打開 Palo Alto,
看到某條 allow any 在角落對你微笑——
別怕,
它不是在嘲笑你,
它是在等你長大。
沒有留言:
張貼留言