《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 淺談零信任SDP架構下的服務隱身設計

淺談零信任SDP架構下的服務隱身設計

2021-01-22
來源:互聯網安全內參

  01概述

  零信任最早源于 2004 年耶利哥論壇提出的去邊界化安全理念,2010 年 Forrester 正式提出了“零信任”(Zero Trust,ZT)的術語。零信任安全的核心思想是“在默認情況下不應該信任網絡內部和外部的任何人/設備/系統,需要基于認證和授權重構訪問控制的信任基礎”。2020年2月美國國家標準與技術研究院發布SP800-207:Zero Trust Architecture 草案第二版本,代表著零信任已經從理念走向工程實踐甚至標準化。

  軟件定義邊界SDP是由云安全聯盟在2014年提出的新一代網絡安全解決方案。SDP,也被Gartner稱作零信任網絡訪問(ZTNA)。SDP是圍繞某個應用或一組應用創建的基于身份和上下文的邏輯訪問邊界,SDP從架構設計上就只允許可信任的業務報文通過,同時丟棄不合法報文。一般來講,在SDP架構下真實的后端服務是被隱藏的,客戶端與眾多的SDP邊緣節點聯動,使得合法報文知道如何進入SDP網絡,惡意流量將被SDP邊緣節點丟棄。

  在整個SDP架構中受保護的資源是消失的,隱藏的,所以SDP也被稱做“黑云”。SDP通過抗DOS Token 、流量加密、應用分段與隔離、客戶端持續動態設備驗證、訪問行為可視、實時事件響應以及貫穿整個零信任模型的按需授權和最小權限原則可以有效地限制了攻擊活動,極大地提高了攻擊者的攻擊成本。

  本文主要描述基于SDP架構下的服務隱身

  02SDP架構下的服務隱身設計

  SDP架構下保護的業務服務只允許被認為合法的報文進行訪問,丟棄“非法”報文,從而實現了業務服務隱身。

  2.png

  圖片來源于:

  https://www.aqniu.com/wp-content/uploads/2020/03/%E5%9B%BE%E7%89%871w.png

  SDP 架構分為三個部分:SDP Client、Controller、Gateway。所有的Client在訪問資源之前,都要通過Controller服務對SPA單包驗證和訪問控制, 由Gateway對應用進行業務處理。本文描述的SPAD服務實際上包含了Controller和Gateway的功能,但本文僅描述Controller功能,所以可將SPAD認為是SDP的Controller服務。本質上來說SPA單包認證是預認證的一種, 其認證流程如下:

  3.png

  認證處理流程如下:

  (1) 客戶端發送一個簽名的請求授權訪問后端服務的數據包給SPA服務

 ?。?) SPA服務對收到的請求授權包進行解包、驗簽等操作,對無效請求直接丟棄;對檢查通過的設置防火墻訪問規則并回復授權響應包給client。

  SPAD可以看成是通信層的訪問保護,主要在網絡通信層保護防火墻之后的后端服務。SPA首包認證作為網絡通信的授權認證手段,有效地防范未信任數據包的風險。

  03服務隱身SPAD服務

  SPAD對網絡授權數據包的應用訪問進行防火墻管控,從而達到控制網絡訪問的目的。

  SPAD服務主要有如下技術特點:

  無監聽端口:使用XDP直接從網卡驅動層獲取通信數據包,直接處理報文內容。掃描程序無法偵測到監聽端口。

  支持大網絡流量處理:XDP技術性能非常高,可接近網卡帶寬上限,特別是在抵御DDOS攻擊方面有先天優勢。

  支持管理策略千萬級別:使用源IP,目的IP,目的端口,協議 或 源 IP,服務標識(domain或者服務名)做hash管控網絡,可支持千萬策略級別。

  更加安全的SPA首包認證協議:SPAD使用自定義SPA協議。通過使用個性化簽名算法和報文加密算法,以及MAC算法,提高了安全性。

  支持高可用集群部署:管理策略使用NoSQL、MySQL等存儲,支持多節點集群部署。目前SPAD支持VIP模式高可用方案(Keepalived + VIP)。

  SPAD網絡控制組件架構如下圖所示:

