owned this note changed 3 years ago
Linked with GitHub

Automating Security in IaC Pipelines with Policy as Code - 金融業IaC整合實踐 - 吳柏緯 (Paul)

歡迎來到 DevOpsDay Taipei 2022 共筆 :mega:
共筆入口:https://hackmd.io/@DevOpsDay/2022
手機版請點選上方 按鈕展開議程列表。

各家講者出來分享自己的經驗多少都有些公司內規和公關要求的限制,有些不方便分享的地方(例如:不要張貼簡報截圖)還請大家多多包涵喔(不然就更多人不敢出來分享了)
DevOpsDays Taipei 2022

從這開始

Why Policy as Code

  • 2020年的時候開放資料上雲
    被規範不能有vendor lock-in的機會出現,所以使用多雲

  • 一開始用AWS CDK
    金管會要求資料只能存在台灣本地
    所以只能用GCP,改用terraform

  • 稽核,法遵,資安,金管會天天來關心

  • full history / audit log for compliance

  • pre check機制是最重要的重點
    資安要求你的東西不能再佈出去之後才發現問題,要在之前就先發現

What Policy as Code

  • internal policy
    • limit region
    • naming rule
  • security
    • disable public ip
    • firewall
    • limit custom image
  • compliance
    • 金管會要求下出現的各種限制
  • operational excellence

How Policy as Code

  1. define policy
  • 盤點內部控制項:什麼port不能開,弱點偵測掃描,網路限制,app安全性,infra安全性
  • 檢視外部法規
  • 參考cloud controls martix
  • 產出內部的security assessment martix
  • 撰寫policy code
  1. Tool
  • 使用Azure DevOps
  • Terraform enterprise
  • Sentinel policy (terraform的產品)

requirement > E-Ticket > git > terraform plan > sentinel policy check > (approved) terraform apply

Why Terraform enterprise?

因為

  • source code不能上雲
  • tfstate必須存在本地端

terraform enterprise

  • 有local server
  • env management
  • 能整合sentinel policy

稽核出來了

  • 你會不會有vendor lock-in?

若平台掛了怎麼辦

environment management

原本用terraform workspace

換成terragrunt

Policy check

terrascan

  • OPA
    • 學習成本高
  • 自定義policy
    • 因為這些東西對GCP的支援不足,AWS很充足
    • 所以都要自己定義
  • terraform, k8s, helm
    • 應用範圍廣

pipeline上,terrascan替換掉sentinel policy

最重要的是要怎麼定義你的policy

tags: DevOpsDays Taipei 2022
Select a repo