打造一款開源的WAF網關

來源:互聯網
上載者:User

本文首發於作者的公眾號:網路安全生命週期

原文連結: 打造一款開源的WAF網關 

【背景】

在互連網行業,Google將安全做到基礎設施裡面,素來是各大公司學習的榜樣,在Web方面,通過GFE (Google Front-End) 統一對外發布,業務只需要在GFE登記,GFE就會調取正確的認證,保障使用者到GFE的TLS串連安全。

Microsoft在Web方面,有一款叫做Azure Application Gateway的產品,提供了統一的Web路由、負載平衡,以及WAF(Web Application Firewall)功能。

遺憾的是,這幾款產品均不能用於私人化部署,Google Front-End 和 Azure Application Gateway只服務於他們自身業務以及他們自己的雲客戶。想要使用他們的產品,得使用他們的雲端服務,不然就只能望洋興歎了。

【對標與產品方案設計】

鑒於此,筆者希望借鑒GFE和Azure應用網關,打造一款這樣的應用安全基礎設施級產品,用於自己個人網站的防禦,這款產品需要具備:

1.統一的網路入口,可以有多個節點,配合負載平衡進行調度,即應用網關(Application Gateway);

2.WAF (Web Application Firewall) 功能,可攔截常見的Web入侵行為(如SQL注入/命令注入/XSS/Webshell上傳或串連)、資料泄露事件等;

中紅色的叉叉部分表示攔截惡意攻擊行為。

3.可應對CC攻擊及簡單的刷單情境,達到設定閾值時能夠攔截或展示驗證碼。

【特色】

當然,上面這些是基本的功能。筆者還希望這是一款有特點、差異化的產品:

1.不要安裝Agent

Agent維護起來比較麻煩,用瀏覽器配置可以更簡單,比如配置應用:

2.支援HTTPS

還要能夠把認證管理起來,把私密金鑰保護起來,不再將認證檔案、私密金鑰檔案直接明文的存放在伺服器某個目錄下(防止駭客偷走私密金鑰);只讓網關管理員申請和配置認證,業務人員不用接觸認證檔案就可以啟用HTTPS。

3.聯動

很多WAF的一條策略只能檢查一個地方(如GET或POST參數值),如果請求需要結合響應共同來判定 (或多個組合條件),就做不到了,這一點一定要突破,做到多個檢查點可組合,特別是請求(Request)和響應(Response)能夠關聯(組合)起來。

4.非法網域名稱攔截

曾經有人用fuck_your_domain.com 這樣的網域名稱指向your_domain.com 網站,如果伺服器配置不當,有可能會正常響應請求,給公司帶來公關風險。所以,當非法網域名稱指向過來的時候,應該拒絕響應。

5.認證品質

不是所有的HTTPS都是安全的,錯誤配置、演算法的選用均有可能踩坑,如SSL 1.0, SSL 2.0, SSL 3.0以及TLS 1.0 均已出現漏洞。典型的,如果您的業務涉及到資金支付,PCI-DSS認證會對認證品質有特別的要求,如必須使用TLS 1.1或以上的協議版本、必須使用前向安全演算法(Forward Security)用於保障安全的金鑰交換等。因此,網關預設就需要啟用安全保障。

【開源】

是的,筆者較早前利用周末陪孩子上課的時間,構建了這樣一個只有準系統的版本(Janusec Application Gateway),並用在個人網站上。現在跟大家分享一下:

https://github.com/Janusec/janusec 

這是一款基於Golang打造的應用安全網關,具備WAF(Web Application Firewall)功能及組合策略配置,天然支援HTTPS(符合PCI-DSS認證要求),無需Agent,私密金鑰加密儲存在資料庫,提供負載平衡和統一的Web化管理入口。

還在繼續完善過程中,歡迎star、fork、pull request、提交issue,或下載release體驗,共同提升應用安全防禦能力。

【備忘】

該產品並不能解決所有的安全問題,不能替代抗DDoS攻擊產品,也不能替代HIDS產品,更不能代替日常的安全運營工作。但當你打算從零開始構建立體的安全防禦體系(特別是應用安全防禦體系)的時候,能夠在關鍵的路徑上,切斷典型的入侵嘗試,擋住大部分探測payload,大幅提高入侵難度,同時從一開始就能夠利用此作為網關基礎設施推廣使用HTTPS,保護外網資料轉送安全。


歡迎關注公眾號: 網路安全生命週期 ,共同探討網路安全體系建設~

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.