無服務(wù)器開源安全工具TOP5
如今,無服務(wù)器架構(gòu)在企業(yè)中越來越流行,因為該架構(gòu)可以幫企業(yè)節(jié)省大量基礎(chǔ)架構(gòu)維護時間,把更多時間和精力放在軟件開發(fā)、營銷和部署上。
但是與其他企業(yè)基礎(chǔ)設(shè)施一樣,無服務(wù)器架構(gòu)同樣面臨嚴(yán)峻的安全問題。從DDoS攻擊、數(shù)據(jù)注入到業(yè)務(wù)邏輯操作,威脅無處不在,只需瞟一眼OWASP十大威脅列表,您就會知道需要解決的麻煩有多多,這些還只是已知威脅。
這也是為什么企業(yè)對市場上眾多安全工具和資源(尤其是開源工具)如饑似渴的原因,這些工具可以節(jié)省大量的系統(tǒng)手動維護時間,減輕安全人才匱乏的壓力,增強企業(yè)基礎(chǔ)設(shè)施的安全性。
好的安全工具可以幫助我們在生產(chǎn)階段的早期發(fā)現(xiàn)威脅,防止將來造成更大的商業(yè)損失或復(fù)雜局面。而且安全工具有助于提高安全自動化水平,幫助企業(yè)安全團隊在敏捷的環(huán)境中進一步加快無服務(wù)器的安全防護和維護速度??傊?,安全工具可以幫助企業(yè)安全團隊跟上敏捷開發(fā)或者業(yè)務(wù)的腳步,幫助企業(yè)在更短的期限內(nèi)部署和升級應(yīng)用程序,提高數(shù)字化轉(zhuǎn)型效率和競爭力。
最好的無服務(wù)器開源安全工具
近年來,市場上涌現(xiàn)了很多無服務(wù)器安全工具,包括開源和商業(yè)工具。以下我們推薦五個最好的、最具代表性的產(chǎn)品:
1. Snyk
Snyk是一款出色的開源工具,可維護無服務(wù)器項目的安全性。您可以通過Snyk自動化整個安全和維護過程,將其直接集成到CI/CD系統(tǒng)中。你只需要在CI/CD系統(tǒng)中設(shè)置“Snyk test”。
Snyk最擅長的是檢測依賴項中的漏洞,幫助團隊盡快檢測并處理這些漏洞,避免將來應(yīng)用程序出現(xiàn)問題。Snyk會持續(xù)監(jiān)控你的應(yīng)用程序,并通過定期的PR檢查披露安全威脅。Snyk還支持用戶自定義應(yīng)用程序的測試頻率。Snyk最方便的功能之一就是能夠通過電子郵件或Slack配置通知,用戶不需要一次又一次地手動檢查工具是否存在風(fēng)險。
Snyk與多個第三方云服務(wù)兼容。該公司最近還宣布與AWS和Azure集成。
2. Docker-Lambda
Docker-Lambda是另一個有效的開源無服務(wù)器工具。對于迭代而言,效率和快速性等因素在很大程度上取決于本地框架的全面性和健壯性。Docker-Lambda有助于實現(xiàn)快速迭代,這要歸功于Docker容器,它們無縫地模擬了生產(chǎn)環(huán)境的Amazon Web Services Lambda函數(shù)功能。
該工具沙盒化的本地執(zhí)行生態(tài)系統(tǒng)復(fù)制了Lambda函數(shù)的配置和功能,包括:
- API和庫;
- 權(quán)限和用戶名;
- Lambda函數(shù)的調(diào)用上下文。
Docker-Lambda的容器提供了在發(fā)布之前了解代碼行為所需的環(huán)境。反過來,這也反映了無服務(wù)器應(yīng)用程序的可維護性和可靠性。
Docker-Lambda是在以下場景的理想選擇:
- 當(dāng)您需要快速的本地重現(xiàn)時;
- 當(dāng)您不打算為了測試一下Lambda軟件包就觸發(fā)實時Lambda時;
- 無需啟動Amazon Linux EC2實例時。
3. Protego
Protego是基于Web的應(yīng)用程序,可在應(yīng)用程序的整個生命周期(從開發(fā)、部署到運行時)中增加安全性。
Protego支持AWS、Google Cloud Platform和Azure。它還支持使用通用編程語言和框架(包括Node.js、Python和Java)開發(fā)的功能。Protego還提供了僅對應(yīng)用程序的相關(guān)功能提供最小必要權(quán)限的“最小化權(quán)限”模型。它還允許您設(shè)置自定義安全策略,可以根據(jù)這些策略測試應(yīng)用程序。
Protego最招人喜歡的功能是能夠監(jiān)視應(yīng)用程序的各個方面并生成在系統(tǒng)訪問、觸發(fā)器、外部通信等方面的“良好行為”白名單。您可以預(yù)測部署前的威脅和故障并迅速修復(fù)。Protego聲稱會根據(jù)更新的CVE資源和算法不斷更新其“漏洞列表”。
Protego還支持與其他報告工具的本機集成,從而使其更加便捷。
4. Lumigo CLI
如果您正在開發(fā)基于事件的分布式應(yīng)用程序,那么建議考慮使用Lumigo CLI,因為它有一套全面的工具,能夠簡化分布式應(yīng)用程序的開發(fā)和管理過程。
Lumigo CLI建立在AWS SAM和無服務(wù)器框架中提供的一些工具之上,能提供與部署過程集成的擴展服務(wù)。Lumigo CLI的兩個主要優(yōu)點是:可以將其無縫集成到開發(fā)管道中,可以幫助用戶定義和維護無服務(wù)器架構(gòu)。
Lumigo CLI的其他一些優(yōu)點包括:
其他優(yōu)點:
- 以控制臺為中心的UI,允許您列出lambda函數(shù)。
- 支持檢索SNS主題,可簡化故障排除。
- 簡化了DynamoDB或Kinesis流中事件的跟蹤方式。
5. AWS無服務(wù)器開發(fā)人員工具(AWS Serverless Developer Tools)
盡管不是專門的無服務(wù)器安全工具,但AWS Serverless Developer Tools是AWS聚合的,有關(guān)無服務(wù)器開發(fā)的一些最有用資源的匯編。通過該工具,你幾乎可以找到與無服務(wù)器應(yīng)用程序開發(fā)和部署有關(guān)的任何內(nèi)容。
其中的一些功能包括對無服務(wù)器應(yīng)用程序開發(fā)框架的全面編譯;持續(xù)部署/集成工具(例如AWS Codestar和AWS CodePipeline);用于記錄,監(jiān)視和調(diào)試目的的工具,例如AWS X-Ray和Amazon CloudWatch;以及諸如AWS Sam Local和AWS Cloud9之類的創(chuàng)作和開發(fā)工具。
結(jié)論
市場上有許多無服務(wù)器安全工具,能夠幫助你有效地緩解已知和隱藏的安全威脅。轉(zhuǎn)型無服務(wù)器架構(gòu)的用戶可以根據(jù)自身的應(yīng)用場景和安全需求,從以上的推薦中選擇一款“趁手”的工具,提升整個軟件開發(fā)生命周期的安全性。
【本文是51CTO專欄作者“安全牛”的原創(chuàng)文章,轉(zhuǎn)載請通過安全牛(微信公眾號id:gooann-sectv)獲取授權(quán)】