日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
秘密蔓延:一文了解如何保護(hù)您的秘密

您的開發(fā)團隊多久以明文形式向同事發(fā)送 API 密鑰或其他敏感數(shù)據(jù)?雖然這是共享數(shù)據(jù)最快的方式,但它絕對不是最安全的。

創(chuàng)新互聯(lián)專注于都江堰網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供都江堰營銷型網(wǎng)站建設(shè),都江堰網(wǎng)站制作、都江堰網(wǎng)頁設(shè)計、都江堰網(wǎng)站官網(wǎng)定制、微信平臺小程序開發(fā)服務(wù),打造都江堰網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供都江堰網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

當(dāng)敏感數(shù)據(jù)最終出現(xiàn)在配置文件、源代碼或明文中時,就會發(fā)生大量泄露。這個問題被稱為秘密蔓延,它會給企業(yè)帶來不利的后果。

秘密蔓延導(dǎo)致的數(shù)據(jù)泄露會給公司帶來財務(wù)損失、聲譽損害和法律問題。您可以通過使用可靠的機密管理工具來降低這些風(fēng)險,該工具允許您安全地共享、存儲和管理您的機密。

本文對于想要保護(hù)公司免受與秘密蔓延相關(guān)的漏洞的開發(fā)人員、安全專業(yè)人員和產(chǎn)品經(jīng)理來說非常有用。

什么是秘密蔓延,為什么要關(guān)心?

在軟件開發(fā)中,秘密是用于用戶授權(quán)和身份驗證并提供對系統(tǒng)或數(shù)據(jù)的訪問的任何信息。此類信息包括:

  • API 密鑰
  • 密碼
  • 加密密鑰
  • 數(shù)據(jù)庫憑證
  • 訪問令牌

秘密蔓延,也稱為秘密泄露或管理不善,是指對公司軟件和基礎(chǔ)設(shè)施內(nèi)的秘密處理不當(dāng)。管理不善的秘密對于黑客來說是有利可圖且容易攻擊的目標(biāo),他們可以利用這些秘密進(jìn)行未經(jīng)授權(quán)的訪問。

根據(jù)GitGuardian 的2023 年秘密蔓延狀況報告,2022 年,在公共 GitHub 提交中檢測到了 1000 萬個新秘密,比 2021 年增加了 67%。GitGuardian 指出,更多的秘密在私人存儲庫或企業(yè) IT 資產(chǎn)等封閉空間中積累,這意味著 GitHub 上蔓延的秘密僅占全球公開秘密的一小部分。

為了有效降低秘密蔓延的風(fēng)險,您需要知道去哪里尋找。這些是秘密蔓延最常見的地方:

秘密蔓延:一文了解如何保護(hù)您的秘密(上)

泄密對企業(yè)到底有哪些危害?以下是組織因秘密蔓延而面臨的六種最常見后果:

秘密蔓延:一文了解如何保護(hù)您的秘密(上)

讓我們詳細(xì)討論每個后果。

1. 數(shù)據(jù)泄露

當(dāng)然,秘密蔓延最明顯的后果是數(shù)據(jù)泄露。通過暴露 API 密鑰或密碼,您的公司可能面臨讓攻擊者訪問其系統(tǒng)、數(shù)據(jù)庫和敏感數(shù)據(jù)的風(fēng)險。這會導(dǎo)致數(shù)據(jù)泄露,并可能導(dǎo)致有價值的信息被盜,包括知識產(chǎn)權(quán)、財務(wù)記錄,甚至用戶數(shù)據(jù)。

2、財務(wù)損失

由于秘密蔓延,企業(yè)可能會通過多種方式遭受損失。黑客可以圍繞金融交易進(jìn)行欺詐活動,甚至實施盜竊。他們還可以破解和配置系統(tǒng),以獲得數(shù)據(jù)訪問的贖金。您可能面臨的另一類與數(shù)據(jù)泄露相關(guān)的財務(wù)損失是法律費用、監(jiān)管罰款以及對受影響方的賠償。

根據(jù)IBM 的《2022 年數(shù)據(jù)泄露成本報告》,因憑證被盜或泄露而導(dǎo)致的數(shù)據(jù)泄露造成的全球平均成本為 450 萬美元。在美國,這一成本甚至更高,每次泄露達(dá)到 977 萬美元。

3. 名譽損害

