Mengonfigurasi TLS untuk Management API

Secara default, TLS dinonaktifkan untuk API pengelolaan dan Anda mengakses API pengelolaan Edge melalui HTTP dengan menggunakan alamat IP node Management Server dan port 8080. Contoh:

http://ms_IP:8080

Atau, Anda dapat mengonfigurasi akses TLS ke API pengelolaan sehingga Anda dapat mengaksesnya di bentuknya:

https://ms_IP:8443

Dalam contoh ini, Anda mengonfigurasi akses TLS untuk menggunakan port 8443. Namun, nomor porta itu diperlukan oleh Edge - Anda dapat mengonfigurasi Server Pengelolaan untuk menggunakan nilai port lainnya. Satu-satunya persyaratan adalah firewall Anda mengizinkan lalu lintas data melalui porta yang telah ditentukan.

Untuk memastikan enkripsi traffic ke dan dari API pengelolaan Anda, konfigurasi setelan di /opt/apigee/customer/application/management-server.properties .

Selain konfigurasi TLS, Anda juga dapat mengontrol validasi sandi (panjang sandi dan kekuatan) dengan memodifikasi file management-server.properties.

Pastikan port TLS Anda terbuka

Prosedur di bagian ini mengonfigurasi TLS untuk menggunakan port 8443 di Server Pengelolaan. Terlepas dari port yang digunakan, Anda harus memastikan bahwa port terbuka di Pengelolaan Server. Misalnya, Anda dapat menggunakan perintah berikut untuk membukanya:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT --verbose

Mengonfigurasi TLS

Edit /opt/apigee/customer/application/management-server.properties untuk mengontrol penggunaan TLS pada traffic ke dan dari API pengelolaan Anda. Jika file ini tidak ada, membuatnya.

Untuk mengonfigurasi akses TLS ke API pengelolaan:

  1. Buat file JKS keystore yang berisi sertifikasi TLS dan kunci pribadi Anda. Untuk selengkapnya lihat Mengonfigurasi TLS/SSL untuk Edge On Premises.
  2. Salin file JKS keystore ke direktori pada node Management Server, misalnya sebagai /opt/apigee/customer/application.
  3. Ubah kepemilikan file JKS ke "apigee" pengguna:
    chown apigee:apigee keystore.jks

    Dengan keystore.jks adalah nama file keystore Anda.

  4. Edit /opt/apigee/customer/application/management-server.properties untuk mengatur properti berikut. Jika file tersebut tidak ada, buat file tersebut:
    conf_webserver_ssl.enabled=true
    # Leave conf_webserver_http.turn.off set to false
    # because many Edge internal calls use HTTP.
    conf_webserver_http.turn.off=false
    conf_webserver_ssl.port=8443
    conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks
    # Enter the obfuscated keystore password below.
    conf_webserver_keystore.password=OBF:obfuscatedPassword

    Dengan keyStore.jks adalah file keystore Anda, dan obfuscatedPassword adalah sandi keystore Anda yang di-obfuscate. Lihat Mengonfigurasi TLS/SSL untuk Edge On Premises untuk informasi tentang cara membuat {i> password<i} yang di-obfuscate.

  5. Mulai ulang Server Pengelolaan Edge dengan menggunakan perintah:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

API pengelolaan kini mendukung akses melalui TLS.

Mengonfigurasi UI Edge agar menggunakan TLS untuk mengakses Edge API

Dalam prosedur di atas, Apigee merekomendasikan untuk keluar conf_webserver_http.turn.off=false agar UI Edge dapat terus melakukan panggilan Edge API melalui HTTP.

