Mengonfigurasi rangkaian penyandian pada {i>hostRouter

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

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

Cipher suite adalah serangkaian 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, permintaan akan gagal dengan kegagalan Handshake TLS.

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

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

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

Suite cipher dapat dikonfigurasi baik di host virtual maupun Router Apigee. Perlu diketahui bahwa Apigee hanya menerima cipher suite dalam format cipher string OpenSSL di host virtual dan Router. Halaman manual cipher OpenSSL menyediakan cipher suite SSL atau TLS dari spesifikasi yang relevan dan yang setara dengan OpenSSL.

Contoh:

Jika ingin mengonfigurasi rangkaian cipher TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 di host virtual atau Router Apigee, 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 perlu menggunakan cipher string OpenSSL ECDHE-RSA-AES128-GCM-SHA256 saat mengonfigurasi cipher suite di host virtual atau di Router Apigee.

Sebelum memulai

Mengonfigurasi cipher suite pada {i>virtual host<i}

Bagian ini menjelaskan cara mengonfigurasi cipher suite di host virtual yang terkait dengan organisasi dan lingkungan. Suite cipher dapat dikonfigurasi di host virtual melalui properti ssl_ciphers, yang mewakili 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 Edge UI, lakukan hal berikut:

  1. Login ke Edge UI.
  2. Buka Admin > Virtual Hosts.
  3. Pilih Lingkungan tertentu tempat Anda ingin melakukan perubahan ini.
  4. Pilih {i>host<i} virtual tertentu yang ingin Anda konfigurasi cipher suitenya.
  5. Di bagian Properties, perbarui nilai Ciphers dengan daftar string cipher OpenSSL yang dipisahkan 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 ditunjukkan dalam tabel berikut:

    Suite Cipher Cipher string 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 pada 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 payload JSON konfigurasi host virtual yang ada 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 ditunjukkan dalam tabel berikut:

    Suite Cipher Cipher string 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 diupdate dalam file. Contoh: virtualhost-payload.json
  4. Update konfigurasi virtualhost dengan perubahan tersebut 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 pada virtual host

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

  1. Jalankan Get virtual host API untuk mendapatkan konfigurasi virtualhost 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}
    
  2. Pastikan properti ssl_ciphers telah ditetapkan 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
    }
    

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

  3. Jika Anda masih melihat nilai lama untuk ssl_ciphers, pastikan bahwa 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 lagi dengan benar.
  4. Jika Anda masih belum dapat mengupdate atau menambahkan cipher suite ke host virtual, hubungi Dukungan Apigee Edge.

Mengonfigurasi rangkaian penyandian pada {i>Router<i}

Bagian ini menjelaskan cara mengonfigurasi rangkaian penyandian di {i>Router<i}. Suite cipher dapat dikonfigurasi melalui properti Router conf_load_balancing_load.balancing.driver.server.ssl.ciphers, yang mewakili cipher suite yang diterima dan dipisahkan titik dua.

Untuk mengonfigurasi cipher suite di Router, lakukan hal berikut:

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

    /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 dengan 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 ditunjukkan dalam tabel berikut:

    Suite Cipher Cipher string 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

    Dan 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 ini:
    chown apigee:apigee /opt/apigee/customer/application/router.properties
    
  5. Mulai ulang Router seperti yang ditunjukkan di bawah ini:
    /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 dimodifikasi 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 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 ditetapkan di router, perintah di atas akan menampilkan nilai baru.

    Berikut adalah contoh hasil dari perintah search di atas saat cipher suite diupdate 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
    

    Pada 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 cipher string OpenSSL DHE-RSA-AES128-GCM-SHA25 dan ECDHE-RSA-AES128-GCM-SHA256 di Router.

  3. Jika Anda masih melihat nilai lama untuk cipher suite conf_load_balancing_load.balancing.driver.server.ssl.ciphers, pastikan bahwa Anda telah mengikuti semua langkah yang diuraikan dalam Mengonfigurasi cipher suite di Router dengan benar. Jika Anda melewatkan langkah apa pun, ulangi semua langkah lagi dengan benar.
  4. Jika Anda masih belum dapat memodifikasi rangkaian Cipher di Router, hubungi Dukungan Apigee Edge.