वर्चुअल होस्ट और राऊटर पर साइफ़र सुइट कॉन्फ़िगर करना

आपको Apigee Edge का दस्तावेज़ दिख रहा है.
Apigee X के दस्तावेज़ पर जाएं.
जानकारी

इस दस्तावेज़ में, Apigee Edge में वर्चुअल होस्ट और राऊटर पर सिफ़र सुइट कॉन्फ़िगर करने का तरीका बताया गया है.

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

Apigee में, सिफ़र सुइट पर क्लाइंट ऐप्लिकेशन और राऊटर, दोनों की सहमति होनी चाहिए.

Apigee Edge पर सिफ़र सुइट में इन वजहों से बदलाव किया जा सकता है:

  • क्लाइंट ऐप्लिकेशन और Apigee राऊटर के बीच, सिफ़र सुइट के मेल न खाने की समस्या से बचने के लिए
  • सुरक्षा से जुड़े किसी भी जोखिम को ठीक करने या बेहतर सुरक्षा के लिए, ज़्यादा सुरक्षित सिफ़र सुइट का इस्तेमाल करना

सिफ़र सुइट को वर्चुअल होस्ट या Apigee राऊटर पर कॉन्फ़िगर किया जा सकता है. ध्यान दें कि Apigee, वर्चुअल होस्ट और राउटर, दोनों पर सिफ़र सुइट को सिर्फ़ OpenSSL सिफ़र स्ट्रिंग फ़ॉर्मैट में स्वीकार करता है. OpenSSL साइफ़र मैनपेज में, एसएसएल या टीएलएस साइफ़र सुइट के साथ-साथ उनके OpenSSL वर्शन की जानकारी दी गई है.

उदाहरण के लिए:

अगर आपको वर्चुअल होस्ट या Apigee Router पर TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 साइफ़र सुइट कॉन्फ़िगर करना है, तो आपको OpenSSL ciphers manpage से, OpenSSL साइफ़र स्ट्रिंग की पहचान करनी होगी. साइफ़र सुइट TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 के लिए OpenSSL साइफ़र स्ट्रिंग ECDHE-RSA-AES128-GCM-SHA256. है. इसलिए, आपको वर्चुअल होस्ट में साइफ़र सुइट को कॉन्फ़िगर करते समय या Apigee Router पर, OpenSSL साइफ़र स्ट्रिंग ECDHE-RSA-AES128-GCM-SHA256 का इस्तेमाल करना होगा.

शुरू करने से पहले

वर्चुअल होस्ट पर सिफ़र सुइट कॉन्फ़िगर करना

इस सेक्शन में, किसी संगठन और एनवायरमेंट से जुड़े वर्चुअल होस्ट में सिफ़र सुइट कॉन्फ़िगर करने का तरीका बताया गया है. सिफ़र सुइट को वर्चुअल होस्ट में कॉन्फ़िगर किया जा सकता है. इसके लिए, ssl_ciphers प्रॉपर्टी का इस्तेमाल किया जाता है. यह प्रॉपर्टी, वर्चुअल होस्ट के साथ काम करने वाले सिफ़र सुइट की सूची दिखाती है.

Apigee के साथ काम करने वाली सिफ़र सुइट की सूची देखने के लिए, साथ काम करने वाली सिफ़र सुइट देखें.

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

  • Edge यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करना
  • Edge API का इस्तेमाल करना

Edge यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करना

Edge UI का इस्तेमाल करके वर्चुअल होस्ट को कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं:

  1. Edge UI में लॉगिन करें.
  2. एडमिन > वर्चुअल होस्ट पर जाएं.
  3. वह एनवायरमेंट चुनें जिसमें आपको यह बदलाव करना है.
  4. वह वर्चुअल होस्ट चुनें जिसके लिए आपको सिफ़र सुइट कॉन्फ़िगर करने हैं.
  5. प्रॉपर्टी में जाकर, सिफ़र की वैल्यू को अपडेट करें. इसके लिए, OpenSSL सिफ़र स्ट्रिंग की कोलन से अलग की गई सूची का इस्तेमाल करें.

    उदाहरण के लिए, अगर आपको सिर्फ़ साइफ़र सुइट TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 और TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 को अनुमति देनी है, तो OpenSSL ciphers manpage से, उनसे जुड़ी OpenSSL साइफ़र स्ट्रिंग का पता लगाएं. इसके लिए, यहां दी गई टेबल देखें:

    साइफ़र सुइट OpenSSL साइफ़र स्ट्रिंग
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    नीचे दी गई इमेज में दिखाए गए तरीके से, OpenSSL सिफ़र स्ट्रिंग को कोलन से अलग करके जोड़ें:

    सिफ़र का उदाहरण

  6. बदलाव को सेव करें.

Edge API का इस्तेमाल करना