數(shù)據(jù)泄露和秘密蔓延事件可能會嚴(yán)重?fù)p害您公司的聲譽。數(shù)據(jù)泄露案件會引起負(fù)面宣傳、媒體關(guān)注和客戶強烈反對。所有這一切之后往往會失去客戶、業(yè)務(wù)合作伙伴和投資者。

聲譽受損可能會阻止客戶、合作伙伴和投資者離開您的公司,并激勵他們與您的競爭對手合作。這將為競爭對手創(chuàng)造額外的商機,讓他們獲得更大的市場份額。

4. 合規(guī)和法律問題

客戶數(shù)據(jù)處理不當(dāng)可能會導(dǎo)致不遵守各種數(shù)據(jù)保護(hù)和隱私法律法規(guī),包括HIPAA、GDPR和 CCPA。因此,您可能會面臨罰款、處罰和訴訟,從而導(dǎo)致進(jìn)一步的聲譽和財務(wù)損失。更不用說您的公司需要經(jīng)歷與重新認(rèn)證和重新審核相關(guān)的額外壓力才能繼續(xù)其工作。

5. 運營中斷

您的業(yè)務(wù)運營也可能會受到秘密蔓延的影響,因為您需要分配資源用于調(diào)查、事件響應(yīng)和補救活動。您可能需要關(guān)閉系統(tǒng)和服務(wù),直到它們得到保護(hù),而這種停機的每一秒都可能造成數(shù)千美元的損失。

盡管存在這些后果,秘密蔓延事件的數(shù)量仍在逐年增加,損害了各種規(guī)模的企業(yè)。根據(jù)GitGuardian 的2023 年秘密蔓延狀況報告,僅在 2022 年,許多世界知名公司就因秘密蔓延而受到數(shù)據(jù)泄露和泄露的影響:

秘密蔓延:一文了解如何保護(hù)您的秘密(上)

企業(yè)應(yīng)該怎樣做才能降低泄露秘密的風(fēng)險?讓我們看一下保護(hù)敏感數(shù)據(jù)的最佳實踐。

最大限度降低秘密蔓延風(fēng)險的最佳實踐

為了防止秘密蔓延,我們 Apriorit 建議在您的開發(fā)過程中采用以下最佳安全實踐:

秘密蔓延:一文了解如何保護(hù)您的秘密(上)

1. 加密和訪問控制

您的秘密應(yīng)在靜態(tài)和傳輸過程中進(jìn)行加密,以便即使信息泄露,黑客也無法訪問信息。此外,檢查誰有權(quán)訪問某些數(shù)據(jù):根據(jù)職位和工作要求,僅向有限數(shù)量的員工授予系統(tǒng)訪問權(quán)限。

2. 安全開發(fā)實踐

實施安全編碼實踐,例如避免在源代碼中硬編碼機密以及利用環(huán)境變量或配置文件來引用機密。

3. 定期審核和審查

確保定期檢查您的系統(tǒng):

  • 滲透測試
  • 靜態(tài)應(yīng)用安全測試
  • 動態(tài)應(yīng)用安全測試
  • 安全代碼審查
  • 秘密掃描工具
  • 安全審計和合規(guī)性評估

4. 保密管理制度

使用秘密管理系統(tǒng)可以幫助您安全地存儲和控制對秘密數(shù)據(jù)的訪問。最流行的系統(tǒng)是 HashiCorp Vault 和 AWS Secrets Manager。

在許多方面,秘密管理解決方案類似于密碼管理器。大多數(shù)密碼管理器都很簡單,并且不具有每用戶權(quán)限或訪問控制列表 (ACL) 等高級功能。他們可以在需要時存儲和檢索密碼,但除此之外就無能為力了。

秘密管理解決方案預(yù)計具有更復(fù)雜的功能:

  • 創(chuàng)建 ACL
  • 為用戶或用戶組添加權(quán)限
  • 內(nèi)置憑證輪換 
  • 先進(jìn)的訪問控制功能

本文致力于使用秘密管理系統(tǒng)(即 HashiCorp Vault)來保護(hù)您的秘密。讓我們討論如何安裝、初始化和配置 HashiCorp 機密管理工具。

什么是 HashiCorp Vault 以及它如何工作?

HashiCorp Vault是一個基于身份的開源秘密和加密管理系統(tǒng),具有許多用例和功能。例如,Vault 支持零信任安全架構(gòu),可以幫助您保護(hù)云基礎(chǔ)設(shè)施。

