मैनेजमेंट एपीआई के लिए TLS कॉन्फ़िगर करना

Edge for Private Cloud v. 4.17.01

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

http://ms_IP:8080

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

https://ms_IP:8443

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

अपने मैनेजमेंट एपीआई से आने और जाने वाले ट्रैफ़िक को एन्क्रिप्ट (सुरक्षित) करने के लिए, /opt/apigee/customer/application/management-server.properties फ़ाइल में सेटिंग कॉन्फ़िगर करें.

TLS कॉन्फ़िगरेशन के अलावा, आप management-server.property फ़ाइल में बदलाव करके पासवर्ड की पुष्टि करने की प्रक्रिया (पासवर्ड की लंबाई और ताकत) को भी नियंत्रित कर सकते हैं.

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

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

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

TLS कॉन्फ़िगर करना

अपने मैनेजमेंट एपीआई से आने और जाने वाले ट्रैफ़िक पर TLS के इस्तेमाल को कंट्रोल करने के लिए, /opt/apigee/customer/application/management-server.properties फ़ाइल में बदलाव करें. अगर यह फ़ाइल मौजूद नहीं है, तो इसे बनाएं.

Management API के लिए TLS ऐक्सेस कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं:

  1. TLS सर्टिफ़िकेट और निजी पासकोड वाली कीस्टोर JKS फ़ाइल जनरेट करें. ज़्यादा जानकारी के लिए, ऑफ़िस में इस्तेमाल होने वाले Edge के लिए, टीएलएस/एसएसएल कॉन्फ़िगर करना लेख पढ़ें.
  2. पासकोड वाली JKS फ़ाइल को मैनेजमेंट सर्वर नोड की डायरेक्ट्री में कॉपी करें. जैसे, /opt/apigee/customer/application.
  3. JKS फ़ाइल का मालिकाना हक apigee पर सेट करें:
    $ chown apigee:apigee keystore.jks

    यहां keystore.jks आपकी कीस्टोर फ़ाइल का नाम है.
  4. यहां दी गई प्रॉपर्टी सेट करने के लिए, /opt/apigee/customer/application/management-server.properties में बदलाव करें. अगर वह फ़ाइल मौजूद नहीं है, तो उसे बनाएं:
    conf_webserver_ssl.enabled=true
    # conf_webserver_http.turn.off को false पर सेट रहने दें
    # क्योंकि Edge के कई इंटरनल कॉल, एचटीटीपी का इस्तेमाल करते हैं.
    conf_webserver_http.turn.off=false
    conf_webserver_ssl.port=8443
    conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks
    # Enter the obfuscated keystore password below.
    conf_webserver_keystore.password=OBF:obfuscatedPassword
    conf_webserver_cert.alias=apigee-devtest


    जहां keyStore.jks आपकी कीस्टोर फ़ाइल है और obfuscatedPassword आपका बदला हुआ कीस्टोर पासवर्ड है. अस्पष्ट पासवर्ड जनरेट करने के बारे में जानकारी के लिए, Edge ऑन परिसर के लिए TLS/एसएसएल को कॉन्फ़िगर करना देखें.
  5. यह निर्देश देकर, एज मैनेजमेंट सर्वर को रीस्टार्ट करें:
    $ /opt/apigee/apigee-service/bin/apigee-service Edge-management-server जानकर

मैनेजमेंट एपीआई अब TLS पर ऐक्सेस करने की सुविधा देता है.

यह पक्का करने के बाद कि TLS सही तरीके से काम कर रहा है, साथ ही यह भी पक्का करने के बाद कि यह Edge यूज़र इंटरफ़ेस के लिए काम कर रहा है, अगले सेक्शन में बताए गए तरीके से, मैनेजमेंट एपीआई के लिए एचटीटीपी ऐक्सेस बंद किया जा सकता है.

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

