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

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

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

基于亞馬遜云科技Amazon EC2云服務(wù)器,以高彈性和安全性自建堡壘機(jī)

科技新思路 ? 來(lái)源:科技新思路 ? 作者:科技新思路 ? 2023-10-07 14:53 ? 次閱讀

背景

在很多企業(yè)的實(shí)際應(yīng)用場(chǎng)景中,特別是金融類的客戶,大部分的應(yīng)用都是部署在私有子網(wǎng)中,如何能夠讓客戶的開(kāi)發(fā)人員和運(yùn)維人員從本地的數(shù)據(jù)中心中安全的訪問(wèn)云上資源,堡壘機(jī)是一個(gè)很好的選擇。傳統(tǒng)堡壘機(jī)的核心實(shí)現(xiàn)原理是基于SSH協(xié)議的安全連接,通常運(yùn)用SSH(Secure Shell)協(xié)議實(shí)現(xiàn)數(shù)據(jù)的加密通信。SSH為安全身份驗(yàn)證和數(shù)據(jù)加密提供了可靠保障,從而確保了連接的安全性。然而,傳統(tǒng)的自建堡壘機(jī)在其管理和運(yùn)維方面面臨著多種挑戰(zhàn):

部署與維護(hù)復(fù)雜性:自建堡壘機(jī)的部署和配置往往涉及多個(gè)復(fù)雜步驟和組件,導(dǎo)致管理和維護(hù)的工作量顯著增加。

安全性風(fēng)險(xiǎn):自行管理多個(gè)密鑰和憑證可能會(huì)增加安全漏洞的風(fēng)險(xiǎn)。若密鑰管理不當(dāng),可能導(dǎo)致未經(jīng)授權(quán)的訪問(wèn)。

可用性問(wèn)題:自建堡壘機(jī)常常無(wú)法實(shí)現(xiàn)高可用性和彈性,多用戶同時(shí)訪問(wèn)時(shí)可能出現(xiàn)性能問(wèn)題,影響用戶體驗(yàn)。

擴(kuò)展困難:隨著用戶數(shù)量和需求的增加,自建堡壘機(jī)可能難以靈活擴(kuò)展,導(dǎo)致資源分配不均。

更新和升級(jí):自建堡壘機(jī)需要定期進(jìn)行更新和升級(jí),以保持安全性和性能,然而這可能會(huì)導(dǎo)致業(yè)務(wù)中斷或不穩(wěn)定情況。

外網(wǎng)暴露:傳統(tǒng)堡壘機(jī)需要在云上環(huán)境中部署一個(gè)有外網(wǎng)訪問(wèn)的權(quán)限的機(jī)器,增加了被攻擊的風(fēng)險(xiǎn)。

與傳統(tǒng)方式不同,基于Amazon Systems Manager Session Manager的堡壘機(jī)通過(guò)建立雙向加密通道,連接客戶端和遠(yuǎn)程節(jié)點(diǎn),并采用TLS 1.2進(jìn)行流量加密和Sigv4簽名請(qǐng)求。這一方式具備顯著優(yōu)勢(shì):

一鍵式部署:該方案極大簡(jiǎn)化了堡壘機(jī)部署流程,從而減少了部署難度和運(yùn)維成本。

卓越安全性:Session Manager提供了加密和身份驗(yàn)證功能,保障連接的安全性。

a. 基于AWS Identity and Access Management(IAM)角色的最小權(quán)限原則,管理員能夠通過(guò)集中的IAM策略管理堡壘機(jī)的訪問(wèn)授權(quán)。

b. 無(wú)需管理堡壘機(jī)密鑰。

c. 支持云上私有子網(wǎng)部署,無(wú)需部署在公有子網(wǎng)中,且無(wú)需打開(kāi)入站端口。

高可用性:通過(guò)彈性伸縮功能實(shí)現(xiàn)了堡壘機(jī)的跨可用區(qū)高可用性。

可擴(kuò)展性:基于CPU利用率的彈性伸縮策略能夠自動(dòng)調(diào)整容量,以適應(yīng)不同流量訪問(wèn)的需求。

簡(jiǎn)化管理:Systems Manager Session Manager是一項(xiàng)無(wú)需用戶自行管理實(shí)例的托管服務(wù)。無(wú)需預(yù)先啟動(dòng)實(shí)例,也無(wú)需將實(shí)例直接暴露在公網(wǎng)上,從而降低了管理復(fù)雜性。

端口轉(zhuǎn)發(fā)與跨平臺(tái)支持:通過(guò)Session Manager,可在本地客戶端進(jìn)行遠(yuǎn)程節(jié)點(diǎn)端口轉(zhuǎn)發(fā),并實(shí)現(xiàn)連接。同時(shí),它對(duì)Linux、Windows、Mac等多種操作系統(tǒng)平臺(tái)提供了跨平臺(tái)訪問(wèn)支持。

