技術專欄

AWS Transfer Family SFTP 提供您,安全、簡單的傳輸資料

AWS 雲端運算服務
2023/04/17

技術六處三部 工程師TonyChen

© 2023, AWS Transfer Family Amazon Web Services Inc. 或其合作夥伴。保留所有權利。

傳輸資料是一項需要高度安全以及嚴格監控的項目,AWS對於需要在Amazon S3 及Amazon EFS上存儲資料及檔案的使用者提供了一項安全及方便的傳輸服務,AWS Transfer Family。同時可依客戶使用習慣如:傳輸協議、加密方式、權限劃分、資料標記等等…,傳輸過程中做使用上的調整。
AWS Transfer Family 讓您免去建置基礎設施的額外經濟以及時間成本,並且一目了然的收費方式讓您可快速加入部署計畫。
 

哪些使用者適合使用此服務?以及其優點?

1. SaaS模式的傳輸資料使用者: 簡化了建置流程並且在基礎設施上省去了時間及經濟成本的考量, 啟用即服務,也可使用Amazon VPC 來幫AWS Transfer Family設定防火牆或特定IP封鎖。

2. 有加密及安全需求的傳輸資料使用者: 可使用 ED25519 和 ECDSA 等最新的加密演算法使用SSH的SFTP傳輸協定。

3. 有自動化及高度監控資料傳輸工作流程的使用者: 配合Amazon CloudWatch以及AWS Transfer Family 中Workflows的功能,掌握每分每秒資料傳輸的細節。

 

