Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> ฐานข้อมูล

การกำหนดค่า SSL ใน WebLogic Server 12c

โพสต์นี้อธิบายวิธีกำหนดค่า SSL บน Oracle® WebLogic® Server 12c (12.1.2)

ภาพรวม

ความปลอดภัยของข้อมูลและสารสนเทศเป็นปัญหาหลักในโลกปัจจุบัน แอปพลิเคชันต่างๆ ใช้โปรโตคอล Secure Socket Layer (SSL) เพื่อการสื่อสารที่ปลอดภัยผ่านเครือข่าย อันที่จริง มันเป็นหนึ่งในโปรโตคอลการสื่อสารเครือข่ายที่ใช้กันอย่างแพร่หลายมากที่สุด

WebLogic Server กำหนดค่าให้ใช้ SSL ให้ทั้ง การตรวจสอบตัวตน และการเข้ารหัสข้อมูลระหว่างทาง สำหรับการเชื่อมต่อระหว่างสองแอปพลิเคชัน ดังนั้น สองแอปพลิเคชันที่โต้ตอบกันผ่าน SSL จะได้รับผลประโยชน์ในการเชื่อมต่อที่ปลอดภัยดังต่อไปนี้:

  • พวกเขาตรวจสอบตัวตนของกันและกันโดยใช้ใบรับรอง SSL ส่วนบุคคล
  • แลกเปลี่ยนข้อมูลที่เข้ารหัส (ระหว่างทาง) ระหว่างโปรแกรมแอปพลิเคชันทั้งสอง

กลไกคำขอและการตอบสนองการเชื่อมต่อ SSL เพิ่มโอเวอร์เฮดในการประมวลผลของข้อมูลเพิ่มเติมและข้อมูลเกี่ยวกับการรับรองความถูกต้อง และต้องการการประมวลผลอัลกอริทึมการเข้ารหัสที่ซับซ้อน ดังนั้น คนส่วนใหญ่มักไม่ได้ใช้ในอินสแตนซ์ของเซิร์ฟเวอร์ Weblogic ที่ทำงานใน โหมดการพัฒนา ภายในโครงสร้างพื้นฐานเครือข่ายที่มีความปลอดภัยสูง อย่างไรก็ตาม การกำหนดค่า SSL เป็นที่ต้องการอย่างมากสำหรับอินสแตนซ์เซิร์ฟเวอร์ Weblogic ที่ทำงานในโหมดการผลิต .

การสาธิตการกำหนดค่า

โพสต์นี้ครอบคลุมขั้นตอนในการกำหนดค่า SSL บนเซิร์ฟเวอร์ Weblogic ที่ติดตั้งล่วงหน้าบน MYPROD_AdminServer และ เซิร์ฟเวอร์ที่มีการจัดการ อินสแตนซ์ใน MYPROD_DOMAIN ตัวจัดการโหนดโดเมน

ในการดำเนินการนี้ ให้สร้างที่เก็บคีย์ข้อมูลประจำตัวใหม่และที่เก็บคีย์ที่เชื่อถือได้ใหม่เพื่อเก็บใบรับรองที่ลงนามใหม่ ดังนั้น ผู้ดูแลระบบ WebLogic อินสแตนซ์เซิร์ฟเวอร์ที่มีการจัดการทั้งหมด และ NodeManager จะสื่อสารโดยใช้โปรโตคอล SSL ตามที่เก็บคีย์ที่กำหนดเอง

ใช้ขั้นตอนต่อไปนี้เพื่อกำหนดค่า SSL บนอินสแตนซ์เซิร์ฟเวอร์ WebLogic ที่มีอยู่:

ขั้นตอนที่ 1:สร้างที่เก็บคีย์ข้อมูลประจำตัว

ทำตามขั้นตอนต่อไปนี้เพื่อสร้างที่เก็บคีย์ข้อมูลประจำตัว MYPRODIdentity.jks บนmyprodserver.mydomain.local เซิร์ฟเวอร์:

(a) ล็อกอินเข้าสู่เชลล์เซิร์ฟเวอร์ WebLogic Server Linux® ในฐานะผู้ใช้แอปพลิเคชัน WebLogic (เช่น Oracle ) และเรียกใช้รหัสต่อไปนี้เพื่อสร้างโฟลเดอร์ใหม่/user_projects/domains//keystores :

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

(b) ตั้งค่าMYPROD_DOMAIN และสร้างที่เก็บคีย์ใหม่:

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

ขั้นตอนที่ 2:สร้าง CSR ใหม่

ทำตามขั้นตอนต่อไปนี้เพื่อสร้าง Certificate Signing Request (CSR) ใหม่โดยใช้MYPRODIdentity.jks :

(a) เรียกใช้รหัสต่อไปนี้เพื่อใช้ keytool ยูทิลิตี้เพื่อสร้าง 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) ส่ง Certificate Signing Request (CSR) ที่สร้างขึ้นใหม่ไปยัง Certificate AuthorityCA) หลังจากลงนามใน CSR แล้ว CA จะจัดเตรียมใบรับรองดิจิทัลและคีย์ส่วนตัวของใบรับรอง

หมายเหตุ :สำหรับการสาธิตนี้ เราใช้ WebLogic Demo CA (CertGenCA.der) เพื่อลงนามในใบรับรอง คุณลักษณะการลงนามในตัวอย่างด้วยตนเองนี้สามารถใช้ได้กับเซิร์ฟเวอร์ WebLogic ในการใช้งานจริง คุณควรได้รับใบรับรองเซิร์ฟเวอร์ที่ลงนามโดย CA ที่เชื่อถือได้และกำหนดโดยองค์กรของคุณ

ขั้นตอนที่ 3:ลงชื่อใน CSR ด้วยตนเอง

ทำตามขั้นตอนต่อไปนี้เพื่อลงนาม CSR ด้วยตนเองโดยใช้ WebLogic demo CA (CertGenCA.der) และนำเข้าไปยังที่เก็บคีย์เอกลักษณ์ที่สร้างขึ้นใหม่:

(ก) เรียกใช้รหัสต่อไปนี้เพื่อลงนามในใบรับรองด้วยตนเอง:

[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) นำเข้าใบรับรองเซิร์ฟเวอร์และคีย์ส่วนตัวที่สร้างขึ้นใหม่ไปยังที่เก็บคีย์ที่สร้างไว้ก่อนหน้านี้:

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

ขั้นตอนที่ 4:สร้างที่เก็บคีย์

ทำตามขั้นตอนต่อไปนี้เพื่อสร้างที่เก็บคีย์ของ trust แบบกำหนดเองบน myprodserver.mydomain.local เครื่อง:

(a) สร้าง MYPRODTrust.jks ที่เก็บคีย์โดยทำสำเนาจาก Standard Java Trust:

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

(b) เปลี่ยนค่าเริ่มต้น cacerts รหัสผ่าน. ค่าเริ่มต้นคือ changeit . อัปเดตเป็นรหัสผ่านใหม่ที่คุณเลือก:

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

(c) นำเข้าใบรับรองที่ลงนามด้วยตนเองที่สร้างขึ้นใหม่ไปยังที่เก็บคีย์ที่เชื่อถือได้ที่เพิ่งสร้าง:

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

ขั้นตอนที่ 5:คัดลอกใบรับรอง SSL ไปยังเซิร์ฟเวอร์อื่นทั้งหมดในโดเมน

เนื่องจากคุณใช้ใบรับรอง SSL บนไวด์การ์ดแทนชื่อเซิร์ฟเวอร์เฉพาะ เซิร์ฟเวอร์ทั้งหมดใน MYPROD_DOMAIN สามารถใช้ใบรับรองเดียวกันได้