全面的日志記錄與審計(jì):Session Manager支持多種方式進(jìn)行日志記錄,涵蓋登錄時(shí)間、命令執(zhí)行等內(nèi)容,以確保會(huì)話連接活動(dòng)得到完整記錄。這些記錄可用于審計(jì)和故障排除。

提供監(jiān)控告警功能:針對(duì)堡壘機(jī)的性能指標(biāo)進(jìn)行監(jiān)控告警,以便在性能異常時(shí)及時(shí)收到通知。

基于Session Manager的堡壘機(jī)為訪問(wèn)管理提供了高效、安全、高可用的解決方案,成為提升操作效率和保障安全性的理想選擇。堡壘機(jī)作為一種安全措施,允許用戶通過(guò)中間主機(jī)來(lái)訪問(wèn)位于私有子網(wǎng)中的實(shí)例或資源。它作為一座橋梁,幫助用戶在安全的環(huán)境下連接到內(nèi)部資源,同時(shí)減少對(duì)直接連接的需求,從而降低被攻擊的風(fēng)險(xiǎn)。對(duì)于企業(yè)的安全管理員來(lái)說(shuō),堡壘機(jī)可以增強(qiáng)安全性、簡(jiǎn)化網(wǎng)絡(luò)配置、降低網(wǎng)絡(luò)資源暴露風(fēng)險(xiǎn)、提供審計(jì)跟蹤,對(duì)于開(kāi)發(fā)運(yùn)維人員來(lái)說(shuō),他們可以在本地環(huán)境中使用熟悉的開(kāi)發(fā)、運(yùn)維工具,如數(shù)據(jù)庫(kù)客戶端、瀏覽器、RDP等去訪問(wèn)云上私有資源,大大提高生產(chǎn)效率。

本文主要闡述的是基于Amazon Systems Manager的Session Manager特性和Amazon EC2堡壘機(jī)的設(shè)計(jì)和實(shí)現(xiàn)。主要內(nèi)容包括堡壘機(jī)的架構(gòu)設(shè)計(jì)、安全設(shè)計(jì)、日志監(jiān)控設(shè)計(jì)、高可用彈性設(shè)計(jì)以及自動(dòng)化部署設(shè)計(jì)等,同時(shí)針對(duì)堡壘機(jī)在不同場(chǎng)景中的使用方式和腳本進(jìn)行舉例說(shuō)明。

云上堡壘機(jī)設(shè)計(jì)

安全設(shè)計(jì)

在進(jìn)行云上堡壘機(jī)設(shè)計(jì)時(shí),安全是第一個(gè)需要考慮的要求。Session Manager是一種無(wú)需通過(guò)公網(wǎng)IP或SSH密鑰來(lái)連接到EC2實(shí)例的服務(wù),它通過(guò)Systems Manager的控制臺(tái)或CLI來(lái)創(chuàng)建和管理安全的交互式會(huì)話。其安全設(shè)計(jì)主要考慮以下四點(diǎn):

IAM權(quán)限和訪問(wèn)控制:

Session Manager權(quán)限:確保只有授權(quán)的用戶或角色擁有使用Session Manager的權(quán)限。為用戶或角色分配適當(dāng)?shù)腎AM策略,限制其對(duì)Session Manager的訪問(wèn),一般情況下,通過(guò)與客戶已有的AD進(jìn)行集成,通過(guò)分組來(lái)控制啟動(dòng)Session Manager的權(quán)限。

多因素認(rèn)證(MFA):強(qiáng)制啟用多因素認(rèn)證,增加用戶身份驗(yàn)證的安全性。

VPC和子網(wǎng)安全性:

控制對(duì)Session Manager的網(wǎng)絡(luò)訪問(wèn):設(shè)置VPC Endpoints的安全組僅允許來(lái)自堡壘機(jī)及私有子網(wǎng)中主機(jī)的訪問(wèn),并且設(shè)置VPC Endpoints的策略,以限制特定受信任實(shí)體才能訪問(wèn)。

日志和審計(jì):

監(jiān)控Session Manager會(huì)話:?jiǎn)⒂肅loudTrail以記錄Session Manager的API調(diào)用活動(dòng),以便審計(jì)和監(jiān)控用戶對(duì)會(huì)話的操作;配置Session Manager參數(shù),發(fā)送會(huì)話日志到Amazon CloudWatch日志組和S3存儲(chǔ)桶,確保用戶在會(huì)話中的所有操作均被記錄,CloudWatch日志組中的數(shù)據(jù)將保存3個(gè)月,S3桶中的會(huì)話日志將持久存儲(chǔ)以滿足安全監(jiān)管和審計(jì)需求。同時(shí),通過(guò)腳本來(lái)實(shí)現(xiàn)對(duì)本地Session Manager插件SSH登錄上的操作進(jìn)行詳細(xì)記錄,并存儲(chǔ)在指定的存儲(chǔ)桶中。

