多雲環境的安全維運 — Part 1

定義我們的資安政策

雲端運算也許會比地端機房更能夠提供企業更具安全的資安運作,因為雲端業者提供了比我們地端機房還要多的資安解決方案。重點在於我們能是否好好的使用這些方案與工具

我們必須先定義”那一些(類型)”數位資產是我們需要保護以及我們"如何"保護它們,然而大多數的人其實一開始不知道這些需要保護的數位資產與保護方式是甚麼。我們這時就需要一些通用的標準來協助我們,例如CIS(Center for Internet Security)。

我們會學習到甚麼是"資安框架"以及它為什麼對我們的資安政策如此重要。從這框架我們會了解在雲端環境中甚麼樣的數位資產是需要我們保護的,我們會先從CIS標準套用到我們的雲端環境中。最後我們會來討論不同的資安治理與管理方式。

本文中我們會討論到的重點會有:

  • 認識資安框架
  • 如何定義資安政策
  • 使用CIS標準實現我們的資安政策
  • 最後是管理資安政策

認識資安框架

建立過地端機房的人都應該知道,機房的安全會從實體環境開始,再來才是系統的邏輯層安全。如果有用過ISMS(Information Security Management System)就知道筆者在說甚麼了。

但是在雲端運算平台,我們不再關注實體機房的安全,關注的是系統或資料本身的安全(不論是IaaS/PaaS/SaaS)。我們在地端機房建立的"安全系統",一旦搬到雲端中原來地端機房的安全防護可能不再適用,我們需要有不一樣的做法。

如同我們剛剛提到的,雲端運算平台(AWS/Azure/GCP)提供了最多的資安方案與工具,但是這些方案與工具要如何的使用取決於使用者(也就是組織),設定與管理的責任也是落在使用者的身上。也因為如此,我們需要一套機制來"設立"”具有強制力”的資安政策。

資安政策是基於C.I.A(Confidentiality、Integrity、Availability)原則,在此就不在贅述這個概念,網路上有非常多的專家在解釋此類概念。但說人話,CIA原則在我們的資安政策就是要讓IT環境:

  • Confidentiality — 保護我們的數位資產不受未經授權的"存取"
  • Integrity — 保護我們的數位資產不受未經授權的"變更"
  • Availability — 保護我們的數位資產"能持續"的讓經過授權的人存取與變更

資安政策跟我們的技術設定沒有關係的,不會提到甚麼防火牆的甚麼port要關起來之類的。資安政策只是定義組織內的資安原則與如何保護我們的數位資產。資安政策描述了組織中屬於特定功能的數位資產必須在一定程度上受到保護的要求。例如,資安政策可能是: 組織中的ERP系統需要全天24小時能運作並且不能損失任何一筆資料。而這樣的要求就會衍生出技術架構與需求,像是要有HA機制/持續備份/DR等,然後我們就會產生出一個矩陣表,誰該負責甚麼樣的系統等。

認識資安框架

資安政策與資安原則是一體兩面的。基本上這兩個都是訂一個產業或通用的框架給企業遵守的。所以這裡產生了兩種型態的框架:

  1. 產業必要的
  2. 通用的(一般性的)

產業必要的,像是銀行業需要遵守PCI-DSS,醫療業要遵守HIPAA等這一些資安框架。這一些主要是保護客戶/病人的資料隱私。雲端架構師必須要對這一些產業資安框架有深刻的認識,因為這樣才能針對這些標準設計出適合在雲端上運行的相關系統。

有了這些產業的資安框架之後,我們可能會需要一些通用的資安框架。例如,ISO 27017/27018針對雲端運算的資安標準或是NIST 800–120(針對雲端系統的存取控制)。或是CIS,這種特別針對雲端。CIS分為兩種等級的控制項,分別是:

  • 不會影響系統或服務功能的基本資安要求。
  • 針對需要更高安全性可能會影響系統或服務功能的建議設定。

CIS是一種"通用的"資安框架,意味著可以用在我們所認識的所有雲端運算平台中。CIS提供的這些基準安全設定可以強化我們在雲端的資安強度。CIS建議在以下方面進行強化:

  • Identity and access management
  • Storage account
  • Database services
  • Logging and monitoring
  • Networking
  • Virtual machines
  • Application services

定義我們的資安政策