ดังนั้น ให้คัดลอกไดเร็กทอรีที่เก็บคีย์ที่สร้างไว้ก่อนหน้านี้/u01/Middleware/user_projects/domains/MYPROD_DOMAIN/keystores ซึ่งมีใบรับรองที่จำเป็นสำหรับเซิร์ฟเวอร์ WebLogic ทั้งหมดที่แชร์โดย MYPROD_DOMAIN .

ขั้นตอนที่ 6:กำหนดค่า WebLogic Node Manager

ทำตามขั้นตอนต่อไปนี้เพื่อกำหนดค่า WebLogic Node Manager เพื่อใช้ใบรับรอง SSL ที่สร้างขึ้นใหม่:

(a) อัปเดตตัวแปรต่อไปนี้ใน $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) ปิดเครื่องและเริ่ม Node Manager

ขั้นตอนที่ 7:กำหนดค่าเซิร์ฟเวอร์ผู้ดูแลระบบ WebLogic

ทำตามขั้นตอนต่อไปนี้เพื่อกำหนดค่า WebLogic Admin Server เพื่อใช้ customkeystore และใบรับรองใหม่สำหรับการเชื่อมต่อ SSL:

(a) ล็อกอินเข้าสู่ WebLogic Server Console โดยใช้ข้อมูลประจำตัวผู้ดูแลระบบ WebLogic ของคุณ

(b) บน หน้าแรก ใต้ การกำหนดค่าโดเมน –> สภาพแวดล้อม คลิก เซิร์ฟเวอร์ ตามที่แสดงในภาพหน้าจอต่อไปนี้:

การกำหนดค่า SSL ใน WebLogic Server 12c

(c) ใน บทสรุปของเซิร์ฟเวอร์ หน้า คลิก AdminServer (ผู้ดูแลระบบ) :

การกำหนดค่า SSL ใน WebLogic Server 12c

(d) จากด้านซ้ายบน เปลี่ยนศูนย์ –> ดูการเปลี่ยนแปลงและเริ่มต้นใหม่ คลิกล็อกและแก้ไข เพื่ออัปเดตการตั้งค่ากฎของที่เก็บคีย์

(จ) ใน การตั้งค่าสำหรับ AdminServer ภายใต้ การกำหนดค่า ให้คลิก ที่เก็บคีย์ แท็บแล้วคลิก เปลี่ยน ตามที่แสดงในรูปภาพต่อไปนี้เพื่อเปลี่ยนกฎของผู้ดูแลระบบ WebLogic เพื่อใช้ที่เก็บคีย์แบบกำหนดเองที่สร้างขึ้นใหม่สำหรับการเชื่อมต่อ SSL

การกำหนดค่า SSL ใน WebLogic Server 12c การกำหนดค่า SSL ใน WebLogic Server 12c

(f) อัปเดตกฎ Keystore โดยเลือก Custom Identity and Custom Trust จากคีย์สโตร์ รายการแบบเลื่อนลงและบันทึกการอัปเดต

การกำหนดค่า SSL ใน WebLogic Server 12c

(g) อัปเดต ./keystores/MYPRODIdentity.jks ใน Custom Identity Keystore text box.Update รหัสผ่าน keyStore และประหยัด

(ซ) อัปเดต ./keystores/MYPRODTrust.jks ใน Custom Trust Keystore กล่องข้อความอัปเดต เชื่อถือรหัสผ่านที่เก็บคีย์ และประหยัด

(i) เปิดแท็บ SSL ภายใต้ การกำหนดค่า แท็บพาเรนต์และอัปเดตพารามิเตอร์ต่อไปนี้:

(i) อัปเดต นามแฝงของคีย์ส่วนตัว ค่าพารามิเตอร์เป็น mywlsprodcert .(ii) อัปเดต ข้อความรหัสผ่านของคีย์ส่วนตัว ด้วยรหัสผ่านคีย์ส่วนตัว (iii) ภายใต้ ขั้นสูง เมนู อัปเดต การยืนยันชื่อโฮสต์ ค่าเป็นตัวตรวจสอบชื่อโฮสต์ที่กำหนดเอง จากรายการแบบเลื่อนลงดังภาพต่อไปนี้:

การกำหนดค่า SSL ใน WebLogic Server 12c

(iv) อัปเดต ตัวตรวจสอบชื่อโฮสต์ที่กำหนดเอง ค่าเป็น weblogic.security.utils.SSLWLSWildcardHostnameVerifier จำเป็นเนื่องจากเราใช้ใบรับรองตัวแทนเดียวสำหรับเซิร์ฟเวอร์ทั้งหมด (CN=*.mydomain.local .(v) บันทึกการอัปเดตเหล่านี้

(j) ไปที่ การกำหนดค่า –> ทั่วไป แท็บและเปิดใช้งาน SSL Listen Port Enabled โดยทำเครื่องหมายที่ช่องดังแสดงในภาพต่อไปนี้:

การกำหนดค่า SSL ใน WebLogic Server 12c

(k) พอร์ต SSL เริ่มต้นของเซิร์ฟเวอร์ผู้ดูแลระบบ WebLogic คือ 7002 แต่คุณสามารถกำหนดค่าบริการ SSL บนพอร์ตอื่นได้เช่นกัน คุณต้องใช้ค่าเริ่มต้น 7002 ที่นี่เพื่อการสาธิต ดังนั้นให้อัปเดต SSL Listen Port ถึง 7002 และบันทึกการอัพเดทดังแสดงในภาพต่อไปนี้:

การกำหนดค่า SSL ใน WebLogic Server 12c

ขั้นตอนที่ 8:กำหนดค่าเซิร์ฟเวอร์ที่มีการจัดการ WebLogic

ในการกำหนดค่าเซิร์ฟเวอร์ที่มีการจัดการ WebLogic ทั้งหมดเพื่อใช้ที่เก็บคีย์ที่กำหนดเองใหม่และใบรับรองสำหรับการเชื่อมต่อ SSL ให้ทำซ้ำขั้นตอน 7a - 7k . คุณต้องใช้ค่า SSLport ที่แตกต่างกันสำหรับแต่ละ WebLogic Managed Server ตัวอย่างเช่น ใช้ ManagedServer01: SSL port - 9001 ,ManagedServer02: SSL port - 9002 , ManagedServer03: SSL port - 9003 , และอื่นๆ

ขั้นตอนที่ 9:ใช้การอัปเดตกับไฟล์การกำหนดค่า

คลิก ปล่อยการกำหนดค่า จากเมนูด้านซ้ายบนเพื่อใช้การอัปเดตทั้งหมดกับไฟล์การกำหนดค่า WebLogic

ขั้นตอนที่ 10:รีสตาร์ท WebLogic

รีสตาร์ทผู้ดูแลระบบ WebLogic และเซิร์ฟเวอร์ที่มีการจัดการทั้งหมดพร้อมกับ Node Manager

บทสรุป

โพสต์นี้มีขั้นตอนในการกำหนดค่าเซิร์ฟเวอร์ WebLogic ให้ใช้โปรโตคอลความปลอดภัย SSL ที่เปิดใช้งานเว็บไซต์เพื่อส่งข้อมูลที่สำคัญได้อย่างปลอดภัยในรูปแบบที่เข้ารหัส ด้วยการใช้ใบรับรอง SSL และกลไกการเข้ารหัสของ RSA Data Security ผู้ใช้สามารถแลกเปลี่ยนและประมวลผลข้อมูลและข้อมูลในลักษณะที่ปลอดภัย

เนื่องจากคุณเปิดใช้งาน SSL ทั้งบนเซิร์ฟเวอร์ผู้ดูแลระบบและเซิร์ฟเวอร์ที่มีการจัดการโดยใช้เอกสารนี้ ทั้งข้อมูลและเซิร์ฟเวอร์ WebLogic จึงปลอดภัยจากการโจมตีทางไซเบอร์และการรั่วไหลของข้อมูล

ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม คุณยังสามารถคลิกแชทขาย เพื่อแชทตอนนี้และเริ่มการสนทนา