安全加密:

加密各類堡壘機(jī)相關(guān)資源:使用Amazon Key Management Service(KMS)對(duì)Session Manager的會(huì)話進(jìn)行加密,加密Amazon CloudWatch日志組及S3存儲(chǔ)桶,以確保會(huì)話和日志的安全性。

高可用和彈性設(shè)計(jì)

堡壘機(jī)的高可用設(shè)計(jì)可以確保在發(fā)生故障或負(fù)載增加時(shí),堡壘機(jī)仍然能夠保持可用,并繼續(xù)提供安全的訪問(wèn)控制。

堡壘機(jī)的高可用性

使用Auto Scaling Group(ASG):配置堡壘機(jī)所在的EC2實(shí)例為一個(gè)Auto Scaling Group。當(dāng)堡壘機(jī)實(shí)例的負(fù)載增加時(shí),ASG會(huì)根據(jù)設(shè)置的擴(kuò)展規(guī)則自動(dòng)增加實(shí)例數(shù)量,保持高可用性。

設(shè)置負(fù)載均衡:當(dāng)多個(gè)堡壘機(jī)實(shí)例同時(shí)運(yùn)行時(shí),可以使用負(fù)載均衡器來(lái)分發(fā)流量,確保各個(gè)實(shí)例的負(fù)載均衡。負(fù)載均衡器還可以在某些實(shí)例出現(xiàn)故障時(shí)自動(dòng)將流量路由到其他健康的實(shí)例,提高了整體的可用性。

定時(shí)擴(kuò)展和縮減

通過(guò)Auto Scaling Group的定時(shí)規(guī)則,控制堡壘機(jī)的啟動(dòng)和關(guān)機(jī)時(shí)間,從而來(lái)節(jié)約堡壘機(jī)的費(fèi)用。

監(jiān)控告警設(shè)計(jì)

Amazon CloudWatch指標(biāo)監(jiān)控:CloudWatch可以監(jiān)控EC2實(shí)例和其他亞馬遜云資源的性能指標(biāo)??杀O(jiān)控實(shí)例的CPU使用率、內(nèi)存利用率、磁盤等關(guān)鍵指標(biāo)。并通過(guò)Amazon SNS服務(wù)設(shè)置報(bào)警,以便在性能異常時(shí)及時(shí)收到通知。

自動(dòng)化部署設(shè)計(jì)

堡壘機(jī)代碼設(shè)計(jì)

考慮到堡壘機(jī)的高可用設(shè)計(jì),在其中一臺(tái)機(jī)器宕機(jī)的情況下,可以自動(dòng)、快速的拉起一臺(tái)新的堡壘機(jī)以供使用,我們采取EC2 launch template的方式進(jìn)行堡壘機(jī)的構(gòu)建,以下是IaC樣例代碼:

通過(guò)彈性伸縮啟動(dòng)模版創(chuàng)建堡壘機(jī)的IaC代碼樣例,包含啟動(dòng)模版、彈性伸縮組、彈性規(guī)則等。

wKgaomUhAEyAKE7DAAE7hmV1xvo835.pngwKgZomUhAE2AYs6yAAEuvaXQKcs305.pngwKgaomUhAE2AWfgeAAFL5LHvEeU614.pngwKgZomUhAE6AD0wmAAF99yjA5BA200.pngwKgaomUhAE6ADmZlAAGwIu44YPA536.pngwKgZomUhAE6ASdXqAACvZK9Fntk773.png

2.定義堡壘機(jī)的EC2用戶數(shù)據(jù)代碼樣例

在創(chuàng)建堡壘機(jī)時(shí),不僅僅是單獨(dú)的創(chuàng)建一臺(tái)EC2的實(shí)例,還需要針對(duì)用于該EC2的實(shí)例進(jìn)行安全加固、安裝相應(yīng)的工具、設(shè)置對(duì)于堡壘機(jī)的監(jiān)控等功能,以下是IaC代碼中,用于EC2實(shí)例初始化的用戶數(shù)據(jù)(User Data)樣例。

wKgaomUhAE-AdX4CAAGvqTRBPDM518.pngwKgZomUhAE-AA8vZAAGApKoGuIY648.pngwKgaomUhAFGADOC4AAHD2MkHxvg657.pngwKgZomUhAFKASYX4AAEbfxPi7vs913.pngwKgaomUhAFKAE0TLAADQiOrPL84024.pngwKgZomUhAFOAAQv_AAEtjG6enUU517.png

3.設(shè)計(jì)和創(chuàng)建堡壘機(jī)安全組

根據(jù)Session Manager安全組的最佳實(shí)踐,本方案中堡壘機(jī)的安全組設(shè)計(jì)如下:

