Mengonfigurasi TLS untuk UI pengelolaan

Edge for Private Cloud v4.19.01

Secara default, Anda mengakses UI pengelolaan Edge melalui HTTP menggunakan alamat IP node Server Pengelolaan dan port 9000. Contoh:

http://ms_IP:9000

Atau, Anda dapat mengonfigurasi akses TLS ke UI pengelolaan sehingga Anda dapat mengaksesnya dalam bentuk:

https://ms_IP:9443

Dalam contoh ini, Anda akan mengonfigurasi akses TLS untuk menggunakan port 9443. Namun, nomor port tersebut tidak diperlukan oleh Edge - Anda dapat mengonfigurasi Server Pengelolaan untuk menggunakan nilai port lain. Satu-satunya persyaratan adalah firewall Anda mengizinkan traffic melalui port yang ditentukan.

Pastikan port TLS Anda terbuka

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

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

Mengonfigurasi TLS

Gunakan prosedur berikut untuk mengonfigurasi akses TLS ke UI pengelolaan:

  1. Buat file JKS keystore yang berisi sertifikasi TLS dan kunci pribadi Anda, lalu salin ke node Server Pengelolaan. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi TLS/SSL untuk Edge On Premises.
  2. Jalankan perintah berikut untuk mengonfigurasi TLS:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl
  3. Masukkan nomor port HTTPS, misalnya, 9443.
  4. Tentukan apakah Anda ingin menonaktifkan akses HTTP ke UI pengelolaan. Secara default, UI pengelolaan dapat diakses melalui HTTP di port 9000.
  5. Masukkan algoritma keystore. Defaultnya adalah JKS.
  6. Masukkan jalur absolut ke file JKS keystore.

    Skrip ini menyalin file ke direktori /opt/apigee/customer/conf di node Server Pengelolaan, dan mengubah kepemilikan file menjadi "apigee".

  7. Masukkan sandi keystore teks biasa.
  8. Skrip kemudian memulai ulang UI pengelolaan Edge. Setelah dimulai ulang, UI pengelolaan akan mendukung akses melalui TLS.

    Anda dapat melihat setelan ini di /opt/apigee/etc/edge-ui.d/SSL.sh.

Menggunakan file konfigurasi untuk mengonfigurasi TLS

Sebagai alternatif untuk prosedur di atas, Anda dapat meneruskan file konfigurasi ke perintah pada langkah 2 prosedur. Anda harus menggunakan metode ini jika ingin menetapkan properti TLS opsional.

Untuk menggunakan file konfigurasi, buat file baru dan tambahkan properti berikut:

HTTPSPORT=9443
DISABLE_HTTP=y
KEY_ALGO=JKS
KEY_FILE_PATH=/opt/apigee/customer/application/mykeystore.jks
KEY_PASS=clearTextKeystorePWord

Simpan file di direktori lokal dengan nama yang Anda inginkan. Kemudian, gunakan perintah berikut untuk mengonfigurasi TLS:

/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile

dengan configFile adalah jalur lengkap ke file yang Anda simpan.

Mengonfigurasi Edge UI saat TLS dihentikan di load balancer

Jika Anda memiliki load balancer yang meneruskan permintaan ke UI Edge, Anda dapat memilih untuk menghentikan koneksi TLS di load balancer, lalu meminta load balancer meneruskan permintaan ke UI Edge melalui HTTP. Konfigurasi ini didukung, tetapi Anda perlu mengonfigurasi load balancer dan UI Edge sebagaimana mestinya.

Konfigurasi tambahan diperlukan saat UI Edge mengirim email kepada pengguna untuk menyetel sandi saat pengguna dibuat atau saat pengguna meminta untuk mereset sandi yang hilang. Email ini berisi URL yang dipilih pengguna untuk menetapkan atau mereset sandi. Secara default, jika Edge UI tidak dikonfigurasi untuk menggunakan TLS, URL dalam email yang dihasilkan akan menggunakan protokol HTTP, bukan HTTPS. Anda harus mengonfigurasi load balancer dan UI Edge untuk membuat alamat email yang menggunakan HTTPS.

Untuk mengonfigurasi load balancer, pastikan load balancer menetapkan header berikut pada permintaan yang diteruskan ke Edge UI:

X-Forwarded-Proto: https

Untuk mengonfigurasi UI Edge:

  1. Buka file /opt/apigee/customer/application/ui.properties di editor. Jika file tidak ada, buat file:
    vi /opt/apigee/customer/application/ui.properties
  2. Tetapkan properti berikut di ui.properties:
    conf/application.conf+trustxforwarded=true
  3. Simpan perubahan Anda ke ui.properties.
  4. Mulai ulang UI Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Menetapkan properti TLS opsional

Edge UI mendukung properti konfigurasi TLS opsional yang dapat Anda gunakan untuk menetapkan hal berikut:

  • Protokol TLS default
  • Daftar protokol TLS yang didukung
  • Algoritma TLS yang didukung
  • Cipher TLS yang didukung

