Memasang sertifikat SSL di Amazon Web Services (AWS)

Amazon Web Services menyediakan instans hosting yang dapat digunakan untuk meng-host server dan aplikasi umum, serta beberapa layanan tambahan tertentu. Karena itu, ada beberapa opsi untuk menginstal sertifikat SSL di AWS.

Artikel ini menjelaskan cara menginstal sertifikat SSL Anda pada beberapa aplikasi atau layanan tertentu yang terkait dengan Amazon. Di bawah ini adalah isi utama artikel:

  • Beberapa informasi prasyarat
  • Awan Komputasi Elastis (EC2)
  • Penyeimbang Beban Elastis (ELB)
  • Gerbang API AWS
  • Amazon CloudFront

 

Beberapa informasi prasyarat

Untuk instalasi SSL, Anda biasanya memerlukan tiga komponen: sertifikat, rantai sertifikat perantara (bundel CA) dan kunci Pribadi.

  • Sertifikat SSL dikirim sebagai file berformat PEM dengan ekstensi .crt . Jika ekstensi tidak ditampilkan di sistem Anda secara default untuk semua file, SSL akan memiliki “Sertifikat keamanan ” dalam deskripsi file. File yang sama juga dapat diunduh dengan cara ini .

    Di dalam file tersebut terdapat kode seperti ini:

  • Sebuah Menengah rantai sertifikat (CA-bundel) juga dikirimkan dalam file PEM-format, tetapi file ini memiliki ca-bundel ekstensi. Di dalam file, biasanya ada satu atau dua kode yang mirip dengan sertifikat. Bundel CA, seperti halnya sertifikat, biasanya ada di arsip SSL yang Anda terima setelah aktivasi SSL. Bisa juga di download disini .
  • Sebuah kunci Swasta dihasilkan bersama dengan permintaan penandatanganan sertifikat (CSR) yang digunakan untuk mengaktifkan SSL Anda. Jika Anda membuat CSR di server Anda, kuncinya disimpan di tempat yang sama. Memiliki . ekstensi kunci .

    Ini berisi kode seperti ini:

Di server Anda, konten file dapat diperiksa menggunakan perintah cat (tentukan nama file sebenarnya dalam perintah Anda):

cat example.crt
Pada mesin lokal, Anda dapat mengklik kanan pada file, pilih Open with , dan pilih editor teks biasa.

Komponen SSL yang disebutkan di atas terkadang perlu diunggah sebagai file atau diunggah sebagai kode, tergantung pada layanan Amazon tertentu yang Anda gunakan.

Awan Komputasi Elastis (EC2)

Jika Anda memiliki EC2, biasanya itu berarti bahwa server web, email, atau aplikasi terpisah telah diinstal, dan SSL harus diinstal pada server tersebut. Untuk informasi lebih lanjut tentang menginstal sertifikat SSL, Anda dapat merujuk ke petunjuk di sini .
Hal-hal akan sedikit berbeda jika Anda menggunakan AMI Amazon Linux.
Amazon Linux adalah distribusi Linux khusus yang disediakan oleh Amazon. Biasanya didasarkan pada CentOS Linux dengan server Apache diinstal (meskipun versi berbasis Debian juga ada).
Di Amazon Linux 2, proses penginstalan sama persis dengan penginstalan SSL biasa pada server Apache di CentOS .
Untuk versi Amazon Linux lainnya, ada satu kekhasan. Untuk menjalankan koneksi HTTPS terenkripsi pada server web Apache, mod_ssl perlu diinstal dengan bantuan perintah yang sedikit berbeda dengan yang biasanya digunakan di Apache:

sudo yum install -y mod24_ssl
Lokasi file konfigurasi SSL default di AMI Linux adalah /etc/httpd/conf.d/ssl.conf . Semua perubahan yang diperlukan untuk menginstal SSL dapat dilakukan di dalam file ini.

Penyeimbang Beban Elastis (ELB)

