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

Edge for Private Cloud v. 4.17.05

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

http://ms_IP:8080

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

https://ms_IP:8443

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

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

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

  1. कीस्टोर JKS फ़ाइल जनरेट करें, जिसमें आपका TLS सर्टिफ़िकेशन और निजी कुंजी हो. ज़्यादा जानकारी के लिए, Edge On Premises के लिए TLS/एसएसएल को कॉन्फ़िगर करना देखें.
  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_एसएसएल.enabled=true
    # conf_webserver_http.turn.off को गलत पर सेट करने दें
    # क्योंकि कई Edge के इंटरनल कॉल एचटीटीपी का इस्तेमाल करते हैं.
    conf_webserver_http.turn.off=false
    conf_webserver_एसएसएल.port=8443
    conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks
    # नीचे अस्पष्ट कीस्टोर पासवर्ड डालें.
    conf_webserver_keystore.password=OBF:obfuscatedPassword
    conf_webserver_certificate.alias=apigee-devtest


    जहां obfuscatedPassword आपकी कीस्टोर फ़ाइल है और obfuscatedPassword आपका कीस्टोर पासवर्ड है. उलझाने वाला पासवर्ड जनरेट करने के बारे में जानकारी के लिए, TLS/SSL for Edge On Premises को कॉन्फ़िगर करना देखें.
  5. इस निर्देश का इस्तेमाल करके, Edge मैनेजमेंट सर्वर को रीस्टार्ट करें:
    $ /opt/apigee/apigee-service/bin/apigee-service Edge-management-server start

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

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

EDGE API को ऐक्सेस करने के लिए, 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-serviceedge-management-server start
  4. Edge यूज़र इंटरफ़ेस (यूआई) के लिए इस प्रॉपर्टी को सेट करने के लिए, /opt/apigee/customer/application/ui.properties में बदलाव करें. अगर वह फ़ाइल मौजूद नहीं है, तो इसे बनाएं:
    conf_apigee_apigee.mgmt.baseurl="https://FQDN:8443/v1"

    जहां मैनेजमेंट सर्वर के आपके सर्टिफ़िकेट के पते के मुताबिक, FQDN पूरा डोमेन नेम है और पोर्ट नंबर वह पोर्ट है जिसकी ऊपर बताया गया पोर्ट नंबर port_conf.
  5. ऊपर दिए गए मैनेजमेंट एपीआई के लिए TLS का ऐक्सेस कॉन्फ़िगर करते समय, खुद से हस्ताक्षर किए गए सर्टिफ़िकेट का इस्तेमाल करने का सुझाव नहीं दिया जाता है. ऐसा सिर्फ़ तब करें, जब ui.properties को कॉन्फ़िगर करते समय, यहां दी गई प्रॉपर्टी को जोड़ें:
    conf/application.conf+play.ws.SSL.loose.accept AnyCertificate=true

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

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

नीचे दी गई टेबल में उन सभी TLS/एसएसएल प्रॉपर्टी की सूची दी गई है जिन्हें management-server.property में सेट किया जा सकता है:

प्रॉपर्टी

Description

conf_webserver_http.port=8080

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

conf_webserver_ssl.enabled=false

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

conf_webserver_http.turn.off=true

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

conf_webserver_ssl.port=8443

TLS/एसएसएल पोर्ट.

TLS/SSL चालू होने पर ज़रूरी है (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_बाहर.cipher.suites=<CIPHER_SUITE_1 CIPHER_SUITE_2>

conf_webserver_include.cipher.suites=

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

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

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

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

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

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