Mengonfigurasi rangkaian penyandian pada {i>hostRouter

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Dokumen ini menjelaskan cara mengonfigurasi cipher suite di host virtual dan Router di Apigee Edge.

Cipher suite adalah sekumpulan algoritma yang membantu mengamankan koneksi jaringan yang menggunakan TLS. Klien dan server harus menyetujui cipher suite tertentu yang akan digunakan dalam bertukar pesan. Jika klien dan server tidak menyetujui cipher suite, maka permintaan akan gagal dengan kegagalan TLS Handshake.

Di Apigee, cipher suite harus disepakati bersama antara aplikasi klien dan Router.

Anda mungkin ingin mengubah cipher suite di Apigee Edge karena alasan berikut:

  • Untuk menghindari ketidakcocokan cipher suite antara aplikasi klien dan Router Apigee
  • Untuk menggunakan rangkaian sandi yang lebih aman, baik untuk memperbaiki kerentanan keamanan atau untuk meningkatkan keamanan

Cipher suite dapat dikonfigurasi di host virtual atau Router Apigee. Perhatikan bahwa Apigee hanya menerima cipher suite dalam format string cipher OpenSSL di host virtual dan Router. The OpenSSL ciphers manpage menyediakan rangkaian cipher SSL atau TLS dari spesifikasi yang relevan dan padanannya di OpenSSL.

Contoh:

Jika Anda ingin mengonfigurasi cipher suite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 di host virtual atau Apigee Router, Anda harus mengidentifikasi string cipher OpenSSL yang sesuai dari halaman manual cipher OpenSSL. String cipher OpenSSL untuk cipher suite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 adalah ECDHE-RSA-AES128-GCM-SHA256. Jadi, Anda harus menggunakan string cipher OpenSSL ECDHE-RSA-AES128-GCM-SHA256 saat mengonfigurasi cipher suite di host virtual atau di Router Apigee.

Sebelum memulai

Mengonfigurasi cipher suite di host virtual

Bagian ini menjelaskan cara mengonfigurasi cipher suite di host virtual yang terkait dengan organisasi dan lingkungan. Cipher suite dapat dikonfigurasi di host virtual melalui properti ssl_ciphers, yang merepresentasikan daftar cipher suite yang didukung oleh host virtual.

Lihat Cipher suite yang didukung untuk mengetahui daftar cipher suite yang didukung Apigee.

Anda dapat mengonfigurasi host virtual menggunakan salah satu metode berikut:

  • Menggunakan UI Edge
  • Menggunakan Edge API

Menggunakan UI Edge

Untuk mengonfigurasi host virtual menggunakan UI Edge, lakukan hal berikut:

  1. Login ke Edge UI.
  2. Buka Admin > Virtual Host.
  3. Pilih Lingkungan tertentu tempat Anda ingin melakukan perubahan ini.
  4. Pilih host virtual tertentu yang cipher suite-nya ingin Anda konfigurasi.
  5. Di bagian Properties, perbarui nilai Ciphers dengan daftar string cipher OpenSSL yang dibatasi titik dua.

    Misalnya, jika Anda hanya ingin mengizinkan cipher suite TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 dan TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, tentukan string cipher OpenSSL yang sesuai dari halaman manual cipher OpenSSL seperti yang ditunjukkan dalam tabel berikut:

    Cipher Suite String cipher OpenSSL
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    Tambahkan string cipher OpenSSL dengan pemisahan titik dua seperti yang ditunjukkan pada gambar berikut:

    Contoh cipher

  6. Simpan perubahan.

Menggunakan Edge API

Untuk mengonfigurasi cipher suite di host virtual menggunakan Edge API, lakukan hal berikut:

  1. Dapatkan konfigurasi host virtual saat ini menggunakan Get virtual host API seperti yang ditunjukkan di bawah ini:

    Pengguna Cloud Publik:

    curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}

    Pengguna Private Cloud:

    curl -v -X GET http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    {
      "hostAliases": [
        "api.myCompany,com"
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
  2. Tambahkan properti ssl_ciphers ke konfigurasi host virtual yang ada payload JSON di bagian properties dengan string cipher OpenSSL yang sesuai.

    Misalnya, jika Anda hanya ingin mengizinkan cipher suite TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 dan TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, tentukan string cipher OpenSSL yang sesuai dari halaman manual cipher OpenSSL seperti yang ditunjukkan dalam tabel berikut:

    Cipher Suite String cipher OpenSSL
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    Tambahkan blok kode properties berikut:

    Contoh konfigurasi host virtual yang diperbarui:

    {
      "hostAliases": [
        "api.myCompany,com",
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "properties": {
        "property": [
          {
            "name": "ssl_ciphers",
            "value": "DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256"
          }
        ]
      },
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
  3. Simpan konfigurasi host virtual yang telah diperbarui dalam file. Contoh: virtualhost-payload.json
  4. Perbarui konfigurasi virtualhost dengan perubahan menggunakan Update a virtual host API sebagai berikut:

    Pengguna Cloud Publik:

    curl -v -X POST Content-Type: application/json
    https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u {username}

    Pengguna Private Cloud:

    curl -v -X POST Content-Type: application/json
    http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u {username}

Cipher suite yang didukung

Apigee mendukung cipher suite berikut:

ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-SHA384
ECDHE-RSA-AES256-SHA
DHE-RSA-AES256-GCM-SHA384
DHE-RSA-AES256-SHA256
DHE-RSA-AES256-SHA
DHE-RSA-CAMELLIA256-SHA
AES256-GCM-SHA384
AES256-SHA256  
AES256-SHA
CAMELLIA256-SHA
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-SHA256
ECDHE-RSA-AES128-SHA
DHE-RSA-AES128-GCM-SHA256
DHE-RSA-AES128-SHA256
DHE-RSA-AES128-SHA
DHE-RSA-CAMELLIA128-SHA
AES128-GCM-SHA256
AES128-SHA256   
AES128-SHA 
CAMELLIA128-SHA

Memverifikasi cipher suite di host virtual

Bagian ini menjelaskan cara memverifikasi bahwa cipher suite telah berhasil diubah pada host virtual menggunakan Edge API.

  1. Jalankan Get virtual host API untuk mendapatkan konfigurasi virtualhost seperti yang ditunjukkan di bawah:

    Pengguna Cloud Publik:

    curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}

    Pengguna Private Cloud:

    curl -v -X GET http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
  2. Pastikan properti ssl_ciphers telah disetel ke nilai baru.

    Contoh konfigurasi host virtual yang diperbarui:

    {
      "hostAliases": [
        "api.myCompany,com",
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "properties": {
        "property": [
          {
            "name": "ssl_ciphers",
            "value": "DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256"
          }
        ]
      },
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }

    Dalam contoh di atas, perhatikan bahwa ssl_ciphers telah ditetapkan dengan nilai baru.

  3. Jika Anda masih melihat nilai lama untuk ssl_ciphers, pastikan Anda telah mengikuti semua langkah yang diuraikan dalam Mengonfigurasi cipher suite di host virtual dengan benar. Jika Anda melewatkan langkah apa pun, ulangi semua langkah dengan benar.
  4. Jika Anda masih tidak dapat memperbarui atau menambahkan cipher suite ke host virtual, hubungi Dukungan Apigee Edge.

Mengonfigurasi cipher suite di Router

Bagian ini menjelaskan cara mengonfigurasi cipher suite di Router. Cipher suite dapat dikonfigurasi melalui properti Router conf_load_balancing_load.balancing.driver.server.ssl.ciphers, yang merepresentasikan cipher suite yang diterima yang dipisahkan dengan titik dua.

Untuk mengonfigurasi cipher suite di Router, lakukan hal berikut:

  1. Di mesin Router, buka file berikut di editor. Jika belum ada, buat.

    /opt/apigee/customer/application/router.properties

    Misalnya, untuk membuka file dengan vi, masukkan perintah berikut:

    vi /opt/apigee/customer/application/router.properties
  2. Tambahkan baris dalam format berikut ke file properties, dengan mengganti nilai untuk colon_separated_cipher_suites:
    conf_load_balancing_load.balancing.driver.server.ssl.ciphers=colon_separated_cipher_suites

    Misalnya, jika Anda hanya ingin mengizinkan cipher suite TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 dan TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, tentukan string cipher OpenSSL yang sesuai dari halaman manual cipher OpenSSL seperti yang ditunjukkan dalam tabel berikut:

    Cipher Suite String cipher OpenSSL
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    Kemudian, tambahkan baris berikut:

    conf_load_balancing_load.balancing.driver.server.ssl.ciphers=DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256
  3. Simpan perubahan.
  4. Pastikan file properti ini dimiliki oleh pengguna apigee seperti yang ditunjukkan di bawah:
    chown apigee:apigee /opt/apigee/customer/application/router.properties
  5. Mulai Ulang Router seperti yang ditunjukkan di bawah:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  6. Jika Anda memiliki lebih dari satu Router, ulangi langkah-langkah di atas pada semua Router.

Memverifikasi cipher suite di Router

Bagian ini menjelaskan cara memverifikasi bahwa cipher suite telah berhasil diubah di Router.

  1. Di Router, telusuri properti conf_load_balancing_load.balancing.driver.server.ssl.ciphers menggunakan utilitas penelusuran Apigee dari folder /opt/apigee dan periksa apakah properti tersebut telah ditetapkan dengan nilai baru sebagai berikut:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.server.ssl.ciphers
  2. Jika cipher suite baru berhasil disetel di router, perintah di atas akan menampilkan nilai baru.

    Berikut adalah contoh hasil dari perintah search di atas saat cipher suite diperbarui ke DHE-RSA-AES128-GCM-SHA256 dan ECDHE-RSA-AES128-GCM-SHA256:

    Found key conf_load_balancing_load.balancing.driver.server.ssl.ciphers, with value, DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256, in /opt/apigee/customer//application/router.properties

    Dalam contoh output di atas, perhatikan bahwa properti conf_load_balancing_load.balancing.driver.server.ssl.ciphers telah ditetapkan dengan nilai cipher suite baru. Hal ini menunjukkan bahwa cipher suite berhasil diupdate ke string cipher OpenSSL DHE-RSA-AES128-GCM-SHA25dan ECDHE-RSA-AES128-GCM-SHA256 di Router.

  3. Jika Anda masih melihat nilai lama untuk rangkaian sandi conf_load_balancing_load.balancing.driver.server.ssl.ciphers, maka verifikasi bahwa Anda telah mengikuti semua langkah yang diuraikan dalam Mengonfigurasi rangkaian sandi di Router dengan benar. Jika Anda melewatkan langkah apa pun, ulangi semua langkah dengan benar.
  4. Jika Anda masih tidak dapat mengubah Cipher suites di Router, hubungi Dukungan Apigee Edge.