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

รักษาความปลอดภัย Oracle E-Business Suite ด้วย TLS: คู่มือขั้นตอนต่อขั้นตอน

บทความนี้แนะนำ Transport Layer Security (TLS) และอธิบายว่ามันแตกต่างจาก Secure Socket Layer (SSL) อย่างไร ยังรวมคำแนะนำขั้นตอนต่อขั้นตอนที่จำเป็นในการเปิดใช้งาน TLS ใน Oracle® E-Business Suite® (EBS) R12

TLS คืออะไร?

TLS เป็นเวอร์ชันที่อัปเกรดของ SSL และให้การสื่อสารที่ปลอดภัยระหว่าง client และ server เนื่องจาก TLS ใช้ symmetric cryptography algorithm ในการเข้ารหัสข้อมูล การถ่ายโอนข้อมูลจึงปลอดภัยและเสถียรกว่าการใช้ SSL

ทำไมต้องใช้ TLS กับ EBS?

เช่นที่คุณน่าจะรู้ EBS ใช้ inbound, outbound และ loopback connections และแชร์ข้อมูลสำคัญทางธุรกิจกับผู้ใช้ EBS ดังนั้น โอกาสของการขโมยข้อมูล การปลอมแปลงข้อมูล และการปลอมแปลงข้อความ จึงเป็นไปได้มาก แต่ด้วยการเปิดใช้งาน TLS กับ EBS คุณสามารถหลีกเลี่ยงปัญหาทั้งหมดเหล่านี้ได้

ภาพต่อไปนี้แสดงการไหลของการเชื่อมต่อใน EBS:

รักษาความปลอดภัย Oracle E-Business Suite ด้วย TLS: คู่มือขั้นตอนต่อขั้นตอน

แหล่งภาพ: Enabling TLS in Oracle E-Business Suite Release 12.1 (Doc ID 376700.1)

นำ TLS ไปใช้กับ EBS

ดำเนินงานต่อไปนี้เพื่อเปิดใช้งาน TLS กับ EBS:

  • อัปเกรด Java Development Kit (JDK®) และ Web Home
  • นำแพตช์ที่บังคับใช้ไปใช้
  • กำหนดค่า OpenSSL®
  • สร้างไฟล์ .csr
  • รับไฟล์ .csr ที่ได้รับการรับรองจาก Certificate Authority (CA)
  • ดาวน์โหลดและนำเข้าสิทธิ์รับรองเข้า EBS
  • ทำการเปลี่ยนแปลงการกำหนดค่า
  • รัน AutoConfig
  • ตรวจสอบ URL

1. อัปเกรด JDK และ Web Home

อัปเกรดเป็น JDK 7 หรือสูงกว่า และอัปเกรด Web Home เป็นเวอร์ชัน 10.1.3.5

2. นำแพตช์ที่บังคับใช้ไปใช้

