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

ข้อมูลเบื้องต้นเกี่ยวกับความปลอดภัยของชั้นการขนส่ง

บล็อกนี้แนะนำ 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 ไฟล์:

  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 ควรส่งใบรับรองเซิร์ฟเวอร์และไฟล์ลูกโซ่ใบรับรองให้คุณ

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 :

  1. ไปที่เวอร์ชัน 10.1.2 ORACLE_HOME/sysman/config/ .

  2. ดำเนินการคำสั่งต่อไปนี้:

     Cat root.crt >> b64InternetCertificate.txt
    
คัดลอกกระเป๋าสตางค์ไปที่ OPMN

ทำตามขั้นตอนต่อไปนี้เพื่อคัดลอกกระเป๋าเงินไปยัง 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. เมื่อได้รับแจ้ง ให้ป้อนรหัสผ่านของที่เก็บคีย์ รหัสผ่านเริ่มต้นคือ 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

คัดลอกไฟล์ต้นฉบับจาก /admin/template ถึง/admin/template/custom หากไม่มีไดเร็กทอรีที่กำหนดเองหรือไฟล์เทมเพลตที่กำหนดเอง

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

 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 ของคุณให้สูงสุด