Mengonfigurasi TLS untuk UI pengelolaan

Edge untuk 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 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 digunakan, Anda harus memastikan bahwa port 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, 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, 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 yang jelas.
  8. Skrip kemudian memulai ulang UI pengelolaan Edge. Setelah mulai 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 pada langkah 2 dari prosedur tersebut. 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 apa pun yang Anda inginkan. Lalu, 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 UI Edge 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 membuat load balancer meneruskan permintaan ke UI Edge melalui HTTP. Konfigurasi ini didukung, tetapi Anda perlu mengonfigurasi load balancer dan UI Edge yang sesuai.

Konfigurasi tambahan diperlukan saat UI Edge mengirimkan email kepada pengguna untuk menyetel sandi mereka ketika pengguna dibuat atau ketika pengguna meminta untuk mereset sandi yang hilang. Email ini berisi URL yang dipilih pengguna untuk menyetel atau mereset sandi. Secara default, jika UI Edge tidak dikonfigurasi untuk menggunakan TLS, URL dalam email yang dibuat 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 UI Edge:

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 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 mengatur 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 Menentukan protokol TLS default untuk UI Edge. Secara default, ini 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

Menentukan cipher suite yang dinonaktifkan dan juga dapat digunakan untuk mencegah ukuran kunci kecil 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

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

Menggunakan cookie yang aman

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

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

Guna menetapkan flag secure untuk 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 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 pada contoh berikut:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

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

curl -i -v https://edge_UI_URL

Header harus berisi baris yang terlihat seperti berikut:

Set-Cookie: secure; ...

Nonaktifkan TLS di Edge UI

Untuk menonaktifkan TLS di Edge UI, gunakan perintah berikut:

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