Gunakan prosedur berikut untuk mengonfigurasi UI Edge untuk melakukan panggilan ini hanya melalui HTTPS:

  1. Konfigurasi akses TLS ke API pengelolaan seperti yang dijelaskan di atas.
  2. Setelah mengonfirmasi bahwa TLS berfungsi untuk API pengelolaan, edit /opt/apigee/customer/application/management-server.properties hingga tetapkan properti berikut:
    conf_webserver_http.turn.off=true
  3. Mulai ulang Server Pengelolaan Edge dengan menjalankan perintah berikut:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart 
  4. Edit /opt/apigee/customer/application/ui.properties untuk mengatur properti berikut untuk UI Edge:
    conf_apigee_apigee.mgmt.baseurl="https://FQ_domain_name:port/v1"

    Dengan FQ_domain_name adalah nama domain lengkap, sesuai dengan sertifikat Anda server Pengelolaan, dan port adalah port yang ditentukan di atas oleh conf_webserver_ssl.port.

    Jika ui.properties tidak ada, Anda dapat membuatnya.

  5. Hanya jika Anda menggunakan sertifikat yang ditandatangani sendiri (tidak direkomendasikan dalam produksi lingkungan) saat mengonfigurasi akses TLS ke API pengelolaan di atas, tambahkan atribut properti berikut ke ui.properties:
    conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=true

    Jika tidak, UI Edge akan menolak sertifikat yang ditandatangani sendiri.

  6. Mulai ulang UI Edge dengan menjalankan perintah berikut:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Properti TLS untuk Server Pengelolaan

Tabel berikut mencantumkan semua properti TLS/SSL yang dapat Anda tetapkan management-server.properties:

Properti Deskripsi

conf_webserver_http.port=8080

Defaultnya adalah 8080.

conf_webserver_ssl.enabled=false

Untuk mengaktifkan/menonaktifkan TLS/SSL. Dengan mengaktifkan TLS/SSL (true), Anda juga harus menyetel ssl.port dan keystore.path.

conf_webserver_http.turn.off=true

Untuk mengaktifkan/menonaktifkan http beserta https. Jika Anda hanya ingin menggunakan HTTPS, biarkan nilai default ke true.

conf_webserver_ssl.port=8443

Port TLS/SSL.

Wajib jika TLS/SSL diaktifkan (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.path=path

Jalur ke file keystore Anda.

Wajib jika TLS/SSL diaktifkan (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.password=password

Gunakan sandi yang di-obfuscate dalam format ini: OBF:xxxxxxxxxx

conf_webserver_cert.alias=alias

Alias sertifikat keystore opsional

conf_webserver_keymanager.password=password

Jika pengelola kunci Anda memiliki sandi, masukkan versi sandi yang di-obfuscate di format ini:

OBF:xxxxxxxxxx

conf_webserver_trust.all=[false | true]

conf_webserver_trust.store.path=path

conf_webserver_trust.store.password=password

Konfigurasi setelan untuk trust store Anda. Tentukan apakah Anda ingin menerima semua Sertifikat TLS/SSL (misalnya, untuk menerima jenis non-standar). Nilai defaultnya adalah false. Berikan jalur ke trust store Anda, dan masukkan sandi trust store yang di-obfuscate dalam format ini:

OBF:xxxxxxxxxx

conf_http_HTTPTransport.ssl.cipher.suites.blacklist=CIPHER_SUITE_1, CIPHER_SUITE_2

conf_http_HTTPTransport.ssl.cipher.suites.whitelist=

Tunjukkan rangkaian penyandian apa pun yang ingin Anda sertakan atau kecualikan. Misalnya, jika Anda menemukan kerentanan dalam penyandian, Anda dapat mengecualikannya di sini. Memisahkan beberapa cipher dengan koma.

Penyandian apa pun yang Anda hapus melalui daftar hitam akan lebih diutamakan daripada penyandian apa pun yang disertakan melalui daftar yang disetujui.

Catatan: Secara default, jika tidak ada daftar hitam atau daftar putih yang ditentukan, cipher akan cocok ekspresi reguler Java berikut dikecualikan secara default.

^.*_(MD5|SHA|SHA1)$
^TLS_RSA_.*$
^SSL_.*$
^.*_NULL_.*$
^.*_anon_.*$

Namun, jika Anda menentukan daftar hitam, filter ini diganti, dan Anda harus memasukkan semua penyandian ke daftar yang tidak diizinkan satu per satu.

Untuk informasi tentang rangkaian cypher dan arsitektur kriptografi, lihat Dokumentasi Penyedia Oracle Arsitektur Kriptografi Java untuk JDK 8.

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

Bilangan bulat yang menentukan:

  • Ukuran cache sesi TLS/SSL (dalam byte) untuk menyimpan informasi sesi untuk banyak klien.
  • Jumlah waktu sesi TLS/SSL dapat berlangsung sebelum waktu habis (di milidetik).