Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Amankan transfer file dengan menggunakan Transfer Family, Amazon Cognito, dan GuardDuty
Manoj Kumar, Amazon Web Services
Ringkasan
Solusi ini membantu Anda mentransfer file dengan aman melalui server SFTP dengan menggunakan. AWS Transfer Family Ini termasuk kemampuan pemindaian malware otomatis melalui Perlindungan Malware untuk S3, fitur Amazon GuardDuty. Ini dirancang untuk organisasi yang perlu bertukar file dengan aman dengan pihak eksternal dan memvalidasi bahwa semua file yang masuk dipindai untuk malware sebelum diproses.
Templat infrastruktur sebagai kode (IAc) yang disediakan dengan pola ini membantu Anda menerapkan yang berikut:
Server SFTP yang aman dengan otentikasi Amazon Cognito melalui AWS Lambda
Bucket Amazon Simple Storage Service (Amazon S3) untuk upload dan file masuk yang telah dipindai untuk malware
Arsitektur berbasis virtual private cloud (VPC) dengan subnet publik dan pribadi di beberapa Availability Zone
Kontrol akses berbasis IP untuk lalu lintas masuk dan keluar, dengan daftar izinkan dan tolak yang dapat dikonfigurasi
Pemindaian malware otomatis melalui GuardDuty
Perutean file cerdas berdasarkan hasil pemindaian melalui Amazon EventBridge dan Lambda
Pemberitahuan real-time untuk insiden keamanan melalui Amazon Simple Notification Service (Amazon SNS)
Enkripsi untuk bucket Amazon S3 dan variabel lingkungan Lambda melalui () AWS Key Management Service AWS KMS
Titik akhir Amazon Virtual Private Cloud (Amazon VPC) untuk akses tanpa eksposur internet
Pencatatan komprehensif melalui CloudWatch integrasi Amazon
Prasyarat dan batasan
Prasyarat
Aktif Akun AWS
Izin dalam AWS Identity and Access Management (IAM) untuk melakukan tindakan yang dijelaskan dalam pola ini, termasuk menerapkan AWS CloudFormation templat yang menyediakan peran IAM
GuardDuty, diaktifkan di akun target
Perlindungan Malware untuk S3, diaktifkan di akun target
Kuota layanan memungkinkan Anda membuat yang berikut di akun target:
Satu VPC
Satu subnet pribadi
Satu subnet publik
Tiga alamat IP elastis
Batas konkurensi Lambda yang cukup
Alamat email yang valid untuk notifikasi terkait keamanan
(Opsional) Daftar alamat IP atau rentang CIDR yang ingin Anda izinkan atau tolak
(Opsional) AWS Command Line Interface (AWS CLI), diinstal dan dikonfigurasi
Batasan
Perlindungan Malware untuk S3 tunduk pada kuota, seperti ukuran file maksimum. Untuk informasi selengkapnya, lihat Kuota dalam Perlindungan Malware untuk S3 dan Dukungan fitur Amazon S3 dalam dokumentasi. GuardDuty
Solusi ini hanya menggunakan autentikasi nama pengguna dan kata sandi Amazon Cognito. Metode otentikasi berbasis sertifikat atau lainnya tidak didukung dalam template ini. Secara default, solusi ini tidak mengkonfigurasi otentikasi multi-faktor (MFA).
Solusi ini mengimplementasikan kontrol akses berbasis IP melalui grup keamanan saja.
Arsitektur
Diagram arsitektur berikut menunjukkan sumber daya yang digunakan dalam pola ini. Solusi ini menggunakan Amazon Cognito untuk otentikasi dan otorisasi pengguna. Server AWS Transfer Family SFTP digunakan untuk upload file. File disimpan dalam bucket Amazon S3, dan Amazon GuardDuty memindai file untuk malware. Amazon SNS mengirimkan pemberitahuan email jika malware terdeteksi.

