Skip to main content
雲端安全

什麼是基礎架構即程式碼(IaC)掃描?

為安全而寫程式碼,而不只是為了合規。運用 IaC 掃描解決方案,自動偵測您基礎架構即程式碼中的弱點與錯誤設定。從一開始就確保雲端部署安全且合規。

作者 SentinelOne
什麼是基礎架構即程式碼(IaC)掃描?

軟體開發流程的基本原則之一是基礎架構,而這會直接影響軟體程式的可靠效能。伺服器、負載平衡器、防火牆、資料庫,甚至複雜的容器叢集,都可能包含在此基礎架構中。

基礎架構因素適用於整個開發流程,而不僅限於正式環境。它們涵蓋許多平台與技術,例如測試工具、CI/CD 平台,以及預備環境。隨著這些基礎架構考量增加,軟體產品的複雜性也會隨之提升。

在本文中,我們將介紹您需要了解的所有內容,關於 IaC 掃描、其運作方式、用途,以及您為何需要它。

什麼是 IaC 掃描?

IaC 掃描會分析並識別 IaC 範本與基礎架構組態中的安全缺陷,以保護雲端、基礎架構與應用程式部署。

IaC 掃描工具會自動評估各種網路、基礎架構或應用程式程式碼庫元件中的弱點或錯誤設定,藉此提供 IaC 安全性。這可防止即時環境中的資料遺失、網路攻擊、停機與部署錯誤。IaC 工具採用一套既定的安全政策與最佳實務,以協助識別系統中任何惡意或潛在的安全風險。

The 最小權限原則、網路分段、資料加密與資源授權政策,都是可用來建立此規則集的一些安全最佳實務。預備環境中的 IaC 掃描會在軟體開發早期階段使用這套一致的安全規則集與掃描器指令碼,以實現 IaC 安全性。

IaC 掃描如何運作?

長期以來,組織一直使用軟體組成分析(SCA)與靜態應用程式安全測試(SAST)技術來掃描程式碼庫中的錯誤與弱點。大多數 SCA 與 SAST 工具的問題在於,它們不會優先處理 IaC 指令碼,因為這些工具原本是為掃描功能程式碼庫而設計。

因此,需要針對 IaC 範本與程式碼庫的專用 IaC 掃描工具。無論您使用哪一種 IaC 掃描器,流程本質上都相同。

IaC 掃描會先在建置步驟之前整合至開發工作流程中。接著,IaC 會對 IaC 範本執行安全掃描,以檢查其中的組態錯誤與安全缺陷。這需要檢查新的提交內容中,與原始範本不同的基礎架構變更。

作為 IaC 掃描的一部分,範本、模組、檔案等 IaC 元件會與預先定義的安全政策與最佳實務清單進行比對。之後,IaC 掃描工具會尋找以錯誤組態形式出現的遺漏變數,以及不符合法規要求的設定。 DevSecOPs 團隊可迅速獲知任何必須在完成 IaC 部署之前解決的問題。

為什麼您需要 IaC 安全掃描?

在深入探討 IaC 掃描的優點之前,先來談談與基礎架構即程式碼(IaC)整體相關的一些安全風險。

  1. 複雜環境: 現代企業網路通常包含內部部署資料中心、混合雲環境與多雲環境。這形成了複雜的基礎架構,使得開發高效率、安全且可管理的 IaC 程式碼庫變得困難。
  2. 合規違規: 現代開發要求組織遵循各種法規標準與安全控制,包括 HIPAA、PCI DSS、GDPR 等等。當這些控制未在 IaC 流程中落實時,就會發生合規違規。
  3. 不斷演變的網路威脅: 由於現代 IT 基礎架構的進步以及網路安全版圖的擴大,網路威脅也在持續演變。IaC 工程師面臨的挑戰,是確保其基礎架構能防禦最新的網路威脅。
  4. 廣泛的攻擊面、潛在的資料暴露: IaC 範本可能包含弱點與錯誤部署,進而擴大攻擊面並可能導致資料暴露。例如,由於 IaC 程式碼庫中隱藏的機密資訊,重要資產可能會從原始碼控制暴露到網際網路。

那麼,IaC 掃描如何提供協助?

雲端安全 在開發完成後不再只是事後補救。現代軟體開發方法中的 DevOps 團隊已將安全典範左移,形成 DevSecOps。

DevSecOps 將安全性整合至整個軟體開發生命週期。這讓您能夠非常早期就將安全性納入基礎架構即程式碼範本與容器映像檔中。

IaC 掃描發生於軟體的正式上線前階段,可降低因錯誤設定導致安全事件的潛在成本與影響。因此,IaC 掃描透過將組織的安全典範從偵測轉向預防,促進左移式雲端安全策略。使用 IaC 掃描的開發人員可從多個方面受益,包括:

  • IaC 掃描可協助開發人員識別與偵測組態錯誤、不安全的部署,以及可能使基礎架構暴露於攻擊風險的安全漏洞。
  • IaC 掃描可讓開發人員根據預先定義的一組安全規則與公認的法規基準來驗證其系統。
  • 整體而言,組織可使用 IaC 掃描建立安全左移典範,以預防潛在的網路攻擊。
  • 當 IaC 掃描工具偵測到基礎架構弱點或錯誤設定時,會通知開發人員並引導其完成修復流程,從而實現更安全的部署。
  • IaC 掃描會透過實作防護機制整合至 CI/CD 管線中,拒絕任何可疑的提取請求與建置,防止任何錯誤設定被釋出到正式環境。