Load balancer adalah layanan khusus yang memungkinkan pengelolaan lalu lintas di beberapa instance hosting. Amazon menyediakan layanan penyeimbang beban yang dapat diamankan dengan sertifikat SSL.
Anda dapat mengunggah SSL secara langsung melalui antarmuka grafis ke AWS certificate manager (ACM) (1) atau melakukannya melalui baris perintah di AWS Identity & Access Management (IAM) (2) .

  • Opsi pertama cukup sederhana. Selama pembuatan Load balancer, Anda dapat mengimpor sertifikat baru di langkah kedua penyiapan:

Cukup pilih untuk mengunggah sertifikat ke ACM (opsi ini menetapkan SSL default untuk semua kasus yang belum ditetapkan) atau IAM (yang ini memungkinkan Anda untuk menambahkan beberapa SSL) dan menempelkan ketiga komponen SSL sebagai kode:

  1. The Sertifikat dalam “tubuh Sertifikat” bentuk;
  2. CA-bundel dalam bentuk “Rantai sertifikat”;
  3. Dan kunci Pribadi dalam bentuk “Kunci pribadi”.
Pilih kebijakan keamanan dari daftar drop-down (yang default akan berfungsi dengan baik) dan lanjutkan dengan pengaturan penyeimbang beban.
SSL juga dapat ditambahkan nanti dengan masuk ke menu Load Balancers >> Listeners >> View/edit certificates .
Klik tombol + (plus) untuk menambahkan sertifikat baru dan buka panel Impor sertifikat .
Formulir untuk unggahan SSL akan menunjukkan:
  • Untuk opsi kedua , unggah sertifikat, Kunci pribadi, dan CA Bundle ke server Anda dan buka baris perintah. Ketiga file dapat diinstal menggunakan satu perintah:
aws iam upload-server-certificate --server-certificate-name certificate_object_name --certificate-body file://*path to your certificate file* --private-key file://*path to your private key file* --certificate-chain file://*path to your CA-bundle file*

 

Catatan: Saat Anda menentukan file sebagai parameter (misalnya, untuk certificate-bodydan private-keyparameter), file:// harus disertakan sebagai bagian dari nama file.
 
Catatan: The certificate_object_nameparameter digunakan untuk menetapkan nama Anda sendiri untuk sertifikat sehingga Anda dapat mengidentifikasi lebih lanjut.
 
Saat Anda mengunggah file sertifikat, IAM akan memvalidasi file jika kriteria berikut terpenuhi:
  1. Sertifikat harus dalam format PEM X.509.
  2. Tanggal saat ini harus berada di antara penerbitan sertifikat dan tanggal kedaluwarsa.
  3. File sertifikat dan kunci Pribadi hanya boleh berisi satu item, artinya satu file sertifikat dan satu kunci yang sesuai.
  4. Kunci pribadi harus cocok dengan sertifikat.
  5. Kunci pribadi harus dalam format PEM, sama seperti sertifikatnya. Format teks yang benar dalam file kunci harus dimulai dengan —–BEGIN RSA PRIVATE KEY—– dan diakhiri dengan —–END RSA PRIVATE KEY—–.
  6. Kunci Pribadi tidak boleh dienkripsi dengan kata sandi.
Setelah file diunggah, Anda dapat memverifikasi informasi sertifikat di penyimpanan IAM dengan menggunakan perintah berikut:
aws iam get-server-certificate --server-certificate-name certificate_object_name
 
Outputnya akan terlihat seperti ini:
arn:aws:iam::Your_AWS_Account_ID:server-certificate/Your_Certificate_Object_Name Certificate_Object_GUID

Your_AWS_Account_IDadalah Nama Sumber Daya Amazon (ARN) yang unik dan Certificate_Object_GUIDmerupakan ID sertifikat.
Berikut ini contohnya:
arn:aws:iam::123456789012:server-certificate/certificate_object_name ADGTHexampleLKBASAH
Digit di baris pertama adalah ARN, dan baris kedua adalah ID sertifikat.

  • Jika Anda perlu memperbarui sertifikat untuk penyeimbang beban HTTPS , Anda harus menggunakan ARN sertifikat. Perintah berikut digunakan dalam kasus seperti itu untuk mengatur sertifikat untuk penyeimbang beban:
