微服務應用開發的 網路資安架構...2020/07/09 · traditional delivery architecture...
Post on 12-Jul-2020
1 Views
Preview:
TRANSCRIPT
微服務應用開發的 網路資安架構
| © 2018 F5 NETWORKS 2
現代應用需要現代架構
• 三層 J2EE 式架構
• 複雜協定(HTML、SOAP)
• 持久部署
• 固定靜態基礎架構
• 大版本發布
• 獨立團隊(開發、測試、操作)
• 微服務
• 輕量級(REST,Messaging)
• 容器、VM
• SDN、 NFV、 雲
• 持續交付
• DevOps 文化
...to dynamic From monolithic...
| © 2018 F5 NETWORKS 3
單體應用及優缺點 • 一個安裝檔案(可以是JAR、WAR、或其它檔案格式)包含所有功能的應用程式。業務系統的模組是緊耦合的,各模組運行在一個進程中。
• 優點
• 便於共用
• 易於測試
• 易於部署
• 缺點
• 過高耦合的風險,複雜性高
• 新語言、新技術引入的阻力,阻礙技術創新
• 技術債務
• 水準擴展的問題
• 難以可持續發展
| © 2018 F5 NETWORKS 4
微服務架構
• 微服務架構風格是一種將單一應用程式開發為一組小型服務的方法,服務間通信採用輕量級通信機制。這些服務圍繞業務能力構建並且可通過全自動部署機制獨立部署。這些服務共用一個最小型的集中式的管理,服務可用不同的語言開發,使用不同的資料存儲技術。
• 優點
• 輕量級的服務
• 耦合的系統,易於開發、測試、部署
• 按需可擴展
• 積木式的系統,技術架構不受限制
• 問題
• 高度自動化與集中運維管理
• 架構重組
• 高品質的文檔
• 分散式系統的複雜性
| © 2018 F5 NETWORKS 5
現代化應用的挑戰
多個雲平臺、新架構和工具集
隨著容器和微服務的興起,威脅表面區域正
在爆炸式增長
基本的雲原生服務總是不夠用(Not Good
Enough)
雲端缺乏可視性和控制力
DevOps / AppDev 對傳統 NetOps /
SecOps 造成壓力
AppDev/DevOps
• 虛擬化應用 • 容器 • 微服務
. .
NetOps/SecOps
• 服務不一致 • 安全性漏洞 • 合規差距 • 沒有集中控制
網路攻擊和資料丟失 APP停機 損害賠償
. .
| © 2018 F5 NETWORKS 6
服務描述
常用的服務描述方式包括 RESTful API、XML 配置以及 IDL 文件三種。
RESTful API 方式通常用於 HTTP 協定的服務描述,並且常用 Wiki 或者Swagger來進行管理。下面是一個 RESTful API 方式的服務描述的例子。
XML 配置方式多用作 RPC 協定的服務描述,通過 *.xml 設定檔來定義介面名、參數以及返回數值型別等。下面是一個 XML 配置方式的服務描述的例子。
IDL 檔方式通常用作 Thrift 和 gRPC 這類跨語言服務調用框架中,比如 gRPC 就是通過 Protobuf 檔來定義服務的介面名、參數以及返回值的資料結構
ABC
| © 2018 F5 NETWORKS 7
服務框架 用戶端與服務端建立網路連接
HTTP通信、Socket通信
服務端處理請求
同步阻塞方式(BIO)、同步非阻塞方式(NIO)、非同步非阻塞方式(AIO)
資料傳輸採用什麼協議
最常用的就是HTTP協定、也有私有協定
數據的序列化和反序列化
文本類如 XML/JSON、二進位類如 PB/Thrift
支援資料結構類型的豐富度、跨語言支援、性能
| © 2018 F5 NETWORKS 8
服務監控
監控對象
使用者端監控、介面監控、資源監控、基礎監控
監控指標
請求量、回應時間、錯誤率
監控維度
全域維度、分機房維度、單機維度、時間維度、核心維度
監控系統
資料獲取
資料傳輸
資料處理
數據展示
| © 2018 F5 NETWORKS 9
API 是新一代雲原生應用建構的核心技術 從單體服務到微服務
| © 2018 F5 NETWORKS 10
The New Normal 新常態 應用為王時代的預期
應用程式交付
專業知識期望
應用程式體系結構
MONOLITHS CONTAINERS
MAINFRAME
3-TIER SERVERLESS
CLIENT-SERVER
Web SPAs Mobile MSA Cloud-native
NETOPS
NOOPS
TRADITIONAL NETWORKING 傳統
MODERN NETWORKING現代
AS A SERVICE
DEVOPS
| © 2018 F5 NETWORKS 11
The New Normal 新常態 統計數字
應用程式交付
專業知識期望
應用程式體系結構
MONOLITHS CONTAINERS
MAINFRAME
3-TIER SERVERLESS
CLIENT-SERVER
Web SPAs Mobile MSA Cloud-native
NETOPS
NOOPS
TRADITIONAL NETWORKING
MODERN NETWORKING
AS A SERVICE
DEVOPS 47% 部署容器,因為它們提供了更簡單的管理
(SDxCentral, Container and Cloud Orchestration Report, 2017)
33% 在過去一年中部署了無伺服器應用
(Digital Ocean, Q2 Developer Survey, 2018)
53% 將容器用作無伺服器部署的基礎
(The New Stack, Serverless Survey, 2018)
85% 基於容器的作業
(Cisco, Global Cloud Index: 2016-2021, 2018)
| © 2018 F5 NETWORKS 12
The New Normal 新常態 控制和混亂
• 高可靠性(內置於容錯移轉)
• 低抗干擾能力
• 共用資源
• 受控版本
Traditional Delivery Architecture (N-S)
• 可靠性低(built to fail)
• 高抗干擾性
• 專用資源
• Per App
Modern Delivery Architecture (E-W)
MONOLITHS MICROSERVICES
MAINFRAME
3-TIER SERVERLESS
CLIENT-SERVER
Web SPAs Mobile MSA微服務 Cloud-native
雲原生
控制
LOWER
HIGHER
混亂 LOWER HIGHER
| © 2018 F5 NETWORKS 13
The New Normal 新常態 NORTH-SOUTH MEETS EAST-WEST當南北遇上東西
NORTH-SOUTH (傳統交付模式)
• 傳統網路模式
• 單一、受控、線性資料路徑
• 共用基礎架構
• 低抗干擾能力
• 對可靠性的高要求
• 固定定址
• 受控版本
| © 2018 F5 NETWORKS 14
The New Normal 新常態 NORTH-SOUTH MEETS EAST-WEST當南北遇上東西
EAST-WEST (現代交付模式)
• 現代網路模型
• 多個動態資料路徑
• 專用基礎設施
• 高抗幹擾性
• 對可靠性的較低
• 基於發現定址
• 每個應用按需發佈
| © 2018 F5 NETWORKS 15
EAST-WEST (現代資料路徑) NORTH-SOUTH (傳統資料路徑)
| © 2018 F5 NETWORKS 16
為了速度犧牲安全
The New Normal 新常態
62% 57% 應用團隊說
NO
運維團隊說
NO
SOURCE: THREAT STACK, BRIDGING THE GAP BETWEEN SECOPS AND REALIT Y, 2019
| © 2018 F5 NETWORKS 17
API : 微服務發展的基石
| © 2018 F5 NETWORKS 18
軟體之間的通訊協定
Application應用:在行動裝置或個人電腦上使
用的軟體應用程式。
Programming:程式開發
Interface介面:如何與應用進行互動,以及可以
接收哪些類型的回應
Application Programming Interface : API 應用程式介面
| © 2018 F5 NETWORKS 19
Web應用程式演進中的 API
現代Web應用程式
{ }
https://object/...
HTML
https://api/...
JSON JSON JSON
傳統網頁應用
| © 2018 F5 NETWORKS 20
API應用對比WEB應用
• JSON
• XML
• 幾乎都是後臺操作
• HTML
• 分靜態和動態,流量
大部分是靜態
• HTTP 層JWT認證
• HTTP層Oauth2認證
HTTP層無認證,通過
應用進行認證,認證後
分配session id
API(新)
WEB(舊)
內容 認證
使用WEB應用不需要單獨
瞭解每個URI,只需要知道
入口,入口頁面具備連結組
成應用頁面
每個API為一個URI,正常
用戶明確知道每個URI的用
法,如HTTP方法,變數名,
變數類型
HTTP形態
API安全需要充分理解,並利用API應用的特性提供應用層安全防護功能
| © 2018 F5 NETWORKS 21
在組織/企業內使用
• 電子商務網站(如PCHOME/MOMO)
• 信用卡公司(業務單位內部資訊共用)
• 醫療保健(在醫院內記錄和共用醫療記錄)
1-API使用模型–內部/私有
| © 2018 F5 NETWORKS 22
在合作夥伴間使用
• Partner Use-Cases
− 銀行間(銀行賬戶查詢、無現金支付、風險評分檢查)
− 協力廠商服務業者(TSP)與銀行間
− 政府與銀行間
2.API使用模型–合作夥伴
https://blog.moneybook.com.tw/2019/10/16/%E9%A6%96%E5%AE%B6%E8%88%8720%E5%AE%B6%E9%8A%80%E8
%A1%8C%E4%B8%B2%E6%8E%A5api%E7%9A%84%E9%87%91%E8%9E%8D%E5%B8%B3%E5%8B%99%E6%95
%B4%E5%90%88%E6%9C%8D%E5%8B%99%E8%AA%95%E7%94%9F%EF%BC%8C%E3%80%8Cmoneyb/
| © 2018 F5 NETWORKS 23
| © 2018 F5 NETWORKS 24
• Public Use-Cases − 地圖, 交通, 天氣, 日曆….
− 社交媒體
− 政府的開放資料
3.API使用模型–公開/Web
| © 2018 F5 NETWORKS 25
API面臨的威脅
| © 2018 F5 NETWORKS 26
API安全挑戰之非授權訪問
美國郵政
房地產估價
| © 2018 F5 NETWORKS 27
安全問題:DDoS攻擊
| © 2018 F5 NETWORKS 28
API安全挑戰之內容檢驗
CVE-2019-1002100 高危
擁有補丁許可權的惡意用戶通過發送特定超長的“json-patch”補丁請求
| © 2018 F5 NETWORKS 29
API 威脅 不斷變化的動態應用安全
漏洞與利用 自動化攻擊 非授權訪問
憑證和數據竊取 視覺化 DDoS攻擊
| © 2018 F5 NETWORKS 30
API 安全與管理 – Gartner/IDC觀點
| © 2018 F5 NETWORKS 31 © F5 Networks, Inc 31
到2022年,API濫用將成為最常見的攻擊媒介,從而導致企業Web應用數據外洩。
| © 2018 F5 NETWORKS 32 © F5 Networks, Inc 32
API Gateway 和安全工具
* Gartner: Choosing the Right API Gateway to Protect Your APIs and Microservices
到 2022 年,API 濫用將成為最常見的攻擊媒介,
導致企業 Web 應用程式發生數據洩露。
| © 2018 F5 NETWORKS 33
傳輸安全(TLS/SSL)
自動攻擊防護&機器人檢測
API用戶端認證
內容檢查
傳輸安全
配額管理&
流量控制
敏感資訊標記
XML和JASON的內容檢查
存取控制
管理整合
警報&視覺化 審計日誌
用戶端
API服務
來源:Gartner2017API安全防護架構設計
構建最完整有效的API安全防護架構
| © 2018 F5 NETWORKS 34
簡化和統一API管理
超過半數的API優先戰略的企業面臨使用多種 API管理工具的調整。企業應部署一致性的API 管理系統與工具,並統一和簡化API部署架構。
IDC關於成功實施API戰略的關鍵建議
視覺化分析
企業應充分重視視覺化分析是API運行成功的
關鍵保障。企業應將視覺化分析作為API戰略的
重要Roadmap
理解並解決API管理的複雜性
API運維具有高度複雜性,應從企業高度認識這
一挑戰。確保構建健壯穩定的API管控策略。
API性能是制勝的關鍵
高性能API幫助企業在快速多變的業務中保持競爭
力,並提供最好的用戶體驗。企業或組織需要圍繞
API性能方面構建強健的流量管理和負載均衡環境
在任何時候,任何地方確保API安全
安全需作為API建設的第一重要考慮要素。企業應
確保通過有效機制保護API,這包含基於架構、功能
並結合可觀測、監控等多種手段。
構建面向未來的架構
微服務和容器環境下管理和跟蹤API依賴關係需求將
會持續增長。企業應著眼長遠構建前瞻性的雲原生 架構。
| © 2018 F5 NETWORKS 35
API數位經濟的資安框架
| © 2018 F5 NETWORKS 36
Gartner API架構模型
| © 2018 F5 NETWORKS 37
API數位經濟的資安框架
API A
API B
API C
D
E
F G
H API安全閘道 • TLS 卸載 • 認證 • WAF/DDOS 安全防護 • 南北向負載均衡
API管理閘道 • API管理 • 服務發現 • HTTP請求路由 • 東西向負載均衡
AWAF
APM
Swagger(OpenAPI)
OAuth
OIDC
JWT
OWASP Top 10 for API
Rate Limiting (TPS)
JSON/XML Schema Validation
DDOS protection
BOT Protection
Datasafe
CONFIGURE
MONITOR
TUNE
NGINX 控制器
任何環境
• 輕量
• 易部署
• 易於消費
• 雲原生
DevOps/AppDev
運維
NetOps/SecOps
運維
不同角色的人管理不同的解決方案
| © 2018 F5 NETWORKS 38 © F5 Networks, Inc 38
API安全閘道
API
API
Protection
Authentication
• TLS Termination
• API OWASP
• Bot protection
• DDoS protection
• Authentication & Authorization with Oauth 2.0
Attackers
Legitimate users
{“filter”:”|cat /etc/password“,”order”:”asc”,”limit”:50}
{“filter”:”user=ewen“,”order”:”asc”,”limit”:50}
API數位經濟的資安框架
API管理閘道
| © 2018 F5 NETWORKS 39
下一代整合架構 : Kubernetes/微服務
Microservices-oriented application
….
Node 1
Node N
• Ingress Control with Service Discovery
• Sidecar proxy • Application Proxy • Mutual TLS • East/West traffic
inspection • JWT Validation • Response Caching
• API Traffic Steering
• TLS Optimization
• Resiliency API Architecture
• API Protection
• OAuth2.0
• Bot Defense
• Threat Protection
• REST Payload Validation
• Sensitive Data Blocking
Ingress control
E/W control東西向
Microgateway微閘道
N/S control 南北向
| © 2018 F5 NETWORKS 40
API 安全閘道
| © 2018 F5 NETWORKS 41
AWAF
APM CONFIGURE
MONITOR
TUNE
NGINX Controller
API安全閘道
API傳輸安全
API存取控制
API內容防護
API Bot&DDoS 防護
API安全視覺化
API管理閘道
認證、授權
速率限制
橫向擴展
服務發現
請求路由
| © 2018 F5 NETWORKS 42 © F5 Networks, Inc 42
認證授權
識別校驗
API
API防護策略
傳輸安全
攻擊防護
訪問可視
APP
Geo Protection / IPI
Oauth 2.0 / JWT / OIDC
Programmability
Credential Stuffing protection
BOT Protection
SDK for Mobile
OWASP 10
Protocol/Scheme Compliance
DDOS protection
Encryption and TLS fingerprinting
| © 2018 F5 NETWORKS 43 © F5 Networks, Inc 43
Traditional WAF:
SSL/TLS 深入檢測 SSL/TLS 深入檢測
惡意攻擊語法 惡意攻擊語法
OWASP Top 10 OWASP Top 10
Advanced WAF:
自動化機器人防護
動態資料混淆加密防護
API 攻擊防護
SSL/TLS
OWASP Top 10
Advanced WAF 領先資安偵測防護技術
惡意攻擊語法
| © 2018 F5 NETWORKS 44
API 傳輸安全 API加密傳輸
提供全面加密方式
支援國際通用演算法
SSL視覺化編排
針對不同加密協定,根據動態
服務鏈進行視覺化編排
高性能的SSL處理能力
不同平臺支持從2100 - 128萬 tps處理
能力
防禦中間人攻擊
支持HSTS,可以有效防禦PC端或
移動端出現的中間人攻擊
SSL卸載
| © 2018 F5 NETWORKS 44
F5 ADC SSL/SSLO
Anti-Bot Mobile SDK
Mobile
Users
Attackers
Bots
USERNAME
APIs
API
Gateway
| © 2018 F5 NETWORKS 45
API 存取控制 API認證、授權
實現統一的認證和授權
支持OAuth, OpenID, JWT等授權,
對API訪問源,訪問方式等控制
速率與大小限制
根據不同應用,不同存取權限等
進行API介面速率限制和API介面
資料大小限制
零信任安全架構
對所有API介面內、外部訪問者進行
可信驗證
提供完整的存取控制日誌
即時記錄所有API介面訪問的日誌,
並即時對接日誌平臺或SIEM分析平
臺
APM
| © 2018 F5 NETWORKS 45
Users
IDaaS Provider
Directory Services
APM
SAML SP Kerberos/ Header Based
Reverse Proxy
SAML Redirect
On Prem
Continuous Posture Assessment
Mobile
MAC & MS Windows
VPN
VPN
| © 2018 F5 NETWORKS 46
API 內容安全 API協定、內容的校驗與防護
全面協議校驗
對XML, JSON, GWT等協議進行校
驗,如校驗每個API請求的Method
快捷導入
支持Swagger和JSON schema導
入,API安全與API Server快捷整
合,無縫防護
精細化內容檢測
對各種API協定的內容進行精細化內
容檢測,如檢查簽名特徵,元字
元,參數,長度等
AWAF
| © 2018 F5 NETWORKS 46
Anti-Bot Mobile SDK
Mobile
Users
Attackers
Bots
USERNAME
APIs
API
Gateway F5
Advanced WAF
| © 2018 F5 NETWORKS 47
API Bot及DDoS攻擊 基於API的自動化攻擊防護
暴力破解
策略自動化構建,無須人工幹
預,對AJAX / JSON登陸表單進行
學習與防護
Bot攻擊
通過驗證碼挑戰,Web端
JavaScript主動挑戰,移動App SDK
等來防禦Bot攻擊
DDoS攻擊
通過TPS限速來緩解基於API的DDoS
攻擊,通過Behavioral DDoS防禦手段
對API請求進行機器學習分析,更加
高效的防禦基於API的DDoS攻擊
| © 2018 F5 NETWORKS 47
Anti-Bot Mobile SDK
Mobile
Users
Attackers
Bots
USERNAME
APIs
API
Gateway F5 Advanced WAF
| © 2018 F5 NETWORKS 48
API 安全閘道功能:視覺化
| © 2018 F5 NETWORKS 49
API 視覺化 視覺化呈現API安全態勢
API整體態勢評估
對API服務狀態進行整體評估與展
現
多維度分析
基於API服務類型,訪問類型,使
用者區域,安全事件類型等眾多
維度進行分析
流量和攻擊事件即時展現
對所有API服務的訪問情況,安全情
況即時分析、統計和展現
BIG-IQ&HSL大資料引擎
| © 2018 F5 NETWORKS 49
| © 2018 F5 NETWORKS 50
巨量輸出
Kafka
Kafka
Logstash
Logstash
Elasticsearch
Elasticsearch
Elasticsearch
Elasticsearch
Kibana
Kibana
高度定製
可視化
原始資料
完整全量效能/安全分析
即時呈現
彈性擷取
Kafka
Kafka
Elasticsearch
| © 2018 F5 NETWORKS 51
API 管理閘道 : 東西向
| © 2018 F5 NETWORKS 52
AWAF
APM CONFIGURE
MONITOR
TUNE
NGINX Controller (API Module)
API安全閘道
API傳輸安全
API存取控制
API內容防護
API Bot&DDoS 防護
API安全視覺化
API管理閘道
認證、授權
速率限制
橫向擴展
服務發現
請求路由
| © 2018 F5 NETWORKS 53
Kubernetes 概述
• 跨電腦集群運行容器化應用程式 • 通過重新開機失敗的工作負載來增加應用程式的彈性 • 管理應用程式-擴展,輪流升級 • 連接應用程式——內部服務發現和負載平衡 • 支援運行有狀態的應用程式 • 和更多的……
• 基於穀歌的Borg • 2014年開源,現由CNCF維護 • 領先的容器編制技術 • 最大的開源社區之一,來自數千個組織的貢獻 • 所有主要的雲提供商(AWS、Azure和GCP)都提供一
個託管的Kubernetes解決方案 • 充滿活力的服務提供者和供應商生態系統
MORE INFORMATION AT NGINX.COM
Kubernetes Ingress Controller
• Kubernetes只提供入口資源,而不是負載等化器
• Ingress Controller(IC) -應用進入規則到特定負載
的軟體
• 用於軟體/硬體/雲負載平衡器的幾種IC實現
• 通常將負載等化器和IC軟體都稱為IC
Kubernetes API
Ingress Controller
Load Balancer
Watches Ingress resources
Configures
| © 2018 F5 NETWORKS 55
BENEFITS:
• 在Kubernetes和OpenShift環境中獲得更大的靈活性
• 加速跨Pod部署
• 確保部署的一致性和可靠性
• 在擴展時保持應用程式的性能
• 縮小差距,調整開發和專案事務處的優先順序
Kubernetes Ingress Controller
| © 2018 F5 NETWORKS 56
東西向管理與安全
| © 2018 F5 NETWORKS 57
東西向應用安全
適應微服務架構
搭配CI/CD
NGINX App Protect
| © 2018 F5 NETWORKS 58
安全即為程式碼Security as Code
從一開始就整合應用安全
自動設置安全防護,加速 DevOps 工作流程
使用 DevOps 使用 SecOps 管理原則
DEV SEC OPS
| © 2018 F5 NETWORKS 59
三種部署模式
| © 2018 F5 NETWORKS 60
1. 現況強化 F5 API 安全閘道GW
D
D
D
E
E
E
應用路由與高可用
TLS卸載
機器人防禦
DDoS 保護
Oauth2,OIDC, JWT
JSON檢查
資訊防洩露
應用混淆處理
BIGIP WAF
APM + AWAF, BIG-IQ
OpenAPI規範, Swagger導入,
簡化API資源維護
安全視覺化面板: 結合BIG-IQ,AVR,HSL 實現API視覺化洞察
RBAC能力適應
| © 2018 F5 NETWORKS 61
2. Cloud Native(容器/K8S) NGINX API管理閘道
D
D
D
E
E
E
JWT,ACL
負載均衡
限流、熔斷
路由,配額,高性能
安全
REST API
微閘道 API GW
JWT,ACL
負載均衡
限流、熔斷
路由,配額
安全
統一控制
API視覺化洞察
API門戶
| © 2018 F5 NETWORKS 62
簡化複雜性
統一API管理
企業資料中台
API認證
API安全
邊界安全
平臺級 API閘道
現有環境API GW
現代應用,微服務,雲原生API GW
關注API安全
關注API性能
關注API視覺化洞察
兼顧傳統與未來的架構
| © 2018 F5 NETWORKS 63
3. 下一代整合架構
D
D
D
E
E
E
TLS卸載
機器人防禦
DDoS 保護
Oauth2,OIDC, JWT
JSON檢查
資訊防洩露
BIGIP WAF
邊界安全
JWT,ACL
負載均衡
限流、熔斷
路由,配額
安全
SSO JWT Bearer 微閘道 API GW
JWT,ACL
負載均衡
限流、熔斷
路由,配額
安全
統一控制
API視覺化洞察
API門戶
| © 2018 F5 NETWORKS 64
CONFIDENTIAL
| © 2018 F5 NETWORKS 65
微服務安全防護方案總結
完整的平臺解決方案,100%覆蓋Gartner提出的安全能力矩陣
API安全閘道
API傳輸安全
API存取控制
API內容防護
API Bot&DDoS 防護
API安全視覺化
API管理閘道
認證、授權
速率限制
橫向擴展
服務發現
請求路由
top related