作者: Colin Jao 饒康立 – VMware資深技術顧問,主要負責VMware NSX產品線,目前致力於網路虛擬化、分散式安全防護技術與新應用遞送方案的介紹與推廣。
基本上身為一名 IT Presale,應該要把自己的產品講得上天下地都可以,只差不能生孩子。但說真的,Web Application Firewall不是什麼新產品,進入台灣市場少說也至少十幾年了。那幹嘛企業不用市場上的常見產品,而要改用NSX Advanced Load Balancer (Avi Networks) 來做呢?
因此我在和客戶介紹與展示 Avi 的Web Application Firewall時,一般只專注在兩個特點:很容易用、分析很完整。然後反正你現在買的授權裡面本來就含這個功能了,要不要直接開啟來用看看?
先來看看『很容易用』吧。Avi WAF不需要撰寫複雜的規則,需要的功能在UI上已經做好了,管理者只需要考慮這些規則的開、關、以及因應應用環境必須進行的修改而已。Avi內的WAF啟用需要三個步驟:
檢查現有 / 配置一組 WAF Profile
WAF Profile內是在定義用戶認為的正當HTTP行為有哪些。比如說HTTP的版本、可以使用的HTTP Method、允許的content-type與網頁延伸檔名等。還無須動用到Web規則檢查,只要有這邊不符合的狀況,就可以直接進行必要的阻擋。管理者可以採用預設值,或是自己定義一組特定的Profile。比如說企業可能已經定義核心網頁應用必須要採用HTTP 1.1以上的版本,HTTP 1.0要停用。此時在Profile的Allowed Version內我們就可以把1.0版移除,如下圖。
檢查現有 / 配置一組 WAF Policy
Policy的配置包含了幾件事:要採用哪個WAF Profile、WAF是只要偵測 (Detection) 還是在規則符合時要進行阻擋 (Enforcement)、是否要啟用正向學習模式 (Positive Learning Mode)、以及最重要的,是否要調整防護的特徵值 (Signatures),也就是前篇所談到的 CRS Core-Rule-Set。
幾個簡單的說明:首先下圖內,管理者可以修改現有的系統Policy,或是建置出一個新的Policy。介面內,我們選擇要採用的對應WAF Profile,以及在這個Policy內預設的防護模式。這邊選擇的是如果有WAF攻擊被比對到的話,Avi 應該要進行阻擋
重要的是在Signatures部分,管理者WAF 應該會想要檢視有哪些Rule有開啟要進行阻擋,並且依據實際業務狀況進行相對應的調整。點擊Signatures後首先可看到的是CRS Versions,這邊當然建議大家應該選擇可支援的最新版本,如下圖是對應到OWASP CRS-2020-3的規則集。
接著就是一條條被定義出來的Core-Rule-Set,管理者如果要調整預設值,可以針對整個群集,如CRS_942是對應到所有SQL Injection的規則,或是針對單一細項規則,如下圖內是對應942140規則。
上圖內大家可以看到,預設Avi WAF已經針對各條CRS規則提供了預設比對方式,我們也不會想去修改。但管理者可以選擇:
- 整條規則要打開還是關閉(此規則是否要進行比對)
- 若規則選擇為打開,當這條規則比對符合,對應這個攻擊的WAF行為是只要進行告知 (Detection) 或是阻擋 (Enforcement),或是採用在前面整個Policy內訂立的預設值
- 還可以設定Exceptions來進行更細部的配置,比如說這條規則只針對哪些應用。管理者可以藉由網段 (Subnet) 或是 URL Path 等,來進行需要的配置
簡而言之,在WAF Policy內管理者可以細部對於各條規則在什麼條件下生效,進行細部的規範。更進一步,還可以配置其他如主動學習的機制,這邊就不贅述。
在 Virtual Service內啟用 WAF
在前面建立了Profile以及Policy後,最後的動作就非常簡單,管理者可以在一個個採用HTTP/S的Virtual Service內選擇是否要把WAF打開。當選擇了WAF-Policy,這個Virtual Service以及後端的應用就被Avi的WAF保護了
前面的步驟很單純吧!我們的Partner在客戶那邊一般包含設定內容的解說以及實際啟用包含展示,都在一兩個小時內就可以完成了。
但實際上WAF更重要的不僅是開起來,還包含怎麼知道有沒有正確的防護,還有是不是需要就防護的狀況進行後續的調整。因此在下一篇,我們要討論一件更重要的事情:Avi內提供了那些WAF日誌,讓管理者進行簡易的維運。
Comments
0 Comments have been added so far