ভার্চুয়াল হোস্ট এবং রাউটারে সাইফার স্যুট কনফিগার করা হচ্ছে

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

এই ডকুমেন্টটিতে Apigee Edge-এর ভার্চুয়াল হোস্ট এবং রাউটারগুলিতে সাইফার স্যুট কনফিগার করার পদ্ধতি ব্যাখ্যা করা হয়েছে।

সাইফার স্যুট হলো একগুচ্ছ অ্যালগরিদম যা TLS ব্যবহার করে একটি নেটওয়ার্ক সংযোগ সুরক্ষিত করতে সাহায্য করে। বার্তা আদান-প্রদানের জন্য কোন নির্দিষ্ট সাইফার স্যুট ব্যবহার করা হবে, সে বিষয়ে ক্লায়েন্ট এবং সার্ভারকে অবশ্যই একমত হতে হবে। যদি ক্লায়েন্ট এবং সার্ভার কোনো সাইফার স্যুটের বিষয়ে একমত না হয়, তাহলে TLS হ্যান্ডশেক ব্যর্থতার কারণে অনুরোধগুলো ব্যর্থ হয়।

Apigee-তে, ক্লায়েন্ট অ্যাপ্লিকেশন এবং রাউটারগুলোর মধ্যে সাইফার স্যুটগুলো পারস্পরিক সম্মতির ভিত্তিতে নির্ধারিত হওয়া উচিত।

নিম্নলিখিত কারণগুলোর জন্য আপনি Apigee Edge-এ সাইফার স্যুটগুলো পরিবর্তন করতে চাইতে পারেন:

  • ক্লায়েন্ট অ্যাপ্লিকেশন এবং Apigee রাউটারের মধ্যে যেকোনো সাইফার স্যুট অমিল এড়াতে
  • যেকোনো নিরাপত্তা দুর্বলতা দূর করতে অথবা নিরাপত্তা জোরদার করার জন্য আরও সুরক্ষিত সাইফার স্যুট ব্যবহার করা।

সাইফার স্যুটগুলো ভার্চুয়াল হোস্ট অথবা Apigee রাউটারে কনফিগার করা যায়। উল্লেখ্য যে, Apigee ভার্চুয়াল হোস্ট এবং রাউটার উভয় স্থানেই শুধুমাত্র OpenSSL সাইফার স্ট্রিং ফরম্যাটে সাইফার স্যুট গ্রহণ করে। OpenSSL সাইফার ম্যানপেজে প্রাসঙ্গিক স্পেসিফিকেশন থেকে SSL বা TLS সাইফার স্যুট এবং সেগুলোর OpenSSL সমতুল্যগুলো দেওয়া থাকে।

উদাহরণস্বরূপ:

যদি আপনি ভার্চুয়াল হোস্ট বা Apigee রাউটারে TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 সাইফার স্যুটটি কনফিগার করতে চান, তাহলে আপনাকে OpenSSL সাইফার ম্যানপেজ থেকে সংশ্লিষ্ট OpenSSL সাইফার স্ট্রিংটি শনাক্ত করতে হবে। TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 সাইফার স্যুটের জন্য OpenSSL সাইফার স্ট্রিংটি হলো ECDHE-RSA-AES128-GCM-SHA256. সুতরাং, ভার্চুয়াল হোস্ট বা Apigee রাউটারে সাইফার স্যুটটি কনফিগার করার সময় আপনাকে ECDHE-RSA-AES128-GCM-SHA256 OpenSSL সাইফার স্ট্রিংটি ব্যবহার করতে হবে।

শুরু করার আগে

ভার্চুয়াল হোস্টে সাইফার স্যুট কনফিগার করা

এই বিভাগে একটি সংস্থা এবং পরিবেশের সাথে যুক্ত ভার্চুয়াল হোস্টগুলিতে সাইফার স্যুটগুলি কীভাবে কনফিগার করতে হয় তা ব্যাখ্যা করা হয়েছে। ভার্চুয়াল হোস্টে ssl_ciphers প্রপার্টির মাধ্যমে সাইফার স্যুটগুলি কনফিগার করা যায়, যা ভার্চুয়াল হোস্ট দ্বারা সমর্থিত সাইফার স্যুটগুলির তালিকা উপস্থাপন করে।

Apigee যেসব সাইফার স্যুট সমর্থন করে, তার তালিকার জন্য সমর্থিত সাইফার স্যুটসমূহ দেখুন।

