मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) के लिए TLS कॉन्फ़िगर करना

डिफ़ॉल्ट रूप से, मैनेजमेंट सर्वर नोड के आईपी पते और पोर्ट 9000 का इस्तेमाल करके, एचटीटीपी पर Edge यूज़र इंटरफ़ेस (यूआई) को ऐक्सेस किया जाता है. उदाहरण के लिए:

http://ms_IP:9000

इसके अलावा, Edge यूज़र इंटरफ़ेस (यूआई) के लिए टीएलएस ऐक्सेस को कॉन्फ़िगर किया जा सकता है, ताकि इसे इस फ़ॉर्मैट में ऐक्सेस किया जा सके:

https://ms_IP:9443

इस उदाहरण में, टीएलएस ऐक्सेस को पोर्ट 9443 का इस्तेमाल करने के लिए कॉन्फ़िगर किया गया है. हालांकि, Edge के लिए उस पोर्ट नंबर की ज़रूरत नहीं होती. मैनेजमेंट सर्वर को अन्य पोर्ट वैल्यू इस्तेमाल करने के लिए कॉन्फ़िगर किया जा सकता है. इसके लिए, सिर्फ़ यह ज़रूरी है कि आपका फ़ायरवॉल, तय किए गए पोर्ट पर ट्रैफ़िक को अनुमति दे.

पक्का करना कि आपका टीएलएस पोर्ट खुला हो

इस सेक्शन में दी गई प्रोसेस, मैनेजमेंट सर्वर पर पोर्ट 9443 का इस्तेमाल करने के लिए टीएलएस को कॉन्फ़िगर करती है. चाहे किसी भी पोर्ट का इस्तेमाल किया जा रहा हो, आपको यह पक्का करना होगा कि वह पोर्ट, मैनेजमेंट सर्वर पर खुला हो. उदाहरण के लिए, इसे खोलने के लिए इस निर्देश का इस्तेमाल किया जा सकता है:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9443 -j ACCEPT --verbose

टीएलएस को कॉन्फ़िगर करना

मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) के लिए टीएलएस ऐक्सेस कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं:

  1. कीस्टोर जेकेएस फ़ाइल जनरेट करें. इसमें आपका टीएलएस सर्टिफ़िकेट और निजी पासकोड शामिल होना चाहिए. इसके बाद, इसे मैनेजमेंट सर्वर नोड में कॉपी करें. ज़्यादा जानकारी के लिए, Edge On Premises के लिए टीएलएस/एसएसएल कॉन्फ़िगर करना लेख पढ़ें.
  2. टीएलएस को कॉन्फ़िगर करने के लिए, यह कमांड चलाएं:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl
  3. एचटीटीपीएस पोर्ट नंबर डालें. उदाहरण के लिए, 9443.
  4. यह तय करें कि आपको मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) के लिए, एचटीटीपी ऐक्सेस बंद करना है या नहीं. डिफ़ॉल्ट रूप से, मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) को पोर्ट 9000 पर एचटीटीपी की मदद से ऐक्सेस किया जा सकता है.
  5. कीस्टोर एल्गोरिदम डालें. डिफ़ॉल्ट रूप से, यह जेकेएस पर सेट होता है.
  6. कीस्टोर जेकेएस फ़ाइल का ऐब्सलूट पाथ डालें.

    स्क्रिप्ट, फ़ाइल को मैनेजमेंट सर्वर नोड पर /opt/apigee/customer/conf डायरेक्ट्री में कॉपी करती है. साथ ही, फ़ाइल का मालिकाना हक "apigee" को ट्रांसफ़र करती है.

  7. कीस्टोर का पासवर्ड डालें.
  8. इसके बाद, स्क्रिप्ट Edge मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) को रीस्टार्ट करती है. रीस्टार्ट होने के बाद, मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) TLS पर ऐक्सेस करने की सुविधा देता है.

    आपको ये सेटिंग /opt/apigee/etc/edge-ui.d/SSL.sh में दिखेंगी.

टीएलएस को कॉन्फ़िगर करने के लिए, कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करना

