Implementasi SSL pada Oracle Weblogic dan Mengaktifkan Autentikasi Client Certificate pada OSB

Tingginya jumlah data penting yang diakses, ditransfer, dan ditukar melalui Internet telah menjadikan solusi keamanan data semakin penting dan wajib dimiliki oleh semua perusahaan dan organisasi di seluruh dunia. Salah satu cara yang paling umum mengamankan pertukaran data yang terjadi melalui internet adalah dengan mengimplementasikan Secure Socket Layer (SSL).

SSL adalah protokol keamanan yang menggunakan metode enkripsi untuk menjaga transaksi data yang terjadi pada aplikasi website. SSL menyediakan keamanan tingkat tinggi dengan menggunakan sertifikat SSL yang di terbitkan oleh CA (Certificate Authorities). Untuk memaksimalkan penggunaan SSL pada aplikasi website, perusahaan dapat  mengimplementasi SSL pada Oracle Weblogic, sebuah server aplikasi yang skalabel, memiliki ketersediaan yang tinggi, aman, dan mampu membantu perusahaan mendukung dan mengamankan aplikasi mission-critical.

Untuk memastikan autentikasi pertukaran data dan tidak disalahgunakan oleh pihak yang tidak berwenang, perusahaan dapat mengaktifkan Client Certificate (CC) pada Oracle Service Bus (OSB). OSB merupakan salah satu produk middleware yang banyak diimplementasikan perusahaan, karena dapat mempermudah suatu perusahaan dalam mengintegrasikan satu sistem dengan sistem lain. Sebelumnya, perusahaan akan mendaftarkan sertifikat-sertifikat yang diperbolehkan mengakses data, sehingga saat pengguna mencoba berkomunikasi dengan Weblogic, Weblogic akan mengecek apakah sertifikat tersebut sudah terdaftar, jika belum, pengguna tidak dapat mengakses data ke proxy service OSB.

Anda dapat melihat proses handshaking yang terjadi antara server dan klien pada diagram di bawah ini:

 

Setelah mengetahui peran SSL, Oracle Weblogic, dan CC, pada artikel kali ini i3 akan membagikan langkah-langkah implementasi SSL pada Oracle Weblogic dan juga cara mengaktifkan autentikasi CC pada Oracle OSB.

Oracle Weblogic application server yang mendukung fitur SSL dapat diimplementasikan dengan langkah – langkah sebagai berikut:

  1. Membuat Java Key Store (JKS) pada server dengan menggunakan command berikut:
    keytool -genkey -alias sslweblogicosb -keyalg RSA -keysize 2048 -sigalg SHA256withRSA -dname “CN=domainname,OU=IT,O=Organization Name,L=(City/Locality),ST=(State/Province),C=ID” -keypass keypassjks -keystore keystoreWeblogicOsb.jks -storepass storepassjks
  2. Kemudian, Anda dapat membuat Certificate Signing Request (CSR) dan meminta CA untuk memproses CSR yang telah dibuat. CA adalah pihak yang memiliki wewenang untuk menerbitkan sertifikat dengan command seperti di bawah ini:
    keytool -certreq -v -alias sslweblogicosb -file keypassjks.csr -sigalg SHA256withRSA -keypass keypassjks -storepass storepassjks -keystore keystoreWeblogicOsb.jks
  3. CA akan menerbitkan sertifikat yang akan di-import ke file JKS yang telah dibuat (lihat pada step 9). Jangan lupa untuk import root CA dan intermediate CA dari certificate tersebut.
    keytool -import -v -noprompt -trustcacerts -alias rootcacert -file rootCA.cer -keystore keystoreWeblogicOsb.jks -storepass storepassjkskeytool -import -v -noprompt -trustcacerts -alias intermediatecacert -file intermediateCA.cer -keystore keystoreWeblogicOsb.jks -storepass storepassjkskeytool -import -v -alias sslweblogicosb -file domainname.crt -keystore keystoreWeblogicOsb.jks -keypass keypassjks -storepass storepassjks
  4. Setelah itu, Anda dapat login ke weblogic console dan pilih Security Realm > myrealm > providers >defaultIdentityAsserter.
  5. Klik centang pada X.509 dan klik tombol panah kanan “>” untuk mengaktifkan X.509. Setelah itu klik save dan restart server.
  6. Setelah itu, Anda lakukan login ke weblogic console dengan klik Security Realm > myrealm > providers > defaultIdentityAsserter dan pilih provider specific. Isilah Default user name mapper attribute type dengan “CN” dan centang “Use Default User Name Mapper” seperti gambar di bawah:
  7. Kemudian klik Save dan restart server.
  8. Setelah berhasil me-restart server, lakukan login ke weblogic console, kemudian klik “Environment > Server > “server name” > Configuration”. Centang “SSL Listen Port Enabled”.
  9. Selanjutnya, pilih tab Keystores, lalu ubah direktori “Custom Identity” dan “Custom Trust Keystore” dari lokasi awal ke lokasi JKS yang baru seperti gambar di bawah ini:
  10. Pilih tab SSL dan ubah kolom “Two Way Client Cert Behaviour” menjadi “Client Certs Requested and Enforced”.
  11. Klik save dan kembali lakukan restart server.
  12. Generate java key store di sisi client dengan command berikut:
    keytool -genkeypair -keyalg RSA -alias localclient1 -keystore clientkeystore1.jks -storepass cljks123 -validity 360 -keysize 2048
  13. Export sertifikat dari file JKS yang telah dibuat dengan command berikut:
    keytool -exportcert -alias localclient1 -keystore clientkeystore1.jks -file localclient1.cer
  14. Import sertifikat ke JKS Server (JKS Weblogic) dengan command berikut:
    keytool -importcert -alias localclient1 -keystore keystoreWeblogicOsb.jks -file localclient1.cer
  15. Setelah Anda berhasil melakukan semua langkah di atas, Anda bisa menambahkan user pada security realm weblogic server dengan cara-cara berikut ini:

a.  Login ke weblogic console, klik Security Realm lalu klik realm yang akan di konfigurasi (myrealm merupakan realm default weblogic).

b.  Pilih tab Users and Groups setelah itu klik New.

c.  Isi data yang dibutuhkan pada form create user dan klik OK.

d.  Setelah itu akan muncul pesan yang memberitahukan bahwa proses create user telah berhasil.

Setelah melakukan langkah-langkah untuk mengimplementasi SSL pada Oracle Weblogic, Anda dapat mengaktifkan OSB sebagai proxy atau perantara yang dapat menghubungkan antar sistem, internal maupun eksternal. Untuk mengamankan sistem-sistem tersebut, Anda dapat menggunakan fitur keamanan autentikasi yang disediakan OSB, yaitu Client Certificate. Di bawah ini merupakan langkah-langkah yang bisa Anda lakukan untuk mengaktifkan fitur autentikasi CC pada OSB:

1. Login ke OSB console dan buat proxy service dengan konfigurasi sebagai berikut:

a.  Centang https required
b.  Pilih client certificate
c.  Klik save dan activate

2.  Langkah berikutnya, lakukan pengujian dengan mengakses proxy service. Pada contoh berikut proxy service diakses menggunakan aplikasi SoapUI:

a.  Pasang sertifikat/file clientkeystore1.jks di client (Pada aplikasi SoapUI: file> preferences >SSL Settings).
b.  Kemudian Anda dapat membuat project baru dengan meng-consume WSDL / Proxy Service OSB yang sudah menggunakan autentikasi client certificate, setelah itu Anda dapat mencoba untuk mengakses web service tersebut

Setelah semua tahapan yang telah berhasil diimplementasikan, Anda sudah memiliki aplikasi website yang aman dan kekhawatiran Anda terhadap pihak yang berusaha mengeksploitasi transaksi data yang berlangsung dapat diminimalisir. Selain keamanan, melakukan kedua hal di atas juga dapat membantu meningkatkan reputasi website Anda dan kualitas SEO pada aplikasi website Anda.

Tentang i3:
PT Inovasi Informatika Indonesia (i3) membantu profesional TI Indonesia dalam mencapai potensi terbaiknya. Kami menyelenggarakan pelatihan teknologi dari beberapa principal terkemuka seperti Red Hat, ECCouncil, Dell EMC, Oracle dan VMware. Selain menyediakan berbagai IT training yang banyak direkomendasikan oleh praktisi, i3 juga menawarkan jasa IT service di 7 pilar berikut: DevOps, Infrastructure, Middleware, Cloud, Application Integration, dan Data Management. Semua training dan service ditangani oleh instruktur dan konsultan yang berpengalaman dan memiliki sertifikasi internasional.