HashiCorp 已通過 ISO 認(rèn)證。ISO 認(rèn)證可確保組織實施穩(wěn)健的系統(tǒng)、流程和控制,以維持質(zhì)量、安全性和合規(guī)性。審計報告和合規(guī)函,例如Armanino的SOC 3報告和Leidos的 FIPS合規(guī)函進(jìn)一步證明HashiCorp經(jīng)過了嚴(yán)格的測試和評估。

您可以開始免費使用 Vault 進(jìn)行機密管理,或者如果您需要特定的解決方案,可以從兩個付費計劃中進(jìn)行選擇。您可以在HashiCorp Vault 官方網(wǎng)站上查看定價政策。

Vault 具有復(fù)雜的結(jié)構(gòu),并使用稱為后端的組件來向其委派任務(wù)。Vault 中有四個專用于不同流程的后端:身份驗證、秘密、審計和存儲。所有這些都由 Vault 核心控制——Vault 架構(gòu)的核心組件,它將所有用戶請求路由到特定后端。

秘密蔓延:一文了解如何保護(hù)您的秘密(上)

現(xiàn)在讓我們更詳細(xì)地討論秘密管理庫中的后端,并討論它們的功能和目的。

1. 認(rèn)證后端

身份驗證后端或身份提供商負(fù)責(zé)處理身份驗證過程,并在身份驗證成功后返回用戶身份(通常作為令牌或用戶信息,如電子郵件、ID、角色等)。

令牌身份驗證是一種中心身份驗證方法,因為所有其他方法都依賴于它。它到底是如何運作的?

當(dāng)用戶成功進(jìn)行身份驗證時,身份提供者會返回有關(guān)用戶的信息,例如用戶名或唯一標(biāo)識符。然后,Vault 獲取此身份信息并創(chuàng)建與該身份關(guān)聯(lián)的訪問令牌。此訪問令牌允許用戶根據(jù)配置的訪問策略和權(quán)限訪問所需的資源或在 Vault 內(nèi)執(zhí)行特定操作。

秘密蔓延:一文了解如何保護(hù)您的秘密(上)

當(dāng)然,令牌認(rèn)證可以單獨使用。無需使用任何其他身份提供商即可創(chuàng)建、撤銷和更新這些令牌。但這并不總是處理身份驗證的最佳方式。

令牌在訪問控制中也發(fā)揮著至關(guān)重要的作用,因為當(dāng)創(chuàng)建令牌時,允許或禁止訪問資源的特定于用戶的策略會被編碼到令牌上。

與 Vault 集成的身份驗證后端的一些示例包括輕量級目錄訪問協(xié)議 (LDAP)、GitHub 和 Azure Active Directory。您還可以使用其他受支持的身份驗證方法,例如 JSON Web 令牌、Kerberos,甚至標(biāo)準(zhǔn)用戶名和密碼。

2. 存儲后端

存儲后端負(fù)責(zé)存儲所有信息。普遍接受的做法是將存儲后端視為不可信實體。與許多其他機密管理解決方案一樣,Vault 僅將加密數(shù)據(jù)存儲在存儲后端,因此如果存儲遭到破壞,在不知道加密密鑰的情況下就不可能檢索機密。?

Vault 支持許多存儲驅(qū)動程序,包括文件系統(tǒng)、內(nèi)存存儲、關(guān)系數(shù)據(jù)庫和 Amazon S3。每種方法都有其優(yōu)點和缺點,因此哪種方法最好取決于您的特定需求和存儲驅(qū)動程序的功能。

此外,Vault還有自己的嵌入式數(shù)據(jù)存儲,稱為集成存儲。使用此集成存儲可以消除系統(tǒng)中的另一個依賴項,并使監(jiān)控和故障排除變得更加容易,因為您只需監(jiān)控 Vault。

使用 Vault 的本機存儲驅(qū)動程序不需要安裝任何其他軟件,并且是開箱即用的解決方案。

3. 秘密后端

秘密后端,或秘密管理 HashiCorp 工具中的秘密引擎,負(fù)責(zé)各種存儲秘密的方式。一些秘密引擎只能存儲和讀取數(shù)據(jù),而另一些則具有更復(fù)雜的功能,例如動態(tài)秘密生成。

支持的引擎有很多,包括鍵值存儲、輕量級目錄訪問協(xié)議 (LDAP)、數(shù)據(jù)庫(用于動態(tài)數(shù)據(jù)庫憑證生成)、用于生成基于時間的憑證的基于時間的一次性密碼 (TOTP) 工具,以及來自 AWS、GCP 和 Azure 的引擎。我們還可以添加自定義秘密引擎。

