簡體   English   中英

隔離 AWS lambda function

[英]Isolate AWS lambda function

在一個業余愛好項目中,我正在創建一個在線游戲,用戶可以通過實施策略來玩紙牌游戲。 用戶可以提交他的代碼,它將與其他用戶策略對戰。 用戶提交代碼后,代碼需要在服務器端運行。

我決定將用戶提交代碼的代碼執行隔離到 AWS lambda function 中。 我想防止代碼竊取我的 AWS 憑證、挖掘加密貨幣和進行其他有害活動。

我的計划是執行以下操作:

  • 限制代碼執行時間
  • 阻止與 Internet 和內部服務的任何通信(通過返回值除外)。
  • 制定審查流程,防止在用戶提交的代碼被認為無害之前執行

現在我需要您就如何實現最佳隔離提出建議:

  • 如何配置我的 function,使其無法訪問互聯網?
  • 如何配置我的 function,使其無法訪問我的內部服務?
  • 您是否看到任何其他可能的攻擊媒介?

如何配置我的 function,使其無法訪問互聯網?

將 function 啟動到 VPC 內的隔離私有子網中。

如何配置我的 function,使其無法訪問我的內部服務?

通過在隔離的私有子網中啟動 function,您可以配置它可以訪問的服務,方法是通過安全組以及進一步通過路由表控制這些服務,該子網附加包括 AWS 網絡 ACL。

您是否看到任何其他可能的攻擊媒介? 這里可能有多個攻擊向量:

我會嘗試從 AWS 服務的安全角度來回答。 最重要的是添加AWS Billing Alerts設置,以防萬一出現問題,至少您會收到通知並采取必要的措施,並且我假設您已經為您的登錄設置了 MFA。

  1. 確保您使用最低權限的 IAM 角色配置您的 lambda
  2. 創建一個完全獨立的子網,專門用於啟動 lambda function
  3. 為 lambda 創建安全性並控制此 lambda 對解決方案中其他服務的訪問。
  4. 有一個單獨的子網路由表,您只允許選定的服務或非常具體的相應 IP 地址。
  5. 確保您使用網絡 ACL 通過添加 ACL 來配置來自子網的所有傳出流量以及額外的好處。
  6. 啟用 VPC 流日志並進行必要的Athena查詢和分析,並使用AWS CloudWatch添加警報。

當您想在 AWS 中完全保護此部署時,該列表可能會很長。 我只添加了幾個。

我首先要說這是非常危險的,並且允許人們在您的基礎架構中運行他們自己的代碼可能非常危險。 但是,話雖如此,這里有幾件事:

限制代碼執行時間

這已經內置到 Lambda 中。 函數具有執行時間限制,您可以通過 IaC、AWS 控制台或 CLI 輕松配置該時間限制。

限制互聯網訪問

默認情況下,Lambda 函數可以被認為是存在於 VPC 約束之外的更多應用程序。 因此,他們可以訪問互聯網。 我想您可以將 Lambda function 放在 VPC 的私有子網中,然后將網絡配置為不允許連接到您想要的位置以外的位置。

限制對其他服務的訪問

假設您在這里指的是 AWS 服務,Lamdba 函數受 IAM 角色的約束,與它們可以訪問的其他 AWS 服務相關。 只要您不讓 Lambda function 訪問它的 IAM 角色中的某些內容,它就無法訪問這些服務,除非潛在的惡意用戶通過其他方式提供憑據,例如將它們以純文本形式放入代碼中可以通過 AWS SDK 實現來獲取。

如果您指的是其他內部服務,例如 EC2 實例或 ECS 服務,那么您可以使用正確的網絡配置來限制訪問,並將您的 function 放入 VPC。

您是否看到任何其他可能的攻擊媒介?

很難確定。 我真的會完全不建議這樣做,而無需采取一些專業的(並且可能是有償和有保險的)建議。 每天都有新的攻擊媒介可以打開或被發現,因此如果發現新的漏洞,現在的任何建議明天都可能完全改變。

我認為你最好的選擇是:

  • 將 function 超時限制在物理上盡可能低(允許冷啟動)。
  • 盡可能人為地最小化 function 的 IAM 策略。 記錄日志時要小心,因為我假設您需要一些日志,但不允許有人將 GB 的數據運行到您的 CloudWatch 日志中。
  • 限制使用的語言,以便您使用一種您非常有信心並且可以輕松審核的語言。
  • 在 VPC 的私有子網中運行 lambda。 您可能需要一個單獨的路由表,並且需要仔細審核您的安全組和網絡 ACL。
  • 添加警報和 VPC 日志,這樣您就可以確保 a) 如果確實發生了不應該發生的事情,那么它會被記錄下來並可以追蹤 b) 您能夠自動收到有關問題的警報並盡快糾正它。
  • 考慮誰將審查代碼。 他們是否經驗豐富且受過訓練以發現攻擊媒介?
  • 尋求有償的專業建議,這樣您就不會遇到安全問題或來自 AWS 的巨額賬單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM