Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Cơ Sở Dữ Liệu

Bảo mật Oracle WebLogic Server 12c (12.1.2): Hướng dẫn cấu hình SSL từng bước

Bài viết này mô tả cách cấu hình SSL trên Oracle® WebLogic® Server 12c (12.1.2).

Tổng quan

An toàn của dữ liệu và thông tin là mối quan tâm hàng đầu trong thế giới ngày nay. Nhiều loại ứng dụng sử dụng giao thức Secure Socket Layer (SSL) để giao tiếp an toàn qua mạng. Trên thực tế, đây là một trong các giao thức giao tiếp mạng được sử dụng rộng rãi nhất.

WebLogic Server được cấu hình để sử dụng SSL cung cấp cả xác thực danh tính (identity authentication) và mã hóa dữ liệu truyền tải (in-transit data encryption) cho kết nối giữa hai chương trình ứng dụng. Do đó, bất kỳ hai ứng dụng nào tương tác với nhau qua SSL đều có được các lợi ích kết nối an toàn sau:

  • Chúng xác minh danh tính của nhau bằng cách sử dụng chứng chỉ SSL riêng biệt.
  • Chúng trao đổi dữ liệu được mã hóa (trong quá trình truyền) giữa cả hai chương trình ứng dụng.

Cơ chế yêu cầu và phản hồi kết nối SSL thêm chi phí tính toán cho việc xử lý dữ liệu và thông tin bổ sung về xác thực và yêu cầu xử lý thuật toán mật mã học phức tạp. Do đó, hầu hết mọi người thường không sử dụng nó trong các instance Weblogic server chạy ở chế độ phát triển (development mode) trong cơ sở hạ tầng mạng an toàn cao. Tuy nhiên, cấu hình SSL là rất mong muốn cho các instance Weblogic server chạy ở chế độ sản xuất (production mode).

Minh họa cấu hình

Bài viết này bao gồm các bước để cấu hình SSL trên Weblogic Server đã cài đặt sẵn trên instance MYPROD_AdminServer và Managed Server trong domain MYPROD_DOMAIN Node Manager.

Để làm điều này, hãy tạo một identity keystore mới và một trusted keystore mới để lưu trữ chứng chỉ mới được ký. Do đó, WebLogic admin, tất cả managed server instance, và Node Manager giao tiếp bằng giao thức SSL dựa trên custom keystores.

Sử dụng các bước sau để cấu hình SSL trên các instance WebLogic server hiện có:

Bước 1: Tạo identity keystore

Thực hiện các bước sau để tạo identity keystore, MYPRODIdentity.jks, trên server myprodserver.mydomain.local:

(a) Đăng nhập vào shell Linux® của WebLogic Server với tư cách user sở hữu ứng dụng WebLogic (chẳng hạn như Oracle) và chạy mã sau để tạo thư mục mới, <middleware_home>/user_projects/domains/<domain_home>/keystores:

[oracle@myprodserver]$ mkdir -p /u01/Middleware/user_projects/domains/MYPROD_DOMAIN/keystores

(b) Thiết lập môi trường MYPROD_DOMAIN và tạo keystore mới:

[oracle@myprodserver]$ cd /u01/Middleware/user_projects/domains/MYPROD_DOMAIN/bin
[oracle@myprodserver]$ . ./setDomainEnv.sh
[oracle@myprodserver]$ cd keystores
[oracle@myprodserver]$ keytool -genkeypair -alias mywlsprodcert -keyalg RSA -keysize 1024 -dname "CN=*.mydomain.local,OU=<Organization>,O=<Company>,L=<City>,S=<State>,C=<US>" -keystore MYPRODIdentity.jks
Enter keystore password: <Type a new keyStorePass>
Re-enter new password: <Re-type the keyStorePass>
Enter key password for <mywlsprodcert> (RETURN if same as keystore password): <ENTER>

Bước 2: Tạo CSR mới (Certificate Signing Request)

Thực hiện các bước sau để tạo Certificate Signing Request (CSR) mới sử dụng MYPRODIdentity.jks:

(a) Chạy mã sau để dùng tiện ích keytool tạo CSR:

[oracle@myprodserver]$ keytool -certreq -v -alias prodcert -file MYWLSPRODCert.csr -keystore MYPRODIdentity.jks
Enter keystore password: <KeyStorePass>
Certification request stored in file <MYWLSPRODCert.csr>

(b) Gửi Certificate Signing Request (CSR) mới tạo đến Certificate Authority (CA). Sau khi ký CSR, CA cung cấp chứng chỉ số và khóa riêng của nó.

