Mengonfigurasi TLS untuk UI pengelolaan

Secara default, Anda mengakses UI 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 Edge sehingga dapat mengaksesnya dalam bentuk:

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 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 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 manajemen dapat diakses melalui HTTP di 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 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 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.

Menggunakan keystore PKCS12 untuk sistem operasi yang mendukung FIPS

Jika menggunakan Edge untuk Private Cloud pada 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 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 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 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, 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

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

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 saluran apa pun, baik aman maupun tidak.

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

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 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 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; ...

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