wKgaomUhAFOAULHTAAEN_8Qed-0083.png

IaC代碼設(shè)計(jì)樣例如下:

wKgZomUhAFSAJbAQAAFP5eYc6XU288.png

wKgaomUhAFSAOIPFAAFu6Vuiumk469.png

wKgZomUhAFWAYvnIAABRvm0GQKM941.png

Session Manager配置設(shè)計(jì)

在啟用Session Manager時(shí),需要對(duì)Session Manager進(jìn)行相關(guān)的配置,如是否開(kāi)啟Session加密,是否將日志存儲(chǔ)到CloudWatch Logs或者S3上,是否對(duì)日志進(jìn)行加密,最大的Session時(shí)長(zhǎng)等。我們通過(guò)創(chuàng)建SSM Documents的方式來(lái)進(jìn)行配置,如以下IaC樣例代碼所示:

wKgaomUhAFWAaeDXAAGWlWwdzCw263.png

wKgZomUhAFaAUknVAADxYPKsmZk364.png

堡壘機(jī)IAM角色設(shè)計(jì)

在本設(shè)計(jì)中,堡壘機(jī)的IAM角色主要包含以下權(quán)限:

AmazonSSMManagedInstanceCore

CloudWatchAgentServerPolicy

Logs部分權(quán)限

SSM Messages部分權(quán)限

S3部分權(quán)限

KMS部分權(quán)限

如需自定義更多Session Manager IAM角色的詳細(xì)可訪問(wèn):自定義Session Manager IAM角色

以下是IaC代碼樣例:

wKgaomUhAFaAb1CQAAGrIXgTSVk634.png

wKgZomUhAFaAYW_hAAClWanPsdk070.png

部署堡壘機(jī)

本章將介紹如何通過(guò)基礎(chǔ)設(shè)施即代碼(Infrastructure as code)的方式一鍵式構(gòu)建云上堡壘機(jī),通過(guò)Terraform進(jìn)行相應(yīng)的IaC代碼開(kāi)發(fā)。

堡壘機(jī)部署架構(gòu)圖

根據(jù)云上堡壘機(jī)的設(shè)計(jì),我們?cè)诒緳C(jī)的部署中,將使用到亞馬遜云上的多種服務(wù):如Amazon CloudWatch、Key Management Service(KMS)、Identity and Access Management(IAM)、Systems Manager、Amazon Simply Notification Service(SNS)、Amazon Simple Storage Service(S3)、Amazon PrivateLink、Amazon EC2以及Amazon EC2 Auto Scaling等,以下為部署架構(gòu)圖:

wKgaomUhAFeABhZBAATx9bRW6n0451.png

以下對(duì)部署中所使用到的主要亞馬遜云相關(guān)服務(wù)的用途進(jìn)行簡(jiǎn)單介紹:

Amazon EC2/Amazon EC2 Auto Scaling:在EC2上進(jìn)行堡壘機(jī)的部署,并通過(guò)AutoScaling確保堡壘機(jī)的高可用;

Amazon Simple Storage Service(S3):用于存放通過(guò)Session Manager和SSH登錄到堡壘機(jī)上所產(chǎn)生的操作日志信息

Amazon VPC endpoints:用于堡壘機(jī)在沒(méi)有外網(wǎng)訪問(wèn)的條件下,進(jìn)行安全的訪問(wèn)如Amazon CloudWatch(Logs/Monitoring)、Amazon S3、Systems Manager、Amazon KMS等服務(wù);

Amazon CloudWatch:用于存放通過(guò)控制臺(tái)的Session Manager功能訪問(wèn)堡壘機(jī)的操作日志存儲(chǔ);

Amazon KMS:用于加密堡壘機(jī)部署過(guò)程中的相關(guān)服務(wù),如Session加密、CloudWatch logs加密、S3桶加密等;

Amazon Simply Notification Service:用于接受Bastion Host在CPU/Memory/磁盤超過(guò)閾值的時(shí)候的告警信息。

需要?jiǎng)?chuàng)建的Endpoints列表:

wKgZomUhAFeAUYxDAAKQUr99aKc158.png

堡壘機(jī)自動(dòng)化部署

當(dāng)IaC代碼開(kāi)發(fā)完成后,可以將該代碼集成在其他資源的CICD pipeline中,也可以通過(guò)Terraform命令,直接進(jìn)行部署。

wKgaomUhAFeAfnqRAACjH6fymmU113.png

等到命令執(zhí)行完成后,登錄到亞馬遜云科技管理控制臺(tái)檢查相應(yīng)資源是否按照預(yù)期部署完成。

堡壘機(jī)使用場(chǎng)景

堡壘機(jī)使用前置條件

如果要在本地機(jī)器上使用堡壘機(jī),需要滿足以下條件:

確保亞馬遜云上堡壘機(jī)已經(jīng)部署完成,并且處于running狀態(tài);

