

# Enkripsi Data in Transit
<a name="encryption-of-data-in-transit"></a>

 Anda dapat memasang sistem file sehingga semua lalu lintas NFS dienkripsi saat in transit menggunakan Keamanan Lapisan Pengangkutan (TLS) 1.2 dengan cipher AES-256 standar industri. TLS adalah serangkaian protokol kriptografi standar industri yang digunakan untuk mengenkripsi informasi yang dipertukarkan melalui jaringan. AES-256 adalah cipher enkripsi 256-bit yang digunakan untuk transmisi data di TLS. Sebaiknya siapkan enkripsi saat in transit pada setiap klien yang mengakses sistem file. 

Anda dapat menggunakan kebijakan IAM untuk menerapkan enkripsi saat in transit untuk akses klien NFS ke Amazon EFS. Ketika klien terhubung ke sistem file, Amazon EFS akan mengevaluasi kebijakan sumber daya IAM untuk sistem file, yang disebut kebijakan sistem file, bersama dengan kebijakan IAM berbasis identitas apa pun, untuk menentukan izin akses sistem file yang sesuai untuk diberikan. Anda dapat menggunakan Kunci Kondisi `aws:SecureTransport` dalam kebijakan sumber daya sistem file untuk mendorong klien NFS untuk menggunakan TLS saat terhubung ke sistem file EFS.

