WEB應用防火牆知識點整理(面試複習用)

一、簡單WAF介紹
image.png
image.pngimage.png


二、WAF-配管

上面看到的是WAF的引擎層,其實WAF還有一層[配管](配置管理控制檯)。

配管是和用戶、安全專家(運維)交互。用戶配置域名、配置防護、安全專家配置規則、規則發佈等。

實現的域名解析到引擎層和規則下發到引擎層。


三、配管架構圖
image.png
image.png


四、配管域名相關

網站配置: DNS配置模式、 透明代理模式。

DNS配置模式:通過修改域名解析的方式,將被防護域名的訪問流量指向WAF;WAF根據域名配置的源站服務器地址,將處理後的請求轉發回源站服務器。

透明代理模式:將所配置的源站服務器公網IP的80端口接收到的HTTP協議的流量直接牽引到WAF,經WAF處理後再將正常的訪問流量回注給源站服務器。

WAF透明代理模式滿足條件:

  1. WAF實例爲包年包月模式;

  2. 源站服務器部署在阿里雲ECS,且ECS實例所在地域爲華北2(北京);

  3. 源站ECS實例擁有公網IP或已綁定彈性公網IP(EIP);

DNS配置模式:非雲解析DNS、雲解析DNS。

非雲解析DNS( 網站的DNS解析沒有託管在阿里云云解析DNS):

  1. 用戶配置的網站數據傳遞給配管;
    2. 配管對參數檢驗。轉換成rsPolicyMo(用於存入配管數據庫,和用戶交互數據)、gfMo(用於下發Ddos高防服務);
  2. 分配Vip和Cname;
  3. 開啓防護功能中的精準訪問控制(acl), 配管只是把數據先保存到配管數據庫再下發到Etcd, 引擎去Etcd拉取配置,所有的防護功能都是這種增量模式拉取配置;
  4. 開啓防護功能中的CC安全防護(cc), 配管處理同上;
  5. 開啓防護功能中的WEB應用攻擊防護,配管處理同上;
  6. 調用Ddos高防接口, 用戶開啓阿里雲默認提供的最大5Gbps的DDoS基礎防護能力;
  7. 調用dns接口(內部接口), 把用戶域名解析到阿里雲分配的Cname地址,該Cname地址解析到Vip(用戶域名 —> 阿里雲Cname —> Vip);
  8. 域名相關數據保存到配管數據庫;

如果其中一個環節出錯了,在try catch finally 回滾處理,通過flag判斷哪個環節出錯,作相應的回滾處理。

步驟和數據的處理其實都有一定的複雜性。

下面圖片是當時用戶配置的網站數據 —> rsPolicyMo —> gfMo 之間的轉換,配管在很多數據的處理上都有一定的複雜性。
image.png
image.png
image.png


雲解析模式 ( 網站的DNS解析託管在阿里云云解析DNS):

  1. 其他操作和非雲解析模式保持一致。
  2. 調用阿里云云解析DNS解析管理接口的獲取解析記錄列表接口, 獲取用戶網站域名和源站服務器IP地址。
  3. 調用阿里云云解析DNS批量管理接口的批量添加解析記錄接口, 更新域名的解析記錄,將網站Web請求轉發到WAF進行監控。image.pngimage.png

透明代理模式 :按照集團內部引流相關接口規範調用,沒有太大複雜性,Eip的生命週期管理複雜性會大一些。

Eip生命週期步驟:
 1. 需要用戶先授權,授權後在user_profile表中記錄(is_ecs_authorized =1);
2. 調用ECS open api同步授權用戶的Eip,添加新的Eip, 刪除舊的Eip;
3. 先刪除引流再刪除Eip;
4. 從user_eip表中淘汰未授權的uid,並刪除相應的引流、Eip
5. 刪除用戶時,刪除user_eip記錄和相應的引流、Eip。

其中任何環節出問題(遠程接口),不刪除配管的數據,置爲刪除狀態,下一次定時任務處理,多次失敗後人工處理。


五、配管規則相關

規則相關:規則的添加、刪除、修改、查詢;規則組的添加、刪除、修改、查詢就是很簡單的管理功能更,規則組其實有一個字段,保存了規則的主鍵。

複雜度相對高一點的是規則的發佈:
1. 把所有的規則組和規則打成一條很大的記錄;
2. 和上一個規則集全集版本對比,對比哪些規則是新增,哪些被刪除,哪些是修改;
3. 生成發佈單,按照發布模式(逐臺、zone、region)生成引擎批次(批次狀態有未開始、進行中、已完成);
4. 引擎會定時來拉取規則,會上報一個版本號,當引擎在灰度批次且版本號小於當前規則集版本號或等於0才允許引擎拉取;
5. master機器對每個不同類型的版本會啓動一個消費線程,監聽/修改批次的狀態、引擎的拉取情況,開始下一批次,修改發佈單的狀態;
6. 任何階段發佈單狀態可暫停,暫停階段可以使用人工分批和自動分批繼續發佈;
7. 任何階段發佈單可退出,成功拉取的保持新規則,尚未拉取的不再拉取,正在拉取的需要保證拉取完成;
8. 正在拉取的引擎可跳過;
9. 回滾,就是把上一個發佈單置爲最新的發佈單,再次發佈;
image.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章