為什麼使用 SentinelOne 進行 IaC 掃描?

雲端運算推動創新與業務轉型。然而,隨著威脅版圖持續演變,它也充滿了安全挑戰。攻擊面的擴張與日益增加的安全疑慮,正使組織擔心該如何為不可預期的情況做好準備。

由於如今 IaC 的廣泛使用,基礎架構即程式碼(IaC)掃描已成為企業現代安全策略中的關鍵組成部分。掃描 IaC 範本可透過識別已知會導致資料外洩的疏漏與錯誤設定,協助降低與 IaC 相關的安全風險。

然而,僅靠 IaC 並不足以改善整體雲端安全態勢。這正是 SentinelOne 的統一雲端原生應用程式保護平台(CNAPP)提供完整雲端防護之處。

其尖端 Offensive Security Engine 可識別零時差漏洞利用,並從攻擊者的角度分析威脅。SentinelOne 的 CNAPP 包含基礎架構即程式碼掃描、合規監控、弱點管理、Docker 映像與機密掃描、無伺服器安全性、容器安全性,以及雲端錯誤設定修復。SentinelOne 的 CNAPP 更進一步,透過強制執行左移安全,並套用事件後回應規劃與分析。它可確保零誤判、提供以證據為基礎的報告、阻擋 AI 型攻擊,並提升基礎架構可視性。

Callout Background Image Gradient

See SentinelOne in Action

Discover how AI-powered cloud security can protect your organization in a one-on-one demo with a SentinelOne product expert.

IaC 掃描常見問題

IaC 掃描會在部署前檢查您的基礎架構程式碼(例如 Terraform、CloudFormation 或 ARM 範本)中是否存在安全性或設定錯誤。它會剖析程式碼,將模式與規則或政策進行比對,並標示出高風險設定,例如開放的網路連接埠或硬式編碼的認證資訊。您可以在本機、CI 管線中,或作為提取請求審查的一部分執行掃描,讓問題及早被發現,而不是等到雲端資源上線後才發現。

IaC 掃描可確保您的雲端設定從一開始就遵循安全規則。由於 DevOps 團隊快速推送變更,不良設定(例如公開的 S3 bucket)可能會悄悄混入。掃描可自動化檢查,因此您不必完全依賴人工審查。

它可找出錯誤設定、強制執行政策,並降低錯誤造成的影響範圍。如此一來,即使您以 DevOps 的速度推進,服務仍能維持嚴密防護。

當您執行掃描時,工具會讀取您的 IaC 檔案,並建立您打算建立之資源的模型。接著,它會將一組規則(無論是內建或自訂)套用到每個資源。如果它發現規則違反情況,例如不安全的 SSH 存取或缺少加密,它會記錄包含檔案名稱與行號的警示。您接著檢閱這些警示、修正程式碼,並再次掃描,直到全部通過為止。

IaC 掃描器可偵測從權限過於寬鬆的 IAM 角色到未加密的儲存磁碟區等各種問題。它們會標示開放的安全性群組、未強制執行 SSL/TLS、弱密碼政策,以及硬式編碼的機密。有些工具也會驗證最佳實務,例如為資源加上標籤或對 bucket 強制執行版本控制。實際涵蓋範圍取決於您選擇的工具與規則集。

將掃描整合到您的 CI/CD 流程中,讓每個提取請求都會受到檢查。先從供應商的預設規則開始,再將其自訂為符合您的政策。依嚴重性分類處理警示,優先修正阻斷性問題,並追蹤重複發生的問題。讓您的規則集保持最新,並與程式碼一同進行版本控制。最後,針對常見發現訓練您的團隊,讓他們從第一天起就能撰寫更安全的範本。

當掃描標示出某項實際上合理且您的政策允許的內容時(例如供 jump host 使用的開放連接埠),您可以將其標記為例外,或加入註解以停用該資源上的特定規則。大多數掃描器都支援內嵌抑制或集中式允許清單。請記錄您抑制它的原因,持續檢視這些例外,並在情境變更時將其移除,以避免未受控的偏移。

您應該在開始撰寫基礎架構程式碼時就啟用 IaC 掃描。將它加入您的本機開發環境,讓問題在提交之前就能浮現。接著,將它納入您的 CI/CD 管線與合併檢查中。如果您已經有既有堆疊,請針對目前的範本執行掃描,以找出隱藏風險,並逐步將所有內容納入防護。

深入了解 雲端安全

Decorative background gradient

您的雲端安全——30 分鐘內完成全面評估。

與 SentinelOne 專家會面,評估您在多雲環境中的雲端安全態勢,找出雲端資產、錯誤設定、秘密掃描,並透過 Verified Exploit Paths™ 排定風險優先順序。
Dark dashboard UI with purple-highlighted nav, summary cards showing 149, 7, 78, 56, 1.2 h, and a status table with linked purple text