Parameter opsional ini hanya tersedia jika Anda menetapkan properti konfigurasi berikut dalam file konfigurasi, seperti yang dijelaskan dalam Menggunakan file konfigurasi untuk mengonfigurasi TLS:

TLS_CONFIGURE=y

Tabel berikut menjelaskan properti ini:

Properti Deskripsi
TLS_PROTOCOL Menentukan protokol TLS default untuk UI Edge. Secara default, nilainya adalah TLS 1.2. Nilai yang valid adalah TLSv1.2, TLSv1.1, TLSv1.
TLS_ENABLED_PROTOCOL

Menentukan daftar protokol yang diaktifkan sebagai array yang dipisahkan koma. Contoh:

TLS_ENABLED_PROTOCOL=[\"TLSv1.2\", \"TLSv1.1\", \"TLSv1\"]

Perhatikan bahwa Anda harus meng-escape karakter ".

Secara default, semua protokol diaktifkan.

TLS_DISABLED_ALGO

Menentukan cipher suite yang dinonaktifkan dan juga dapat digunakan untuk mencegah penggunaan ukuran kunci kecil untuk TLS handshake. Tidak ada nilai default.

Nilai yang diteruskan ke TLS_DISABLED_ALGO sesuai dengan nilai yang diizinkan untuk jdk.tls.disabledAlgorithms seperti yang dijelaskan di sini. Namun, Anda harus meng-escape karakter spasi saat menetapkan TLS_DISABLED_ALGO:

TLS_DISABLED_ALGO=EC\ keySize\ <\ 160,RSA\ keySize\ <\ 2048
TLS_ENABLED_CIPHERS

Menentukan daftar cipher TLS yang tersedia sebagai array yang dipisahkan koma. Contoh:

TLS_ENABLED_CIPHERS=[\"TLS_DHE_RSA_WITH_AES_128_CBC_SHA\",
\"TLS_DHE_DSS_WITH_AES_128_CBC_SHA\"]

Perhatikan bahwa Anda harus meng-escape karakter ".

Daftar default cipher yang diaktifkan adalah:

"TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
"TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
"TLS_RSA_WITH_AES_256_CBC_SHA",
"TLS_RSA_WITH_AES_128_CBC_SHA",
"SSL_RSA_WITH_RC4_128_SHA",
"SSL_RSA_WITH_RC4_128_MD5",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"

Temukan daftar cipher yang tersedia di sini.

Menonaktifkan protokol TLS

Untuk menonaktifkan protokol TLS, Anda perlu mengedit file konfigurasi, yang dijelaskan dalam Menggunakan file konfigurasi untuk mengonfigurasi TLS, sebagai berikut:

  1. Buka file konfigurasi di editor.
  2. Untuk menonaktifkan satu protokol TLS—misalnya, TLSv1.0—tambahkan kode berikut ke file konfigurasi:
    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1"

    Untuk menonaktifkan beberapa protokol—misalnya, TLSv1.0 dan TLSv1.1— tambahkan kode berikut ke file konfigurasi:

    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1, tlsv1.1"
  3. Simpan perubahan Anda pada file konfigurasi.
  4. Jalankan perintah berikut untuk mengonfigurasi TLS:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile

    dengan configFile sebagai jalur lengkap ke file konfigurasi.

  5. Mulai ulang UI Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Menggunakan cookie aman

Apigee Edge untuk Private Cloud mendukung penambahan flag secure ke header Set-Cookie untuk respons dari Edge UI. Jika tanda ini ada, cookie hanya dapat dikirim melalui saluran yang mendukung TLS. Jika tidak ada, cookie dapat dikirim melalui saluran apa pun, baik aman maupun tidak.

Cookie tanpa flag secure berpotensi memungkinkan penyerang menangkap dan menggunakan kembali cookie atau membajak sesi aktif. Oleh karena itu, praktik terbaiknya adalah mengaktifkan setelan ini.

Untuk menetapkan flag secure untuk cookie Edge UI:

  1. Buka file berikut di editor teks:
    /opt/apigee/customer/application/ui.properties

    Jika file tidak ada, buat file tersebut.

  2. Tetapkan properti conf_application_session.secure ke true dalam file ui.properties, seperti yang ditunjukkan contoh berikut:
    conf_application_session.secure=true
  3. Simpan perubahan.
  4. Mulai ulang UI Edge menggunakan utilitas apigee-serice, seperti yang ditunjukkan dalam contoh berikut:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Untuk mengonfirmasi bahwa perubahan berfungsi, periksa header respons dari Edge UI menggunakan utilitas seperti curl; misalnya:

curl -i -v https://edge_UI_URL

Header harus berisi baris yang terlihat seperti berikut:

Set-Cookie: secure; ...

Menonaktifkan TLS di UI Edge

Untuk menonaktifkan TLS di UI Edge, gunakan perintah berikut:

/opt/apigee/apigee-service/bin/apigee-service edge-ui disable-ssl