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 di bentuknya:

https://ms_IP:9443

Dalam contoh ini, Anda mengonfigurasi akses TLS untuk menggunakan port 9443. 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.

Pastikan port TLS Anda terbuka

Prosedur di bagian ini mengonfigurasi TLS untuk menggunakan port 9443 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 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 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, pengelolaan UI dapat diakses melalui HTTP pada port 9000.
  5. Masukkan algoritma keystore. Defaultnya adalah JKS.
  6. Masukkan jalur absolut ke file JKS keystore.

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

  7. Masukkan sandi keystore teks kosong.
  8. Skrip kemudian memulai ulang UI pengelolaan Edge. Setelah dimulai ulang, UI pengelolaan 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 prosedur di atas, Anda dapat meneruskan file konfigurasi ke perintah di 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. Lalu, gunakan perintah berikut untuk mengonfigurasi TLS:

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

di mana configFile adalah jalur lengkap ke file yang Anda simpan.

Mengonfigurasi UI Edge saat TLS berhenti di load balancer

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

Konfigurasi tambahan diperlukan saat UI Edge mengirim email kepada pengguna untuk menyetel {i>password<i} saat pengguna dibuat atau saat pengguna meminta untuk mengatur ulang {i>password<i} yang hilang. Email ini berisi URL yang dipilih pengguna untuk menyetel atau mereset sandi. Secara default, jika UI Edge tidak dikonfigurasikan untuk menggunakan TLS, URL di email yang dibuat menggunakan protokol HTTP, bukan HTTPS. Anda harus mengonfigurasi load balancer dan UI Edge untuk menghasilkan alamat email yang menggunakan dengan HTTPS.

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

X-Forwarded-Proto: https

Untuk mengonfigurasi UI Edge:

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

Menetapkan properti TLS opsional

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

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

Parameter opsional ini hanya tersedia saat 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 Mendefinisikan protokol TLS default untuk UI Edge. Secara default, opsinya adalah TLS 1.2. Nilai yang valid adalah TLSv1.2, TLSv1.1, TLSv1.
TLS_ENABLED_PROTOCOL

Mendefinisikan 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

Mendefinisikan cipher suite yang dinonaktifkan dan juga dapat digunakan untuk mencegah yang digunakan untuk handshake TLS. 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 menyetel TLS_DISABLED_ALGO:

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

TLS_ENABLED_CIPHERS

Mendefinisikan 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 penyandian{i> <i}yang tersedia di sini.

Menonaktifkan protokol TLS

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

  1. Buka file konfigurasi di editor.
  2. Untuk menonaktifkan satu protokol TLS—misalnya, TLSv1.0—tambahkan hal 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 adalah jalur lengkap ke file konfigurasi.

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

Gunakan cookie yang aman

Apigee Edge untuk Private Cloud mendukung penambahan flag secure ke header Set-Cookie untuk respons dari UI Edge. Jika penanda ini ada, cookie hanya dapat dikirim melalui Saluran yang mendukung TLS. Jika tidak ada, cookie dapat dikirim melalui channel mana pun, baik apakah itu aman atau tidak.

Cookie tanpa tanda secure dapat memungkinkan penyerang menangkap dan menggunakan kembali cookie atau membajak sesi yang aktif. Oleh karena itu, praktik terbaik adalah memungkinkan deskripsi tempat.

Untuk menetapkan tanda secure bagi cookie UI Edge:

  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 di 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 contoh berikut menampilkan:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

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

curl -i -v https://edge_UI_URL

{i>Header<i} harus berisi baris yang terlihat seperti berikut:

Set-Cookie: secure; ...

Nonaktifkan TLS di UI Edge

Untuk menonaktifkan TLS di UI Edge, gunakan perintah berikut:

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