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

Edge for Private Cloud v. 4.16.09

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

http://ms_IP:8080

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

https://ms_IP:8443

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

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

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

पक्का करें कि आपका 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 फ़ाइल में बदलाव करें. अगर यह फ़ाइल मौजूद नहीं है, तो इसे बनाएं.

मैनेजमेंट एपीआई में 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
    # अगर सभी कम्यूनिकेशन, एचटीटीपीएस पर होने चाहिए, तो 'सही' के आगे सेट करें.
    # हमारा सुझाव है कि जब तक Edge API के लिए TLS/एचटीटीपीएस की जांच न कर ली जाए, तब तक ऐसा न करें. साथ ही,
    # Edge API को ऐक्सेस करने के लिए, TLS का इस्तेमाल करने के लिए Edge यूज़र इंटरफ़ेस (यूआई) को कॉन्फ़िगर करें, जैसा कि यहां दिखाया गया है.
    conf_webserver_http.turn.off=false
    conf_webserver_SSL.port=8443
    conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks
    # नीचे दिया गया अस्पष्ट कीस्टोर पासवर्ड डालें.
    conf_webserver_keystore.password=OBF:obfuscatedPassword
    conf_webserver_cert.alias=apigee-devtest


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

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

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

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

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

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_web_server के ज़रिए तय किया जाता है.
  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/एसएसएल को चालू/बंद करने के लिए. TLS/एसएसएल की सुविधा चालू होने पर, आपको एसएसएल.पोर्ट और keystore.path प्रॉपर्टी को भी सेट करना होगा.

conf_webserver_http.turn.off=true

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

conf_webserver_ssl.port=8443

TLS/SSL पोर्ट.

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

conf_webserver_keystore.path=<path>

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

TLS/SSL चालू होने पर (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/एसएसएल सेशन कितने समय तक चल सकते हैं (मिलीसेकंड में).