ऊपर बताई गई प्रोसेस के विकल्प के तौर पर, प्रोसेस के दूसरे चरण में कमांड को कॉन्फ़िगरेशन फ़ाइल पास की जा सकती है. अगर आपको वैकल्पिक टीएलएस प्रॉपर्टी सेट करनी हैं, तो आपको इस तरीके का इस्तेमाल करना होगा.

कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करने के लिए, एक नई फ़ाइल बनाएं और उसमें ये प्रॉपर्टी जोड़ें:

HTTPSPORT=9443
DISABLE_HTTP=y
KEY_ALGO=JKS
KEY_FILE_PATH=/opt/apigee/customer/application/mykeystore.jks
KEY_PASS=clearTextKeystorePWord

फ़ाइल को किसी भी नाम से लोकल डायरेक्ट्री में सेव करें. इसके बाद, टीएलएस को कॉन्फ़िगर करने के लिए इस निर्देश का इस्तेमाल करें:

/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile

जहां configFile, सेव की गई फ़ाइल का पूरा पाथ है.

लोड बैलेंसर पर टीएलएस बंद होने पर, Edge यूज़र इंटरफ़ेस (यूआई) को कॉन्फ़िगर करना

अगर आपके पास कोई ऐसा लोड बैलेंसर है जो Edge के यूज़र इंटरफ़ेस (यूआई) को अनुरोध फ़ॉरवर्ड करता है, तो आपके पास लोड बैलेंसर पर टीएलएस कनेक्शन को बंद करने का विकल्प होता है. इसके बाद, लोड बैलेंसर, एचटीटीपी के ज़रिए Edge के यूज़र इंटरफ़ेस (यूआई) को अनुरोध फ़ॉरवर्ड कर सकता है. यह कॉन्फ़िगरेशन काम करता है. हालांकि, आपको लोड बैलेंसर और Edge यूज़र इंटरफ़ेस को इसके हिसाब से कॉन्फ़िगर करना होगा.

अतिरिक्त कॉन्फ़िगरेशन की ज़रूरत तब होती है, जब Edge यूज़र इंटरफ़ेस (यूआई) उपयोगकर्ताओं को ईमेल भेजता है. ऐसा तब होता है, जब उपयोगकर्ता बनाया जाता है या जब उपयोगकर्ता खोया हुआ पासवर्ड रीसेट करने का अनुरोध करता है. इस ईमेल में एक यूआरएल होता है. उपयोगकर्ता इस यूआरएल को चुनकर, पासवर्ड सेट या रीसेट कर सकता है. डिफ़ॉल्ट रूप से, अगर Edge यूज़र इंटरफ़ेस (यूआई) को टीएलएस का इस्तेमाल करने के लिए कॉन्फ़िगर नहीं किया गया है, तो जनरेट किए गए ईमेल में मौजूद यूआरएल, एचटीटीपीएस के बजाय एचटीटीपी प्रोटोकॉल का इस्तेमाल करता है. आपको लोड बैलेंसर और Edge यूज़र इंटरफ़ेस (यूआई) को कॉन्फ़िगर करना होगा, ताकि एचटीटीपीएस का इस्तेमाल करने वाला ईमेल पता जनरेट किया जा सके.

लोड बैलेंसर को कॉन्फ़िगर करने के लिए, पक्का करें कि वह Edge यूज़र इंटरफ़ेस (यूआई) को फ़ॉरवर्ड किए गए अनुरोधों पर, यह हेडर सेट करता हो:

X-Forwarded-Proto: https

Edge के यूज़र इंटरफ़ेस (यूआई) को कॉन्फ़िगर करने के लिए:

  1. /opt/apigee/customer/application/ui.properties फ़ाइल को किसी एडिटर में खोलें. अगर फ़ाइल मौजूद नहीं है, तो उसे बनाएं:
    vi /opt/apigee/customer/application/ui.properties
  2. ui.properties में यह प्रॉपर्टी सेट करें:
    conf/application.conf+trustxforwarded=true
  3. ui.properties में किए गए बदलावों को सेव करें.
  4. Edge यूज़र इंटरफ़ेस (यूआई) को रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

