เพื่อรักษาความปลอดภัยการสื่อสาร Workflow คุณสามารถกำหนดค่า Oracle® Application Server ให้ใช้ Secure Sockets Layer (SSL)
บทนำ (Introduction)
โพสต์นี้อธิบายตัวอย่างของคำสั่งและเครื่องมือในการตั้งค่า Test Case ของ Workflow Java Mailer ที่เชื่อมต่อกับ SMTP/IMAP Server ที่เปิดใช้งาน SSL
ดำเนินขั้นตอนโดยละเอียดต่อไปนี้เพื่อกำหนดค่า Workflow Java Mailer:
ขั้นตอนที่ 1: เปิดพอร์ต (Open Ports)
ทำงานกับทีมเครือข่ายและเปิดพอร์ตต่อไปนี้จาก Concurrent Manager Tier: SMTP/SSL Port: 465 และ IMAP/SSL Port: 993
Protocol: SMTP/SSL Port: 465
Protocol: IMAP/SSL Port: 993
PROD [@servername ~]$ telnet 465
Trying XXXXXX...
Connected to SMTP Server Name.
Escape character is '^]'
PROD [@servername ~]$ telnet 993
Trying XXXXXX...
Connected to IMAP Server Name.
Escape character is '^]'
ขั้นตอนที่ 2: ส่งออก Certificate จาก Email Server
Goraknath Rathod DBA และ Blogger อธิบายขั้นตอนนี้ในโพสต์ปี 2018: "เพื่อสร้างช่องทางการสื่อสารที่ปลอดภัย Certificate จาก Email Server (ที่ออกโดย Certification Authority) ต้องถูกนำเข้า (Import) บน Concurrent Manager Tier
"Email Server Certificate ที่ออกโดย CA ที่น่าเชื่อถือ (เช่น Verisign) สามารถรับได้จาก System Administrator หรือดาวน์โหลดโดย [ทำตามขั้นตอนต่อไปนี้]:"
ขั้นตอนที่ Rathod อธิบาย:
ก. เข้าถึงหน้าเว็บหลัก https://host.domain:port
ข.ดับเบิลคลิกที่ไอคอนล็อก (Padlock) ที่ด้านล่างของหน้าเพื่อดู Certificates หากไม่มี Padlock บน Toolbar ด้านบน: เลือก File->Properties->Certificates
ค. เลือกแท็บ Certification Path และ:
ก. คลิกที่บรรทัดแรกแล้ว View Certificate นี่จะเป็น Certificate สำหรับ Root Certifying Authority (CA)
ข. บนแท็บ Details คลิก Copy to File นี่จะเริ่ม Export Wizard
ค. คลิก Next เพื่อดำเนินต่อ
ง. เลือก Base-64 encoded X.509 (.CER) และคลิก Next
จ. ป้อน ca1 เป็นชื่อและคลิก OK เพื่อ Export Certificate
ฉ. ทำซ้ำขั้นตอนก่อนหน้าทั้งหมดสำหรับแต่ละบรรทัดบนแท็บ Certification Path เพิ่มชื่อไฟล์ทีละ 1 ทุกครั้ง (เช่น ca2, ca3)
ขั้นตอนที่ 3: สร้าง Keystore
Rathod ต่อ: "สร้าง Keystore บน Concurrent Manager Tier นำ Certificate เข้า Keystore"
ขั้นตอนที่ Rathod อธิบายพร้อมโค้ดตัวอย่างที่ผมให้:
ก. สร้าง Keystore ที่เก็บ Certificate โดยใช้ Default Location (เช่น /home/applmgr)
ข. อัปโหลด Certificate ไปยัง Concurrent Manager Tier โดยใช้ FTP Tool
[@servername ~]$ ls -lrt ca1.cer ca2.cer ca3.cer ca4.cer
-rw-rw-r-- 1 applmgr applmgr 1472 Jul 17 00:40 ca1.cer
-rw-rw-r-- 1 applmgr applmgr 1646 Jul 17 00:41 ca2.cer
-rw-rw-r-- 1 applmgr applmgr 1756 Jul 17 00:41 ca3.cer
-rw-rw-r-- 1 applmgr applmgr 2800 Jul 17 00:41 ca4.cer
[@servername ~]$ pwd
/home/applmgr
[@servername ~]$ keytool -genkey -alias -keystore -storetype JKS
Enter keystore password:
Re-enter new password:
What is your first and last name?
What is the name of your organizational unit?
What is the name of your organization?
What is the name of your city or locality?
What is the name of your state or province?
What is the two-letter country code for this unit?
Is CN=XXX, OU=XXX, O=XXX, L=XXX, ST=XXX, C=XXX correct? [no]: yes
Enter key password for <-keystore> (RETURN if same as keystore password):
Re-enter new password:
changeit
ค. นำ Certificate เข้า Keystore ที่สร้าง
[@servername ~]$ ls -la .keystore
-rw-rw-r-- 1 applmgr applmgr 1332 Jul 17 01:04 .keystore
keytool -import -alias my_cert1 -file ca1.cer -keystore .keystore -storepass
keytool -import -alias my_cert2 -file ca2.cer -keystore .keystore -storepass
keytool -import -alias my_cert3 -file ca3.cer -keystore .keystore -storepass
keytool -import -alias my_cert4 -file ca4.cer -keystore .keystore -storepass
ง. ตรวจสอบ Certificates
[@servername~]$ keytool -list -keystore .keystore
Enter keystore password:
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 5 entries
my_cert4, Jul 17, 2020, trustedCertEntry, Certificate fingerprint (SHA1): 1E:5D:EA:8C:79:E1:89:85:1B:31:62:16:1F:D9:27:6A:56:FD:AB:37
my_cert3, Jul 17, 2020, trustedCertEntry, Certificate fingerprint (SHA1): 27:AC:93:69:FA:F2:52:07:BB:26:27:CE:FA:CC:BE:4E:F9:C3:19:B8
my_cert2, Jul 17, 2020, trustedCertEntry, Certificate fingerprint (SHA1): 34:0B:28:80:F4:46:FC:C0:4E:59:ED:33:F5:2B:3D:08:D6:24:29:64
my_cert1, Jul 17, 2020, trustedCertEntry, Certificate fingerprint (SHA1): 27:96:BA:E6:3F:18:01:E2:77:26:1B:A0:D7:77:70:02:8F:20:EE:E4
-keystore, Jul 17, 2020, PrivateKeyEntry, Certificate fingerprint (SHA1): E0:DA:C8:95:4F:FB:A2:82:40:9E:6A:02:A0:82:0F:35:5E:B1:FE:08
จ. ตั้งค่า MAILER_SSL_TRUSTSTORE (เช่น /home/applmgr/.keystore)
จาก SQL *Plus:
[@servername~]$ sqlplus apps/XXXXX @$FND_TOP/sql/afsvcpup.sql
10006 Workflow Notification Mailer DEACTIVATED_SYST WF_MAILER GSM
Enter Component Id: 10006
10243 SSL Trust store NONE NONE N N
Enter the Comp Param Id to update: 10243
You have selected parameter: SSL Trust store
Current value of parameter: NONE
Enter a value for the parameter: /home/applmgr/.keystore
ขั้นตอนที่ 4: ตั้งค่า Mailer ให้ทำงานกับ IMAPSSL / SMTPSSL
ขั้นตอนที่ Rathod อธิบาย:
Navigation: ล็อกอิน OAM > System Administrator > Workflow Manager > Notification Mailer Link
ก. ป้อน Outbound Server Name และติ๊ก Checkbox Outbound SSL Enable
ข. ป้อน Inbound Server Name, Username, Password, Reply-to Address และติ๊ก Checkbox Inbound SSL Enable
ขั้นตอนที่ 5: ขั้นตอน Debug สำหรับ R12 Instance
ขั้นตอนที่ Rathod อธิบาย:
ก. SMTP
$AFJVAPRG -classpath $AF_CLASSPATH -Dprotocol=smtp \
-Ddbcfile=$FND_SECURE/TEST.dbc \
-Dport=465 -Dssl=Y \
-Dtruststore=/home/applmgr/.keystore \
-Dserver=email.yourdomain.com \
-Daccount=youremail@yourdomain.com -Dpassword=xxxxx \
-Dconnect_timeout=120 -Ddebug=Y \
-DdebugMailSession=Y oracle.apps.fnd.wf.mailer.Mailer
ข. IMAP
$AFJVAPRG -classpath $AF_CLASSPATH -Dprotocol=imap \
-Ddbcfile=$FND_SECURE/TEST.dbc \
-Dport=993 -Dssl=Y \
-Dtruststore=/home/applmgr/.keystore \
-Dserver=email.yourdomain.com \
-Daccount=youremail@yourdomain.com -Dpassword=xxxxx\
-Dconnect_timeout=120 -Ddebug=Y \
-DdebugMailSession=Y oracle.apps.fnd.wf.mailer.Mailer
ขั้นตอนที่ 6: ยืนยันตัวตน Mailer (Authenticate Mailer)
ใน R12.1.3 Oracle Workflow Notification Mailer รองรับ SMTP Authentication ทำให้คุณใช้ Notification Mailer กับ Enterprise SMTP Server ที่ตั้งค่า SMTP Authentication ได้
ตามการนำเสนอฟีเจอร์ Oracle R12.1.3 ปี 2014: "SMTP Authentication ต้องการให้ Sender ยืนยันตัวตนโดยระบุตัวตนให้ Mail Server หลังจากยืนยันสำเร็จ Mail Server ให้การส่งอีเมลของ Sender SMTP Authentication สามารถใช้เพื่ออนุญาตให้ผู้ใช้ที่ถูกต้อง Relay Mail ในขณะที่ปฏิเสธบริการ Relay ให้ผู้ใช้ที่ไม่ได้รับอนุญาต เช่น Spammers
"Oracle Workflow รองรับกลไก Authentication PLAIN, LOGIN, และ DIGST-MD5"
ขั้นตอนที่ 7: รีสตาร์ทบริการ (Cycle the Services)
เพื่อให้การตั้งค่าเสร็จสิ้น ให้หยุดและเริ่มบริการทั้งหมดตามที่จำเป็น
สรุป
SSL รักษาความปลอดภัยการสื่อสารโดยให้ Message Encryption, Integrity และ Authentication ด้วยการปฏิบัติตามและนำขั้นตอนข้างต้นไปใช้ คุณสามารถรักษาความปลอดภัยการสื่อสาร Workflow ได้อย่างง่ายดาย
เรียนรู้เพิ่มเติมเกี่ยวกับบริการข้อมูลของเรา
ใช้แท็บ Feedback เพื่อแสดงความคิดเห็นหรือถามคำถาม คุณยังสามารถเริ่มการสนทนากับเราได้