0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

通過雙向TLS保護(hù)微服務(wù)

星星科技指導(dǎo)員 ? 來源:synopsys ? 作者:synopsys ? 2023-05-25 15:14 ? 次閱讀

一開始,有單體式網(wǎng)絡(luò)應(yīng)用程序。然后,隨著應(yīng)用程序的增長和擴(kuò)展變得越來越困難,各個(gè)部分開始拆分為單獨(dú)的服務(wù)。微服務(wù)已成為一種越來越流行的架構(gòu)選擇,用于分離關(guān)注點(diǎn),同時(shí)加快開發(fā)和部署。然而,安全性仍然是一個(gè)關(guān)鍵但很少被談?wù)摰牟糠帧N⒎?wù)顯著增加了攻擊面,因?yàn)檫@些服務(wù)通過網(wǎng)絡(luò)來回發(fā)送消息,而不僅僅是在一臺計(jì)算機(jī)上進(jìn)行進(jìn)程。微服務(wù)或任何面向服務(wù)/網(wǎng)絡(luò)的體系結(jié)構(gòu)的安全性包括兩個(gè)組件:傳輸層和應(yīng)用程序?qū)印?/p>

傳輸層

強(qiáng)化傳輸層至關(guān)重要,尤其是在 AWS 或 Rackspace 等共享環(huán)境中,您無法準(zhǔn)確確定網(wǎng)絡(luò)流量的去向或誰可能正在監(jiān)聽。傳輸層安全性 (TLS),有時(shí)仍被錯(cuò)誤地稱為 SSL(TLS 的前身),仍然是加密和驗(yàn)證連接的基石之一。即使您的服務(wù)不與 HTTP(S) 或 RESTful API 通信,您仍然可以使用 TLS 包裝網(wǎng)絡(luò)套接字。

使用TLS保護(hù)所有網(wǎng)絡(luò)流量通常是謹(jǐn)慎的,盡管工程師似乎經(jīng)常對這樣做有疑慮。如果您擔(dān)心 TLS 會降低性能,負(fù)載均衡器可以提供專用硬件來有效地終止客戶端 TLS 連接,同時(shí)保持對后端服務(wù)的持久 TLS 連接處于打開狀態(tài)。這種持久的后端連接減少了與每個(gè)請求握手的新 TLS 連接的開銷。

TLS 的一個(gè)經(jīng)常被忽視的功能是身份驗(yàn)證。雖然 TLS 可以保證在數(shù)據(jù)在網(wǎng)絡(luò)中移動(dòng)時(shí)對其進(jìn)行加密,但它也提供了一種機(jī)制來強(qiáng)制客戶端和服務(wù)器沒有中間人監(jiān)聽。對于面向公眾的服務(wù),您必須始終依賴公共(付費(fèi))證書頒發(fā)機(jī)構(gòu)。如果您有幸同時(shí)控制服務(wù)器和每個(gè)客戶端,則可以滾動(dòng)自己的證書頒發(fā)機(jī)構(gòu)來簽署證書。

在典型的TLS握手期間,客戶端和服務(wù)器交換寒暄,并小心翼翼地開始設(shè)置安全隧道。在此過程中,客戶端應(yīng)檢查服務(wù)器提供的證書是否由受信任的頒發(fā)機(jī)構(gòu)(或頒發(fā)機(jī)構(gòu)鏈)簽名。此外,許多 TLS 庫允許客戶端驗(yàn)證證書的公用名是否與其嘗試連接到的主機(jī)名匹配。這兩種檢查都允許客戶端斷言服務(wù)器實(shí)際上是客戶端認(rèn)為它的身份,并且通信沒有被攔截。

應(yīng)用層

除了傳輸安全之外,服務(wù)還需要驗(yàn)證誰在撥打電話,并確保他們有權(quán)這樣做。方便的是,TLS 也提供了一種機(jī)制來執(zhí)行此操作:客戶端不僅可以驗(yàn)證服務(wù)器的證書在加密上是否有效,服務(wù)器也可以類似地對客戶端進(jìn)行身份驗(yàn)證。在握手期間,服務(wù)器從客戶端請求證書,它可以提供該證書。通過鏡像客戶端,服務(wù)器根據(jù)受信任的證書頒發(fā)機(jī)構(gòu)檢查證書的有效性。但是,服務(wù)器隨后可以從證書中提取客戶端的詳細(xì)信息,例如公用名,而不是檢查主機(jī)名,而是使用應(yīng)用層邏輯來驗(yàn)證客戶端是否經(jīng)過身份驗(yàn)證并被授權(quán)執(zhí)行它們正在嘗試執(zhí)行的操作。這種雙向 TLS 身份驗(yàn)證允許連接的雙方斷言他們正在與期望的另一方連接。

雙向 TLS 不經(jīng)常使用,可能是由于創(chuàng)建和管理許多證書以及關(guān)聯(lián)的吊銷列表的痛點(diǎn)。但是,管理一組允許的證書與管理一組允許的 API 密鑰非常相似。一種方法是管理一組特定的吊銷證書,充當(dāng)排除列表。但是,如果客戶端證書被視為 API 密鑰,則可以通過已知的白名單管理允許的客戶端。您可以獲得加密保證,即您的客戶就是他們所說的人,同時(shí)還確保您的通信是加密的。