AWS Transfer Family 基礎介紹

 ( 圖片取自 AWS Transfer Family service : https://aws.amazon.com/tw/aws-transfer-family/ © Amazon Web Service )

AWS 推出此項服務提供了使用者免去管理基礎設施的繁重工作,一方面也原生支持了各項 AWS 服務以方便監控、確保安全性及成本最佳化並將檔案存儲置於 Amazon S3 或 Amazon EFS。

在設定細節的部分我們可以選擇傳輸的協定如:SFTP、FTP (必須在 Amazon VPC 的環境底下)、FTPS 及 AS2,連接AWS Transfer Family 的端點設置,設定連線的使用者金鑰,甚至是使用者的操作權限調整。
傳輸過程中也提供了 Workflows 的服務,可配合使用 AWS Lambda 來達到傳送至Amazon S3或Amazon EFS時可同時執行惡意病毒掃描的效果,或備份,標記,等其他工作步驟。
而在下段文章重點將會展示 AWS Transfer Family 之中 SFTP 加密協定下的傳輸資料到 Amazon S3 存儲的流程,其中包含:
1.    架構圖分享及解析
2.    簡易的建置說明
3.    實際傳輸資料演示

( 圖片取自 AWS 官方部落格 : https://aws.amazon.com/cn/blogs/china/sustainability-pillar-well-architected-framework/ © Amazon Web Service)

 

使用 AWS Transfer Family SFTP 存儲資料到S3

由左至右我們可以發現,客戶端使用了 FileZilla 透過網際網路(公有網路)連上設置的 DNS 端口(Internet gateway),並且由三個不同的可用區(Availability Zones)中的公共子網(Public subnet)實行作業,當中三個子網也必須綁定EIP(Elastic IP)此彈性IP是AWS所提供的固定IP (IPv4)服務.

整個的網路架構是在 Amazon VPC 的環境下設置的,其中包含 Security Group(安全群組) 以及 NACL (network access control list 網路存取控制清單)設置黑白名單的管理.

通過了安全群組以及網路存取控制清單則可看到使用者連入AWS Transfer Family的server ,任何對Amazon S3的CRUD (Create Delete Read Update)動作皆由AWS IAM執行權限上的設置,Amazon CloudWatch 則進行各項指標監控及記錄 Log,Amazon CloudTrail 則負責AWS帳戶內使用者有關的AWS服務紀錄
 

使用功能:
AWS Transfer Family : SFTP
Amazon VPC setup : VPC with 3 public subnet(3 AZ) and 3 EIP(Elastic IP)
AWS IAM:The role with Amazon S3 access policy or scope-down
Amazon S3: For storage data
Amazon CloudWatch:Event logs and metrics monitoring 
SSH key :使用 Windows Power Shell -> keygen ssh rsa 指令


使用軟體:
FileZilla:FTP檔案傳輸軟體,用途為測試地端連線至Amazon S3


架設流程:
一、確認Amazon VPC及EIP等設置作業

在Amazon VPC中設置三個公共子網並且在AWS EC2的介面找到Elastic IP 設置三個固定IP(後續步驟會將Elastic IP一個對一個的綁定公共子網)

 

二、AWS Transfer Family server 建置作業
進入到AWS Transfer Family 的 Create server 會有後續幾項設置如下:
1.    傳輸協定選取 (SFTP)

2.    辨識身分方案 (在此使用Service managed)

3.    端點設置(Internet gateway),其中包含DNS、子網設置(AZ設置可使用1個及1個以上,差別在於可用性以及EIP對應的綁定數量)及EIP綁定 (範例已使用AWS預設的DNS可供後續地端連入) 

透過AWS Transfer Family 進行 Security Group 設置 (可限制IP黑白名單的設置,此處範例已限制僅能使用當下作業環境的IP即為本地IP)

4.    存儲方式設置,這邊選擇 Amazon S3  
(Amazon S3 bucket 設置步驟
1.進入到Amazon S3 並且建立儲存貯體bucket
2.設置貯體名稱、AWS區域(這邊選擇東京區)、ACL停用(預設狀態下儲存貯體只有自己帳號擁有所有權限)、版本控制(同樣檔案重複上傳不會覆蓋而會有版本差異,但須注意容量上的使用)、預設加密則使用Amazon S3 受管金鑰SSE-S3,然後建立儲存貯體,後續步驟會使用到)

5.    Amazon CloudWatch logs 及活動紀錄檔的AWS IAM角色(Role)設置(使用新角色即可,此AWS IAM 角色已包含應有權限)

6.    密碼學演算法(這邊一律選擇日期最新的傳輸安全政策)

 

三、AWS Transfer Family server user新增作業
Server 建立後即可開始加入使用者,本次範例使用手動新增及設定,可視情況使用其它AD 管理方案用作辨認及識別(此頁面顯示之 Endpoint 作為後續主機連入的Internet gateway DNS端口)

1.    Add user 中可以填寫新增人員名稱以及要套用的AWS IAM角色,在此頁面也可看見 DNS Endpoint
2.    其中 Policy 可針對不同新增的使用者做權限調整(如讀、寫、刪或其他動作的權限)
3.    Home directory 設置人員進入 S3 時所位於的目錄或當下的資料夾 (Restricted可限制目錄讀取)

4.    SSH 公鑰設置 (我們這邊在Windows環境下建立了一份基於 RSA 演算法建立起來的公私鑰)

5.    將公鑰內容複製貼上到SSH public keys空白處(Enter SSH public key)

6. 按下新增使用者
 

四、使用者使用FileZilla 連線Amazon S3測試及Log檢視
架設完畢並且新增使用者後,我們可以嘗試連線功能了
1.    開啟FileZilla並且在站台管理員分別選擇SFTP協定、主機名稱 (DNS Endpoint)、登入形式為金鑰檔案並且輸入使用者名稱及選取金鑰檔案 (.PEM私鑰)

2.    進入到AWS Transfer Family Server中可看見使用者細節,此時點選右上角的View logs可導到Amazon CloudWatch logs group的頁面

3.    此處可看到使用者在不同時間點的logs,選擇想觀測的對應時間(Timestamp) log
包含在FileZilla 上曾經嘗試連線Server或任何檔案文件的CRUD動作,以及在AWS IAM Policy的規定下如有限制的地方也會顯示 “Access denied” 例如:限制個別使用者開啟檔案的權限,或讀取資料夾的權限,刪除的權限等等…

 

這次的範例展示了基礎的資料傳輸以及建置流程,如有其他更進一步的需求,我們也可以針對其他情境來對AWS Transfer Family做修改或新增功能。如:可使用Amazon SNS(Amazon Simple Notification service,一般我們使用此項服務配合E-mail寄送郵件或SMS簡短訊息服務)以警告使用者的上下傳流量使用量、上下傳流量限制、使用者傳輸時觸發檔案掃描(病毒掃描或其他篩選設定)、高度監控下的企業間檔案傳輸。
 
當然最後必須提醒!基礎AWS Transfer Family server 是 7x24持續收費的,一旦開啟除了終止服務外皆在收費,並且根據官方定價為單月219 USD,最少收費時數計算為小時,必須注意!

有傳輸資料到 Amazon S3 or Amazon EFS 的需求嗎?不知道如何安全快速的部署?請洽 MetaAge 邁達特。
 

MetaAge 邁達特,除了技術支援,也提供 7 x 24 全託管MSP服務

MetaAge 邁達特在資安、網路、儲存、伺服器、虛擬化、資料庫管理有豐富經驗,技術深厚的架構師群與維運團隊是企業雲服務的最佳幫手。客戶無論想要部署 AWS 服務,進一步代管維運(Cloud Managed Service)、基礎架構即代碼(Infrastructure-as-code)、API 整合、雲地整合等加值服務,邁達特均能一站式滿足多構面需求。

專業資訊應用服務供應商

MetaAge 邁達特(原聚碩科技)於1998年創業之初,即以成為「The ICT Solution Provider專業資訊應用服務供應商」角色自期,為經銷夥伴與企業用戶提供一流產品與專業服務,成為業界最佳之加值服務名牌通路商。針對廣大的經銷商夥伴以及雲市集之獨立軟體供應商(ISV),也可洽談經銷合作方案,設計後續合作的框架。

MetaAge 邁達特代理的軟硬體產品線均為全球知名品牌,針對廣大的經銷商夥伴以及雲市集之獨立軟體供應商(ISV),提供強大的技術支援與量身訂作之經銷合作方案,擴大合作夥伴的服務範圍,在多樣化的場域中一同實現更優質的客戶服務體驗。

邁達特持續作為IT智能化最佳夥伴,竭誠歡迎舊雨新知攜手共創數位新局。

MetaAge邁達特 AWS MSP 團隊導入次世代監控系統,提供客戶完全託管和完整監控的 MSP 整合服務。

聯絡方式 —— 24小時免付費電話: 080-000-8669  |  Email: aws@metaage.com.tw  |  MSP服務官方LineID: @metaage_msp

 

 

其他延伸閱讀

MetaAge邁達特AWS產品介紹 | AWS Transfer Family-AWS

 

聯絡 我們