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

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

http://ms_IP:9000

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

https://ms_IP:9443

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

पक्का करें कि आपका TLS पोर्ट खुला हुआ है

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

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

TLS कॉन्फ़िगर करें

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

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

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

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

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

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

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

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

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

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

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

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

लोड बैलेंसर पर TLS के खत्म होने पर, Edge यूज़र इंटरफ़ेस (यूआई) को कॉन्फ़िगर करें

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

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

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

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

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

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

TLS_CONFIGURE=y

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

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

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

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

ध्यान दें कि आपको " वर्ण को एस्केप करना होगा.

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

TLS_DISABLED_ALGO

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

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

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

TLS_ENABLED_CIPHERS

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

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"

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

TLS प्रोटोकॉल बंद करना

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

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

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

    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1, tlsv1.1"
  3. कॉन्फ़िगरेशन फ़ाइल में किए गए बदलावों को सेव करें.
  4. TLS को कॉन्फ़िगर करने के लिए, नीचे दिए गए निर्देश चलाएं:
    /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

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

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

बिना 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 यूज़र इंटरफ़ेस (यूआई) पर TLS को बंद करें

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

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