aws elb set-load-balancer-listener-ssl-certificate --load-balancer-name my-loadbalancer --load-balancer-port 443 --ssl-certificate-id arn:aws:iam::123456789012:server-certificate/certificate_object_name
Parameter my-loadbalanceradalah nama penyeimbang beban Anda.
Untuk detail lebih lanjut tentang membuat penyeimbang beban HTTPS dan mengatur namanya, silakan periksa panduan berikut .

Gerbang API AWS

Secara default, Amazon API menggunakan tautan akses default yang terlihat seperti ini:
https://api-id.execute-api.region.amazonaws.com/stage
Dalam beberapa kasus, lebih mudah untuk menyiapkan nama host khusus untuknya. Tautan khusus juga dapat diamankan dengan sertifikat SSL.
Prosesnya mirip dengan pengamanan load balancer.
  1. Masuk ke konsol AWS Certificate Manager.
  2. Pilih opsi Impor sertifikat.
  3. Formulir serupa untuk unggahan SSL akan terbuka.

  4. Tempelkan kode file sertifikat sebagai “Tubuh sertifikat”, kode bundel CA sebagai “Rantai sertifikat” dan Kode kunci pribadi sebagai “Kunci pribadi sertifikat” dan klik Berikutnya .
  5. Simpan perubahan dengan memilih opsi Tinjau dan impor .
  6. Pilih opsi Nama domain khusus dari menu API Gateway .
  7. Pilih nama domain kustom Anda.
  8. Klik Sunting .
  9. Pilih SSL yang benar dari daftar drop-down dan simpan perubahannya.

Mengingat! Sertifikat dapat memakan waktu hingga 40 menit untuk diterapkan.
Atau, Anda juga dapat menginstal SSL melalui domainname:updatepanggilan API melalui baris perintah.
Permintaan itu sendiri akan terlihat seperti ini:

PATCH /domainnames/*Your API domain name*

{
  "patchOperations" : [ {
  "op" : replace,
  "path" : *parameter used to identify the SSL*,
  "value" : *parameter value*,
  "from" : // optional parameter where you can specify what specific part of the application should use the SSL.
  } ]
}
Rincian lebih lanjut tentang perintah dapat ditemukan di sini .

Amazon CloudFront

Amazon CloudFront adalah layanan web yang memungkinkan Anda mempercepat distribusi konten di lokasi yang berbeda dengan menyimpan sebagian konten di penyimpanan khusus.
Anda dapat mengunggah sertifikat SSL melalui pengelola SSL atau melalui baris perintah, seperti yang dijelaskan di atas .
Setelah menambahkan SSL, pengaturan CloudFront perlu diperbarui sebagai berikut:

  1. Buka konsol AWS Anda dan buka konsol CloudFront .
  2. Pilih ID entitas CloudFront yang perlu diperbarui.
  3. Buka tab Umum dan pilih Edit .

  4. Perbarui Nama Domain Alternatif (CNAME) dengan nama domain SSL Anda dan pilih SSL yang benar dari daftar.

  5. Klik Ya, Sunting .
  6. Setelah ini, Anda dapat membuka tab Perilaku dan mengatur pengalihan dari HTTP ke HTTPS atau mengatur Cloudfront ke HTTPS saja.

SSL juga dapat diatur selama pembuatan entitas CloudFront.
Catatan : Jika Anda ingin menggunakan sertifikat ACM dengan Amazon CloudFront, pastikan Anda mengimpor sertifikat yang disimpan di wilayah AS Timur (Virginia Utara). Jika tidak, gunakan sertifikat yang diimpor ke IAM.

Tinggalkan komentar