

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
<a name="secure-file-transfers"></a>

*Manoj Kumar, Amazon Web Services*

## Ringkasan
<a name="secure-file-transfers-summary"></a>

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](https://docs.aws.amazon.com/guardduty/latest/ug/gdu-malware-protection-s3.html), 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
<a name="secure-file-transfers-prereqs"></a>

**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](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_settingup.html) di akun target
+ Perlindungan Malware untuk S3, [diaktifkan](https://docs.aws.amazon.com/guardduty/latest/ug/malware-protection-s3-get-started-independent.html) di akun target
+ Kuota layanan memungkinkan Anda untuk 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](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) dan [dikonfigurasi](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)

**Batasan**
+ Perlindungan Malware untuk S3 tunduk pada kuota, seperti ukuran file maksimum. Untuk informasi selengkapnya, lihat [Kuota dalam Perlindungan Malware untuk S3](https://docs.aws.amazon.com/guardduty/latest/ug/malware-protection-s3-quotas-guardduty.html) dan [Dukungan fitur Amazon S3 dalam dokumentasi](https://docs.aws.amazon.com/guardduty/latest/ug/supported-s3-features-malware-protection-s3.html). 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).
+ Solusinya mengimplementasikan kontrol akses berbasis IP hanya melalui grup keamanan.

## Arsitektur
<a name="secure-file-transfers-architecture"></a>

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.

![Menggunakan GuardDuty dan Cognito untuk mentransfer file dengan aman ke bucket Amazon S3.](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/39d98ebe-2844-4ccd-a497-9b796b7da5e8/images/05567010-e189-40e7-acab-74e77c4f8525.png)


Diagram menunjukkan alur kerja berikut:

1. Seorang pengguna terhubung ke titik akhir server SFTP di. AWS Transfer Family Ini memulai proses otentikasi dengan kumpulan pengguna Amazon Cognito.

1. Fungsi Lambda memulai proses otentikasi dan otorisasi dan memvalidasi kredensi pengguna dengan Amazon Cognito.

1. Fungsi Lambda mengembalikan bucket Amazon `UploadBucket` S3 sebagai direktori home. Pengguna mengasumsikan peran IAM untuk server Transfer Family, dan fungsi Lambda memberi tahu pengguna bahwa mereka telah berhasil diautentikasi.

1. Pengguna mengunggah file ke server SFTP Transfer Family. File disimpan di bucket `UploadBucket` Amazon S3.

1. GuardDuty memindai file untuk malware. Hasil pemindaian potensial adalah`NO_THREATS_FOUND`,`THREATS_FOUND`,`UNSUPPORTED`,`ACCESS_DENIED`, dan`FAILED`. Untuk hasil sampel, lihat [hasil pemindaian objek S3](https://docs.aws.amazon.com/guardduty/latest/ug/monitor-with-eventbridge-s3-malware-protection.html#s3-object-scan-status-malware-protection-s3-ev) dalam GuardDuty dokumentasi.

1.  EventBridge Aturan mendeteksi peristiwa hasil pemindaian.

1. EventBridge memulai fungsi Lambda perutean file.

1. Fungsi Lambda memproses acara dan memfilter file berdasarkan hasil pemindaian sebagai berikut:
   + File yang memiliki hasil `NO_THREATS_FOUND` pemindaian dikirim ke bucket `CleanBucket` Amazon S3.
   + File yang memiliki hasil `THREATS_FOUND` pemindaian dikirim ke bucket `MalwareBucket` Amazon S3.
   + File yang memiliki hasil `UNSUPPORTED` pemindaian dikirim ke bucket `ErrorBucket` Amazon S3.
   + File yang memiliki hasil `ACCESS_DENIED` pemindaian dikirim ke bucket `ErrorBucket` Amazon S3.
   + File yang memiliki hasil `FAILED` pemindaian dikirim ke bucket `ErrorBucket` Amazon S3.

   Semua file dienkripsi dengan file. AWS KMS key

1. Jika file dikirim ke bucket `MalwareBucket` Amazon S3, fungsi Lambda memulai topik Amazon SNS. Topik Amazon SNS mengirimkan pemberitahuan email ke alamat email yang Anda konfigurasikan.

## Alat
<a name="secure-file-transfers-tools"></a>

**Layanan AWS**
+ [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) membantu Anda memantau metrik sumber AWS daya Anda dan aplikasi yang Anda jalankan AWS secara real time.
+ [Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/what-is-amazon-cognito.html) menyediakan otentikasi, otorisasi, dan manajemen pengguna untuk aplikasi web dan seluler.
+ [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) adalah layanan bus acara tanpa server yang membantu Anda menghubungkan aplikasi Anda dengan data real-time dari berbagai sumber. Misalnya, AWS Lambda fungsi, titik akhir pemanggilan HTTP menggunakan tujuan API, atau bus acara di tempat lain. Akun AWS
+ [Amazon GuardDuty](https://docs.aws.amazon.com/guardduty/latest/ug/what-is-guardduty.html) 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)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) membantu Anda membuat dan mengontrol kunci kriptografi untuk membantu melindungi data Anda.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)adalah 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](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)) membantu Anda mengoordinasikan dan mengelola pertukaran pesan antara penayang dan klien, termasuk server web dan alamat email.
+ [Amazon Simple Storage Service (Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)) adalah layanan penyimpanan objek berbasis cloud yang membantu Anda menyimpan, melindungi, dan mengambil sejumlah data.
+ [AWS Transfer Family](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-family.html)membantu Anda mentransfer file masuk dan keluar dari layanan AWS penyimpanan melalui protokol SFTP, FTPS, atau FTP.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) 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](https://github.com/aws-samples/sample-secure-transfer-family-code).

## Praktik terbaik
<a name="secure-file-transfers-best-practices"></a>

 CloudFormation Template yang disediakan dirancang untuk menggabungkan banyak praktik AWS terbaik, seperti izin hak istimewa terkecil 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](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-mfa.html) Cognito
+ [AWS Shield](https://docs.aws.amazon.com/waf/latest/developerguide/shield-chapter.html)Melaksanakan perlindungan penolakan layanan (DDoS) terdistribusi
+ Konfigurasikan [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html)untuk pemantauan kepatuhan berkelanjutan
+ Implementasikan [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)untuk pencatatan API yang komprehensif
+ Siapkan [Amazon GuardDuty](https://docs.aws.amazon.com/guardduty/latest/ug/what-is-guardduty.html) untuk deteksi ancaman di luar pemindaian malware
+ Implementasikan [AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub-v2.html)untuk manajemen keamanan terpusat
+ Gunakan [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)untuk manajemen kredensi
+ Menerapkan pemantauan lalu lintas jaringan dengan [Traffic Mirroring](https://docs.aws.amazon.com/vpc/latest/mirroring/what-is-traffic-mirroring.html)
+ Konfigurasikan [Amazon Macie](https://docs.aws.amazon.com/macie/latest/user/what-is-macie.html) 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 Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)untuk manajemen keamanan multi-akun

## Epik
<a name="secure-file-transfers-epics"></a>

### Menyebarkan sumber daya
<a name="deploy-the-resources"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Kloning repositori. | Masukkan perintah berikut untuk mengkloning repositori [solusi pemindaian GuardDuty malware](https://github.com/aws-samples/sample-secure-transfer-family-code) ke workstation lokal Anda:AWS Transfer Family <pre>git clone https://github.com/aws-samples/sample-secure-transfer-family-code.git</pre> | Pengembang aplikasi, DevOps insinyur | 
| Buat CloudFormation tumpukan. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/secure-file-transfers.html) | Administrator cloud, DevOps insinyur | 

### Konfigurasikan sumber daya
<a name="configure-the-resources"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Aktifkan perlindungan malware. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/secure-file-transfers.html) | 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](https://docs.aws.amazon.com/cognito/latest/developerguide/managing-users.html) di dokumentasi Amazon Cognito. | Administrator cloud, administrator AWS | 

### Uji server SFTP
<a name="test-the-sftp-server"></a>


| Tugas | Deskripsi | Keterampilan yang dibutuhkan | 
| --- | --- | --- | 
| Connect ke endpoint server SFTP. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/secure-file-transfers.html) | Pengembang aplikasi, administrator Cloud, arsitek Cloud, DevOps insinyur | 

## Pemecahan masalah
<a name="secure-file-transfers-troubleshooting"></a>


| Isu | Solusi | 
| --- | --- | 
| Otentikasi pengguna gagal | [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/secure-file-transfers.html)[Untuk daftar AWS CLI perintah yang dapat membantu Anda melakukan langkah pemecahan masalah ini, lihat *Perintah berguna untuk pemecahan masalah* di bagian Informasi tambahan.](#secure-file-transfers-additional) | 
| Otentikasi SFTP gagal | [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/secure-file-transfers.html)[Untuk daftar AWS CLI perintah yang dapat membantu Anda melakukan langkah pemecahan masalah ini, lihat *Perintah berguna untuk pemecahan masalah* di bagian Informasi tambahan.](#secure-file-transfers-additional) | 
| Akses unggahan file ditolak | [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/secure-file-transfers.html)[Untuk daftar AWS CLI perintah yang dapat membantu Anda melakukan langkah pemecahan masalah ini, lihat *Perintah berguna untuk pemecahan masalah* di bagian Informasi tambahan.](#secure-file-transfers-additional) | 
| Tidak ada pemindaian malware | [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/secure-file-transfers.html)[Untuk daftar AWS CLI perintah yang dapat membantu Anda melakukan langkah pemecahan masalah ini, lihat *Perintah berguna untuk pemecahan masalah* di bagian Informasi tambahan.](#secure-file-transfers-additional) | 
| Kesalahan fungsi Lambda | [See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/secure-file-transfers.html)[Untuk daftar AWS CLI perintah yang dapat membantu Anda melakukan langkah pemecahan masalah ini, lihat *Perintah berguna untuk pemecahan masalah* di bagian Informasi tambahan.](#secure-file-transfers-additional) | 

## Sumber daya terkait
<a name="secure-file-transfers-resources"></a>
+ [Aplikasi web Transfer Family](https://docs.aws.amazon.com/transfer/latest/userguide/web-app.html) (Dokumentasi Transfer Family)

## Informasi tambahan
<a name="secure-file-transfers-additional"></a>

**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>
```