Edge untuk Private Cloud di RHEL 8.X atau Rocky 8.X yang mendukung FIPS

Bagian ini memberikan panduan tentang cara mengaktifkan mode FIPS di RHEL 8, sehingga memastikan lingkungan yang aman dan sesuai untuk Edge for Private Cloud versi 4.53.00 atau yang lebih tinggi.

Instal lebih dulu

Pastikan FIPS diaktifkan di node Anda bersama dengan prasyarat konfigurasi standar lainnya yang tercantum dalam dokumentasi Ringkasan Penginstalan Edge.

fips-mode-setup --check  
FIPS mode is enabled.  # Command output

Jika mode FIPS saat ini dinonaktifkan, lihat dokumentasi resmi Red Hat untuk mengetahui petunjuk tentang cara mengaktifkannya: Mengalihkan RHEL 8 ke mode FIPS.

Persyaratan Java

Java yang Anda gunakan harus didownload dari repositori Red Hat untuk memastikan modul keamanannya mematuhi FIPS, sehingga memungkinkan pembatasan khusus FIPS melalui keamanan Java.

Penginstalan

Di Edge Configuration File Reference, tetapkan FIPS_OS=true di setiap node. Anda dapat mengikuti langkah-langkah penginstalan umum untuk Edge untuk Private Cloud seperti biasa.

Format kunci pribadi

Hanya format PKCS12/PFX yang dapat digunakan untuk mengupload kunci pribadi ke keystore Apigee untuk digunakan di proxy API atau host virtual Anda. Untuk mendapatkan panduan tentang cara membuat file, lihat Mengonversi sertifikat ke format yang didukung.

Operasi TLS umum

Saat menggunakan Edge untuk Private Cloud 4.53.00 atau yang lebih baru di RHEL 8.X atau Rocky 8.X yang mendukung FIPS, sebagian besar konfigurasi komponen terkait TLS Edge harus dilakukan melalui keystore format PKCS12 atau BCFKS.

Lihat dokumentasi atau catatan khusus FIPS dalam artikel yang relevan untuk konfigurasi TLS guna mendapatkan detail selengkapnya. Lampiran mencantumkan beberapa perintah berguna yang dapat digunakan untuk membuat keystore ini.

Keystore/truststore Java default

Saat Edge untuk Private Cloud 4.53.00 atau yang lebih baru digunakan di RHEL 8.X atau Rocky 8.X yang mendukung FIPS, pemroses pesan, server pengelolaan, dan komponen edge-* lainnya mengandalkan truststore dan keystore default yang disediakan bersama produk.

Direktori ini berisi sertifikat CA yang dipercaya aplikasi Anda secara default. Jika Anda ingin menggunakan penyimpanan Anda sendiri yang berisi sertifikat CA, ikuti prosedur di bawah:

  1. Buat file cacerts format BCFKS yang berisi semua sertifikat CA yang ingin Anda percayai. Pastikan sandi keystore dan sandi kunci sama. Lihat lampiran untuk mengetahui detail selengkapnya.
  2. Tempatkan file di jalur yang sesuai dan pastikan file dapat dibaca oleh pengguna apigee:
    cp my-cacerts.bcfks /opt/apigee/customer/application/my-cacerts.bcfks
    chown apigee:apigee /opt/apigee/customer/application/my-cacerts.bcfks
  3. Buat (atau edit) file konfigurasi yang sesuai berdasarkan komponen yang sedang Anda kerjakan:
    Komponen File
    edge-management-server $/opt/apigee/customer/application/management-server.properties
    edge-message-processor $/opt/apigee/customer/application/message-processor.properties
    edge-router $/opt/apigee/customer/application/router.properties
    edge-postgres-server $/opt/apigee/customer/application/postgres-server.properties
    edge-qpid-server $/opt/apigee/customer/application/qpid-server.properties
  4. Tambahkan baris berikut ke file:
    conf_system_javax.net.ssl.trustStore=<PATH to bcfks cacerts>
    conf_system_javax.net.ssl.trustStorePassword=changeme
    conf_system_javax.net.ssl.keyStore=<PATH to bcfks cacerts>
    conf_system_javax.net.ssl.keyStoreType=BCFKS
    conf_system_javax.net.ssl.keyStorePassword=changeme
  5. Pastikan file konfigurasi dimiliki dan dapat dibaca oleh pengguna apigee:
    chown apigee:apigee $opt/apigee/customer/application/<file>.properties
  6. Mulai ulang komponen:
    /opt/apigee/apigee-service/bin/apigee-service <component> restart

Lampiran

Contoh perintah operasi keystore BCFKS

Perintah di bawah akan menghasilkan keystore BCFKS dengan pasangan kunci dan sertifikat yang ditandatangani sendiri:

keytool -genkeypair -keyalg RSA -alias node0 -validity 365 -keystore keystore.node0 \
-storepass keypass -keypass keypass -v \
-dname "EMAILADDRESS=youremail@domain.com, CN=yourcn, OU=yourou, O=youro, L=yourl, C=yourc" \
-storetype BCFKS -providerpath /opt/apigee/edge-gateway/lib/thirdparty/bc-fips-1.0.2.4.jar \
-providerclass org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider -providername BCFIPS

Perintah Keytool tetap konsisten dengan perintah yang biasanya digunakan, tetapi opsi berikut harus disertakan dalam perintah keytool:

--storetype BCFKS -providerpath /opt/apigee/edge-gateway/lib/thirdparty/bc-fips-1.0.2.4.jar
-providerclass org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider 
-providername BCFIPS

Argumen Keytool

Argumen Keytool Deskripsi
-storetype Tetapkan jenis toko ke BCFKS.
-providerpath Tentukan jalur ke bc-fips-XXXX.jar. Versi ini dapat berubah dalam rilis OPDK mendatang. Gunakan versi yang dikirim oleh Apigee atau download dari repositori Bouncycastle. Untuk OPDK 4.53, jalur harus berupa /opt/apigee/edge-gateway/lib/thirdparty/bc-fips-1.0.2.4.jar.
-providerclass Tetapkan ini ke org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider.
-providername Tetapkan ini ke BCFIPS.

Perintah keytool serupa dapat digunakan untuk mengimpor atau mengekspor sertifikat dan/atau kunci dari atau ke keystore format BCFKS. Untuk mengetahui informasi selengkapnya tentang cara menggunakan BCFKS, lihat dokumentasi BouncyCastle.

Penyimpanan PKCS12

Untuk membuat penyimpanan PKCS12, perintah openssl dapat digunakan:

# Generate a self-signed private key and certificate
openssl req -x509 -newkey rsa:2048 -keyout private.key -out certificate.pem -sha256 -days 36500 -nodes -subj "/C=yourc/ST=yourst/L=yourl/O=youro/OU=yourou/CN=cn/emailAddress=email"
# Package the above generated key and cert into a PKCS12
openssl pkcs12 -export -clcerts -in certificate.pem -inkey private.key -out keystore.pfx -name myalias

Jika Anda memiliki kunci pribadi dan sertifikat sendiri serta perlu mengonversinya ke format PKCS12, lihat Mengonversi sertifikat ke format yang didukung.