Lưu ý: Untuk minh họa này, chúng tôi sử dụng WebLogic Demo CA (CertGenCA.der) để ký chứng chỉ. Tính năng tự ký (self-signing) demo này có sẵn với WebLogic Server. Trong production, bạn nên lấy chứng chỉ server được ký bởi CA tin cậy được chỉ định của tổ chức bạn.

Bước 3: Tự ký CSR (Self-sign the CSR)

Thực hiện các bước sau để tự ký CSR bằng WebLogic demo CA (CertGenCA.der) và nhập vào identity keystore mới tạo:

(a) Chạy mã sau để tự ký chứng chỉ:

[oracle@myprodserver]$ java utils.CertGen -keyfile MYPRODCertPrivateKey -keyfilepass password -certfile mywlsprodcert -cn "*.my.local"
Generating a certificate with wildcard *.domain.local and key strength 1024
/u01/Middlewaree/wlserver_12.1/server/lib/CertGenCA.der file and key from /u01/Middlewaree/wlserver_12.1/server/lib/CertGenCAKey.der file
[oracle@myprodserver]$

(b) Nhập chứng chỉ server và khóa riêng mới tạo vào keystore trước đó tạo:

[oracle@myprodserver]$ java utils.ImportPrivateKey -keystore MYPRODIdentity.jks -keyfile MYPRODCertPrivateKey.pem -keyfilepass <password> -certfile MYPRODCert.pem -storepass <keyStorePass> -alias mywlsprodcert

Bước 4: Tạo trust keystore

Thực hiện các bước sau để tạo custom trust keystore trên máy myprodserver.mydomain.local:

(a) Tạo keystore MYPRODTrust.jks bằng cách sao chép từ Standard Java Trust:

[oracle@myprodserver]$ cp /u01/java/jre/lib/security/cacerts /u01/Middleware/user_projects/domains/MYPROD_DOMAIN/keystores/MYPRODTrust.jks

(b) Thay đổi mật khẩu mặc định của cacerts. Mặc định là changeit. Cập nhật thành mật khẩu mới bạn chọn:

[oracle@myprodserver]$ keytool -storepasswd -keystore MYPRODTrust.jks
Enter keystore password: <defaultKeyStorePass>
New keystore password: <NewKeyStorePass>
Re-enter new keystore password: <Re-type NewKeyStorePass>

(c) Nhập chứng chỉ tự ký mới tạo vào trust keystore vừa tạo:

[oracle@myprodserver]$ keytool -import -v -trustcacerts -alias rootCA -file /u01/Middleware/wlserver_12.1/server/lib/CertGenCA.der -keystore MYPRODTrust.jks

Bước 5: Sao chép chứng chỉ SSL đến tất cả server khác trong domain

Vì bạn dựa chứng chỉ SSL trên wildcard thay vì tên server cụ thể, tất cả server trong MYPROD_DOMAIN có thể dùng cùng chứng chỉ.

Do đó, sao chép thư mục keystores đã tạo trước đó, /u01/Middleware/user_projects/domains/MYPROD_DOMAIN/keystores, chứa chứng chỉ cần thiết cho tất cả WebLogic Server được chia sẻ bởi MYPROD_DOMAIN.

Bước 6: Cấu hình WebLogic Node Manager

Thực hiện các bước sau để cấu hình WebLogic Node Manager sử dụng chứng chỉ SSL mới tạo:

(a) Cập nhật các biến sau trong file $WL_HOME/common/nodemanager/nodemanager.properties:

KeyStores=CustomIdentityAndCustomTrust
CustomIdentityKeyStoreFileName=/u01/Middleware/user_projects/domains/MYPROD_DOMAIN/keystores/MYPRODIdentity.jks
CustomIdentityKeyStorePassPhrase=<NewKeyStorePass>
CustomIdentityAlias=mywlsprodcert
CustomIdentityPrivateKeyPassPhrase=<PrivateKeyPassword>

(b) Tắt (Shutdown) và khởi động (start) Node Manager.

Bước 7: Cấu hình WebLogic Admin Server

Thực hiện các bước sau để cấu hình WebLogic Admin Server sử dụng custom keystore và chứng chỉ mới cho kết nối SSL:

(a) Đăng nhập vào WebLogic Server Console bằng thông tin xác thực administrator WebLogic.

(b) Trên trang Home, dưới Domain Configurations –> Environments, nhấp Servers, như hiển thị trong ảnh chụp màn hình sau:

Bảo mật Oracle WebLogic Server 12c (12.1.2): Hướng dẫn cấu hình SSL từng bước

(c) Trên trang Summary of Servers, nhấp AdminServer (admin):