ติดตั้งแพตช์ต่อไปนี้ (หรือแพตช์ที่เผยแพร่ล่าสุด):

  • Oracle Opatch (6880880)
  • Oracle Critical Patch Updates (CPU)
  • Oracle HTTP Server (OHS) (27078378)
  • Oracle Process Manager and Notification Server (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:

  1. รันคำสั่งต่อไปนี้เพื่อสร้างไฟล์ .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' 
  2. ตรวจสอบ .csr บน https://www.sslshopper.com/csr-decoder.html

  3. ถ้าข้อมูลถูกต้อง ส่ง .csr ไปยัง CA

5. รับใบรับรองจาก CA

CA ควรส่ง server certificate และ certificate chain files ให้คุณ

6. ดาวน์โหลดและนำเข้าไฟล์ใบรับรอง

หลังจากได้รับ server certificate และ certificate chain files จาก CA ให้ดำเนินขั้นตอนต่อไปนี้:

ดาวน์โหลดไฟล์

ดาวน์โหลดไฟล์ archive ไปที่ desktop แตกไฟล์ archive ไปโฟลเดอร์ใหม่ และสร้าง wallet คุณควรเห็นสองไฟล์ ตามภาพด้านล่าง:

รักษาความปลอดภัย Oracle E-Business Suite ด้วย TLS: คู่มือขั้นตอนต่อขั้นตอน

ไฟล์ที่ขึ้นต้นด้วย a2e คือไฟล์หลัก และไฟล์ที่ขึ้นต้นด้วย gd คือไฟล์ intermediate

เปิดไฟล์หลักและบันทึก root (หรือ main) certificate เป็นไฟล์ .crt เช่นเดียวกัน เปิดไฟล์ intermediate และบันทึกเป็นไฟล์ .crt เช่นกัน อัปโหลดไฟล์ทั้งหมดไปยังเซิร์ฟเวอร์

สร้างไดเรกทอรี Apache

รันคำสั่งต่อไปนี้เพื่อสร้างไดเรกทอรี Apache® หากมีไดเรกทอรี Apache อยู่แล้ว ให้สำรองไดเรกทอรี Apache เก่าก่อน

cd $INST_TOP/certs/ mkdir Apache 
สร้างไดเรกทอรี wallet

รันคำสั่งต่อไปนี้เพื่อสร้าง wallet directory ว่างบน application node:

orapki wallet create -wallet /u01/app/TATII1/inst/apps/TATII1_nchlatiebsa01/certs/Apache -pwd WalletPasswd123 -auto_login 

คำสั่งก่อนหน้านี้สร้างไฟล์ ewallet.p12 และ cwallet.sso ภายในโฟลเดอร์ wallet (/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:

  1. ไปที่ version 10.1.2 ORACLE_HOME/sysman/config/

  2. รันคำสั่งต่อไปนี้:

     Cat root.crt >> b64InternetCertificate.txt 
คัดลอก wallet ไป OPMN

ดำเนินขั้นตอนต่อไปนี้เพื่อคัดลอก wallet ไป OPMN:

  1. ไปที่ไดเรกทอรี $INST_TOP/certs/opmn
  2. สร้างไดเรกทอรีใหม่ชื่อ BAK
  3. ย้าย ewallet.p12 และ cwallet.sso จาก $INST_TOP/certs/Apache ไป BAK
  4. คัดลอก 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:

  1. ไปที่ $OA_JRE_TOP/lib/security

  2. สำรองไฟล์ cacerts ที่มีอยู่

  3. คัดลอก root.crt และ server.crt ไปที่ไดเรกทอรีนี้ และออกคำสั่งต่อไปนี้เพื่อให้แน่ใจว่า cacerts มีสิทธิ์เขียน:

    $ chmod u+w cacerts 
  4. รันคำสั่งต่อไปนี้เพื่อเพิ่ม 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 
  5. เมื่อได้รับแจ้ง ให้ป้อนรหัสผ่าน keystore รหัสผ่านเริ่มต้นคือ changeit

อัปเดตพารามิเตอร์

ทำการเปลี่ยนแปลงพารามิเตอร์ที่เกี่ยวกับ TLS ในไฟล์ XML:

รักษาความปลอดภัย Oracle E-Business Suite ด้วย TLS: คู่มือขั้นตอนต่อขั้นตอน

หากคุณใช้ end-to-end TLS ให้ทำการเปลี่ยนแปลงต่อไปนี้:

รักษาความปลอดภัย Oracle E-Business Suite ด้วย TLS: คู่มือขั้นตอนต่อขั้นตอน

7. ทำการเปลี่ยนแปลงการกำหนดค่า

ทำการเปลี่ยนแปลงต่อไปนี้ให้กับไฟล์:

(หากไฟล์ไม่อยู่ในโฟลเดอร์ custom ให้สร้างโฟลเดอร์ custom และคัดลอกไฟล์)

สำหรับ 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 
สำหรับไฟล์ต่อไปนี้:
  • <FND_TOP>/admin/template/custom/oc4j_properties_1013.tmp
  • <FND_TOP>/admin/template/custom/oafm_oc4j_properties_1013.tmp
  • <FND_TOP>/admin/template/custom/forms_oc4j_properties_1013.tmp

คัดลอกไฟล์ต้นฉบับจาก <FND_TOP>/admin/template ไป <FND_TOP>/admin/template/custom หากไดเรกทอรี custom หรือไฟล์เทมเพลตที่ปรับแต่งแล้วไม่มีอยู่แล้ว

อัปเดตไฟล์ custom เหล่านี้โดยเพิ่มบรรทัดต่อไปนี้:

 https.protocols=TLSv1,TLSv1.1,TLSv1.2 

8. รัน AutoConfig

รัน adautocfg.sh ในไดเรกทอรี application tier $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 เพื่อให้วิธีการสื่อสารผ่านอินเทอร์เน็ตระหว่างเซิร์ฟเวอร์และไคลเอนต์ที่ปลอดภ นี่รับรองว่าไม่มีใครสามารถปลอมแปลงหรือแฮ็กข้อมูลระหว่างการสื่อสารได้

ใช้แท็บ Feedback เพื่อแสดงความคิดเห็นหรือถามคำถาม

เรียนรู้เพิ่มเติมเกี่ยวกับบริการฐานข้อมูลของเรา

เราคือผู้เชี่ยวชาญผลิตภัณฑ์ Oracle ให้นำ Rackspace ช่วยเพิ่มประสิทธิภาพการลงทุน Oracle ของคุณ