在搬遷我們的系統到雲端時,整個過程可能非常自動化。但是前期的準備作業可能非常複雜與耗時,像是需要考量很多架構面與技術轉換,而資安可能是我們的重中之重,畢竟雲端運算一開始備最多人質疑的就是它的資訊安全。再來是如果環境一開始或之後變得越來越複雜,而我們有缺乏在雲端中的"可見性"。哪麼我們的系統最終將產生若干的系統漏洞。所以不論我們在雲端中啟用甚麼樣的服務,它必然有一些資安基準需要被遵守。而這些基準就要由我們的資安政策來定義。

哪我們如何建立我們的資安政策與資安基準呢?

  1. 檢視組織的監管規定: 組織一定有一些外部/內部的監管規定須要遵守,先了解這些內外部的監管是甚麼。雲端架構師這時需要邀請組織的法務與稽核部門一起討論相關的監管規則如何套用到雲端中。我們需要檢視這些雲端業者(IaaS/PaaS/SaaS),是否有提供或能設定成我們所需要的監管規定。
  2. 限制存取:這應該就是現在大家都一直在說的零信任與RBAC 的存取模式。更多的零信任請參閱本部落格的"零信任的IT環境架構"文章。
  3. 安全的網路連線: 網路怎麼進行安全的連線,該不該加密,防火牆應該怎麼設定,我們的客戶/部門之間的網路路由應該怎麼設定分隔開來,這一些連線該怎麼監控等等。這裡我們再次需要套用零信任原則: 網路區隔的重要性
  4. 邊界防禦:我們如何保護來自外部的連線是安全的,也就是網路連線到達我們系統的邊界(防火牆/WAF/LB等)後,如何確認或過濾網路連線是安全的。
  5. 內部防禦:如何防禦我們內部的server/applications/containers/function等。
  6. 持續性的稽核: 這是屬於資安政策管理的一部分,重點在於我們需要持續不斷的評估我們的資安政策,因為資安威脅每天都在變化。所以評估與稽核資安政策還有辨識系統弱點就是重要的工作。這些系統弱點對我們很重要嗎?有多少可能性會因為這些弱點發生資安危機?我們能多快修補這些弱點或減輕衝擊?這些必須要在每一個發展與管理雲端的人都要謹記的。

接下來我們需要定義資安政策的"範圍"。我們需要借用資安業界會用到的術語: Defense-in-depth來設計我們的雲端安全架構。在每一個層次的防禦都是在對抗不一樣的威脅。這些層次分別是:

  • 網路層(Network Layer): 這裡防禦的是未經授權的人或系統的連線,再一次零信任原則又再用上。
  • 平台層(Platform Layer): 這裡指的是作業系統的防禦。像是有沒有上patch或是不應該開的網路port有沒有開。
  • 應用程序層(Application Layer): 這裡不只是指Application還包含跟Application相關的middleware與API的相關防禦措施。
  • 資料層(Data Layer):這裡是所有的內外部惡意攻擊者最終想達到的地方。如果他們可以突破前面三層,他們就可以來到這裡。而最常用的方式就是在Data at rest/in transit進行加密。
  • 回應層(Response Layer): 如果組織有資安監控,哪麼SIEM就會這一層出現。這一層的認識是對可疑的活動進行捉捕/分析/進而出發相對應的回應動作。

我們必需上面所提到的每一個層次提出相應的資安政策。而在有了資安政策之後我們也可以對政策進行以下一些最佳實踐:

  • 存取(Access): RBAC的存取控制,並注意最高權限者的管理。可能還搭配MFA管控等。
  • PKI(Public Key Infrastructure)
  • 日誌與稽核的追蹤(Logging and audit trail)

在雲端實現資安政策

在這裡我們進入實作階段,如何將資安政策套用在雲端平台中。在這裡我們使用CIS框架來套用在不同的雲端平台中。

例如,CIS建議我們在雲端中要"確認稽核日誌已經被正確並在所有雲端服務中啟用"。像是在 GCP的console中或glcod command(如下)啟用。

gcloud organizations get-iam-policy ORGANIZATION_ID 
gcloud resource-manager folders get-iam-policy FOLDER_ID
gcloud projects get-iam-policy PROJECT_ID