確保網(wǎng)絡(luò)聯(lián)通性,確認(rèn)堡壘機(jī)能訪問(wèn)私網(wǎng)環(huán)境中的RDS數(shù)據(jù)庫(kù)、WebServer EC2等;

確保你本地使用的IAM角色至少具有以下權(quán)限:

ec2:DescribeInstances

ssm:StartSession

ec2-instance-connect:SendSSHPublicKey

確保本地環(huán)境中正確安裝了亞馬遜云命令行工具(CLI V2)和Session Manager插件

堡壘機(jī)使用場(chǎng)景實(shí)操

假設(shè)客戶在亞馬遜云上的私有子網(wǎng)中,部署了一個(gè)Web應(yīng)用,包含Web前端和服務(wù)后端以及RDS數(shù)據(jù)庫(kù)(以SQL Server為例)。該客戶對(duì)于安全性的要求非常高,云上VPC環(huán)境中沒(méi)有Internet訪問(wèn),也沒(méi)有在本地網(wǎng)絡(luò)與云上環(huán)境之間搭建專線直連(Direct Connect)和VPN。但客戶的開(kāi)發(fā)人員和運(yùn)維人員,要求提供一個(gè)安全、高效、可靠的方式從本地的客戶端、應(yīng)用程序、瀏覽器去訪問(wèn)云上資源,以提高開(kāi)發(fā)、運(yùn)維效率。下圖為堡壘機(jī)實(shí)操環(huán)境的部署示意圖:

wKgZomUhAFiAPBzjAAON1BUfs6s793.png

場(chǎng)景一:通過(guò)亞馬遜云科技管理控制臺(tái)/命令行登錄堡壘機(jī)

在這個(gè)場(chǎng)景中,開(kāi)發(fā)人員或者運(yùn)維人員通過(guò)公司AD集成的賬號(hào)拿到了相應(yīng)的角色權(quán)限,直接登錄到亞馬遜云的管理控制臺(tái),然后通過(guò)Session Manager直接連接到堡壘機(jī)上進(jìn)行操作。操作步驟如下:

方式一:直接進(jìn)入到EC2控制臺(tái),選擇堡壘機(jī),然后點(diǎn)擊“Connect”進(jìn)行連接

方式二:進(jìn)入到Systems Manager→Session Manager→Start Session,然后選擇堡壘機(jī)進(jìn)行連接

兩種方式登錄后,進(jìn)入的界面如下圖所示:

wKgaomUhAFiAIg3jAAHuAHDoafo111.png

或者在本地啟動(dòng)SSM Session Manager的插件,從本地電腦中,直接訪問(wèn)堡壘機(jī):

wKgZomUhAFmAL4hGAADKQTNTcsQ025.pngwKgaomUhAFmAeJIaAASO717maJc259.png

通過(guò)控制臺(tái)或者本地CLI進(jìn)入到堡壘機(jī)后,所有的操作都會(huì)被記錄到Amazon CloudWatch Log Group“/aws/sessionmanager”,日志保留時(shí)間為3個(gè)月,并且還會(huì)上傳到S3桶(S3桶名:bastion-audit-log-bucket-,路徑為:ssm/)中做持久化存儲(chǔ)。

wKgZomUhAFqAdecMAAVhzG2aBls291.pngwKgaomUhAFuAJNdgAASdftO6fwc639.png

場(chǎng)景二:通過(guò)堡壘機(jī)實(shí)現(xiàn)遠(yuǎn)程主機(jī)端口轉(zhuǎn)發(fā)

在該場(chǎng)景中,開(kāi)發(fā)人員或者運(yùn)維人員通過(guò)公司AD集成的賬號(hào)拿到了相應(yīng)的角色權(quán)限,然后在本地啟動(dòng)Session Manager插件來(lái)進(jìn)行遠(yuǎn)程主機(jī)的端口轉(zhuǎn)發(fā),通過(guò)這種方式,開(kāi)發(fā)人員或運(yùn)維人員可以方便的使用本地客戶端進(jìn)行操作云上資源,如訪問(wèn)云上數(shù)據(jù)庫(kù)和訪問(wèn)WebServer等。以下命令是啟動(dòng)如何在本地機(jī)器上實(shí)現(xiàn)遠(yuǎn)程主機(jī)端口轉(zhuǎn)發(fā):

wKgZomUhAFuAeGy7AAGC-uCDSQc528.png

(1)遠(yuǎn)端數(shù)據(jù)庫(kù)端口轉(zhuǎn)發(fā)

以在本地訪問(wèn)云上SQLServer數(shù)據(jù)庫(kù)為例子,端口號(hào)為1433,本地端口號(hào)為12345,遠(yuǎn)程主機(jī)DNS為:“bastion-test-db.xxxxx..rds.amazonaws.com”,啟動(dòng)后,如下圖所示:

wKgaomUhAF2AR3KCAAJOz8XX3pY029.png

打開(kāi)本地SQLServer客戶端,輸入RDS Server端地址和端口:“127.0.0.1,12345”,并輸入登錄數(shù)據(jù)庫(kù)的賬號(hào)和密碼,如下圖所示:

wKgZomUhAF2AMnIsAAJZOtln3OU750.png

點(diǎn)擊“Connect”,即可訪問(wèn)云上RDS數(shù)據(jù)庫(kù)并進(jìn)行操作:

wKgaomUhAF6AdBjrAAIBOAR3qDA631.png

(2)遠(yuǎn)端服務(wù)器端口轉(zhuǎn)發(fā)

以本地通過(guò)瀏覽器訪問(wèn)Web Server為例,端口號(hào)為80,本地端口號(hào)為8080,遠(yuǎn)程主機(jī)IP為:“10.99.3.132”,啟動(dòng)后,如下圖所示:

wKgZomUhAF6AMlU1AAHCygAHUcM126.png

通過(guò)本地瀏覽器訪問(wèn)127.0.0.1:8080,可看到能夠成功訪問(wèn)到位于私有網(wǎng)絡(luò)中的WebServer:

wKgaomUhAF6ANTANAAHMmVujx8Q400.png

場(chǎng)景三:通過(guò)本地SSH連接到堡壘機(jī)

在開(kāi)發(fā)人員或者運(yùn)維人員在實(shí)際工作中,偶爾會(huì)需要通過(guò)SSH連接到堡壘機(jī)或者遠(yuǎn)端的主機(jī)上進(jìn)行調(diào)試或者運(yùn)維,并上傳相應(yīng)的文件到堡壘機(jī)上。一般情況下,運(yùn)維人員需要拿到EC2的密鑰并確保安全組中包含有22端口及客戶端的IP地址的入站規(guī)則,然后才能連接到云上服務(wù)器上,這種情況不僅增加了密鑰管理的難度,同時(shí)對(duì)于只存在私有網(wǎng)絡(luò)中的服務(wù)器且本地?cái)?shù)據(jù)中心和云上環(huán)境沒(méi)有互聯(lián)的場(chǎng)景是一個(gè)很大的挑戰(zhàn)。通過(guò)ec2-instance-connect服務(wù)特性并結(jié)合Session Manager可以方便的滿足客戶通過(guò)SSH訪問(wèn)云上EC2的情景。

wKgZomUhAF-ASO8pAAJwVTn7jhQ161.pngwKgaomUhAF-AfIjpAAE4htKE6EU849.png

將以上代碼中的Step1到Step3編寫成一個(gè)腳本,在每次執(zhí)行ssh之前,先運(yùn)行該腳本,確保新生成的SSH Key有效(通過(guò)send-ssh-public-key上傳到EC2上的Key有效期只有60s)。

wKgZomUhAF-AcGfZAAJDELGUk8k384.png

注意:如果使用動(dòng)態(tài)生成SSH Key的方式,需要先創(chuàng)建“EC2 Instance Connect Endpoint”,同時(shí)確保本地電腦上使用的IAM角色包含有“ec2-instance-connect:SendSSHPublicKey”的權(quán)限。另外,亞馬遜云科技中國(guó)區(qū)暫時(shí)不支持該Endpoint類型的創(chuàng)建。

通過(guò)本地Session Manager插件SSH進(jìn)入到堡壘機(jī)后,所有的操作都會(huì)上傳到S3桶(S3桶名:bastion-audit-log-bucket-,路徑為:logs/)中做持久化存儲(chǔ)。

wKgaomUhAGCAMlTjAAPr2zkPSRk378.png

除通過(guò)SSH登錄到堡壘機(jī)外,SSM還可以支持SSH Socks Proxy,如下圖在瀏覽器中設(shè)置Proxy(以Firefox為例):

wKgZomUhAGGADDmgAAF-XIEAW_s989.png

使用以下代碼啟動(dòng) SSH Socks Proxy:

wKgaomUhAGKAQQkmAAA0Y65JEIM888.png

啟動(dòng)后,就可以通過(guò)Socks Proxy訪問(wèn)內(nèi)網(wǎng)的WebServer。

未來(lái)架構(gòu)演進(jìn)