**catatan**  
Anda harus menggunakan EFS mount helper untuk memasang sistem file Amazon EFS Anda agar menggunakan otorisasi IAM untuk mengontrol akses oleh klien NFS. Untuk informasi selengkapnya, lihat [Pemasangan dengan otorisasi IAM](https://docs.aws.amazon.com/efs/latest/ug/mounting-fs-mount-helper.html#mounting-IAM-option) dalam *Panduan Pengguna Amazon EFS*.

Contoh kebijakan sistem file EFS berikut memberlakukan enkripsi saat in transit dan memiliki karakteristik berikut:
+ `effect` adalah `allow`.
+ Principal diatur ke `*` untuk semua entitas IAM.
+ Tindakan diatur ke `ClientMount`, `ClientWrite`, `ClientRootAccess`.
+ Kondisi pemberian izin diatur ke `SecureTransport`. Hanya klien NFS yang menggunakan TLS untuk terhubung ke sistem file yang akan diberikan akses.

  ```
  {
    “Version”: “2012-10-17”,
    “Id”: “ExamplePolicy01”,
    “Statement”: [
      {
        “Sid”: “VisualEditior0”,
        “Effect”: “Allow”,
        “Principal”: {
          “AWS”: “*”,
        },
        “Action”: [
  “elasticfilesystem:ClientRootAccess”,
  “elasticfilesystem:ClientMount”,
  “elasticfilesystem:ClientWrite”
        ],
        “Condition”: {
          “Bool”: {
            “aws:SecureTransport”: “true”
          }
        }
      }
    ]
  }
  ```

  Anda dapat membuat kebijakan sistem file menggunakan konsol Amazon EFS atau menggunakan AWS CLI. 

Untuk membuat kebijakan sistem file menggunakan konsol EFS:

1. Buka [konsol Amazon EFS](https://console.aws.amazon.com/efs).

1. Pilih **File Systems** (Sistem File).

1. Pada halaman Sistem file, pilih sistem file yang ingin diedit atau dibuatkan kebijakan sistem file-nya. Halaman detail untuk sistem file tersebut ditampilkan.

1. Pilih **File system policy** (Kebijakan sistem file), lalu pilih **Edit.** Halaman Kebijakan sistem file muncul.  
![](http://docs.aws.amazon.com/id_id/whitepapers/latest/efs-encrypted-file-systems/images/image8.jpeg)

   * Buat kebijakan sistem file *

1. Dalam **Policy options** (Opsi kebijakan), kami menyarankan Anda memilih opsi kebijakan yang telah dikonfigurasikan sebelumnya sebagai berikut:
   + Cegah akses root secara default
   + Berlakukan akses hanya-baca secara default
   + Berlakukan enkripsi saat in transit untuk semua klien

   Jika Anda memilih kebijakan yang telah dikonfigurasi sebelumnya, objek JSON kebijakan akan ditampilkan di panel **Policy editor** (Editor kebijakan).

1. Gunakan **Grant additional permissions** (Berikan izin tambahan) untuk memberikan izin sistem file kepada principal IAM tambahan, termasuk akun AWS lainnya. Pilih **Add** (Tambahkan), lalu masukkan ARN Principal dari entitas yang Anda beri izin, lalu pilih **Permissions** (Izin) yang akan diberikan.

1. Gunakan **Kebijakan editor **untuk menyesuaikan kebijakan yang telah dikonfigurasi sebelumnya atau untuk membuat kebijakan Anda sendiri berdasarkan kebutuhan Anda. Saat Anda menggunakan editor, opsi kebijakan yang telah dikonfigurasi sebelumnya menjadi tidak tersedia. Untuk membatalkan perubahan kebijakan, pilih **Clear** (Kosongkan).

   Ketika Anda mengosongkan editor, kebijakan yang telah dikonfigurasikan sebelumnya akan tersedia lagi.

1. Setelah Anda selesai mengedit atau membuat kebijakan, pilih **Save** (Simpan). 

   Halaman detail untuk sistem file ditampilkan, yang menunjukkan kebijakan dalam **File system policy** (Kebijakan sistem file).

   Anda juga dapat membuat kebijakan sistem file secara terprogram menggunakan AWS CloudFormation, SDK AWS, atau API Amazon EFS secara langsung. Untuk informasi selengkapnya tentang membuat kebijakan sistem file, lihat [Membuat kebijakan sistem file](https://docs.aws.amazon.com/efs/latest/ug/create-file-system-policy.html) dalam *Panduan Pengguna Amazon EFS*.

## Menyiapkan Enkripsi Data in Transit
<a name="setting-up-encryption-of-data-in-transit"></a>

 Untuk menyiapkan enkripsi data in transit, kami sarankan Anda mengunduh EFS mount helper pada setiap klien. EFS mount helper adalah utilitas sumber terbuka yang disediakan AWS untuk menyederhanakan penggunaan EFS, termasuk menyiapkan enkripsi data in transit. EFS mount helper menggunakan opsi pemasangan yang direkomendasikan EFS secara default. 

EFS mount helper didukung pada distribusi Linux berikut:
+  Amazon Linux 2017.09\+ 
+  Amazon Linux 2\+ 
+  Debian 9\+ 
+  Fedora 28\+ 
+  Red Hat Enterprise Linux / CentOS 7\+ 
+  Ubuntu 16.04\+ 

Untuk menyiapkan enkripsi data in transit:

1.  Instal EFS mount helper: 
   +  Untuk Amazon Linux, gunakan perintah ini: 

     ```
     sudo yum install -y amazon-efs-utils
     ```
   +  Untuk distribusi Linux lainnya, unduh dari GitHub dan instal. 

     Paket amazon-efs-utils secara otomatis menginstal dependensi berikut: NFS client (nfs-utils), Network relay (stunnel), OpenSSL, dan Python.

1.  Pasang sistem file: 

   ```
         sudo mount -t efs -o tls {{file-system-id}}
         {{efs-mount-point}}
   ```
   +  `mount -t efs` memanggil EFS mount helper. 
   +  Menggunakan nama DNS dari sistem file atau alamat IP dari target pemasangan tidak didukung ketika pemasangan menggunakan EFS mount helper, jadi gunakan ID sistem file sebagai gantinya. 
   +  EFS mount helper menggunakan opsi pemasangan yang direkomendasikan AWS secara default. Mengganti opsi pemasangan default ini tidak disarankan tetapi kami memberikan fleksibilitas untuk melakukannya ketika terdapat kesempatan yang sesuai. Kami menyarankan untuk menguji secara menyeluruh setiap penggantian opsi pemasangan sehingga Anda memahami bagaimana perubahan ini memengaruhi akses dan performa sistem file. 
   +  Tabel berikut menunjukkan opsi pemasangan default yang digunakan oleh EFS helper mount.     
[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/whitepapers/latest/efs-encrypted-file-systems/encryption-of-data-in-transit.html)
   +  Tambahkan baris berikut ke `/etc/fstab` untuk secara otomatis memasang ulang sistem file Anda setelah sistem dimulai ulang. 

     ```
           {{file-system-id}} {{efs-mount-point}} efs _netdev, tls, iam 0 0
     ```

## Menggunakan Enkripsi Data in Transit
<a name="using-encryption-of-data-in-transit"></a>

 Jika organisasi Anda tunduk pada kebijakan korporasi atau peraturan yang mengharuskan enkripsi data in transit, sebaiknya gunakan enkripsi data in transit pada setiap klien yang mengakses sistem file. Enkripsi dan dekripsi dikonfigurasi pada tingkat koneksi dan menambahkan lapisan keamanan lainnya. 

 Memasang sistem file menggunakan EFS mount helper akan menyiapkan dan mempertahankan terowongan TLS 1.2 antara klien dan Amazon EFS, serta merutekan semua lalu lintas NFS melalui terowongan terenkripsi ini. Sertifikat yang digunakan untuk membuat koneksi TLS terenkripsi ditandatangani oleh Amazon Certificate Authority (CA) dan dipercaya oleh sebagian besar distribusi Linux modern. EFS mount helper juga menghasilkan proses watchdog guna memantau semua terowongan aman untuk setiap sistem file dan memastikan sistem file ini berjalan. 

Setelah menggunakan EFS mount helper untuk membuat koneksi terenkripsi ke Amazon EFS, tidak diperlukan input atau konfigurasi pengguna lain. Enkripsi akan terlihat untuk koneksi pengguna dan aplikasi yang mengakses sistem file.

Setelah berhasil memasang dan membuat koneksi terenkripsi ke sistem file EFS menggunakan EFS mount helper, output dari perintah pasang menunjukkan sistem file dipasang dan terowongan yang terenkripsi telah dibuat menggunakan localhost (127.0.0.1) sebagai relai jaringan. Lihat contoh output berikut.

```
      127.0.0.1:/ on {{efs-mount-point}} type nfs4
      (rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=20059,timeo=600,retrans=2,sec=sys,clientaddr=127.0.0.1,local_lock=none,addr=127.0.0.1)
```

 Untuk memetakan `efs-mount-point` ke sistem file EFS, lakukan kueri file mount.log dalam `/var/log/amazon/efs` dan temukan operasi pemasangan yang terakhir berhasil. Hal ini dapat dilakukan dengan menggunakan perintah grep sederhana berikut. 

```
      grep -E "Successfully
      mounted.*{{efs-mount-point}}"
      /var/log/amazon/efs/mount.log | tail -1
```

 Output dari perintah grep ini akan mengembalikan nama DNS dari sistem file EFS yang dipasang. Lihat contoh output di bawah ini. 

```
      2018-03-15 07:03:42,363 - INFO - Successfully mounted
      {{file-system-id}}.efs.{{region}}.amazonaws.com
      at {{efs-mount-point}}
```