Setelah menginstal Apigee mTLS pada semua node di cluster, Anda
harus mengonfigurasi dan menginisialisasi komponen apigee-mtls
. Anda dapat melakukannya dengan membuat
pasangan sertifikat/kunci dan memperbarui
file konfigurasi di mesin administrasi. Selanjutnya, Anda akan men-deploy file konfigurasi dan file yang dihasilkan ke semua node di cluster, dan menginisialisasi komponen apigee-mtls
lokal.
Mengonfigurasi apigee-mtls (setelah penginstalan awal)
Bagian ini menjelaskan cara mengonfigurasi Apigee mTLS secara langsung setelah penginstalan awal. Untuk mengetahui informasi tentang cara mengupdate penginstalan yang sudah ada di Apigee mTLS, lihat Mengubah konfigurasi apigee-mtls yang ada.
Bagian ini berlaku untuk penginstalan di satu pusat data. Untuk mengetahui informasi tentang cara mengonfigurasi Apigee mTLS dalam beberapa penyiapan pusat data, lihat Mengonfigurasi beberapa pusat data untuk Apigee mTLS.
Proses umum untuk mengonfigurasi apigee-mtls
adalah sebagai berikut:
- Perbarui file konfigurasi: Di mesin administrasi, perbarui file konfigurasi untuk menyertakan setelan
apigee-mtls
. - Menginstal Consul dan membuat kredensial: Instal Consul dan (opsional) gunakan untuk membuat kredensial TLS (hanya satu kali).
Selain itu, edit file konfigurasi Apigee mTLS menjadi:
- Menambahkan informasi kredensial
- Menentukan topologi cluster
Perlu diperhatikan bahwa Anda dapat menggunakan kredensial yang ada atau membuatnya dengan Consul.
- Mendistribusikan kredensial dan file konfigurasi: Distribusikan pasangan sertifikat/kunci yang dihasilkan dan file konfigurasi yang diperbarui ke semua node di cluster Anda.
- Inisialisasi apigee-mtls: Inisialisasi komponen
apigee-mtls
pada setiap node.
Setiap langkah ini dijelaskan di bagian selanjutnya.
Langkah 1: Perbarui file konfigurasi
Bagian ini menjelaskan cara mengubah file konfigurasi untuk menyertakan properti konfigurasi mTLS. Untuk mengetahui informasi umum selengkapnya tentang file konfigurasi, lihat Membuat file konfigurasi.
Setelah Anda memperbarui file konfigurasi dengan properti terkait mTLS, salin file tersebut ke semua node dalam cluster sebelum menginisialisasi komponen apigee-mtls
pada node tersebut.
Untuk memperbarui file konfigurasi:
- Di mesin administrasi, buka file konfigurasi untuk diedit.
- Salin kumpulan properti konfigurasi mTLS berikut dan tempelkan ke file
konfigurasi:
ALL_IP="ALL_PRIVATE_IPS_IN_CLUSTER" ZK_MTLS_HOSTS="ZOOKEEPER_PRIVATE_IPS" CASS_MTLS_HOSTS="CASSANDRA_PRIVATE_IPS" PG_MTLS_HOSTS="POSTGRES_PRIVATE_IPS" RT_MTLS_HOSTS="ROUTER_PRIVATE_IPS" MS_MTLS_HOSTS="MGMT_SERVER_PRIVATE_IPS" MP_MTLS_HOSTS="MESSAGE_PROCESSOR_PRIVATE_IPS" QP_MTLS_HOSTS="QPID_PRIVATE_IPS" LDAP_MTLS_HOSTS="OPENLDAP_PRIVATE_IPS" MTLS_ENCAPSULATE_LDAP="y" ENABLE_SIDECAR_PROXY="y" ENCRYPT_DATA="BASE64_GOSSIP_MESSAGE" PATH_TO_CA_CERT="PATH/TO/consul-agent-ca.pem" PATH_TO_CA_KEY="PATH/TO/consul-agent-ca-key.pem" APIGEE_MTLS_NUM_DAYS_CERT_VALID_FOR="NUMBER_OF_DAYS"
Tetapkan nilai setiap properti agar selaras dengan konfigurasi Anda.
Tabel berikut menjelaskan properti konfigurasi tersebut:
Properti Deskripsi ALL_IP
Daftar yang dipisahkan spasi dari alamat IP host pribadi semua node di cluster. Urutan alamat IP tidak penting, tetapi urutannya harus sama di semua file konfigurasi di seluruh cluster.
Jika Anda mengonfigurasi Apigee mTLS untuk beberapa pusat data, cantumkan semua alamat IP untuk semua host di semua region.
LDAP_MTLS_HOSTS
Alamat IP host pribadi node OpenLDAP di cluster. ZK_MTLS_HOSTS
Daftar alamat IP host pribadi yang dipisahkan spasi yang menjadi tempat node ZooKeeper dihosting dalam cluster.
Perhatikan bahwa berdasarkan persyaratan, harus ada minimal tiga node ZooKeeper.
CASS_MTLS_HOSTS
Daftar alamat IP host pribadi yang dipisahkan spasi tempat server Cassandra dihosting di cluster. PG_MTLS_HOSTS
Daftar alamat IP host pribadi yang dipisahkan spasi tempat server Postgres dihosting di cluster. RT_MTLS_HOSTS
Daftar alamat IP host pribadi yang dipisahkan spasi yang menghosting Router di cluster. MTLS_ENCAPSULATE_LDAP
Mengenkripsi traffic LDAP antara Pemroses Pesan dan server LDAP. Tetapkan ke y
.MS_MTLS_HOSTS
Daftar alamat IP host pribadi yang dipisahkan spasi yang menghosting node Server Pengelolaan di cluster. MP_MTLS_HOSTS
Daftar alamat IP host pribadi yang dipisahkan spasi yang menghosting Prosesor Pesan di cluster. QP_MTLS_HOSTS
Daftar alamat IP host pribadi yang dipisahkan spasi yang menghosting server Qpid di cluster. ENABLE_SIDECAR_PROXY
Menentukan apakah Cassandra dan Postgres harus mengetahui mesh layanan. Anda harus menetapkan nilai ini ke "y".
ENCRYPT_DATA
Kunci enkripsi berenkode base64 yang digunakan oleh Consul. Anda telah membuat kunci ini dengan menggunakan perintah consul keygen
di Langkah 2: Instal Konsul dan buat kredensial.Nilai ini harus sama di semua node di cluster.
PATH_TO_CA_CERT
Lokasi file sertifikat pada node. Anda telah membuat file ini di Langkah 2: Instal Consul dan buat kredensial. Lokasi ini harus sama di semua node di cluster sehingga file konfigurasi sama.
Sertifikat harus berenkode X509v3.
PATH_TO_CA_KEY
Lokasi file kunci di node. Anda telah membuat file ini di Langkah 2: Instal Consul dan buat kredensial. Lokasi ini harus sama di semua node di cluster sehingga file konfigurasi sama.
File kunci harus berenkode X509v3.
APIGEE_MTLS_NUM_DAYS_CERT_VALID_FOR
Jumlah hari sertifikat baik untuk saat Anda membuat sertifikat kustom.
Nilai defaultnya adalah 365. Nilai maksimum adalah 7865 hari (5 tahun).
Selain properti yang tercantum di atas, Apigee mTLS menggunakan beberapa properti tambahan saat Anda menginstalnya di konfigurasi pusat multi-data. Untuk informasi selengkapnya, lihat Mengonfigurasi beberapa pusat data.
- Pastikan
ENABLE_SIDECAR_PROXY
disetel ke "y". - Perbarui alamat IP di properti terkait host. Pastikan untuk menggunakan alamat IP pribadi saat merujuk ke setiap node, bukan alamat IP publik.
Pada langkah berikutnya, Anda akan menetapkan nilai properti lainnya, seperti
ENCRYPT_DATA
,PATH_TO_CA_CERT
, danPATH_TO_CA_KEY
. Anda belum menetapkan nilainya.Saat mengedit properti konfigurasi
apigee-mtls
, perhatikan hal-hal berikut:- Semua properti adalah string; Anda harus menggabungkan nilai semua properti dalam tanda kutip tunggal atau ganda.
- Jika nilai terkait host memiliki lebih dari satu alamat IP pribadi, pisahkan setiap alamat IP dengan spasi.
- Gunakan alamat IP pribadi, bukan nama host atau alamat IP publik, untuk semua properti terkait host di file konfigurasi.
- Urutan alamat IP dalam nilai properti harus dalam urutan yang sama di semua file konfigurasi di seluruh cluster.
- Simpan perubahan pada file konfigurasi.
Langkah 2: Instal Consul dan buat kredensial
Bagian ini menjelaskan cara menginstal Consul dan membuat kredensial yang digunakan oleh komponen yang mendukung mTLS.
Anda harus memilih salah satu metode berikut untuk membuat kredensial:
- (Direkomendasikan) Buat Certificate Authority (CA) Anda sendiri menggunakan Konsul, seperti yang dijelaskan di bagian ini
- Menggunakan kredensial CA yang sudah ada dengan Apigee mTLS (lanjutan)
Tentang kredensial
Kredensial terdiri dari:
- Sertifikat: Sertifikat TLS
- Kunci: Kunci publik TLS
- Pesan gosip: Kunci enkripsi berenkode base-64
Anda hanya perlu membuat satu versi untuk setiap file ini satu kali. Selanjutnya, Anda akan menyalin file kunci dan sertifikat ke semua node di cluster Anda, dan menambahkan kunci enkripsi ke file konfigurasi yang juga Anda salin ke semua node.
Untuk informasi selengkapnya tentang implementasi enkripsi Consul, lihat yang berikut ini:
Menginstal Consul dan membuat kredensial
Untuk membuat kredensial yang digunakan Apigee mTLS untuk mengautentikasi komunikasi yang aman di antara node di cluster Private Cloud, gunakan biner Konsuler lokal . Oleh karena itu, Anda harus menginstal Consul di mesin administrasi sebelum dapat membuat kredensial.
Untuk menginstal Consul dan membuat kredensial mTLS:
- Di mesin administrasi, download biner Consul 1.6.2 dari situs HashiCorp.
- Ekstrak konten file arsip yang didownload. Misalnya, ekstrak kontennya ke
/opt/consul/
. - Di mesin administrasi, buat Certificate Authority (CA) baru dengan menjalankan perintah berikut:
/opt/consul/consul tls ca create
Consul membuat file berikut, yang membentuk pasangan sertifikat/kunci:
consul-agent-ca.pem
(sertifikat)consul-agent-ca-key.pem
(kunci)
Secara default, file sertifikat dan kunci dienkode dengan X509v3.
Kemudian, Anda akan menyalin file tersebut ke semua node di cluster. Namun, saat ini Anda hanya harus menentukan di mana pada node tempat Anda akan menempatkan file ini. Keduanya harus berada di lokasi yang sama pada setiap node. Misalnya
/opt/apigee/
. - Dalam file konfigurasi, tetapkan nilai
PATH_TO_CA_CERT
ke lokasi tempat Anda akan menyalin fileconsul-agent-ca.pem
pada node. Contoh:PATH_TO_CA_CERT="/opt/apigee/consul-agent-ca.pem"
- Tetapkan nilai
PATH_TO_CA_KEY
ke lokasi tempat Anda akan menyalin fileconsul-agent-ca-key.pem
pada node. Contoh:PATH_TO_CA_KEY="/opt/apigee/consul-agent-ca-key.pem"
- Buat kunci enkripsi untuk Konsul dengan menjalankan perintah berikut:
/opt/consul/consul keygen
Konsul menghasilkan string acak yang terlihat mirip dengan string berikut:
QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=
- Salin string yang dihasilkan ini dan tetapkan sebagai nilai properti
ENCRYPT_DATA
dalam file konfigurasi Anda. Misalnya:ENCRYPT_DATA="
QbhgD+EXAMPLE+Y9u0742X
/IqX3X429/x1cIQ+JsQvY=" - Simpan file konfigurasi Anda.
Contoh berikut menunjukkan setelan terkait mTLS dalam file konfigurasi (dengan nilai contoh):
... IP1=10.126.0.121 IP2=10.126.0.124 IP3=10.126.0.125 IP4=10.126.0.127 IP5=10.126.0.130 ALL_IP="$IP1 $IP2 $IP3 $IP4 $IP5" LDAP_MTLS_HOSTS="$IP3" ZK_MTLS_HOSTS="$IP3 $IP4 $IP5" CASS_MTLS_HOSTS="$IP3 $IP4 $IP5" PG_MTLS_HOSTS="$IP2 $IP1" RT_MTLS_HOSTS="$IP4 $IP5" MS_MTLS_HOSTS="$IP3" MP_MTLS_HOSTS="$IP4 $IP5" QP_MTLS_HOSTS="$IP2 $IP1" ENABLE_SIDECAR_PROXY="y" ENCRYPT_DATA="QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=" PATH_TO_CA_CERT="/opt/apigee/consul-agent-ca.pem" PATH_TO_CA_KEY="/opt/apigee/consul-agent-ca-key.pem" ...
Langkah 3: Distribusikan kredensial dan file konfigurasi
Salin file berikut ke semua node menggunakan alat seperti scp
:
- File konfigurasi: Salin versi terbaru file ini dan ganti versi yang ada di semua node (bukan hanya node yang menjalankan ZooKeeper).
- consul-agent-ca.pem: Salin ke lokasi yang Anda tentukan sebagai nilai
PATH_TO_CA_CERT
dalam file konfigurasi. - consul-agent-ca-key.pem: Salin ke lokasi yang Anda tentukan sebagai nilai
PATH_TO_CA_KEY
dalam file konfigurasi.
Pastikan lokasi tempat Anda menyalin file kunci dan sertifikat cocok dengan nilai yang Anda tetapkan dalam file konfigurasi pada Langkah 2: Instal Konsul dan buat kredensial.
Langkah 4: Inisialisasi apigee-mtls
Setelah Anda menginstal apigee-mtls
di setiap node, memperbarui file konfigurasi, serta
menyalinnya dan kredensial ke semua node di cluster, Anda siap untuk menginisialisasi
komponen apigee-mtls
pada setiap node.
Untuk menginisialisasi apigee-mtls:
- Login ke node di cluster sebagai pengguna root. Anda dapat melakukan langkah-langkah ini pada node dalam urutan apa pun yang Anda inginkan.
- Jadikan pengguna
apigee:apigee
sebagai pemilik file konfigurasi terbaru, seperti yang ditunjukkan contoh berikut:chown apigee:apigee config_file
- Konfigurasikan komponen
apigee-mtls
dengan menjalankan perintah berikut:/opt/apigee/apigee-service/bin/apigee-service apigee-mtls setup -f config_file
- (Opsional) Jalankan perintah berikut untuk memverifikasi bahwa penyiapan Anda berhasil:
/opt/apigee/apigee-mtls/lib/actions/iptables.sh validate
- Mulai Apigee mTLS dengan menjalankan perintah berikut:
/opt/apigee/apigee-service/bin/apigee-service apigee-mtls start
Setelah menginstal Apigee mTLS, Anda harus memulai komponen ini sebelum komponen lain di node.
- (Khusus node Cassandra) Cassandra memerlukan argumen tambahan agar dapat berfungsi dalam
mesh keamanan. Oleh karena itu, Anda harus menjalankan perintah berikut di setiap node Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra setup -f config_file
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- (Khusus node Postgres) Postgres memerlukan argumen tambahan agar berfungsi dalam
mesh keamanan. Oleh karena itu, Anda harus melakukan hal berikut pada node Postgres:
(Khusus utama)
- Jalankan perintah berikut di node utama Postgres:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup -f config_file
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql configure
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
(Khusus standby)
- Cadangkan data Postgres yang ada. Untuk menginstal Apigee mTLS, Anda harus melakukan inisialisasi ulang node utama/standby, sehingga akan terjadi kehilangan data. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan replikasi utama/standby untuk Postgres.
- Hapus semua data Postgres:
rm -rf /opt/apigee/data/apigee-postgresql/pgdata
- Konfigurasikan Postgres, lalu mulai ulang Postgres, seperti yang ditunjukkan contoh berikut:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup -f config_file
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql configure
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
Jika Anda menginstal pada topologi pusat multi-data, gunakan jalur absolut untuk file konfigurasi.
- Jalankan perintah berikut di node utama Postgres:
- Mulai komponen Apigee yang tersisa di node dalam
urutan awal, seperti
yang ditunjukkan contoh berikut:
/opt/apigee/apigee-service/bin/apigee-service component_name start
- Ulangi proses ini untuk setiap node dalam cluster.
- (Opsional) Pastikan bahwa inisialisasi
apigee-mtls
berhasil menggunakan salah satu atau beberapa metode berikut:- Memvalidasi konfigurasi iptables
- Memverifikasi status proxy jarak jauh
- Verifikasi status kuorum
Masing-masing metode ini dijelaskan dalam Memverifikasi konfigurasi.
Mengubah konfigurasi apigee-mtls yang ada
Untuk menyesuaikan konfigurasi apigee-mtls
yang ada, Anda harus meng-uninstal dan
menginstal ulang apigee-mtls
. Anda juga harus memastikan penyesuaian yang diperlukan di seluruh node.
Untuk menegaskan kembali hal ini, saat mengubah konfigurasi Apigee mTLS yang ada:
- Jika mengubah file konfigurasi, Anda harus meng-uninstal
apigee-mtls
terlebih dahulu dan menjalankan kembalisetup
atauconfigure
:# DO THIS:
/opt/apigee/apigee-service/bin/apigee-service apigee-mtls uninstall
# BEFORE YOU DO THIS:/opt/apigee/apigee-service/bin/apigee-service apigee-mtls setup -f file
OR/opt/apigee/apigee-service/bin/apigee-service apigee-mtls configure
- Anda harus meng-uninstal dan menjalankan kembali
setup
atauconfigure
di semua node di cluster, bukan hanya satu node.