Diagram menunjukkan alur kerja berikut:
Seorang pengguna terhubung ke titik akhir server SFTP di. AWS Transfer Family Ini memulai proses otentikasi dengan kumpulan pengguna Amazon Cognito.
Fungsi Lambda memulai proses otentikasi dan otorisasi dan memvalidasi kredensi pengguna dengan Amazon Cognito.
Fungsi Lambda mengembalikan bucket Amazon
UploadBucketS3 sebagai direktori home. Pengguna mengasumsikan peran IAM untuk server Transfer Family, dan fungsi Lambda memberi tahu pengguna bahwa mereka telah berhasil diautentikasi.Pengguna mengunggah file ke server SFTP Transfer Family. File disimpan di bucket
UploadBucketAmazon S3.GuardDuty memindai file untuk malware. Hasil pemindaian potensial adalah
NO_THREATS_FOUND,THREATS_FOUND,UNSUPPORTED,ACCESS_DENIED, danFAILED. Untuk hasil sampel, lihat hasil pemindaian objek S3 dalam GuardDuty dokumentasi.EventBridge Aturan mendeteksi peristiwa hasil pemindaian.
EventBridge memulai fungsi Lambda perutean file.
Fungsi Lambda memproses acara dan memfilter file berdasarkan hasil pemindaian sebagai berikut:
File yang memiliki hasil
NO_THREATS_FOUNDpemindaian dikirim ke bucketCleanBucketAmazon S3.File yang memiliki hasil
THREATS_FOUNDpemindaian dikirim ke bucketMalwareBucketAmazon S3.File yang memiliki hasil
UNSUPPORTEDpemindaian dikirim ke bucketErrorBucketAmazon S3.File yang memiliki hasil
ACCESS_DENIEDpemindaian dikirim ke bucketErrorBucketAmazon S3.File yang memiliki hasil
FAILEDpemindaian dikirim ke bucketErrorBucketAmazon S3.
Semua file dienkripsi dengan file. AWS KMS key
Jika file dikirim ke bucket
MalwareBucketAmazon S3, fungsi Lambda memulai topik Amazon SNS. Topik Amazon SNS mengirimkan pemberitahuan email ke alamat email yang Anda konfigurasikan.
Alat
Layanan AWS
Amazon CloudWatch membantu Anda memantau metrik sumber AWS daya Anda dan aplikasi yang Anda jalankan AWS secara real time.
Amazon Cognito menyediakan otentikasi, otorisasi, dan manajemen pengguna untuk aplikasi web dan seluler.
Amazon EventBridge adalah layanan bus acara tanpa server yang membantu Anda menghubungkan aplikasi Anda dengan data waktu nyata dari berbagai sumber. Misalnya, AWS Lambda fungsi, titik akhir pemanggilan HTTP menggunakan tujuan API, atau bus acara di tempat lain. Akun AWS
Amazon GuardDuty adalah layanan pemantauan keamanan berkelanjutan yang menganalisis dan memproses log untuk mengidentifikasi aktivitas tak terduga dan berpotensi tidak sah di lingkungan Anda AWS .
AWS Key Management Service (AWS KMS) membantu Anda membuat dan mengontrol kunci kriptografi untuk membantu melindungi data Anda.
AWS Lambdaadalah layanan komputasi yang membantu Anda menjalankan kode tanpa perlu menyediakan atau mengelola server. Ini menjalankan kode Anda hanya bila diperlukan dan skala secara otomatis, jadi Anda hanya membayar untuk waktu komputasi yang Anda gunakan.
Amazon Simple Notification Service (Amazon SNS) membantu Anda mengoordinasikan dan mengelola pertukaran pesan antara penayang dan klien, termasuk server web dan alamat email.
Amazon Simple Storage Service (Amazon S3) adalah layanan penyimpanan objek berbasis cloud yang membantu Anda menyimpan, melindungi, dan mengambil sejumlah data.
AWS Transfer Familymembantu Anda mentransfer file masuk dan keluar dari layanan AWS penyimpanan melalui protokol SFTP, FTPS, atau FTP.
Amazon Virtual Private Cloud (Amazon VPC) membantu Anda meluncurkan AWS sumber daya ke jaringan virtual yang telah Anda tentukan. Jaringan virtual ini menyerupai jaringan tradisional yang akan Anda operasikan di pusat data Anda sendiri, dengan manfaat menggunakan infrastruktur yang dapat diskalakan. AWS
Repositori kode
Kode untuk pola ini tersedia di repositori GitHub AWS Transfer Family dan GuardDuty Malware Scanning Solution
Praktik terbaik
CloudFormation Template yang disediakan dirancang untuk menggabungkan banyak praktik AWS terbaik, seperti izin hak istimewa paling sedikit untuk peran dan kebijakan IAM, enkripsi saat istirahat dan dalam perjalanan, dan rotasi kunci otomatis. Untuk lingkungan produksi, pertimbangkan untuk menerapkan rekomendasi tambahan berikut:
Aktifkan MFA untuk pengguna Amazon Cognito
AWS ShieldMelaksanakan perlindungan penolakan layanan (DDoS) terdistribusi
Konfigurasikan AWS Configuntuk pemantauan kepatuhan berkelanjutan
Implementasikan AWS CloudTrailuntuk pencatatan API yang komprehensif
Siapkan Amazon GuardDuty untuk deteksi ancaman di luar pemindaian malware
Implementasikan AWS Security Hubuntuk manajemen keamanan terpusat
Gunakan AWS Secrets Manageruntuk manajemen kredensi
Menerapkan pemantauan lalu lintas jaringan dengan Traffic Mirroring
Konfigurasikan Amazon Macie untuk penemuan dan perlindungan data sensitif di Amazon S3
Menerapkan penilaian keamanan reguler dan pengujian penetrasi
Menetapkan rencana respon insiden formal
Menerapkan penambalan otomatis untuk semua komponen
Melakukan pelatihan keamanan reguler untuk administrator
Siapkan AWS Organizationsuntuk manajemen keamanan multi-akun
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Kloning repositori. | Masukkan perintah berikut untuk mengkloning repositori solusi pemindaian GuardDuty malware
| Pengembang aplikasi, DevOps insinyur |
Buat CloudFormation tumpukan. |
| Administrator cloud, DevOps insinyur |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Aktifkan perlindungan malware. |
| Administrator cloud, administrator AWS |
Tambahkan pengguna ke kumpulan pengguna. | Tambahkan satu atau beberapa pengguna ke kumpulan pengguna Amazon Cognito. Untuk petunjuknya, lihat Mengelola pengguna di kumpulan pengguna Anda di dokumentasi Amazon Cognito. | Administrator cloud, administrator AWS |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Connect ke endpoint server SFTP. |
| Pengembang aplikasi, administrator Cloud, arsitek Cloud, DevOps insinyur |
Pemecahan Masalah
| Isu | Solusi |
|---|---|
Otentikasi pengguna gagal |
|
Otentikasi SFTP gagal |
|
Akses unggahan file ditolak |
|
Tidak ada pemindaian malware |
|
Kesalahan fungsi Lambda |
|
Sumber daya terkait
Aplikasi web Transfer Family (Dokumentasi Transfer Family)
Informasi tambahan
Perintah yang berguna untuk pemecahan masalah
Periksa status CloudFormation tumpukan:
aws cloudformation describe-stacks \ --stack-name <STACK_NAME>
Daftar semua pengguna di kumpulan pengguna Amazon Cognito:
aws cognito-idp list-users \ --user-pool-id <USER_POOL_ID>
Lihat log untuk fungsi Lambda:
aws logs describe-log-groups \ --log-group-name-prefix /aws/lambda/
Periksa status GuardDuty:
aws guardduty list-detectors
Periksa aturan grup keamanan:
aws ec2 describe-security-groups \ --group-ids <SECURITY_GROUP_ID> \ --output table
Periksa status AWS Transfer Family server:
aws transfer describe-server \ --server-id <SERVER_ID>
Daftar semua file dalam ember Amazon S3:
aws s3 ls s3://<BUCKET_NAME>/ \ --recursive
Periksa status EventBridge aturan:
aws events describe-rule \ --name <RULE_NAME>