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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    उदाहरण के लिए, अगर आपको सिर्फ़ साइफ़र सुइट TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 और TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 को अनुमति देनी है, तो 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

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

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

  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}
    

    प्राइवेट क्लाउड उपयोगकर्ता:

    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. मौजूदा वर्चुअल होस्ट कॉन्फ़िगरेशन में, ssl_ciphers प्रॉपर्टी जोड़ें. इसके लिए, properties के तहत JSON पेलोड में, सही ओपनर साइफ़र स्ट्रिंग का इस्तेमाल करें.

    उदाहरण के लिए, अगर आपको सिर्फ़ साइफ़र सुइट TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 और TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 को अनुमति देनी है, तो 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}
    

    प्राइवेट क्लाउड उपयोगकर्ता:

    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}
    

    प्राइवेट क्लाउड उपयोगकर्ता:

    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 साइफ़र मैनपेज से, इससे जुड़े साइफ़र साइफ़र स्ट्रिंग तय करें, जैसा कि इस टेबल में दिखाया गया है:

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

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

    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 प्रॉपर्टी को साइफ़र सुइट की नई वैल्यू के साथ सेट किया गया है. इससे पता चलता है कि साइफ़र सुइट को, राऊटर पर खोलने के लिए इस्तेमाल की जाने वाली साइफ़र स्ट्रिंग DHE-RSA-AES128-GCM-SHA25और ECDHE-RSA-AES128-GCM-SHA256 पर अपडेट किया गया है.

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