本書以幫助云原生從業技術人員建立云原生安全的整體視野為目的,通過梳理整個云原生的流程和技術結構,闡述如何以應用安全為抓手,將安全性內建到應用的流程、架構以及平臺之中,從而獲得一整套完善的云原生應用安全方案。同時書中對云原生安全開源方案進行了匯總,有針對性地對當前的熱點行業,包括金融、交通、制造業的不同特點和安全訴求以及安全應對方案進行了簡要說明。本書內容環環相扣,便于讀者通過閱讀建立自己的知識體系結構。
本書適用于對云原生安全技術有興趣的技術開發者、維護者,以及對于云計算和分布式系統有興趣的相關技術從業人員,也可以作為政企信息部門技術和管理人員進行業務系統云化改造方案設計而參考資料。
出版說明
推薦序
前 言
第 1章 什么是云原生
1.1 云原生平臺、架構及開發流程
1.1.1 云原生之統一基礎平臺
1.1.2 云原生之統一軟件架構
1.1.3 云原生之統一開發流程
1.2 云原生與混合云
1.2.1 混合云的概念
1.2.2 混合云應用架構設計
1.2.3 云原生與混合云的關系
1.3 CNCF與云原生平臺
1.3.1 CNCF社區
1.3.2 云服務商與云原生
1.3.3 利用開源技術搭建云原生平臺
第2章 云原生安全演進
2.1 傳統安全解決方案
2.1.1 以網絡邊界設備為核心的安全控制
2.1.2 云安全服務
2.1.3 終端安全
2.2 云原生時代的安全變化趨勢
2.3 云原生安全的整體建設思路
2.3.1 圍繞應用的云原生轉型建設
2.3.2 以加快業務進化速度為首要目標
2.3.3 以應用為中心的云原生安全
2.4 云原生安全技術發展趨勢展望
第3章 應用平臺安全
3.1 私有云原生平臺架構
3.1.1 私有云原生平臺的技術標準
3.1.2 平臺架構
3.2 公有云原生平臺架構
3.3 容器層安全
3.3.1 容器鏡像安全
3.3.2 容器運行態安全
3.3.3 安全容器Kata
3.4 Kubernetes安全
3.4.1 Kubernetes中的關鍵組件
3.4.2 Kubernetes的威脅來源和攻擊模型
3.4.3 Kubernetes組件安全加固
3.4.4 Pod安全
3.4.5 認證和鑒權
3.5 基礎Linux安全
3.5.1 賬戶安全加固
3.5.2 文件權限加固
3.5.3 強制訪問控制
3.5.4 iptables與Linux防火墻
3.6 創建安全的云原生應用運行環境
3.6.1 創建應用運行集群并對系統進行加固
3.6.2 Kubernetes關鍵組件安全加固
3.6.3 配置容器集群安全認證
第4章 應用架構安全
4.1 云原生典型應用架構
4.2 應用使用的云服務組件
4.3 微服務與Web層架構安全
4.3.1 防護跨站腳本攻擊
4.3.2 跨站請求偽造防護
4.3.3 防范XML外部實體攻擊
4.3.4 SQL注入攻擊防護
4.4 應用中間件安全
4.4.1 Redis緩存安全
4.4.2 消息中間件安全
4.5 微服務與應用通信
4.5.1 TLS與HTTPS通信加密
4.5.2 微服務限流與應用防攻擊
4.5.3 微服務間的訪問控制
4.6 Service Mesh與應用服務安全
4.6.1 云原生服務網絡技術實現框架對比
4.6.2 Istio服務網絡技術架構
4.6.3 使用Istio的內置安全認證能力
4.6.4 使用Istio的流量安全管理功能
4.6.5 利用Istio的鑒權和監測功能
4.7 在云環境中構建安全的應用框架
4.7.1 創建一個簡單的云原生應用
4.7.2 為服務間通信配置訪問控制
4.7.3 利用Service Mesh框架進行精細流量管控及監測
4.7.4 為應用配置認證和加密
第5章 云原生應用安全管理
5.1 應用安全審計
5.1.1 業務操作日志記錄
5.1.2 從系統及應用中收集日志
5.1.3 日志存檔
5.1.4 日志分析及入侵檢測
5.2 應用配置和密鑰安全
5.2.1 應用配置中心安全防護
5.2.2 應用密鑰安全
5.3 數據安全
5.3.1 數據安全的三個要素
5.3.2 云生態中數據安全的整體架構
5.3.3 應用數據加密技術
5.3.4 數據脫敏技術
5.4 在管理層面加固應用的安全
5.4.1 配置應用運行日志存檔
5.4.2 擴充日志動態分析
5.4.3 操作日志記錄、歸檔和訪問控制
第6章 應用流程安全
6.1 DevOps流程
6.2 DevSecOps:開發、安全、運維一體化
6.2.1 從DevOps到DevSecOps
6.2.2 云原生自動化流水線的使用
6.2.3 自動化的安全流程
6.2.4 測試驅動安全
6.3 基于GitLab搭建一個自己的DevSecOps流水線
6.3.1 搭建GitLab并為工程創建流水線
6.3.2 GitLab與應用安全測試工具集成
6.3.3 GitLab與代碼掃描工具集成
第7章 應用集成和生態安全
7.1 利用云服務網關進行應用集成
7.1.1 基于云服務網關進行接口發布和訂閱
7.1.2 利用云服務網關實現接口格式轉換
7.2 接口授權和認證
7.2.1 ID和密鑰管理
7.2.2 開放認證
7.3 接口訪問安全策略和調用監測
7.3.1 訪問策略
7.3.2 流控策略
7.3.3 應用訪問監控及日志分析
7.4 服務能力對外開放
7.4.1 使用云服務總線進行服務發布
7.4.2 App授權
第8章 云原生開源安全工具和方案
8.1 應用平臺層的開源安全工具
8.1.1 Kubernetes安全監測工具kube-bench
8.1.2 Kubernetes安全策略配置工具kube-psp-advisor
8.1.3 Kubernetes滲透測試工具kube-hunter
8.1.4 系統平臺信息掃描和檢索工具Osquery
8.2 應用架構層的安全工具
8.2.1 靜態應用程序安全測試工具
8.2.2 動態應用程序安全測試工具
8.2.3 交互式應用程序安全測試工具
8.3 應用管理相關的安全工具和手段
8.3.1 日志收集機制和日志處理流程規范
8.3.2 開源日志收集、存儲和處理平臺ElasticSearch
8.3.3 數據脫敏技術ShardingSphere
8.4 應用流程相關的安全工具及規范
8.4.1 Jenkins
8.4.2 云原生持續交付模型GitOps及GitOps 安全
8.4.3 滲透測試和漏洞掃描工具ZAP
8.4.4 軟件包掃描工具
8.4.5 應用交付流程安全規范
8.5 與應用集成相關的開源安全工具
8.5.1 Kong認證插件
8.5.2 Kong安全插件
第9章 典型安全場景和實踐
9.1 金融行業的云原生實踐
9.1.1 金融行業業務創新速度加快以及對云原生技術應用的訴求
9.1.2 持續安全和測試驅動安全的應用
9.1.3 DevSecOps和持續安全在金融業落地過程中遇到的文化挑戰
9.1.4 解決與客戶及合作伙伴之間的數據交互安全
9.2 交通行業的云原生安全實踐
9.2.1 智慧交通行業依賴于新基建基礎設施
9.2.2 交通子行業對云原生安全有不同的需求
9.2.3 綜合性邊緣集群的安全管控策略
9.3 制造行業的云原生安全實踐
9.3.1 云安全、數據安全及安全運營是工業互聯網安全的重點
9.3.2 輕量化邊緣集群同樣需要足夠的安全管控機制
9.3.3 通過安全交付流水線增強業務交付速度及持續增進業務安全
9.3.4 工業應用生態創新過程中需關注數據安全及生態共享所帶來的安全風險
參考文獻