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