এই পোস্টে Oracle® WebLogic® Server 12c (12.1.2)-এ SSL কনফিগার করার পদ্ধতি বর্ণনা করা হয়েছে।
ওভারভিউ
ডেটা এবং ইনফরমেশন নিরাপত্তা আজকের বিশ্বে একটি প্রাথমিক চিন্তা। বিভিন্ন অ্যাপ্লিকেশন নেটওয়ার্কের ওপর নিরাপদ যোগাযোগের জন্য Secure Socket Layer (SSL) প্রোটোকল ব্যবহার করে। thực tế, এটি সবচেয়ে ব্যাপকভাবে ব্যবহৃত নেটওয়ার্ক কমিউনিকেশন প্রোটোকলগুলির মধ্যে একটি।
SSL ব্যবহার করার জন্য কনফিগার করা WebLogic Server দুটি অ্যাপ্লিকেশন প্রোগ্রামের সংযোগের জন্য আইডেন্টিটি অথেন্টিকেশন এবং ইন-ট্রানজিট ডেটা এনক্রিপশন উভয়ই প্রদান করে। সুতরাং, SSL-এর মাধ্যমে একে অপর সাথে ইন্টারঅ্যাক্ট করা যেকোনো দুটি অ্যাপ্লিকেশন নিচের সিকিউর-কানেকশন সুবিধাগুলো পায়:
- তারা নিজস্ব SSL সার্টিফিকেট ব্যবহার করে একে অপরর আইডেন্টিটি যাচাই করে।
- তারা উভয় অ্যাপ্লিকেশন প্রোগ্রামের মধ্যে এনক্রিপ্টেড (ইন-ট্রানজিট) ডেটা এক্সচেঞ্জ করে।
SSL কানেকশন রিকোয়েস্ট এবং রেসপন্স মেকানিজম প্রসেসিং-এর অতিরিক্ত কম্পিউটেশন ওভারহেড যোগ করে অতিরিক্ত ডেটা এবং অথেন্টিকেশন সংক্রান্ত ইনফরমেশনের জন্য এবং জটিল ক্রিপ্টোগ্রাফিক অ্যালগরিদম প্রসেসিং-এর জন্য। তাই, অধিকাংশ লোক উন্নত নেটওয়ার্ক ইনফ্রাস্ট্রাকচার داخل ডেভেলপমেন্ট মোড-এ চলমান Weblogic সার্ভার ইনস্ট্যান্সে এটি সাধারণত ব্যবহার করে না। যাইহোক, প্রোডাকশন মোড-এ চলমান Weblogic সার্ভার ইনস্ট্যান্সের জন্য SSL কনফিগারেশন অত্যন্ত ইচ্ছنیয়।
কনফিগারেশন ডেমোন্সট্রেশন
এই পোস্টে MYPROD_AdminServer এবং Managed Server ইনস্ট্যান্সগুলোর ওপর MYPROD_DOMAIN ডোমেন Node Manager-এ SSL কনফিগার করার ধাপগুলো কভার করা হয়েছে।
এটি করার জন্য, একটি নতুন আইডেন্টিটি কিস্টোর এবং একটি নতুন ট্রাস্টেড কিস্টোর তৈরি করুন যাতে নতুন সাইন করা সার্টিফিকেট স্টোর করা যায়। এইভাবে, WebLogic অ্যাডমিন, সকল ম্যানেজড সার্ভার ইনস্ট্যান্স, এবং Node Manager SSL প্রোটোকল ব্যবহার করে কাস্টম কিস্টোরের ভিত্তিতে কমিউনিকেট করে।
বিদ্যমান WebLogic সার্ভার ইনস্ট্যান্সগুলোর ওপর SSL কনফিগার করতে নিচের ধাপগুলো ব্যবহার করুন:
Step 1: আইডেন্টিটি কিস্টোর তৈরি করুন
MYPRODIdentity.jks আইডেন্টিটি কিস্টোর তৈরি করতে myprodserver.mydomain.local সার্ভারে নিচের ধাপগুলো সম্পন্ন করুন:
(ক) WebLogic Server Linux® সার্ভার শেলে WebLogic অ্যাপ্লিকেশন ওনার ইউজার (যেমন Oracle) হিসেবে লগ ইন করুন এবং নিচের কোড চালিয়ে একটি নতুন ফোল্ডার তৈরি করুন, <middleware_home>/user_projects/domains/<domain_home>/keystores:
[oracle@myprodserver]$ mkdir -p /u01/Middleware/user_projects/domains/MYPROD_DOMAIN/keystores (খ) 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> Step 2: একটি নতুন CSR জেনারেট করুন
MYPRODIdentity.jks ব্যবহার করে একটি নতুন Certificate Signing Request (CSR) জেনারেট করতে নিচের ধাপগুলো সম্পন্ন করুন:
(ক) 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> (খ) নতুন তৈরি সার্টিফিকেট সাইনিং রিকোয়েস্ট (CSR) একটি Certificate Authority (CA)-এ সাবমিট করুন। CSR সাইন করার পর, CA ডিজিটাল সার্টিফিকেট এবং এর প্রাইভেট কী প্রদান করে।
দ্রষ্টব্য: এই ডেমোন্সট্রেশনের জন্য, আমরা WebLogic Demo CA (CertGenCA.der) ব্যবহার করছি সার্টিফিকেট সাইন করতে। এই ডেমো সেলফ-সাইনিং ফিচার WebLogic Server-এ উপলব্ধ। প্রোডাকশনে, আপনার আপনার সংস্থার নির্দিষ্ট, বিশ্বস্ত CA দিয়ে সার্ভার সার্টিফিকেট সাইন করানো উচিত।
Step 3: CSR সেলফ-সাইন করুন
WebLogic ডেমো CA (CertGenCA.der) ব্যবহার করে CSR সেলফ-সাইন করুন এবং নতুন তৈরি আইডেন্টিটি কিস্টোরে ইম্পোর্ট করতে নিচের ধাপগুলো সম্পন্ন করুন:
(ক) সার্টিফিকেট সেলফ-সাইন করতে নিচের কোড চালান:
[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]$ (খ) নতুন তৈরি সার্ভার সার্টিফিকেট এবং প্রাইভেট কীগুলো পূর্বে তৈরি কিস্টোরে ইম্পোর্ট করুন:
[oracle@myprodserver]$ java utils.ImportPrivateKey -keystore MYPRODIdentity.jks -keyfile MYPRODCertPrivateKey.pem -keyfilepass <password> -certfile MYPRODCert.pem -storepass <keyStorePass> -alias mywlsprodcert Step 4: কিস্টোর তৈরি করুন
myprodserver.mydomain.local মেশিনে কাস্টম ট্রাস্ট কিস্টোর তৈরি করতে নিচের ধাপগুলো সম্পন্ন করুন:
(ক) স্ট্যান্ডার্ড Java Trust-এ থেকে কপি করে MYPRODTrust.jks কিস্টোর তৈরি করুন:
[oracle@myprodserver]$ cp /u01/java/jre/lib/security/cacerts /u01/Middleware/user_projects/domains/MYPROD_DOMAIN/keystores/MYPRODTrust.jks (খ) ডিফল্ট 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> (গ) নতুন তৈরি সেলফ-সাইন করা সার্টিফিকেট নতুন তৈরি ট্রাস্ট কিস্টোরে ইম্পোর্ট করুন:
[oracle@myprodserver]$ keytool -import -v -trustcacerts -alias rootCA -file /u01/Middleware/wlserver_12.1/server/lib/CertGenCA.der -keystore MYPRODTrust.jks Step 5: ডোমেনের সকল অন্য সার্ভারে SSL সার্টিফিকেট কপি করুন
যেহেতু আপনি স্পেসিফিক সার্ভার নামের বদলে ওয়াইল্ডকার্ডের ভিত্তিতে SSL সার্টিফিকেট বেস করেছেন, MYPROD_DOMAIN-এ সকল সার্ভার একই সার্টিফিকেট ব্যবহার করতে পারে।
তাই, পূর্বে তৈরি করা কিস্টোর ডিরেক্টরি, /u01/Middleware/user_projects/domains/MYPROD_DOMAIN/keystores, কপি করুন যেটি MYPROD_DOMAIN দ্বারা শেয়ার করা সকল WebLogic সার্ভারের জন্য প্রয়োজনীয় সার্টিফিকেট ধারণ করে।
Step 6: WebLogic Node Manager কনফিগার করুন
নতুন তৈরি SSL সার্টিফিকেট ব্যবহার করতে WebLogic Node Manager কনফিগার করতে নিচের ধাপগুলো সম্পন্ন করুন:
(ক) $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> (খ) Node Manager শাটডাউন এবং স্টার্ট করুন।
Step 7: WebLogic Admin Server কনফিগার করুন
নতুন কাস্টম কিস্টোর এবং সার্টিফিকেট ব্যবহার করে SSL কানেকশনের জন্য WebLogic Admin Server কনফিগার করতে নিচের ধাপগুলো সম্পন্ন করুন:
(ক) আপনার WebLogic অ্যাডমিনিস্ট্রেটর ক্রেডেনশিয়াল ব্যবহার করে WebLogic Server Console-এ লগ ইন করুন।
(খ) Home পেজে, Domain Configurations –> Environments-এর অধীনে, Servers-এ ক্লিক করুন, নিচের স্ক্রিনশটে দেখানোর মতো:
(গ) Summary of Servers পেজে, AdminServer (admin)-এ ক্লিক করুন:
(ঘ) উপরের বাম হাতের Change Center –> View changes and restarts-এ থেকে, Lock & Edit-এ ক্লিক করুন কিস্টোর রুল সেটিংস আপডেট করতে।
(ঙ) Settings for AdminServer-এ Configuration-এর অধীনে, keystores ট্যাবে ক্লিক করুন এবং তারপর change-এ ক্লিক করুন, নিচের ছবিগুলোতে দেখানোর মতো WebLogic অ্যাডমিন সার্ভার রুল পরিবর্তন করতে নতুন তৈরি কাস্টম কিস্টোর SSL কানেকশনের জন্য ব্যবহার করতে।
(চ) কিস্টোর রুল আপডেট করতে Keystores ড্রপ-ডাউন লিস্ট থেকে Custom Identity and Custom Trust সিলেক্ট করুন এবং আপডেট সেভ করুন।
(ছ) ./keystores/MYPRODIdentity.jks Custom Identity Keystore টেক্সট বক্সে আপডেট করুন। keyStore password আপডেট করুন এবং সেভ করুন।
(জ) ./keystores/MYPRODTrust.jks Custom Trust Keystore টেক্সট বক্সে আপডেট করুন। Trust keyStore Password আপডেট করুন এবং সেভ করুন।
(ঝ) Configuration পেরেন্ট ট্যাবের অধীনে SSL ট্যাব খুলুন এবং নিচের প্যারামিটারগুলো আপডেট করুন:
(i) Private Key Alias প্যারামিটার মান mywlsprodcert-এ আপডেট করুন। (ii) Private Key Passphrase প্রাইভেট কী পাসওয়ার্ডের সাথে আপডেট করুন। (iii) Advanced মেনুয়ের অধীনে, Hostname Verification মান Custom Hostname Verifier-এ আপডেট করুন ড্রপ-ডাউন লিস্ট থেকে নিচের ছবিতে দেখানোর মতো:
(iv) Custom Hostname Verifier মান weblogic.security.utils.SSLWLSWildcardHostnameVerifier-এ আপডেট করুন। এটা প্রয়োজন কারণ আমরা সকল সার্ভারের জন্য একক ওয়াইল্ডকার্ড সার্টিফিকেট ব্যবহার করছি (CN=*.mydomain.local)। (v) এই আপডেটগুলো সেভ করুন।
(ঞ) Configuration –> General ট্যাবে নেভিগেট করুন এবং SSL Listen Port Enabled অপশন চেকবক্স চেক করে সক্ষম করুন নিচের ছবিতে দেখানোর মতো:
(ট) WebLogic অ্যাডমিন সার্ভার ডিফল্ট SSL পোর্ট হলো 7002, কিন্তু আপনি SSL সার্ভিস অন্যান্য পোর্টেও কনফিগার করতে পারেন। আপনাকে ডেমো目的ের জন্য ডিফল্ট ভ্যালু 7002 ব্যবহার করতে হবে, তাই SSL Listen Port 7002-এ আপডেট করুন এবং আপডেট সেভ করুন, নিচের ছবিতে দেখানোর মতো:
Step 8: WebLogic Managed Servers কনফিগার করুন
সকল WebLogic Managed Server কনফিগার করতে নতুন কাস্টম কিস্টোর এবং সার্টিফিকেট ব্যবহার করে SSL কানেকশনের জন্য, Steps 7a - 7k পুনরাবৃত্তি করুন। আপনাকে প্রতিটি WebLogic Managed Server-এর জন্য আলাদা SSL পোর্ট মান ব্যবহার করতে হবে। উদাহরণস্বরূপ, ব্যবহার করুন ManagedServer01: SSL port - 9001, ManagedServer02: SSL port - 9002, ManagedServer03: SSL port - 9003, ইত্যাদি।
Step 9: কনফিগারেশন ফাইলগুলোর আপডেট প্রয়োগ করুন
উপরের বাম হাতের মেনু থেকে Release Configuration-এ ক্লিক করুন সকল আপডেট WebLogic কনফিগারেশন ফাইলগুলোর সাথে প্রয়োগ করতে।
Step 10: WebLogic রিস্টার্ট করুন
WebLogic অ্যাডমিন এবং সকল ম্যানেজড সার্ভার Node Manager-সহ রিস্টার্ট করুন।
উপসংহার
এই পোস্টে WebLogic সার্ভার কনফিগার করার ধাপগুলো প্রদান করা হয়েছে SSL সিকিউরিটি প্রোটোকল ব্যবহার করতে যাতে ওয়েবসাইটগুলো এনক্রিপ্টেড ফরম্যাটে সংবেদনশীল ইনফরমেশন নিরাপদে পাস করতে পারে। SSL সার্টিফিকেট এবং RSA Data Security-এর ক্রিপ্টোগ্রাফি মেকানিজমের ব্যবহার করে, ব্যবহারকারীরা ডেটা এবং ইনফরমেশন নিরাপদে এক্সচেঞ্জ ও প্রসেস করতে পারেন।
যেহেতু আপনি এই ডকুমেন্ট ব্যবহার করে অ্যাডমিন সার্ভার এবং ম্যানেজড সার্ভার দুটোই SSL সক্ষম করেছেন, সেহেতু ডেটা এবং WebLogic সার্ভার দুটোই যেকোনো সাইবার আট্যাক এবং ডেটা লিক থেকে সুরক্ষিত।
যেকোনো মন্তব্য বা প্রশ্নের জন্য Feedback ট্যাব ব্যবহার করুন। আপনি Sales Chat-এ ক্লিক করেও এখনই চ্যাট শুরু করতে পারেন।