Bảo mật Oracle WebLogic Server 12c (12.1.2): Hướng dẫn cấu hình SSL từng bước

(d) Từ góc trên bên trái Change Center –> View changes and restarts, nhấp Lock & Edit để cập nhật cài đặt keystore rule.

(e) Trong Settings for AdminServer dưới Configuration, nhấp tab keystores rồi nhấp change, như hình ảnh sau để thay đổi rule WebLogic admin server dùng custom keystore mới cho kết nối SSL.

Bảo mật Oracle WebLogic Server 12c (12.1.2): Hướng dẫn cấu hình SSL từng bước Bảo mật Oracle WebLogic Server 12c (12.1.2): Hướng dẫn cấu hình SSL từng bước

(f) Cập nhật Keystore rule bằng cách chọn Custom Identity and Custom Trust từ dropdown Keystores và lưu cập nhật.

Bảo mật Oracle WebLogic Server 12c (12.1.2): Hướng dẫn cấu hình SSL từng bước

(g) Cập nhật ./keystores/MYPRODIdentity.jks trong textbox Custom Identity Keystore. Cập nhật keyStore password và lưu.

(h) Cập nhật ./keystores/MYPRODTrust.jks trong textbox Custom Trust Keystore. Cập nhật Trust keyStore Password và lưu.

(i) Mở tab SSL dưới tab cha Configuration và cập nhật các tham số sau:

(i) Cập nhật giá trị tham số Private Key Alias thành mywlsprodcert. (ii) Cập nhật Private Key Passphrase với mật khẩu khóa riêng. (iii) Dưới menu Advanced, cập nhật giá trị Hostname Verification thành Custom Hostname Verifier từ dropdown như hình sau:

Bảo mật Oracle WebLogic Server 12c (12.1.2): Hướng dẫn cấu hình SSL từng bước

(iv) Cập nhật giá trị Custom Hostname Verifier thành weblogic.security.utils.SSLWLSWildcardHostnameVerifier. Điều này bắt buộc vì chúng ta dùng một chứng chỉ wildcard duy nhất cho tất cả server (CN=*.mydomain.local). (v) Lưu các cập nhật này.

(j) Điều hướng đến tab Configuration –> General và bật tùy chọn SSL Listen Port Enabled bằng cách tích checkbox như hình sau:

Bảo mật Oracle WebLogic Server 12c (12.1.2): Hướng dẫn cấu hình SSL từng bước

(k) Port SSL mặc định của WebLogic admin server là 7002, nhưng bạn có thể cấu hình dịch vụ SSL trên các port khác. Bạn cần dùng giá trị mặc định 7002 ở đây cho mục đích minh họa, vì vậy cập nhật SSL Listen Port thành 7002 và lưu cập nhật, như hình sau:

Bảo mật Oracle WebLogic Server 12c (12.1.2): Hướng dẫn cấu hình SSL từng bước

Bước 8: Cấu hình WebLogic Managed Servers

Để cấu hình tất cả WebLogic Managed Servers sử dụng custom key store và chứng chỉ mới cho kết nối SSL, lặp lại các bước 7a - 7k. Bạn cần dùng giá trị SSL port khác nhau cho mỗi WebLogic Managed Server. Ví dụ: ManagedServer01: SSL port - 9001, ManagedServer02: SSL port - 9002, ManagedServer03: SSL port - 9003, v.v.

Bước 9: Áp dụng cập nhật vào file cấu hình

Nhấp Release Configuration từ menu góc trên bên trái để áp dụng tất cả cập nhật vào file cấu hình WebLogic.

Bước 10: Khởi động lại WebLogic

Khởi động lại WebLogic admin và tất cả managed server cùng với Node Manager.

Kết luận

Bài viết này cung cấp các bước để cấu hình WebLogic server sử dụng giao thức bảo mật SSL để cho phép website truyền thông tin nhạy cảm một cách an toàn ở định dạng được mã hóa. Với việc sử dụng chứng chỉ SSL và cơ chế mật mã học RSA Data Security, người dùng có thể trao đổi và xử lý dữ liệu và thông tin theo cách an toàn.

Bởi vì bạn đã bật SSL trên cả admin server và managed server bằng tài liệu này, cả dữ liệu và WebLogic server đều an toàn trước bất kỳ tấn công mạng (cyber-attacks) và rò rỉ dữ liệu (data leaks).

Sử dụng tab Feedback để đưa ra bất kỳ nhận xét hoặc đặt câu hỏi. Bạn cũng có thể nhấp vào Sales Chat để trò chuyện ngay và bắt đầu cuộc hội thoại.