另外更進階的GCP security可以啟用Security Command Center(如下圖),這個可以與SIEM整合,雖然Google Cloud 有併購Chronicle這一個SIEM,但目前(2020 / 12)整合還不到家。現有的三大雲(AWS/Azure/GCP)中,只有Azure有提供完全整合的SIEM解決方案,其他兩家都必須與第三方的SIEM整合。

在Azure,我們可以啟用"Azure Security Center"(如下圖所示)設定我們的資安政策。CIS針對Azure Security Center(使用標準版本)列了一些安全建議設定。而Azure Security Center還提供了MSRC(Microsoft Security Response Center)來對發生的資安事件進行回應。

下一個設定是使Monitoring agent開始收集資料,並確保預設策略設定“Monitor system updates”是啟用的。 這個設定會從 Microsoft 檢索可用security update和critical update的每日清單,包括 Windows/Linux OS。 這些是Azure Security Center基本配置設置。

在Azure Security Center我們應該還要啟用這些設定以符合CIS的建議規範:

  • Scanning vulnerabilities in OS
  • Enforcing endpoint protection
  • Monitoring disk encryption
  • Monitoring network security group
  • Monitoring web application firewalls
  • Monitoring next-generation firewalls
  • Vulnerability assessment
  • Monitoring blob storage encryption
  • Monitoring just0in0time(JIT) network access
  • Monitoring adaptive application whitelisting
  • Monitoring SQL auditing
  • Monitoring SQL encryption

而在AWS,我們要啟用的則是AWS Security Hub,這是AWS提拱的一個統一的儀表板。AWS也提出屬於自己的雲端資安框架,詳細的內容可以參考本部落格"AWS的雲端架構框架-資安篇"。Security Hub基本上就是收集AWS其他的資安解決方案的日誌,集中起來成一個單一的視圖。各項服務的關係可參考下圖。

啟用AWS Security Hub如下圖所示:

一旦啟用了Security Hub,它就會從上圖所示的各項AWS 資安服務中擷取日誌。我們可以看到上圖,AWS已經把CIS的框架規範套入到我們的雲端環境中了。

針對AWS,CIS建議我們要啟用這些設定來管理我們的資安政策:

  • Ensure CloudTrail is enabled in all regions.
  • Ensure CloudTrail log file validation is enabled.
  • Ensure that an S3 (storage) bucket used to store CloudTrail logs is not publicly accessible.
  • Ensure CloudTrail logs are integrated with CloudWatch logs. Ensure AWS Config is enabled in all regions.
  • Ensure S3 bucket access logging is enabled on CloudTrail S3 bucket.
  • Ensure CloudTrail logs are encrypted at rest using KMS CMKs (Key Management Services — Customer Master Keys).
  • Ensure rotation for customer-created CMKs is enabled. Ensure Virtual Private Cloud (VPC) flow logging in all VPCs.

以上是一些重要的設定,我們可以看出來這不會是全部。這些設定其實是要記錄與監控我們的資安政策有沒有偏離我們所設定的政策。

資安政策的管理

有政策(Policy)就必須要進行治理與管理,否則政策就是無用的。在資安治理分為兩個等級:

  1. 行政面: 資安政策的本身需要被稽核,以符合組織所在產業的必要合規要求。
  2. 技術面: 根據資安政策的技術實行,監控是即時的,並確認我們所有的數位資產都是根據資安政策進行追蹤。所以沒有先有資安政策就就不會有技術實行。

行政面通常都是組織內的CISO(如果沒有CISO就是CIO)所負責的,這些C-Suite必需要描述出組織的治安治理/標準/政策是甚麼。

技術面就是資安技術人員的事了,例如資安工程師。他們需要把資安政策或標準變成可以執行的資安技術設置(在Azure Security Center/ AWS security Hub/ GCP SCC)。簡單來說,資安治理是會建立資安政策。而技術面的就是資安管理,怎麼在技術面實行與運作組織的政策。有關於組織的資安治理可參考本部落格"資訊安全治理"文章。

附註:
Azure 的 CIS Benchmark

AWS的CIS baseline

GCP的 CIS Benchmark

--

--

運用"雲端服務"加速企業的數位轉型願景
運用"雲端服務"加速企業的數位轉型願景

Written by 運用"雲端服務"加速企業的數位轉型願景

我們協助您駕馭名為"雲端運算"的怪獸,馴服它為您所用。諮詢請來信jason.kao@suros.com.tw. https://facebook.com/jason.kao.for.cloud

No responses yet