আপনি নিম্নলিখিত পদ্ধতিগুলোর যেকোনো একটি ব্যবহার করে ভার্চুয়াল হোস্টটি কনফিগার করতে পারেন:

  • Edge UI ব্যবহার করে
  • Edge API ব্যবহার করে

Edge UI ব্যবহার করে

Edge UI ব্যবহার করে ভার্চুয়াল হোস্ট কনফিগার করতে, নিম্নলিখিতগুলি করুন:

  1. Edge UI- তে লগইন করুন।
  2. অ্যাডমিন > ভার্চুয়াল হোস্ট- এ যান।
  3. একটি নির্দিষ্ট পরিবেশ নির্বাচন করুন যেখানে আপনি এই পরিবর্তনটি করতে চান।
  4. সেই নির্দিষ্ট ভার্চুয়াল হোস্টটি নির্বাচন করুন যার জন্য আপনি সাইফার স্যুটগুলো কনফিগার করতে চান।
  5. Properties- এর অধীনে, Ciphers ভ্যালুটি কোলন-বিভাজিত OpenSSL সাইফার স্ট্রিংগুলির একটি তালিকা দিয়ে আপডেট করুন।

    উদাহরণস্বরূপ, যদি আপনি শুধুমাত্র TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 এবং TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 সাইফার স্যুটগুলোকে অনুমোদন করতে চান, তাহলে নিচের টেবিলে দেখানো পদ্ধতি অনুযায়ী 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 সাইফার স্ট্রিংটি যোগ করুন:

    Ciphers example

  6. পরিবর্তনটি সংরক্ষণ করুন

Edge API ব্যবহার করে

Edge API ব্যবহার করে একটি ভার্চুয়াল হোস্টে সাইফার স্যুটগুলি কনফিগার করতে, নিম্নলিখিতগুলি করুন:

  1. নিচে দেখানো Get virtual host API ব্যবহার করে বর্তমান ভার্চুয়াল হোস্ট কনফিগারেশনটি পান:

    পাবলিক ক্লাউড ব্যবহারকারী:

    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. বিদ্যমান ভার্চুয়াল হোস্ট কনফিগারেশন JSON পেলোডের ` properties অংশে উপযুক্ত OpenSSL সাইফার স্ট্রিং সহ ` ssl_ciphers প্রপার্টিটি যোগ করুন।

    উদাহরণস্বরূপ, যদি আপনি শুধুমাত্র TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 এবং TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 সাইফার স্যুটগুলোকে অনুমোদন করতে চান, তাহলে নিচের টেবিলে দেখানো পদ্ধতি অনুযায়ী 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. নিম্নলিখিতভাবে ' Update a virtual host' API ব্যবহার করে 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 কনফিগারেশন পেতে Get virtual host API-টি চালান:

    পাবলিক ক্লাউড ব্যবহারকারী:

    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 Support-এর সাথে যোগাযোগ করুন।

রাউটারে সাইফার স্যুট কনফিগার করা

এই বিভাগে রাউটারগুলিতে সাইফার স্যুটগুলি কীভাবে কনফিগার করতে হয় তা ব্যাখ্যা করা হয়েছে। সাইফার স্যুটগুলি রাউটার প্রপার্টি 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 সাইফার ম্যানপেজ থেকে সংশ্লিষ্ট 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 সার্চ ইউটিলিটি ব্যবহার করে 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 প্রপার্টিটি নতুন সাইফার স্যুট ভ্যালু দিয়ে সেট করা হয়েছে। এটি নির্দেশ করে যে, রাউটারে সাইফার স্যুটটি সফলভাবে OpenSSL সাইফার স্ট্রিং DHE-RSA-AES128-GCM-SHA25 এবং ECDHE-RSA-AES128-GCM-SHA256 এ আপডেট করা হয়েছে।

  3. যদি আপনি এখনও সাইফার স্যুট conf_load_balancing_load.balancing.driver.server.ssl.ciphers এর জন্য পুরোনো মানগুলো দেখতে পান, তাহলে যাচাই করুন যে আপনি "রাউটারে সাইফার স্যুট কনফিগার করা" অংশে বর্ণিত সমস্ত ধাপ সঠিকভাবে অনুসরণ করেছেন কিনা। যদি আপনি কোনো ধাপ বাদ দিয়ে থাকেন, তাহলে সমস্ত ধাপ আবার সঠিকভাবে পুনরাবৃত্তি করুন।
  4. আপনি যদি এখনও রাউটারগুলিতে সাইফার স্যুটগুলি পরিবর্তন করতে না পারেন, তাহলে Apigee Edge Support-এর সাথে যোগাযোগ করুন।