這些引擎的行為類似于虛擬文件系統(tǒng),并安裝在 Vault 中的指定路徑上。我們可以讓多個引擎同時運行,并且它們都有不同的路徑。由于每個引擎都有自己的路徑,因此我們發(fā)送到 Vault 的請求會自動轉(zhuǎn)發(fā)到所需的引擎。

例如,我們可以啟用一個鍵值秘密引擎來存儲我們的密碼和 API 密鑰,同時擁有一個 AWS 秘密引擎來動態(tài)生成 AWS 訪問憑證。

4. 審計后端

審核后端負(fù)責(zé)記錄 Vault 處理的所有請求和響應(yīng)。記錄機密管理器的活動可能看起來不安全,因為我們很可能將機密保存在日志中。

但是,Vault 通過對請求和響應(yīng)包含的大部分字符串進(jìn)行哈希處理來處理此問題,以避免泄露敏感信息。散列還允許我們通過自己生成這些散列來快速將秘密值與日志中的值進(jìn)行比較。

您可以從多種審核機制中進(jìn)行選擇,包括系統(tǒng)日志記錄協(xié)議 (Syslog)、文件或套接字。Socket 允許您將日志流式傳輸?shù)?TCP、UDP 或 UNIX 套接字,從而允許您使用任何日志管理平臺。

現(xiàn)在我們了解了 Vault 的工作原理及其提供的功能,讓我們使用 Hashicorp Vault 安全最佳實踐在現(xiàn)實示例中進(jìn)行演示。

安裝、配置和初始化 Vault 

讓我們開始根據(jù)我們的需要安裝、配置和運行 Vault。

安裝 

在本文中,我們將使用Docker Hub中的官方 Docker 映像。Docker允許應(yīng)用程序容器化,方便我們在隔離的環(huán)境中運行Vault。這是嘗試 Vault 的最簡單方法?,F(xiàn)在讓我們通過在終端或命令提示符中運行以下命令來啟動 Vault:

秘密蔓延:一文了解如何保護(hù)您的秘密(上)

如果本地尚未提供 Vault Docker 映像,這將下載該映像,并啟動一個在其中運行 Vault 的新容器。

保險庫配置 

默認(rèn)情況下,Vault 的服務(wù)器以開發(fā)模式運行:它使用內(nèi)存存儲存儲所有秘密,自動初始化,并以未密封的方式啟動。開發(fā)模式對于嘗試事物很有用,但不應(yīng)該在生產(chǎn)中使用。

在我們的例子中,我們將使用標(biāo)準(zhǔn)模式,這意味著需要手動初始化和啟封 Vault。要在標(biāo)準(zhǔn)模式下運行我們的服務(wù)器,我們應(yīng)該創(chuàng)建一個配置文件。

Vault的配置文件是用HashiCorp配置語言編寫的。它們有許多不同的選項,但我們在整篇文章中只會使用其中的幾個。?

讓我們?yōu)槲覀兊?Vault 創(chuàng)建一個簡單的配置:

秘密蔓延:一文了解如何保護(hù)您的秘密(上)

現(xiàn)在,我們來看看關(guān)鍵設(shè)置。首先,我們禁用了傳輸層安全協(xié)議(TLS)。請注意,您應(yīng)始終在生產(chǎn)中使用 TLS 來提供客戶端和服務(wù)器之間的安全通信。

其次,我們禁用內(nèi)存鎖。盡管啟用內(nèi)存鎖被認(rèn)為是使用 Vault 時最安全的方法,但并非所有平臺都支持它,我們希望我們的示例盡可能簡單,沒有任何意外錯誤。我們還啟用了 Web UI,因為有些人發(fā)現(xiàn)它比命令行界面 (CLI) 更容易、更快。

現(xiàn)在我們可以通過將配置的路徑作為參數(shù)傳遞來使用新配置啟動服務(wù)器:

秘密蔓延:一文了解如何保護(hù)您的秘密(上)

一切都按預(yù)期進(jìn)行,但現(xiàn)在我們必須初始化服務(wù)器本身。

初始化保管庫 

為了初始化我們的服務(wù)器,我們需要另一個安裝了 Vault 的 Docker 容器。為了簡化該過程,我們創(chuàng)建了以下 Dockerfile:

services: 
  vault_server: 
