IT技術互動交流平臺

開源的網絡安全linux內核擴展模塊:Zentables-addons

作者:佚名  發布日期:2016-06-15 21:15:50


Zenedge公司為開源社區貢獻了一款名為Zentables-addons的開源Linux內核擴展模塊。該模塊可以增強系統中HTTP負載均衡器(例如HA Proxy和Amazon ELB)屏蔽IP地址的能力。該團隊所研發的產品可以有效地將切斷被屏蔽的IP地址與Linux內核用戶空間之間的通信訪問。這一擴展模塊通過代理協議檢測并利用惡意IP預測技術,將屏蔽能力提升了將近百分之六十六。
Zentablesaddons實際上是一個netfilter/iptables模塊的集合,而這兩個模塊運行在Linux系統的內核層,而不是用戶層。Zentablesaddons模塊目前主要有兩大模塊組成:一個是專門用于解析代理協議的模塊,該模塊名為xt_zenset。它可以提取用戶的真實源地址,并用這一地址與預鑒定的惡意IP地址進行對比,以鑒定出真實的惡意IP地址;另一個模塊可以迅速切斷并屏蔽TCP連接。第二個模塊名為xt_RESET,該模塊能夠在即將建立通信的兩端模擬TCP重置。
現在讓我們來深入了解一下,當我們接收到一個從惡意客戶端發送過來的請求時,會發生什么事情。
HTTP請求首先會抵達負載均衡器,該模塊會首先利用代理協議header來對請求進行第一輪的檢測,檢測客戶端的真實IP地址。檢測通過后,模塊會將請求轉發至網絡服務器。網絡服務器便會根據請求信息來進行相應的處理。
當我們使用了七層網絡協議來控制操作系統的內核訪問時(比如說Nginx或者Apache),操作系統內核將會拷貝請求數據,然后將內核操作環境轉換為用戶層,并在用戶空間處理網絡請求。這一步驟往往消耗的資源過多,因為它需要先將請求信息進行拷貝,然后再進行處理。然后,Nginx或者Apache服務器會從代理協議header中提取出真實的IP地址,并將其與預測的惡意IP地址進行比對,最后才決定是否允許該IP地址訪問。而在這一步驟中,系統需要根據請求信息向負載均衡器提供HTTP應答信息。這一操作步驟同樣需要消耗大量資源,因為我們需要保持惡意TCP鏈接的連接狀態。最終,負載均衡器會將請求的處理信息發送至惡意客戶端。

當我們使用Zentablesaddons時,我們不僅可以避免對請求數據進行拷貝,還可以避免系統在內核層與用戶空間進行頻繁地切換。當請求信息抵達網絡服務器之后,系統數據包過濾器會使用xt_zenset模塊來對請求信息進行檢查。如果請求的源地址與惡意IP地址相匹配,系統會立刻使用xt_RESET模塊切斷網絡連接。最終,當負載均衡器接收到了TCP RST之后,系統會將HTTP錯誤信息發送給惡意客戶端。
使用方法:
比如說,我們要屏蔽源地址10.10.10.10通過代理協議或者TCP RST發送的請求,或者是直接屏蔽這一IP地址,我們可以這樣操作:

安裝模塊
模塊依賴:

構建模塊:

運行模塊:

Tag標簽: 內核   網絡安全   模塊  
  • 專題推薦

About IT165 - 廣告服務 - 隱私聲明 - 版權申明 - 免責條款 - 網站地圖 - 網友投稿 - 聯系方式
本站內容來自于互聯網,僅供用于網絡技術學習,學習中請遵循相關法律法規
彩票联盟网站 武定县| 建宁县|