4.png

  從上圖可以看出,SPAD網絡控制組件可以分為三層:

  網絡通信層:可使用UDP、TCP通信、也可以使用自定義協議。SPA一般選擇使用UDP通信,因為UDP傳輸是無連接的,默認無須響應,這個特性使得SPA可以隱藏自己。

  授權包的加解密以及簽名驗簽:數據本身是有簽名,加密算法密文以及防篡改MAC保護的。

  防火墻網絡策略規則管理: 對SPA授權認證通過的應用開放網絡訪問權限,添加防火墻的訪問策略。一般網絡策略默認設置時間生命周期(TTL),過期時訪問策略會清除。

  3.1

  網絡通信部分

  負責網絡通訊的服務應用容易被掃描器偵測,也容易被DDOS攻擊,這在安全方面必須要考慮到。另外如果被識別出提供服務的端口,也會增加網絡攻擊的概率。因此SPA可考慮通過抓包方式直接拿到請求授權包。

  目前主流網絡抓包方式有以下:

  XDP :全名是eXpress Data Path,是一種In-kernel fast (express) data path。其原理如下圖:

5.png

  詳細信息見:https://docs.cilium.io/en/latest/bpf/

  DPDK:DPDK is the Data Plane Development Kit that consists of libraries to accelerate packet processing workloads running on a wide variety of CPU architectures。

 ?。ㄔ敿毿畔⒁姡篽ttps://www.dpdk.org/about/ 和

  https://www.intel.cn/content/www/cn/zh/communications/data-plane-development-kit.html)

  PF_RING:PF_RING is a Linux kernel module and user-space framework that allows you to process packets at high-rates while providing you a consistent API for packet processing applications

 ?。ㄔ敿毿畔⒁姡篽ttps://www.ntop.org/products/packet-capture/pf_ring/)

  PCAP:在計算機網絡管理中,pcap(packet capture)由捕獲網絡流量的應用程序編程接口(API)組成。類Unix的系統主要是在libpcap庫中實現pcap,而Windows系統則是使用名為WinPcap的libpcap端口。

 ?。ㄔ敿毿畔⒁姡篽ttps://www.tcpdump.org/pcap.html 和 https://www.winpcap.org/)

  以下是上述抓包方式在大流量高并發場景下的比較:

