在伺服器無法環境中佈署應用程式時,安全性考量至關重要。除了開發階段的安全性整合,上線前的最終檢查清單更是不可或缺。此清單應包含 S3 儲存桶的公眾存取限制、伺服器端加密設定,以及 SQS 佇列的靜態加密等。此外,API Gateway 的 WAF 設定、TLS 版本控制和日誌記錄也需仔細檢查。Lambda 函式的環境變數安全、程式碼簽章和 DynamoDB 表的備份機制同等重要。依賴項漏洞掃描、預算警示設定、IAM 許可權管理和 Security Hub 報告啟用,都是確保應用程式安全的重要環節。最後,Well-Architected Framework 檢查能協助檢視整體安全架構的健全性。
關於生產環境中的安全性
將安全性融入開發過程是整體安全策略的關鍵。但是,當您的應用程式準備好投入生產環境並執行時會發生什麼?
投入生產環境可能是最令人生畏的時刻,因為您需要問自己:我的應用程式是否安全?為了幫助您順利完成這個過程,我們建立了一個最終的安全檢查清單,以便在發布應用程式給使用者之前進行檢查。這也將幫助您不斷監控應用程式的漏洞。
請記住,安全性是一個過程,需要不斷迭代,就像軟體的其他方面一樣。
關於伺服器無法安全性檢查清單
以下是投入生產環境之前需要檢查的實用清單。它也可以成為安全自動化管道和團隊安全守則的一部分:
- 在應用程式開發的早期階段委託滲透測試和安全稽核。
- 啟用所有 S3 儲存桶的「阻止公眾存取」。
- 啟用所有包含重要資料的 S3 儲存桶的伺服器端加密(SSE)。
- 啟用包含業務關鍵資料的 S3 儲存桶的跨賬戶備份或物件複製。
- 啟用所有 SQS 佇列的靜態加密。
- 啟用 API Gateway REST API 的 WAF,使用基線管理規則。
- 在 API Gateway API 中使用 TLS 1.2 或更高版本。
- 啟用 API Gateway API 的存取和執行日誌。
- 從 Lambda 函式環境變數中移除敏感資料。
- 將機密資料儲存在 AWS Secrets Manager 中。
- 加密 Lambda 函式環境變數。
- 啟用 Lambda 函式程式碼簽名。
- 啟用包含業務關鍵資料的 DynamoDB 表的備份。
- 掃描依賴項以查詢漏洞:解決所有關鍵和高安全警告,並盡量減少中等和低階警告。
- 在 CloudWatch 中設定預算警示,以防止拒絕服務攻擊。
- 刪除不必要的 IAM 使用者。
- 從 IAM 政策中刪除萬用字元,以保留最小許可權。
- 生成 IAM 認證報告,以識別未使用的角色和使用者,可以刪除它們。
- 啟用 Security Hub 報告。
- 建立 CloudTrail 軌跡,以將日誌傳送到 S3。
- 進行 Well-Architected Framework 檢查,關注安全支柱和伺服器無法安全性建議。
關於生產環境中的安全性維護
在企業中,有幾個 AWS 服務可以用來繼續保護應用程式的安全,一旦它投入生產環境。
關於 CloudTrail 安全監控
AWS CloudTrail 記錄帳戶中由玄貓、IAM 角色或 AWS 服務採取的所有操作。CloudTrail 涵蓋 AWS 主控臺、CLI、SDK 和服務 API 的操作。這些事件流可以用來監控伺服器無法應用程式,以防止不尋常或未經授權的存取,並防範 OWASP 前 10 名攻擊中的第 9 項:安全日誌記錄和監控失敗。
CloudTrail 是反制否認攻擊的關鍵工具,如「STRIDE」中所述。
您可以使用 Amazon CloudWatch 來監控 CloudTrail 事件。CloudWatch 日誌計量篩選器可以應用於 CloudTrail 事件,以匹配某些術語,例如主控臺登入事件。這些計量篩選器可以分配給 CloudWatch 計量,可以觸發警示。
CloudTrail 由玄貓啟用。這允許您透過 AWS 主控臺中的事件歷史搜尋 CloudTrail 日誌。但是,要持久儲存日誌超過 90 天並對日誌進行深入分析和稽核,您需要組態一個軌跡。軌跡允許 CloudTrail 將日誌傳遞到 S3 儲存桶。
一旦您的 CloudTrail 日誌在 S3 中,您就可以使用 Amazon Athena 搜尋日誌並進行深入分析和相關分析。如需更多有關 Cloud Trail 最佳實踐的資訊,請參閱 Chloe Goldstein 在 AWS 部落格上的文章。
關於 Security Hub 持續安全檢查
您可以使用 AWS Security Hub 支援團隊的安全實踐,並聚合其他服務(如 Macie)的安全發現結果。
Security Hub 尤其適合識別潛在的誤組態,例如公眾 S3 儲存桶或缺少 SQS 佇列上的靜態加密,這些可能很難跟蹤。Security Hub 報告將根據玄貓對發現結果進行排名,提供每個發現結果的完整描述,以及可用的補救資訊連結和整體安全評分。
關於 Amazon Inspector 漏洞掃描
Amazon Inspector 可以用來連續掃描 Lambda 函式以查詢已知漏洞,並根據玄貓對發現結果進行排名。發現結果也可以在 Security Hub 中檢視,以提供集中安全姿勢儀錶板。
Amazon Inspector 的安全優勢伴隨著成本。你應該在啟用 Inspector 之前瞭解定價模型。
Inspector 可以與您可能在開發過程早期執行的自動漏洞掃描工具一起使用,例如程式碼倉函式庫本身。
關於偵測敏感資料洩露
正如您在前一節中所看到的,保護生產資料至關重要。特別是,必須以最高階別的安全性處理被歸類別為敏感的資料。
您的應用程式接收、處理和儲存敏感資料(如姓名、地址、密碼和信用卡號碼)的程度將取決於應用程式的目的。但是,除了最簡單的應用程式外,大多數應用程式都會處理某種形式的敏感資料。
管理敏感資料有四個步驟:
- 瞭解與資料管理相關的協定、和法律:這些可能是組織內部的資料隱私或資料保護法規,如《健康保險可攜帶性和責任法案》(HIPAA)、《通用資料保護法規》(GDPR)、《支付卡產業資料安全標準》(PCI-DSS)和《聯邦風險和授權管理計劃》(FedRAMP)。
- 識別和分類別系統中的敏感資料:這可能是透過 API 請求主體接收的資料、由玄貓生成的資料、在事件流中處理的資料、儲存在資料函式庫中的資料或傳送給第三方的資料。
- 實施措施以減輕敏感資料不當處理和儲存:通常有法規禁止儲存超過一定時間的資料、記錄敏感資料或在地理區域之間行動資料。
- 實施一個系統以偵測和補救敏感資料不當儲存:
減輕敏感資料洩露
可以採取措施限制敏感資料被儲存在資料函式庫、物件儲存或日誌中的可能性,例如顯式日誌和日誌刪除。但是,設計系統以容忍敏感資料被意外儲存,並在發生此類別事件時盡快做出反應和補救至關重要。
任何處理此類別資料的系統都存在誤處理敏感資料的可能性。
建議您只儲存對應用程式運作絕對必要的資料,並且只儲存所需時間的資料。可以在各種 AWS 資料儲存中自動刪除超過一定時間的資料。例如,CloudWatch 日誌群組應組態最短保留期,DynamoDB 記錄可以分配 TTL 值,S3 物件生命週期可以使用過期策略進行控制。
以下幾節將介紹一些技術,用於偵測應用程式日誌和物件儲存中的敏感資料洩露。
管理敏感資料偵測
一些 AWS 服務已經提供了管理敏感資料偵測,而其他服務可能會在未來跟進。Amazon SNS 提供了對透過 SNS 主題傳送的訊息的原生資料保護。Amazon CloudWatch 提供了對來自 Lambda 函式等應用程式日誌中的敏感資料進行內建偵測。
以下內容將更深入地探討這些服務以及它們如何幫助您保護敏感資料。
什麼是Amazon Macie?
Amazon Macie是一種完全受管理的資料安全服務,利用機器學習技術來發現AWS工作負載中的敏感資料。Macie可以從S3儲存桶中提取和分析資料,以偵測各種型別的敏感資料,例如AWS憑證、個人識別資訊(PII)、信用卡號碼等。
資料路由和監控
資料可以從應用程式的各個元件路由到S3,並由玄貓持續監控敏感屬性。這包括傳送到EventBridge的事件、由玄貓生成的API回應,以及傳送到SQS佇列的訊息。Macie發現事件會傳送到EventBridge,可以從那裡路由到警示系統,以通知您玄貓儲存或傳輸的敏感資料。
安全性悖論
安全性悖論指出,軟體安全性對於企業應該是首要考量,但往往不是工程團隊的主要關注點。這種斷裂通常是由於玄貓所致。安全性必須是伺服器無法軟體交付生命週期的不可分割的一部分。您可以透過玄貓、最小許可權原則和威脅建模等方式實作這一點,並遵循業界標準進行資料加密、API保護和供應鏈安全,並利用玄貓提供的安全工具,如IAM和Security Hub。
對話與專家見解
Nicole Yip是一位具有豐富AWS經驗的首席工程師,她分享了自己對於安全性和伺服器無法架構的見解。她強調,安全性不應該只留給網路安全專家,每個人都應該對安全性有所瞭解和參與。軟體工程師在設計和實施過程中應該考慮安全性,並且伺服器無法架構可以使安全性更容易,因為環境是沙盒化的,減少了持續入侵點的能力。
隨著雲端原生應用程式日益普及,生產環境的安全性已成為不可迴避的挑戰。本文深入探討了從伺服器組態到資料洩露偵測的全面安全策略,涵蓋了事前預防、事中監控和事後補救的多個層面。分析顯示,僅僅關注開發階段的安全性遠遠不夠,構建持續性的安全機制才是確保生產環境穩定的關鍵。技術限制深析表明,安全性和便利性之間始終存在權衡,如何在最小許可權原則和開發效率之間取得平衡是技術團隊需要持續探索的課題。此外,整合價值分析指出,善用雲端供應商提供的安全服務,例如 CloudTrail、Security Hub、Macie 和 Inspector,能有效提升安全防護的效率,並降低管理成本。展望未來,自動化的安全工具和流程將扮演更重要的角色,AI 驅動的威脅偵測和回應系統也將逐步成熟。玄貓認為,將安全性融入DevOps流程,並建立安全文化,才是應對日益複雜的網路安全威脅的長久之計。對於重視長期穩定性的企業,建立完善的安全事件回應機制和持續的安全培訓體系將帶來最佳平衡。