本方案中堡壘機(jī)是根據(jù)最常用的功能,如端口轉(zhuǎn)發(fā)、SSH訪問(wèn)來(lái)設(shè)計(jì)的,但在一些特定的場(chǎng)景中,還需要設(shè)計(jì)更多復(fù)雜的堡壘機(jī)方案,如:Windows類型的堡壘機(jī)支持、如何使用IAM角色對(duì)堡壘機(jī)權(quán)限進(jìn)行更精細(xì)化的管理等,這些都是未來(lái)本方案演進(jìn)和增強(qiáng)的一個(gè)方向。目前我們方案中,創(chuàng)建的堡壘機(jī)類型只有一種,任何擁有啟動(dòng)Session Manager的IAM用戶/角色都可以去訪問(wèn)它并進(jìn)行操作,但在一些場(chǎng)景下,客戶需要對(duì)于不同的角色使用不同的堡壘機(jī):如角色A僅可以訪問(wèn)堡壘機(jī)A,并通過(guò)該堡壘機(jī)上賦予的IAM權(quán)限進(jìn)行相應(yīng)的操作;角色B僅可以訪問(wèn)堡壘機(jī)B,通過(guò)該堡壘機(jī)上賦予的IAM權(quán)限進(jìn)行相應(yīng)的操作。不同的用戶角色和客戶自有的AD域控進(jìn)行集成,可以靈活的進(jìn)行更精細(xì)化的權(quán)限控制。

總結(jié)

本文主要介紹了基于Amazon Systems Manager Session Manager的堡壘機(jī)的設(shè)計(jì)和實(shí)現(xiàn),并通過(guò)IaC自動(dòng)化方式構(gòu)建和部署云上堡壘機(jī),同時(shí)基于堡壘機(jī)的使用場(chǎng)景進(jìn)行了舉例,介紹了不同場(chǎng)景下堡壘機(jī)的使用方法和步驟。該堡壘機(jī)方案已經(jīng)集成到Cloud Foundations快速啟動(dòng)包服務(wù)中,為企業(yè)用戶提供更便捷的部署方式。

在安全方面做的同樣出色的亞馬遜云科技Amazon Lightsail和亞馬遜云科技Amazon CodeWhisperer也非常實(shí)用。

亞馬遜云科技Amazon Lightsail可以在Amazon EC2上拓展和遷移,其安全性背靠亞馬遜云科技。亞馬遜云科技Amazon CodeWhisperer可以對(duì)現(xiàn)有的代碼進(jìn)行實(shí)時(shí)的檢測(cè),給予一定的建議,所以構(gòu)建應(yīng)用程序時(shí)更加的安全。對(duì)于企業(yè)或開(kāi)發(fā)者,亞馬遜云科技Amazon Lightsail和亞馬遜云科技Amazon CodeWhisperer的安全性對(duì)工作構(gòu)建、架構(gòu)設(shè)計(jì)等全套工作流都非常重要。