ऊपर दी गई प्रक्रिया में, Apigee ने conf_webserver_http.turn.off=false को छोड़ने का सुझाव दिया है, ताकि Edge यूज़र इंटरफ़ेस (यूआई), एचटीटीपी पर Edge एपीआई कॉल करना जारी रख सके.

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

  1. ऊपर बताए गए तरीके से, मैनेजमेंट एपीआई के लिए TLS ऐक्सेस कॉन्फ़िगर करें.
  2. मैनेजमेंट एपीआई के लिए TLS काम कर रहा है या नहीं, इसकी पुष्टि करने के बाद, /opt/apigee/customer/application/management-server.properties में बदलाव करके, यह प्रॉपर्टी सेट करें:
    conf_webserver_http.turn.off=true
  3. Edge मैनेजमेंट सर्वर को फिर से चालू करने के लिए, यह कमांड इस्तेमाल करें:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  4. Edge यूज़र इंटरफ़ेस (यूआई) के लिए, यहां दी गई प्रॉपर्टी सेट करने के लिए, /opt/apigee/customer/application/ui.properties में बदलाव करें. अगर यह फ़ाइल मौजूद नहीं है, तो इसे बनाएं:
    conf_apigee_apigee.mgmt.baseurl="https://FQDN:8443/v1"

    यहां FQDN, मैनेजमेंट सर्वर के सर्टिफ़िकेट पते के हिसाब से पूरा डोमेन नेम है. साथ ही, पोर्ट नंबर वह पोर्ट है जिसे ऊपर conf_webserver_ssl.port से तय किया गया है.
  5. ऊपर दिए गए मैनेजमेंट एपीआई के लिए TLS ऐक्सेस कॉन्फ़िगर करते समय, सिर्फ़ तब ui.properties में यह प्रॉपर्टी जोड़ें, जब आपने खुद से हस्ताक्षर किया हुआ सर्टिफ़िकेट इस्तेमाल किया हो (प्रोडक्शन एनवायरमेंट में इसका सुझाव नहीं दिया जाता है).
    conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=true

    ऐसा न करने पर, Edge यूज़र इंटरफ़ेस (यूआई), खुद से हस्ताक्षर किए गए सर्टिफ़िकेट को अस्वीकार कर देगा.
  6. Edge यूज़र इंटरफ़ेस (यूआई) को रीस्टार्ट करने के लिए, यह कमांड इस्तेमाल करें:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

मैनेजमेंट सर्वर के लिए TLS प्रॉपर्टी

नीचे दी गई टेबल में, management-server.properties में सेट की जा सकने वाली सभी टीएलएस/एसएसएल प्रॉपर्टी की सूची दी गई है:

प्रॉपर्टी

जानकारी

conf_webserver_http.port=8080

डिफ़ॉल्ट संख्या 8080 है.

conf_webserver_ssl.enabled=false

TLS/SSL को चालू/बंद करने के लिए. TLS/SSL चालू (सही) होने पर, आपको ssl.port और keystore.path प्रॉपर्टी भी सेट करनी होंगी.

conf_webserver_http.turn.off=true

https के साथ-साथ http को चालू/बंद करने के लिए. अगर आपको सिर्फ़ एचटीटीपीएस का इस्तेमाल करना है, तो डिफ़ॉल्ट वैल्यू को true पर सेट करें.

conf_webserver_ssl.port=8443

TLS/SSL पोर्ट.

TLS/SSL चालू होने पर (conf_webserver_ssl.enabled=true) ज़रूरी है.

conf_webserver_keystore.path=<path>

आपकी पासकोड फ़ाइल का पाथ.

TLS/एसएसएल चालू होने पर ज़रूरी है (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.password=

इस फ़ॉर्मैट में अस्पष्ट पासवर्ड का इस्तेमाल करें: OBF:xxxxxxxxxx

conf_webserver_cert.alias=

पासकोड के तौर पर इस्तेमाल होने वाले पासवर्ड का वैकल्पिक नाम

conf_webserver_keymanager.password=

अगर आपके पासवर्ड मैनेजर में पासवर्ड है, तो पासवर्ड का बदला गया वर्शन इस फ़ॉर्मैट में डालें: OBF:xxxxxxxxxx

conf_webserver_trust.all= <false | true>

conf_webserver_trust.store.path=<path>

conf_webserver_trust.store.password=

अपने ट्रस्ट स्टोर की सेटिंग कॉन्फ़िगर करें. तय करें कि आपको सभी TLS/एसएसएल सर्टिफ़िकेट स्वीकार करने हैं या नहीं. उदाहरण के लिए, गैर-स्टैंडर्ड टाइप के सर्टिफ़िकेट स्वीकार करने के लिए. डिफ़ॉल्ट रूप से, यह false पर सेट होता है. अपने ट्रस्ट स्टोर का पाथ डालें और ट्रस्ट स्टोर का पासवर्ड इस फ़ॉर्मैट में डालें: OBF:xxxxxxxxxx

conf_webserver_exclude.cipher.suites=<CIPHER_SUITE_1 CIPHER_SUITE_2>

conf_webserver_include.cipher.suites=

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

साइफर सुइट और क्रिप्टोग्राफ़ी आर्किटेक्चर के बारे में जानकारी के लिए, ये देखें:

http://docs.oracle.com/javase/8/docs/technotes/
guides/security/SunProviders.html#SunJSSE

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

वे पूर्णांक जो तय करते हैं कि:

  • एक से ज़्यादा क्लाइंट के सेशन की जानकारी सेव करने के लिए, TLS/एसएसएल सेशन की कैश मेमोरी का साइज़ (बाइट में).
  • टाइम आउट होने से पहले, TLS/एसएसएल सेशन कितने समय तक चल सकते हैं (मिलीसेकंड में).