微信截圖_20210122135435.png

    在做SPAD技術選型時,進行了大量的技術調研和技術評估,最終選擇使用XDP技術實現網絡抓包功能。

  3.2

  網絡數據加解密以及驗證身份部分

  SPA請求授權包必須保證完整性和安全性,可參考以下主流算法實現自定義業務報文協議。

  對稱加密算法:加密和解密的兩個過程使用相同的密鑰,通過加密和解密函數對數據進行操作,從而達到加密數據和解密數據的目的。具體算法主要有DES算法,3DES算法,TDEA算法,Blowfish算法,RC5算法,IDEA算法等。

  公鑰加密算法:通信雙方共享各自的公鑰,傳輸時使用對方的公鑰對數據進行加密,接收方收到后,用自己的私鑰對數據進行解密。公鑰加密算法也被稱為非對稱加密算法,因為加密和解密使用不同的密鑰。具體算法主要有RSA、Elgamal、背包算法、Rabin、D-H、ECC(橢圓曲線加密算法)。

  Hash函數:散列函數,具有單向性。散列函數對消息進行摘要,并經過迭代,得到固定長度的輸出。消息的一個字節的變化對Hash函數的輸出都會有很大的影響。具體算法主要有SHA,MD5等

  MAC:消息認證碼,由Hash函數對消息進行摘要得到,由于Hash函數的特性,可以提供對消息完整性的驗證,一般隨消息一起發出。主要用于驗證,防止信息被修改, 如:文件校驗、數字簽名、鑒權協議

  SPAD在授權包協議設計時采用多種算法來保證了數據的完整性、保密性、安全性。在實踐中也可以將業務認證和鑒權考慮進來,比如與IAM系統聯動。

  3.3

  防火墻策略部分

  防火墻按照實現方式可分為軟件防火墻和硬件防火墻。

  軟件防火墻:主要有iptables firewalls on Linux (including firewalld as well on recent Fedora, RHEL, and CentOS systems);ipfw firewalls on FreeBSD and Mac OS X;pf on OpenBSD。

  可實現軟件防火墻技術的功能組件:XDP,Netfilter等

  硬件防火墻

  在方案比較時,對比發現軟件防火墻有很大的優勢,如成本低,操作簡單,開發速度快等。在評估了各種軟件防火墻后,SPAD決定選用XDP技術做防火墻功能控制。

  04SPAD服務Q&A

  為什么一般采用udp協議?

  答:SPA一般選擇使用UDP通信,因為UDP傳輸是無連接的,默認無須響應,這樣就有很大優勢,可通過drop授權不通過的數據包來隱藏自己;另外從安全角度講,TCP更容易被攻擊。

  為什么采用無監聽服務端口方式?

  答:不監聽任何端口的策略可以防范黑客攻擊前的掃描偵測,從源頭杜絕黑客對具體業務服務的攻擊。無監聽服務端口方式實現上需要SPAD直接在網絡層抓包,直接解析UDP網絡報文內容,不需要真正有應用服務監聽網絡端口。

  為什么請求授權包要控制大?。?/p>

  答:在網絡傳輸中,TCP包傳輸都有MTU限制,一般網卡的MTU默認是1500。為了在單網絡數據包中獲取全部的SPA授權請求報文,所以必須要限制請求授權包的大小。當要支持多種網絡協議時需要重點考慮。

  為什么使用訪問策略TTL?

  答:為了減少安全風險,使用一次授權保持一定的TTL時間,過期后如需要訪問,必須重新申請,這樣更加安全。

  為什么SPA服務和應用部署在一起?

  答:和應用部署在一起的好處是對本機防火墻策略管理就可以控制網絡數據包訪問應用,這樣會更加簡單,更容易開發。

  為什么采用自定義授權報文協議?

  答:目前開源軟件中采用的SPA授權請求與響應報文協議很難滿足自身業務需求,特別是ToC業務,存在海量訪問客戶端,所以需要設計出更靈活,更安全的授權報文協議。

  為什么授權報文協議中要有NAT網絡標識字段?

  答:對于NAT網絡,多個子節點設備或服務器的外網IP地址相同,這樣容易出現一個終端授權成功,其他同網絡節點均可以訪問的情況,所以必須要區分NAT內部設備或服務器。

  為什么支持按照源IP分組的訪問策略?

  答:當通過CDN網絡訪問SPAD時,可能有多個源IP地址,需要將將該CDN網絡作為一個Group進行訪問策略管理,即管理訪問策略時是對整個Group的所有源IP都做策略管控。同時在SPA首包認證協議中需要增加用戶ID標識字段,由SPAD服務管理維護用戶ID標識字段對應業務服務的訪問狀態。只有SPA授權請求包鑒權成功的用戶Session狀態,才允許訪問對應的業務服務。另外SPAD需要根據CDN網絡的IP動態變化維護Group內的源IP列表和訪問策略變更。

  總結:上述Q&A只是SPAD在技術方案上遇到的問題,由于每家企業需求不同,技術架構也不一定相同,以上內容僅供參考。



本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 久久99综合| 国产成人久久精品一区二区三区 | 国产精品视频一区二区三区小说 | 久久亚洲国产最新网站 | 六月婷婷网 | 福利一区在线视频 | 国产精品亚洲一区二区三区在线播放 | 国产福利在线观看永久视频 | 精品国产免费人成高清 | 黄色网址视频免费 | 狠狠干精品 | 永久免费看毛片 | 猛男诞生记在线观看 | 婷婷综合激情 | 免费看羞羞视频的网站 | 丁香五月缴情在线 | 99热.com| 久久久高清免费视频 | 99久久无色码中文字幕 | 日本高清不卡一区久久精品 | 国产真实强j视频在线观看 国产真实伦在线视频免费观看 | 国产va在线观看 | 欧美激情区 | 精品一区二区三区四区五区六区 | 久久永久免费 | 国产欧美一区二区精品久久久 | 久久99精品国产99久久 | 欧美69式视频在线播放试看 | 国产青草视频免费观看97 | 婷婷色在线播放 | 激情婷婷成人亚洲综合 | 高清国产一区二区三区 | www激情网| 久久亚洲日本不卡一区二区 | 亚洲永久在线观看 | ww国产| 另类色综合 | 男人午夜天堂 | 国内精品久久影视 | 精品免费久久久久久久 | 日韩视频在线一区 |