वैकल्पिक टीएलएस प्रॉपर्टी सेट करना

Edge यूज़र इंटरफ़ेस (यूआई), टीएलएस कॉन्फ़िगरेशन की वैकल्पिक प्रॉपर्टी के साथ काम करता है. इनका इस्तेमाल करके, ये सेट किए जा सकते हैं:

  • डिफ़ॉल्ट टीएलएस प्रोटोकॉल
  • इस्तेमाल किए जा सकने वाले टीएलएस प्रोटोकॉल की सूची
  • टीएलएस के साथ काम करने वाले एल्गोरिदम
  • इस्तेमाल किए जा सकने वाले टीएलएस साइफ़र

ये वैकल्पिक पैरामीटर सिर्फ़ तब उपलब्ध होते हैं, जब कॉन्फ़िगरेशन फ़ाइल में नीचे दी गई कॉन्फ़िगरेशन प्रॉपर्टी सेट की जाती है. इसके बारे में टीएलएस को कॉन्फ़िगर करने के लिए, कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करना लेख में बताया गया है:

TLS_CONFIGURE=y

यहां दी गई टेबल में, इन प्रॉपर्टी के बारे में बताया गया है:

प्रॉपर्टी ब्यौरा
TLS_PROTOCOL इससे Edge यूज़र इंटरफ़ेस (यूआई) के लिए डिफ़ॉल्ट टीएलएस प्रोटोकॉल तय होता है. डिफ़ॉल्ट रूप से, यह TLS 1.2 होता है. मान्य वैल्यू TLSv1.2, TLSv1.1, TLSv1 हैं.
TLS_ENABLED_PROTOCOL

यह नीति, चालू किए गए प्रोटोकॉल की सूची को कॉमा लगाकर अलग किए गए कलेक्शन के तौर पर तय करती है. उदाहरण के लिए:

TLS_ENABLED_PROTOCOL=[\"TLSv1.2\", \"TLSv1.1\", \"TLSv1\"]

ध्यान दें कि आपको " वर्ण का इस्तेमाल नहीं करना है.

डिफ़ॉल्ट रूप से, सभी प्रोटोकॉल चालू होते हैं.

TLS_DISABLED_ALGO

यह नीति, बंद किए गए साइफ़र सुइट के बारे में बताती है. इसका इस्तेमाल, टीएलएस हैंडशेक के लिए छोटी कुंजियों के इस्तेमाल को रोकने के लिए भी किया जा सकता है. इसकी कोई डिफ़ॉल्ट वैल्यू नहीं है.

TLS_DISABLED_ALGO को पास की गई वैल्यू, jdk.tls.disabledAlgorithms के लिए अनुमति वाली वैल्यू से मेल खाती हैं. इनके बारे में यहां बताया गया है. हालांकि, TLS_DISABLED_ALGO सेट करते समय आपको स्पेस वर्णों का इस्तेमाल नहीं करना चाहिए:

TLS_DISABLED_ALGO=EC\ keySize\ <\ 160,RSA\ keySize\ <\ 2048
TLS_ENABLED_CIPHERS

इससे, उपलब्ध टीएलएस साइफ़र की सूची को कॉमा लगाकर अलग किए गए कलेक्शन के तौर पर तय किया जाता है. उदाहरण के लिए:

TLS_ENABLED_CIPHERS=[\"TLS_DHE_RSA_WITH_AES_128_CBC_SHA\",
\"TLS_DHE_DSS_WITH_AES_128_CBC_SHA\"]

ध्यान दें कि आपको " वर्ण का इस्तेमाल नहीं करना है.

चालू किए गए साइफ़र की डिफ़ॉल्ट सूची यह है:

"TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
"TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
"TLS_RSA_WITH_AES_256_CBC_SHA",
"TLS_RSA_WITH_AES_128_CBC_SHA",
"SSL_RSA_WITH_RC4_128_SHA",
"SSL_RSA_WITH_RC4_128_MD5",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"

उपलब्ध साइफ़र की सूची यहां देखें.

टीएलएस प्रोटोकॉल बंद करना

टीएलएस प्रोटोकॉल बंद करने के लिए, आपको कॉन्फ़िगरेशन फ़ाइल में बदलाव करना होगा. इसके बारे में टीएलएस को कॉन्फ़िगर करने के लिए, कॉन्फ़िगरेशन फ़ाइल का इस्तेमाल करना लेख में बताया गया है. इसके लिए, यह तरीका अपनाएं:

  1. कॉन्फ़िगरेशन फ़ाइल को किसी एडिटर में खोलें.
  2. किसी एक टीएलएस प्रोटोकॉल को बंद करने के लिए, कॉन्फ़िगरेशन फ़ाइल में यह जोड़ें. उदाहरण के लिए, TLSv1.0:
    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1"

    एक से ज़्यादा प्रोटोकॉल बंद करने के लिए, उदाहरण के लिए, TLSv1.0 और TLSv1.1— कॉन्फ़िगरेशन फ़ाइल में यह जोड़ें:

    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1, tlsv1.1"
  3. कॉन्फ़िगरेशन फ़ाइल में किए गए बदलावों को सेव करें.
  4. टीएलएस को कॉन्फ़िगर करने के लिए, यह कमांड चलाएं:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile

    जहां configFile, कॉन्फ़िगरेशन फ़ाइल का पूरा पाथ है.

  5. Edge यूज़र इंटरफ़ेस (यूआई) को रीस्टार्ट करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

सुरक्षित कुकी का इस्तेमाल करना

Apigee Edge for Private Cloud, Edge यूज़र इंटरफ़ेस (यूआई) से मिलने वाले जवाबों के लिए, Set-Cookie हेडर में secure फ़्लैग जोड़ने की सुविधा देता है. अगर यह फ़्लैग मौजूद है, तो कुकी को सिर्फ़ टीएलएस की सुविधा वाले चैनलों पर भेजा जा सकता है. अगर यह मौजूद नहीं है, तो कुकी को किसी भी चैनल पर भेजा जा सकता है. भले ही, वह सुरक्षित हो या न हो.

secure फ़्लैग के बिना कुकी का इस्तेमाल करने पर, हमलावर कुकी को कैप्चर कर सकता है और उसका फिर से इस्तेमाल कर सकता है. इसके अलावा, वह किसी चालू सेशन को हाइजैक कर सकता है. इसलिए, इस सेटिंग को चालू करना सबसे सही तरीका है.

Edge यूज़र इंटरफ़ेस (यूआई) की कुकी के लिए, secure फ़्लैग सेट करने के लिए:

  1. इस फ़ाइल को किसी टेक्स्ट एडिटर में खोलें:
    /opt/apigee/customer/application/ui.properties

    अगर फ़ाइल मौजूद नहीं है, तो उसे बनाएं.

  2. ui.properties फ़ाइल में, conf_application_session.secure प्रॉपर्टी को true पर सेट करें, जैसा कि इस उदाहरण में दिखाया गया है:
    conf_application_session.secure=true
  3. बदलावों को सेव करें.
  4. apigee-serice यूटिलिटी का इस्तेमाल करके, Edge यूज़र इंटरफ़ेस को रीस्टार्ट करें. इसके लिए, यहां दिया गया उदाहरण देखें:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

यह पुष्टि करने के लिए कि बदलाव काम कर रहा है, curl जैसी किसी यूटिलिटी का इस्तेमाल करके, Edge यूज़र इंटरफ़ेस (यूआई) से रिस्पॉन्स हेडर देखें. उदाहरण के लिए:

curl -i -v https://edge_UI_URL

हेडर में एक लाइन होनी चाहिए, जो इस तरह दिखे:

Set-Cookie: secure; ...

Edge के यूज़र इंटरफ़ेस (यूआई) पर टीएलएस बंद करना

Edge यूज़र इंटरफ़ेस (यूआई) पर टीएलएस को बंद करने के लिए, इस कमांड का इस्तेमाल करें:

/opt/apigee/apigee-service/bin/apigee-service edge-ui disable-ssl