บล็อกนี้แนะนำ Transport Layer Security (TLS) และอธิบายว่าแตกต่างจาก Secure Socket Layer (SSL) อย่างไร นอกจากนี้ยังมีคำแนะนำทีละขั้นตอนที่จำเป็นในการเปิดใช้งาน TLS ใน Oracle® E-Business Suite® (EBS) R12
TLS คืออะไร
TLS เป็นเวอร์ชันอัปเกรดของ SSL และให้การสื่อสารที่ปลอดภัยระหว่างไคลเอ็นต์และเซิร์ฟเวอร์ เนื่องจาก TLS ใช้อัลกอริธึมการเข้ารหัสแบบสมมาตรในการเข้ารหัสข้อมูล การถ่ายโอนข้อมูลจึงปลอดภัยและเสถียรกว่าการถ่ายโอนโดยใช้ SSL
เหตุใดจึงต้องใช้ TLS กับ EBS
อย่างที่คุณน่าจะทราบ EBS ใช้การเชื่อมต่อขาเข้า ขาออก และลูปแบ็ค และแบ่งปันข้อมูลสำคัญทางธุรกิจกับผู้ใช้ EBS ดังนั้น โอกาสในการขโมยข้อมูล การปลอมแปลงข้อมูล และการปลอมแปลงข้อความจึงมีโอกาสมากขึ้น อย่างไรก็ตาม ด้วยการเปิดใช้งาน TLS ด้วย EBS คุณสามารถหลีกเลี่ยงปัญหาเหล่านี้ได้ทั้งหมด
รูปภาพต่อไปนี้แสดงขั้นตอนการเชื่อมต่อใน EBS:
แหล่งที่มาของรูปภาพ:การเปิดใช้งาน TLS ใน Oracle E-Business Suite รุ่น 12.1 (Doc ID 376700.1)
ใช้ TLS กับ EBS
ทำงานต่อไปนี้เพื่อเปิดใช้งาน TLS ด้วย EBS:
- อัปเกรด Java Development Kit (JDK®) และหน้าแรกของเว็บ
- ใช้แพตช์บังคับ
- กำหนดค่า OpenSSL®
- สร้าง .csr ไฟล์.
- รับไฟล์ .csr ที่ผ่านการรับรองจากผู้ออกใบรับรอง (CA)
- ดาวน์โหลดและนำเข้าใบรับรองไปยัง EBS
- เปลี่ยนแปลงการกำหนดค่า
- เรียกใช้การกำหนดค่าอัตโนมัติ
- ยืนยัน URL
1. อัปเกรด JDK และหน้าแรกของเว็บ
อัปเกรดเป็น JDK 7 ขึ้นไป และอัปเกรด Web Home เป็นเวอร์ชัน 10.1.3.5
2. ใช้แพตช์บังคับ
ติดตั้งแพตช์ต่อไปนี้ (หรือแพตช์ที่ออกล่าสุด):
- Oracle Opatch (6880880)
- อัปเดต Oracle Critical Patch (CPU)
- เซิร์ฟเวอร์ Oracle HTTP (OHS) (27078378)
- Oracle Process Manager และเซิร์ฟเวอร์การแจ้งเตือน (OPMN) (27208670)
- EBS (22724663, 22922530 และ 22974534)
3. กำหนดค่า OpenSSL
สร้างไฟล์การกำหนดค่า OpenSSL โดยดำเนินการคำสั่งต่อไปนี้:
cd $INST_TOP/certs/Apache
mkdir WildcardCert
cd $INST_TOP/certs/Apache/WildcardCert
สร้าง new.cnf . ต่อไปนี้ ไฟล์ที่จะใช้เป็นไฟล์ตอบกลับสำหรับ OpenSSL:
cat new.cnf
[req]
prompt = no
default_md = sha256
distinguished_name = dn
req_extensions = ext
[dn]
CN = *. corp.aspentech.com
O = Aspen Technology Inc
OU = IT
L = Bedford
ST = Masachett
C = US
[ext]
subjectAltName = DNS:*. corp.aspentech.com
4. สร้างไฟล์ .csr
ใช้ขั้นตอนต่อไปนี้เพื่อสร้าง .csr ไฟล์:
-
เรียกใช้คำสั่งต่อไปนี้เพื่อสร้างไฟล์ .csr:
$ openssl req -newkey rsa:2048 -nodes -keyout server.key -sha256 -out new.csr -config new.cnf Generating a 2048 bit RSA private key ......................................+++ ........................................................................................+++ writing new private key to 'server.key'
-
ตรวจสอบ .csr บน https://www.sslshopper.com/csr-decoder.html
-
หากข้อมูลถูกต้อง ให้ส่ง .csr ไปยัง CA.
5. รับใบรับรองจาก CA
CA ควรส่งใบรับรองเซิร์ฟเวอร์และไฟล์ลูกโซ่ใบรับรองให้คุณ
6. ดาวน์โหลดและนำเข้าไฟล์ใบรับรอง
หลังจากได้รับใบรับรองเซิร์ฟเวอร์และไฟล์ลูกโซ่ใบรับรองจาก CA แล้ว ให้ทำตามขั้นตอนต่อไปนี้:
ดาวน์โหลดไฟล์
ดาวน์โหลดไฟล์เก็บถาวรลงบนเดสก์ท็อปของคุณ คลายซิปไฟล์เก็บถาวรลงในโฟลเดอร์ใหม่ และสร้างกระเป๋าเงิน คุณควรเห็นไฟล์สองไฟล์ดังที่แสดงในภาพต่อไปนี้:
ไฟล์ที่ขึ้นต้นด้วย a2e
เป็นไฟล์หลักและไฟล์ที่ขึ้นต้นด้วยgd
เป็นไฟล์กลาง
เปิดไฟล์หลักและบันทึก รูท (หรือหลัก) ใบรับรองเป็น .crt ไฟล์. ในทำนองเดียวกัน เปิดไฟล์กลางและบันทึกเป็น .crt ไฟล์. อัปโหลดไฟล์ทั้งหมดไปยังเซิร์ฟเวอร์
สร้างไดเรกทอรี Apache
ดำเนินการคำสั่งต่อไปนี้เพื่อสร้างไดเร็กทอรี Apache® หากมีไดเรกทอรี Apache อยู่แล้ว ให้สำรองข้อมูลไดเรกทอรี Apache เก่าก่อน
cd $INST_TOP/certs/
mkdir Apache
สร้างไดเรกทอรีกระเป๋าสตางค์
ดำเนินการคำสั่งต่อไปนี้เพื่อสร้างไดเร็กทอรี wallet ว่างบน applicationnode:
orapki wallet create -wallet /u01/app/TATII1/inst/apps/TATII1_nchlatiebsa01/certs/Apache -pwd WalletPasswd123 -auto_login
คำสั่งก่อนหน้าจะสร้าง ewallet.p12 และ cwallet.sso ไฟล์ภายในโฟลเดอร์ thewallet (/u01/app/TATII1/inst/apps/TATII1_nchlatiebsa01/certs/Apache )
คัดลอกใบรับรอง
รันคำสั่งต่อไปนี้เพื่อนำเข้าใบรับรอง ตามลำดับ:root,server, intermediate:
orapki wallet add -wallet /u01/app/TATII1/inst/apps/TATII1_nchlatiebsa01/certs/Apache -trusted_cert -cert "/home/appti1/ITK1054693/root.crt" -pwd WalletPasswd123
orapki wallet add -wallet /u01/app/TATII1/inst/apps/TATII1_nchlatiebsa01/certs/Apache -trusted_cert -cert "/home/appti1/ITK1054693/server.crt" -pwd WalletPasswd123
orapki wallet add -wallet /u01/app/TATII1/inst/apps/TATII1_nchlatiebsa01/certs/Apache -trusted_cert -cert "/home/appti1/ITK1054693/intermediate.crt " -pwd WalletPasswd123
สร้าง b64InternetCertificate.txt
ทำตามขั้นตอนต่อไปนี้เพื่อเพิ่มเนื้อหาของ ca.crt ไปยังb64InternetCertificate.txt :
-
ไปที่เวอร์ชัน 10.1.2 ORACLE_HOME/sysman/config/ .
-
ดำเนินการคำสั่งต่อไปนี้:
Cat root.crt >> b64InternetCertificate.txt
คัดลอกกระเป๋าสตางค์ไปที่ OPMN
ทำตามขั้นตอนต่อไปนี้เพื่อคัดลอกกระเป๋าเงินไปยัง OPMN:
- นำทางไปยัง $INST_TOP/certs/opmn ไดเรกทอรี
- สร้างไดเร็กทอรีใหม่ชื่อ BAK .
- ย้าย ewallet.p12 และ cwallet.sso จาก $INST_TOP/certs/Apache ถึง BAK .
- คัดลอก ewallet.p12 และ cwallet.sso จาก BAK ถึง $INST_TOP/certs/opmn .
ผลลัพธ์ควรคล้ายกับตัวอย่างต่อไปนี้:
[appti1@nchlatiebsa01 opmn]$ pwd
/u01/app/TATII1/inst/apps/TATII1_nchlatiebsa01/certs/opmn
[appti1@nchlatiebsa01 opmn]$ ls -ltr
drwxrwxr-x 2 appti1 appti1 4096 Nov 17 05:34 BAK
-rw------- 1 appti1 appti1 3993 Nov 20 00:05 cwallet.sso
-rw------- 1 appti1 appti1 3965 Nov 20 00:05 ewallet.p12
[appti1@nchlatiebsa01 opmn]$
อัปเดตไฟล์ cacerts
ทำตามขั้นตอนต่อไปนี้เพื่ออัปเดต JDK cacerts ไฟล์:
-
ไปที่ $OA_JRE_TOP/lib/security .
-
สำรองข้อมูล cacerts . ที่มีอยู่ ไฟล์.
-
คัดลอก root.crt และ server.crt ไปที่ไดเร็กทอรีนี้และออกคำสั่งต่อไปนี้เพื่อให้แน่ใจว่า cacerts มีสิทธิ์เขียน:
$ chmod u+w cacerts
-
ดำเนินการคำสั่งต่อไปนี้เพื่อเพิ่ม Apache ca.crt . ของคุณ และ server.crt ไปที่ cacerts :
$ keytool -import -alias ApacheRootCA -file root.crt -trustcacerts -v -keystore cacerts $ keytool -import -alias ApacheServer -file server.crt -trustcacerts -v -keystore cacerts
-
เมื่อได้รับแจ้ง ให้ป้อนรหัสผ่านของที่เก็บคีย์ รหัสผ่านเริ่มต้นคือ
changeit
.
อัปเดตพารามิเตอร์
ทำการเปลี่ยนแปลงพารามิเตอร์ที่เกี่ยวข้องกับ TLS ต่อไปนี้ในไฟล์ XML:
หากคุณกำลังใช้ TLS ตั้งแต่ต้นทางถึงปลายทาง ให้ทำการเปลี่ยนแปลงดังต่อไปนี้:
7. ทำการเปลี่ยนแปลงการกำหนดค่า
ทำการเปลี่ยนแปลงต่อไปนี้กับไฟล์:
(หากไฟล์ไม่มีอยู่ในโฟลเดอร์ที่กำหนดเอง ให้สร้างโฟลเดอร์ที่กำหนดเองแล้วคัดลอกไฟล์)
สำหรับ FND_TOP>/admin/template/custom/opmn_xml_1013.tmp:
แทนที่บรรทัดนี้ในเทมเพลต:
<ssl enabled="true" wallet-file="%s_web_ssl_directory%/opmn"/>
ด้วยบรรทัดการแทนที่ต่อไปนี้:
<ssl enabled="true" openssl-certfile="%s_web_ssl_directory%/Apache/opmn.crt" openssl-keyfile="%s_web_ssl_directory%/Apache/server.key" openssl-password="dummy" openssl-lib="%s_weboh_oh%/lib" ssl-versions="TLSv1.0,TLSv1.1,TLSv1.2" ssl-ciphers="AES128-SHA,AES256-SHA"/>
สำหรับ FND_TOP>/admin/template/custom/httpd_conf_1013.tmp:
แก้ไขส่วนต่อไปนี้:
<IfDefine SSL>
LoadModule ossl_module libexec/mod_ossl.so
</IfDefine>
ดังต่อไปนี้:
<IfDefine SSL>
#LoadModule ossl_module libexec/mod_ossl.so
LoadModule ssl_module libexec/mod_ssl.so
</IfDefine>
สำหรับ FND_TOP>/admin/template/custom/ssl_conf_1013.tmp:
แสดงความคิดเห็นในบรรทัดต่อไปนี้ในเทมเพลต:
#SSLWallet file:%s_web_ssl_directory%/Apache
เพิ่มบรรทัดต่อไปนี้ในเทมเพลต:
SSLCertificateFile %s_web_ssl_directory%/Apache/server.crt
SSLCertificateKeyFile %s_web_ssl_directory%/Apache/server.key
SSLCertificateChainFile %s_web_ssl_directory%/Apache/intermediate.crt
แทนที่บรรทัดต่อไปนี้:
SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM
ด้วยบรรทัดการแทนที่ต่อไปนี้:
SSLCipherSuite HIGH:MEDIUM:!aNULL:!RC4:!3DES:!SEED:!IDEA:!CAMELLIA:+HIGH:+MEDIUM
แทนที่บรรทัดต่อไปนี้:
SSLProtocol -all +TLSv1 +SSLv3
ด้วยบรรทัดการแทนที่ต่อไปนี้:
SSLProtocol all -SSLv2 -SSLv3
สำหรับไฟล์ต่อไปนี้:
/admin/template/custom/oc4j_properties_1013.tmp /admin/template/custom/oafm_oc4j_properties_1013.tmp /admin/template/custom/forms_oc4j_properties_1013.tmp
คัดลอกไฟล์ต้นฉบับจาก
อัปเดตไฟล์ที่กำหนดเองเหล่านี้โดยเพิ่มบรรทัดต่อไปนี้:
https.protocols=TLSv1,TLSv1.1,TLSv1.2
8. เรียกใช้การกำหนดค่าอัตโนมัติ
เรียกใช้ adautocfg.sh
ในระดับแอปพลิเคชัน $ADMIN_SCRIPTS_HOME ไดเรกทอรี
9. ดำเนินการตรวจสอบขั้นสุดท้าย
ตรวจสอบ URL ซึ่งควรมีลักษณะตามตัวอย่างต่อไปนี้:
SQL> select home_url from icx_parameters;
HOME_URL
--------------------------------------------------------------------------------
https://ebstest1.corp.aspentech.com:4443/OA_HTML/AppsLogin
บทสรุป
หากคุณวางแผนที่จะใช้ EBS และส่งข้อมูลสำคัญ คุณต้องเปิดใช้งาน TLS ด้วย EBS เพื่อให้มีวิธีการที่ปลอดภัยสำหรับการสื่อสารทางอินเทอร์เน็ตที่จะเกิดขึ้นระหว่างเซิร์ฟเวอร์และไคลเอ็นต์ เพื่อให้แน่ใจว่าไม่มีใครยุ่งเกี่ยวกับหรือแฮ็กข้อมูลระหว่างการสื่อสาร
ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม
เรียนรู้เพิ่มเติมเกี่ยวกับบริการฐานข้อมูลของเรา
เราเป็นผู้เชี่ยวชาญเกี่ยวกับผลิตภัณฑ์ Oracle ดังนั้นให้ Rackspace ช่วยคุณเพิ่มการลงทุน Oracle ของคุณให้สูงสุด