Mengonfigurasi TLS untuk UI pengelolaan

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

http://ms_IP:9000

Atau, Anda dapat mengonfigurasi akses TLS ke UI Edge sehingga 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 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 kunci pribadi dan sertifikasi TLS 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, UI pengelolaan dapat diakses melalui HTTP pada port 9000.
  5. Masukkan algoritma keystore. Defaultnya adalah JKS.
  6. Masukkan jalur absolut ke file JKS keystore.

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

  7. Masukkan sandi keystore dalam teks biasa.
  8. Kemudian, skrip akan 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 dari 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
# Set type to PKCS12 if you are using a PKCS12 keystore
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. 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.

Menggunakan keystore PKCS12 untuk sistem operasi yang mengaktifkan FIPS

Jika menggunakan Edge for Private Cloud di sistem operasi yang mendukung FIPS, Anda harus menggunakan keystore PKCS12. Anda dapat membuat keystore PKCS12 menggunakan perintah OpenSSL standar. Saat menggunakan keystore PKCS12, tetapkan KEY_ALGO=PKCS12 dalam file konfigurasi.

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 pada 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 dengan semestinya.

Konfigurasi tambahan diperlukan saat UI Edge mengirimkan email kepada pengguna untuk mengatur 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 UI Edge 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 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 menyetel 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 Mendefinisikan 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 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 menetapkan 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 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, seperti 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 ke 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 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 aman maupun tidak.

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

Untuk menetapkan tanda 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 pada 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 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; ...

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