審核編輯 黃宇

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

    關(guān)注

    16

    文章

    4575

    瀏覽量

    71803
  • SSH
    SSH
    +關(guān)注

    關(guān)注

    0

    文章

    181

    瀏覽量

    16260
  • 亞馬遜
    +關(guān)注

    關(guān)注

    8

    文章

    2612

    瀏覽量

    83022
  • 云服務(wù)器
    +關(guān)注

    關(guān)注

    0

    文章

    504

    瀏覽量

    13318
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于AWS EC2 F1實(shí)例的自動(dòng)語(yǔ)音識(shí)別加速解決方案

    亞馬遜AWS EC2是一種靈活的Web服務(wù),可以在服務(wù)器中提供安全并且大小可調(diào)的計(jì)算容量,該
    的頭像 發(fā)表于 11-17 06:57 ?7471次閱讀

    服務(wù)器有什么優(yōu)勢(shì)?怎么選對(duì)服務(wù)器?

    ,有的在北方,有的在南方。服務(wù)器為基礎(chǔ)的解決方案,針對(duì)企業(yè)自己的業(yè)務(wù)需求,將服務(wù)器、帶寬
    發(fā)表于 07-31 18:35

    服務(wù)器安全嗎?服務(wù)器有哪些優(yōu)勢(shì)?

    安全問(wèn)題,所以遲遲不敢選擇。那么,服務(wù)器安全嗎?服務(wù)器有哪些優(yōu)勢(shì)?下面就讓摩杜
    發(fā)表于 03-27 14:31

    Xilinx FPGA將用于最新亞馬遜EC2 F1實(shí)例

    Web Service)在亞馬遜彈性計(jì)算(Amazon EC2)F1 新實(shí)例中采用了賽靈思16nm UltraScale+ 現(xiàn)場(chǎng)可編程門
    發(fā)表于 01-13 13:07 ?1568次閱讀

    什么是彈性服務(wù)器?

    ?ecs服務(wù)器是由CPU、內(nèi)存、鏡像、硬盤組成的一種可隨時(shí)獲取、彈性可擴(kuò)展的計(jì)算服務(wù)器,同時(shí)它結(jié)合虛擬私有
    發(fā)表于 09-07 15:45 ?724次閱讀

    服務(wù)器已經(jīng)普遍應(yīng)用,那么它的安全性怎么樣

    服務(wù)器安全性怎么樣?目前,服務(wù)器服務(wù)應(yīng)用普遍,已經(jīng)成為可取代傳統(tǒng)IT部署的重要力量。然而,很
    發(fā)表于 11-02 11:03 ?4554次閱讀

    亞馬遜彈性計(jì)算EC2)實(shí)例將采用英特爾旗下Habana Labs的Gaudi加速

    12月3日消息,據(jù)國(guó)外媒體報(bào)道,亞馬遜計(jì)算業(yè)務(wù)部門AWS與英特爾官網(wǎng)的信息顯示,亞馬遜彈性計(jì)算EC
    的頭像 發(fā)表于 12-03 14:19 ?2222次閱讀

    亞馬遜科技推出由自研芯片支持的三款Amazon EC2新實(shí)例

    推理芯片,在Amazon EC2最低的延遲與成本,大規(guī)模地運(yùn)行大型的深度學(xué)習(xí)模型 北京2022年11月30日 /美通社/ -- 亞馬遜
    的頭像 發(fā)表于 11-30 18:26 ?949次閱讀

    全新亞馬遜EC2 M7a實(shí)例使用第四代AMD EPYC處理

    ? —基于第四代AMD?EPYC處理的全新亞馬遜?EC2 M7a實(shí)例預(yù)覽— —亞馬遜EC2 M7a實(shí)例提供了性能上的重大飛躍,其計(jì)算性能比
    的頭像 發(fā)表于 06-20 11:35 ?760次閱讀

    亞馬遜科技虛擬專用服務(wù)器Amazon Lightsail優(yōu)勢(shì)及其如何為初創(chuàng)企業(yè)提升運(yùn)營(yíng)效率

    作為一名軟件工程師,有很多機(jī)會(huì)使用各種亞馬遜科技服務(wù),其中Amazon Lightsail是為初創(chuàng)企業(yè)而設(shè)的易上手使用、經(jīng)濟(jì)實(shí)惠的虛擬專用服務(wù)器
    的頭像 發(fā)表于 09-25 16:50 ?510次閱讀
    <b class='flag-5'>亞馬遜</b><b class='flag-5'>云</b>科技虛擬專用<b class='flag-5'>服務(wù)器</b><b class='flag-5'>Amazon</b> Lightsail優(yōu)勢(shì)及其如何為初創(chuàng)企業(yè)提升運(yùn)營(yíng)效率

    解讀亞馬遜科技Amazon EC2預(yù)留實(shí)例與按需實(shí)例的區(qū)別,及其在成本節(jié)約的優(yōu)勢(shì)

    隨著計(jì)算不斷改變企業(yè)的運(yùn)營(yíng)方式,優(yōu)化成本已成為首要任務(wù)。利用Amazon EC2預(yù)留實(shí)例是實(shí)現(xiàn)云端成本節(jié)約最有效的方法之一。以下將探討什么是Amazon
    的頭像 發(fā)表于 09-26 12:37 ?811次閱讀
    解讀<b class='flag-5'>亞馬遜</b><b class='flag-5'>云</b>科技<b class='flag-5'>Amazon</b> <b class='flag-5'>EC2</b>預(yù)留實(shí)例與按需實(shí)例的區(qū)別,及其在成本節(jié)約的優(yōu)勢(shì)

    一文了解亞馬遜科技服務(wù)器面向macOSAmazon EC2 M1 Mac實(shí)例

    科技Nitro系統(tǒng)提供支持,與基于x86的Amazon EC2 Mac實(shí)例相比,構(gòu)建和測(cè)試iOS和macOS應(yīng)用程序的性價(jià)比提高多達(dá)60%。十多年來(lái)亞馬遜科技構(gòu)建的基礎(chǔ)設(shè)施為數(shù)百萬(wàn)客
    的頭像 發(fā)表于 10-08 10:38 ?467次閱讀

    亞馬遜科技宣布基于自研Amazon Graviton4的Amazon EC2 R8g實(shí)例正式可用

    北京2024年7月15日?/美通社/ -- 亞馬遜科技宣布基于自研芯片Amazon Graviton4處理Amazon Elastic
    的頭像 發(fā)表于 07-15 16:09 ?310次閱讀

    亞馬遜科技宣布Amazon EC2 P5e實(shí)例正式可用 由英偉達(dá)H200 GPU提供支持

    北京2024年9月18日?/美通社/ -- 亞馬遜科技宣布由英偉達(dá)H200 GPU提供支持的 Amazon Elastic Compute Cloud P5e(Amazon
    的頭像 發(fā)表于 09-19 16:16 ?336次閱讀

    彈性服務(wù)器怎么樣?好用嗎?

    答案是肯定的。彈性服務(wù)器以其彈性伸縮、高可用、靈活性、高性能以及安全防護(hù)等特性,為用戶提供了
    的頭像 發(fā)表于 10-15 16:15 ?59次閱讀