image: vault 
container_name: vault-server 
command: ["server"] 
cap_add: 
  - IPC_LOCK 
ports: 
  - 8200:8200 
environment: 
  VAULT_LOCAL_CONFIG: '{"storage": {"file": {"path": "/vault/file"}}, "listener": [{"tcp": { "address": "0.0.0.0:8200", "tls_disable": true}}], "disable_mlock": true, "ui": true}' 
networks: 
  - vault 
 
  vault_client: 
image: vault 
container_name: vault-client 
command: ["sh"] 
tty: true 
stdin_open: true 
environment: 
  - VAULT_ADDR=http://vault-server:8200 
depends_on: 
  - vault_server 
networks: 
  - vault 
 
networks: 
  vault: 
driver: bridge

請注意,我們將配置從文件移至環(huán)境變量。這是 Vault 官方 Docker 鏡像提供的功能。它允許我們直接在環(huán)境中定義必要的配置參數(shù),而不需要單獨的文件。

我們還將服務(wù)器中的 TCP 端口 8200 映射到 Docker 主機的端口 8200,以便從 Docker 主機訪問 Web UI。

現(xiàn)在我們可以使用Docker Compose來啟動我們的容器。Docker Compose 是一個允許我們定義和管理多容器 Docker 應(yīng)用程序的工具。它使用 YAML 文件(通常名為 docker-compose.yml)來指定組成應(yīng)用程序的容器的配置和依賴項。

這是我們的容器創(chuàng)建的樣子:

$ docker compose up 
[+] Running 2/2 
 ? Container vault-server  Created                                                                                                                                  
 ? Container vault-client  Created                                                                                                                                  
Attaching to vault-client, vault-server 
# Vault server output

此時,我們還將提供 Web UI 的屏幕截圖,以展示如何在不使用命令行界面的情況下執(zhí)行完全相同的操作。您可以通過從您選擇的任何瀏覽器導(dǎo)航到 http:// localhost:8200來訪問 Web UI 。用戶界面如下所示:

屏幕截圖 1.Vault 的 Web UI

最后,我們需要將終端會話從另一個終端附加到我們的Vault-Client容器(如果您使用的是Web UI,則可以完全跳過這些CLI步驟):

秘密蔓延:一文了解如何保護(hù)您的秘密(上)

您可以通過在客戶端內(nèi)執(zhí)行以下命令來驗證一切是否按預(yù)期運行:

秘密蔓延:一文了解如何保護(hù)您的秘密(上)

從輸出中我們可以看到,Vault 是密封的且未初始化。Vault 始終以密封狀態(tài)啟動,因此我們應(yīng)該在每次啟動后將其解封。

為此,我們使用開封密鑰。該密鑰在初始化期間生成一次。Vault 使用Shamir 的秘密共享將密鑰分割成預(yù)定義數(shù)量的部分,然后使用這些部分來重建它。這種方法降低了暴露未密封代幣的風(fēng)險,因為我們只擁有其中的一部分。其他部件可以由您的同事保管或安全地存放在不同的地方。?

要解封 Vault,請在客戶端內(nèi)運行以下命令:

秘密蔓延:一文了解如何保護(hù)您的秘密(上)

指定您需要一份密鑰共享,并且密鑰閾值是一把密鑰?,F(xiàn)在按初始化并保存生成的密鑰。

屏幕截圖 2. 設(shè)置根密鑰

這將使用單個解封密鑰初始化服務(wù)器。將生成的令牌和密鑰保存到環(huán)境變量中。我們稍后會需要它們。從現(xiàn)在開始,我們將初始根令牌稱為ROOT_TOKEN,將 Vault 服務(wù)器初始化期間生成的第一個解封密鑰(密鑰 1)稱為UNSEAL_KEY。

Vault 支持多個解封密鑰,但由于我們只是在學(xué)習(xí)而不是創(chuàng)建可用于生產(chǎn)的解決方案,因此我們將使用一個。

現(xiàn)在您可以使用解封密鑰來解封服務(wù)器:

秘密蔓延:一文了解如何保護(hù)您的秘密(上)

粘貼 UNSEAL_KEY 并按 Unseal。

截圖 3. 解封金庫

現(xiàn)在一切都準(zhǔn)備好了,我們終于可以開始使用 Vault 了。


網(wǎng)站名稱:秘密蔓延:一文了解如何保護(hù)您的秘密
當(dāng)前路徑:http://m.5511xx.com/article/ccciies.html