Edge API का इस्तेमाल करके, किसी वर्चुअल होस्ट पर सिफ़र सुइट कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं:

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

    पब्लिक क्लाउड का उपयोगकर्ता:

    curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}

    Private Cloud का उपयोगकर्ता:

    curl -v -X GET http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    {
      "hostAliases": [
        "api.myCompany,com"
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
  2. properties में मौजूद मौजूदा वर्चुअल होस्ट कॉन्फ़िगरेशन JSON पेलोड में, ssl_ciphers प्रॉपर्टी जोड़ें. साथ ही, OpenSSL सिफ़र स्ट्रिंग का सही इस्तेमाल करें.

    उदाहरण के लिए, अगर आपको सिर्फ़ साइफ़र सुइट TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 और TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 को अनुमति देनी है, तो OpenSSL ciphers manpage से, उनसे जुड़ी OpenSSL साइफ़र स्ट्रिंग का पता लगाएं. इसके लिए, यहां दी गई टेबल देखें:

    साइफ़र सुइट OpenSSL साइफ़र स्ट्रिंग
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    यह properties कोड ब्लॉक जोड़ें:

    अपडेट किए गए वर्चुअल होस्ट कॉन्फ़िगरेशन का उदाहरण:

    {
      "hostAliases": [
        "api.myCompany,com",
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "properties": {
        "property": [
          {
            "name": "ssl_ciphers",
            "value": "DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256"
          }
        ]
      },
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
  3. अपडेट किए गए वर्चुअल होस्ट कॉन्फ़िगरेशन को किसी फ़ाइल में सेव करें. उदाहरण के लिए, virtualhost-payload.json.
  4. virtualhost कॉन्फ़िगरेशन में बदलाव करने के लिए, वर्चुअल होस्ट अपडेट करें एपीआई का इस्तेमाल करें. इसके लिए, यह तरीका अपनाएं:

    पब्लिक क्लाउड का उपयोगकर्ता:

    curl -v -X POST Content-Type: application/json
    https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u {username}

    Private Cloud का उपयोगकर्ता:

    curl -v -X POST Content-Type: application/json
    http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u {username}

साथ काम करने वाले साइफ़र सुइट

Apigee में इन सिफ़र सुइट का इस्तेमाल किया जा सकता है:

ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-SHA384
ECDHE-RSA-AES256-SHA
DHE-RSA-AES256-GCM-SHA384
DHE-RSA-AES256-SHA256
DHE-RSA-AES256-SHA
DHE-RSA-CAMELLIA256-SHA
AES256-GCM-SHA384
AES256-SHA256  
AES256-SHA
CAMELLIA256-SHA
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-SHA256
ECDHE-RSA-AES128-SHA
DHE-RSA-AES128-GCM-SHA256
DHE-RSA-AES128-SHA256
DHE-RSA-AES128-SHA
DHE-RSA-CAMELLIA128-SHA
AES128-GCM-SHA256
AES128-SHA256   
AES128-SHA 
CAMELLIA128-SHA

वर्चुअल होस्ट पर सिफ़र सुइट की पुष्टि करना

इस सेक्शन में, Edge API का इस्तेमाल करके यह पुष्टि करने का तरीका बताया गया है कि वर्चुअल होस्ट पर सिफ़र सुइट में बदलाव हो गया है.

  1. virtualhost कॉन्फ़िगरेशन पाने के लिए, वर्चुअल होस्ट पाएं एपीआई को लागू करें. इसे यहां दिखाया गया है:

    पब्लिक क्लाउड का उपयोगकर्ता:

    curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}

    Private Cloud का उपयोगकर्ता:

    curl -v -X GET http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
  2. पुष्टि करें कि प्रॉपर्टी ssl_ciphers को नई वैल्यू पर सेट कर दिया गया है.

    अपडेट किए गए वर्चुअल होस्ट कॉन्फ़िगरेशन का उदाहरण:

    {
      "hostAliases": [
        "api.myCompany,com",
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "properties": {
        "property": [
          {
            "name": "ssl_ciphers",
            "value": "DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256"
          }
        ]
      },
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }

    ऊपर दिए गए उदाहरण में ध्यान दें कि ssl_ciphers को नई वैल्यू के साथ सेट किया गया है.

  3. अगर आपको ssl_ciphers के लिए अब भी पुरानी वैल्यू दिख रही है, तो पुष्टि करें कि आपने वर्चुअल होस्ट पर सिफ़र सुइट कॉन्फ़िगर करना में बताए गए सभी चरणों को सही तरीके से पूरा किया हो. अगर आपने कोई चरण छोड़ दिया है, तो सभी चरणों को फिर से सही तरीके से दोहराएं.
  4. अगर आपको अब भी वर्चुअल होस्ट में सिफ़र सुइट अपडेट करने या जोड़ने में समस्या आ रही है, तो Apigee Edge की सहायता टीम से संपर्क करें.

राउटर पर साइफ़र सुइट कॉन्फ़िगर करना

इस सेक्शन में, राउटर पर सिफ़र सुइट कॉन्फ़िगर करने का तरीका बताया गया है. साइफ़र सुइट को, राउटर प्रॉपर्टी conf_load_balancing_load.balancing.driver.server.ssl.ciphers के ज़रिए कॉन्फ़िगर किया जा सकता है. यह कोलन से अलग किए गए, स्वीकार किए गए साइफ़र सुइट को दिखाता है.

राउटर पर सिफ़र सुइट कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं:

  1. राउटर मशीन पर, इस फ़ाइल को एडिटर में खोलें. अगर यह पहले से मौजूद नहीं है, तो इसे बनाएं.

    /opt/apigee/customer/application/router.properties

    उदाहरण के लिए, vi से फ़ाइल खोलने के लिए, यह डालें:

    vi /opt/apigee/customer/application/router.properties
  2. properties फ़ाइल में, इस फ़ॉर्मैट में एक लाइन जोड़ें. इसमें colon_separated_cipher_suites की जगह कोई वैल्यू डालें:
    conf_load_balancing_load.balancing.driver.server.ssl.ciphers=colon_separated_cipher_suites

    उदाहरण के लिए, अगर आपको सिर्फ़ साइफ़र सुइट TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 और TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 को अनुमति देनी है, तो OpenSSL ciphers manpage से, उनसे जुड़ी OpenSSL साइफ़र स्ट्रिंग का पता लगाएं. इसके लिए, यहां दी गई टेबल देखें:

    साइफ़र सुइट OpenSSL साइफ़र स्ट्रिंग
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    इसके बाद, यह लाइन जोड़ें:

    conf_load_balancing_load.balancing.driver.server.ssl.ciphers=DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256
  3. बदलावों को सेव करें.
  4. पक्का करें कि इस प्रॉपर्टी फ़ाइल का मालिकाना हक apigee उपयोगकर्ता के पास हो. इसके बारे में यहां बताया गया है:
    chown apigee:apigee /opt/apigee/customer/application/router.properties
  5. राऊटर को रीस्टार्ट करें. इसके लिए, यहां दिया गया तरीका अपनाएं:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  6. अगर आपके पास एक से ज़्यादा राऊटर हैं, तो ऊपर दिया गया तरीका सभी राऊटर पर दोहराएं.

राऊटर पर साइफ़र सुइट की पुष्टि करना

इस सेक्शन में, यह पुष्टि करने का तरीका बताया गया है कि राउटर पर सिफ़र सुइट में बदलाव हो गया है.

  1. राउटर पर, प्रॉपर्टी खोजें conf_load_balancing_load.balancing.driver.server.ssl.ciphers. इसके लिए, /opt/apigee फ़ोल्डर में मौजूद Apigee search utility का इस्तेमाल करें. साथ ही, देखें कि इसे नई वैल्यू के साथ सेट किया गया है या नहीं. इसके लिए, यह तरीका अपनाएं:
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.server.ssl.ciphers
  2. अगर राउटर पर नई सिफ़र सुइट सेट हो जाती हैं, तो ऊपर दिया गया निर्देश नई वैल्यू दिखाता है.

    ऊपर दी गई search कमांड का सैंपल नतीजा यहां दिया गया है. इसमें सिफ़र सुइट को DHE-RSA-AES128-GCM-SHA256 और ECDHE-RSA-AES128-GCM-SHA256 पर अपडेट किया गया है:

    Found key conf_load_balancing_load.balancing.driver.server.ssl.ciphers, with value, DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256, in /opt/apigee/customer//application/router.properties

    ऊपर दिए गए उदाहरण के आउटपुट में, ध्यान दें कि नई सिफ़र सुइट वैल्यू के साथ प्रॉपर्टी conf_load_balancing_load.balancing.driver.server.ssl.ciphers सेट की गई है. इससे पता चलता है कि राऊटर पर साइफ़र सुइट को OpenSSL साइफ़र स्ट्रिंग DHE-RSA-AES128-GCM-SHA25 और ECDHE-RSA-AES128-GCM-SHA256 पर अपडेट कर दिया गया है.

  3. अगर आपको अब भी सिफ़र सुइट conf_load_balancing_load.balancing.driver.server.ssl.ciphers के लिए पुरानी वैल्यू दिखती हैं, तो पुष्टि करें कि आपने राउटर पर सिफ़र सुइट कॉन्फ़िगर करना में बताए गए सभी चरणों का सही तरीके से पालन किया हो. अगर आपने कोई चरण छोड़ दिया है, तो सभी चरणों को फिर से सही तरीके से दोहराएं.
  4. अगर आपको अब भी राउटर पर सिफ़र सुइट में बदलाव करने में समस्या आ रही है, तो Apigee Edge की सहायता टीम से संपर्क करें.