結(jié)論

雙向TLS可能并不適合所有情況,但它是一個(gè)有用的工具,可以在一個(gè)人的工具箱中擁有,并且可能有助于利用您已經(jīng)在使用的技術(shù)。Tinfoil的掃描儀通過雙向TLS進(jìn)行身份驗(yàn)證,以及其他網(wǎng)絡(luò)層和應(yīng)用層身份驗(yàn)證方法。正如您不希望應(yīng)用程序出現(xiàn)單點(diǎn)故障一樣,您也不想依賴單一的安全方法。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    8701

    瀏覽量

    84547
  • AWS
    AWS
    +關(guān)注

    關(guān)注

    0

    文章

    418

    瀏覽量

    24182
  • TLS
    TLS
    +關(guān)注

    關(guān)注

    0

    文章

    44

    瀏覽量

    4210
收藏 人收藏

    評論

    相關(guān)推薦

    微服務(wù)架構(gòu)和CQRS架構(gòu)基本概念介紹

    邊界思維,微服務(wù)的目的是為了從業(yè)務(wù)角度拆分(職責(zé)分離)當(dāng)前業(yè)務(wù)領(lǐng)域的不同業(yè)務(wù)模塊到不同的服務(wù),每個(gè)微服務(wù)之間的數(shù)據(jù)完全獨(dú)立,它們之間的交互可以通過SOA RPC調(diào)用(耦合比較高),也可
    發(fā)表于 05-22 09:03

    微服務(wù)網(wǎng)關(guān)gateway的相關(guān)資料推薦

    目錄微服務(wù)網(wǎng)關(guān) gateway 概述[路由器網(wǎng)關(guān) Zuul 概述]嵌入式 Zuul 反向代理微服務(wù)網(wǎng)關(guān) gateway 概述1、想象一下一個(gè)購物應(yīng)用程序的產(chǎn)品詳情頁面展示了指定商品的信息:2、若是
    發(fā)表于 12-23 08:19

    我所理解的SOA和微服務(wù)

    本文主要淺談SOA和微服務(wù)。SOA和微服務(wù)兩者說到底都是對外提供接口的一種架構(gòu)設(shè)計(jì)方式,微服務(wù)其實(shí)就是隨著互聯(lián)網(wǎng)的發(fā)展,復(fù)雜的平臺、業(yè)務(wù)的出現(xiàn),導(dǎo)致SOA架構(gòu)向更細(xì)粒度、更通過化程度發(fā)
    的頭像 發(fā)表于 02-07 14:19 ?3572次閱讀
    我所理解的SOA和<b class='flag-5'>微服務(wù)</b>

    什么是微服務(wù)_微服務(wù)知識點(diǎn)全面總結(jié)

    微服務(wù)是一個(gè)新興的軟件架構(gòu),就是把一個(gè)大型的單個(gè)應(yīng)用程序和服務(wù)拆分為數(shù)十個(gè)的支持微服務(wù)。一個(gè)微服務(wù)的策略可以讓工作變得更為簡便,它可擴(kuò)展單個(gè)組件而不是整個(gè)的應(yīng)用程序堆棧,從而滿足
    的頭像 發(fā)表于 02-07 16:06 ?1.5w次閱讀

    java微服務(wù)架構(gòu)有哪些

    本文首先簡單介紹了微服務(wù)的概念以及使用微服務(wù)所能帶來的優(yōu)勢,然后結(jié)合實(shí)例介紹了幾個(gè)常見的Java微服務(wù)框架。微服務(wù)在開發(fā)領(lǐng)域的應(yīng)用越來越廣泛,因?yàn)殚_發(fā)人員致力于創(chuàng)建更大、更復(fù)雜的應(yīng)用程
    的頭像 發(fā)表于 02-09 10:34 ?8553次閱讀
    java<b class='flag-5'>微服務(wù)</b>架構(gòu)有哪些

    微服務(wù)優(yōu)勢_微服務(wù)架構(gòu)的好處與不足

    微服務(wù)是用一組小服務(wù)的方式來構(gòu)建一個(gè)應(yīng)用,服務(wù)獨(dú)立運(yùn)行在不同的進(jìn)程中,服務(wù)之間通過輕量的通訊機(jī)制(如RESTful接口)來交互,并且
    發(fā)表于 02-23 11:24 ?4357次閱讀

    什么是微服務(wù)和容器?微服務(wù)和容器的作用是什么

    微服務(wù)是將應(yīng)用程序拆分為多個(gè)服務(wù)的一種架構(gòu)類型,這些服務(wù)具備構(gòu)成整個(gè)應(yīng)用程序的細(xì)粒度功能。每個(gè)微服務(wù)將具備針對您的應(yīng)用程序的不同邏輯功能。與應(yīng)用程序的所有組件和功能都在單個(gè)實(shí)例中的單體
    的頭像 發(fā)表于 01-13 10:54 ?3.2w次閱讀
    什么是<b class='flag-5'>微服務(wù)</b>和容器?<b class='flag-5'>微服務(wù)</b>和容器的作用是什么

    什么是微服務(wù)架構(gòu)_微服務(wù)架構(gòu)的優(yōu)缺點(diǎn)及應(yīng)用

    什么是微服務(wù)架構(gòu) 簡單地說,微服務(wù)是系統(tǒng)架構(gòu)上的一種設(shè)計(jì)風(fēng)格, 它的主旨是將一個(gè)原本獨(dú)立的系統(tǒng)拆分成多個(gè)小型服務(wù),這些小型服務(wù)都在各自獨(dú)立的進(jìn)程中運(yùn)行,
    的頭像 發(fā)表于 06-02 10:03 ?1.7w次閱讀
    什么是<b class='flag-5'>微服務(wù)</b>架構(gòu)_<b class='flag-5'>微服務(wù)</b>架構(gòu)的優(yōu)缺點(diǎn)及應(yīng)用

    通過微服務(wù)原理、領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)概念等來成功實(shí)現(xiàn)微服務(wù)

    組織通過微服務(wù)基本準(zhǔn)則、領(lǐng)域驅(qū)動(dòng)的設(shè)計(jì)概念和編碼優(yōu)秀實(shí)踐成功地使用微服務(wù),可以充分利用Kubernetes/容器原生的優(yōu)勢。
    的頭像 發(fā)表于 08-14 10:02 ?1842次閱讀

    微服務(wù)架構(gòu)有哪些_微服務(wù)架構(gòu)設(shè)計(jì)模式

    小伙伴們知道常用的微服務(wù)架構(gòu)框架有哪些嗎?上回我們介紹了一些常用的微服務(wù)架構(gòu)設(shè)計(jì)模式,這次我們就來了解一下一些常用的微服務(wù)架構(gòu)框架吧。
    的頭像 發(fā)表于 05-17 17:06 ?2.9w次閱讀
    <b class='flag-5'>微服務(wù)</b>架構(gòu)有哪些_<b class='flag-5'>微服務(wù)</b>架構(gòu)設(shè)計(jì)模式

    微服務(wù)為什么要用到API網(wǎng)關(guān)?

    微服務(wù)架構(gòu)(通常簡稱為微服務(wù))是指開發(fā)應(yīng)用所用的一種架構(gòu)形式。通過微服務(wù),可將大型應(yīng)用分解成多個(gè)獨(dú)立的組件,其中每個(gè)組件都有各自的責(zé)任領(lǐng)域。
    的頭像 發(fā)表于 04-14 09:17 ?645次閱讀

    使用安全配套IC保護(hù)TLS實(shí)現(xiàn)

    傳輸層安全性 (TLS) 協(xié)議(以前稱為安全套接字層 (SSL))是用于保護(hù)傳輸中的數(shù)據(jù)的最常用協(xié)議。雖然它最初是為通過互聯(lián)網(wǎng)、計(jì)算機(jī)和網(wǎng)站之間的雙向安全通信而創(chuàng)建的,但現(xiàn)在
    的頭像 發(fā)表于 06-16 16:19 ?477次閱讀
    使用安全配套IC<b class='flag-5'>保護(hù)</b><b class='flag-5'>TLS</b>實(shí)現(xiàn)

    使用配套安全I(xiàn)C保護(hù)TLS

    傳輸層安全性 (TLS) 協(xié)議在保護(hù)智能連接設(shè)備通過互聯(lián)網(wǎng)的通信方面發(fā)揮著至關(guān)重要的作用。它可以幫助防止竊聽和篡改傳輸中的數(shù)據(jù)。當(dāng)然,為了使TLS協(xié)議有效,密鑰和證書必須保持未公開,未
    的頭像 發(fā)表于 06-29 17:26 ?403次閱讀

    springcloud微服務(wù)架構(gòu)

    Spring Cloud是一個(gè)開源的微服務(wù)架構(gòu)框架,它提供了一系列工具和組件,用于構(gòu)建和管理分布式系統(tǒng)中的微服務(wù)。它基于Spring框架,旨在通過簡化開發(fā)過程和降低系統(tǒng)復(fù)雜性來幫助開發(fā)人員構(gòu)建彈性
    的頭像 發(fā)表于 11-23 09:24 ?934次閱讀

    設(shè)計(jì)微服務(wù)架構(gòu)的原則

    微服務(wù)是一種軟件架構(gòu)策略,有利于改善整體性能和可擴(kuò)展性。你可能會想,我的團(tuán)隊(duì)需不需要采用微服務(wù),設(shè)計(jì)微服務(wù)架構(gòu)有哪些原則?本文會給你一些靈感。文章速覽:微服務(wù)設(shè)計(jì)的要素
    的頭像 發(fā)表于 11-26 08:05 ?455次閱讀
    設(shè)計(jì)<b class='flag-5'>微服務(wù)</b>架構(gòu)的原則