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

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

http://ms_IP:9000

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

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. कीस्टोर JKS फ़ाइल जनरेट करें, जिसमें TLS सर्टिफ़िकेशन, निजी पासकोड, और कॉपी शामिल हों उसे मैनेजमेंट सर्वर नोड में भेजना चाहते हैं. ज़्यादा जानकारी के लिए, प्रिंसिपल पर Edge के लिए 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
# Set type to PKCS12 if you are using a PKCS12 keystore
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, आपकी सेव की गई फ़ाइल का पूरा पाथ है.

FIPS की सुविधा वाले ऑपरेटिंग सिस्टम के लिए PKCS12 कीस्टोर का इस्तेमाल करना

अगर एफ़आईपीएस की सुविधा वाले ऑपरेटिंग सिस्टम पर प्राइवेट क्लाउड के लिए Edge इस्तेमाल किया जा रहा है, तो आपको PKCS12 कीस्टोर का इस्तेमाल करना चाहिए. स्टैंडर्ड तौर पर सेट अप्रोच कमांड इस्तेमाल करके PKCS12 कीस्टोर जनरेट किया जा सकता है. PKCS12 कीस्टोर का इस्तेमाल करते समय, कॉन्फ़िगरेशन फ़ाइल में KEY_ALGO=PKCS12 को सेट करें.

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

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

  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. टीएलएस को कॉन्फ़िगर करने के लिए, यह कमांड चलाएं:
    /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, इसके लिए Set-Cookie हेडर में secure फ़्लैग जोड़ने की सुविधा देता है एज यूज़र इंटरफ़ेस (यूआई) से रिस्पॉन्स. अगर यह फ़्लैग मौजूद है, तो कुकी सिर्फ़ उन चैनलों पर भेजी जा सकती है जिन पर tls चालू है. अगर यह मौजूद नहीं है, तो कुकी को किसी भी चैनल पर भेजा जा सकता है, चाहे यह सुरक्षित है या नहीं.

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

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

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

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

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

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

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