پیکربندی مجموعه‌های رمز در میزبان‌های مجازی و مسیریاب‌ها

درحال مشاهده اسناد Apigee Edge هستید.
به اسناد Apigee X بروید.
اطلاعات

این سند توضیح می‌دهد که چگونه مجموعه‌های رمز را در میزبان‌های مجازی و «مسیریاب‌ها» در Apigee Edge پیکربندی کنید.

مجموعه رمز مجموعه‌ای از الگوریتم‌ها است که به ایمن کردن اتصال شبکه بااستفاده از TLS کمک می‌کند. کارخواه و سرور باید درباره مجموعه رمز خاصی که در تبادل پیام‌ها استفاده می‌شود توافق کنند. اگر کارخواه و سرور درباره مجموعه رمز توافق نکنند، درخواست‌ها با خطاهای «دست‌دهی TLS» ناموفق خواهند بود.

در Apigee، مجموعه‌های رمز باید بین برنامه‌های کارخواه و «مسیریاب‌ها» مورد توافق متقابل قرار گیرد.

ممکن است بخواهید مجموعه‌های رمز را در Apigee Edge به‌دلایل زیر تغییر دهید:

  • برای جلوگیری از عدم تطابق مجموعه‌های رمز بین برنامه‌های مشتری و «مسیرهای Apigee»
  • برای استفاده از مجموعه‌های رمز امن‌تر به‌منظور رفع آسیب‌پذیری‌های امنیتی یا برای امنیت بیشتر

مجموعه‌های رمز را می‌توان در میزبان‌های مجازی یا «مسیریاب‌های Apigee» پیکربندی کرد. توجه داشته باشید که Apigee مجموعه‌های رمز را فقط در قالب رشته‌های رمز OpenSSL در میزبان مجازی و «مسیریاب» می‌پذیرد. صفحه راهنمای رمزهای OpenSSL مجموعه‌های رمز SSL یا TLS را از مشخصات مربوطه و معادل‌های OpenSSL آن‌ها ارائه می‌دهد.

برای مثال:

اگر می‌خواهید مجموعه TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 رمز را در میزبان مجازی یا «روتر Apigee» پیکربندی کنید، باید رشته رمز OpenSSL مربوطه را از صفحه راهنمای رمزهای OpenSSL شناسایی کنید. رشته رمز OpenSSL برای مجموعه رمز TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ‏ ECDHE-RSA-AES128-GCM-SHA256. است. بنابراین، هنگام پیکربندی مجموعه رمز در میزبان مجازی یا در «مسیریاب Apigee»، باید از رشته رمز OpenSSL ‏ ECDHE-RSA-AES128-GCM-SHA256 استفاده کنید.

قبل‌از شروع

پیکربندی مجموعه‌های رمز در میزبان‌های مجازی

این بخش توضیح می‌دهد که چگونه مجموعه‌های رمز را در میزبان‌های مجازی مرتبط با سازمان و محیط پیکربندی کنید. مجموعه‌های رمز را می‌توان در میزبان مجازی ازطریق دارایی ssl_ciphers پیکربندی کرد که نشان‌دهنده فهرست مجموعه‌های رمز پشتیبانی‌شده توسط میزبان مجازی است.

برای فهرست مجموعه‌های رمزنگاری که Apigee پشتیبانی می‌کند، مجموعه‌های رمزنگاری پشتیبانی‌شده را ببینید.

می‌توانید میزبان مجازی را بااستفاده از یکی از روش‌های زیر پیکربندی کنید:

  • استفاده از میانای کاربر Edge
  • استفاده از Edge API

استفاده از میانای کاربر Edge

برای پیکربندی میزبان مجازی بااستفاده از «میانای کاربری Edge»، کارهای زیر را انجام دهید:

  1. به سیستم میانای کاربر Edge وارد شوید.
  2. به سرپرست > میزبان‌های مجازی پیمایش کنید.
  3. محیط خاصی را که می‌خواهید این تغییر را در آن انجام دهید انتخاب کنید.
  4. میزبان مجازی خاصی را که می‌خواهید مجموعه‌های رمز را برای آن پیکربندی کنید انتخاب کنید.
  5. در بخش خصوصیات، مقدار رمزها را با فهرستی از رشته‌های رمز OpenSSL که با دونقطه از هم جدا شده‌اند به‌روز کنید.

    برای مثال، اگر می‌خواهید فقط مجموعه‌های رمز TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 و TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 مجاز باشند، رشته‌های رمز OpenSSL مربوطه را از صفحه راهنمای رمزهای 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}

    کاربر «ابر خصوصی»:

    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 را به پیکربندی میزبان مجازی موجود پایه‌بار JSON در properties با رشته‌های رمز OpenSSL مناسب اضافه کنید.

    برای مثال، اگر می‌خواهید فقط مجموعه‌های رمز TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 و TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 را مجاز کنید، رشته‌های رمز OpenSSL مربوطه را از صفحه راهنمای رمزهای 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}

    کاربر «ابر خصوصی»:

    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 را با مقدار a جایگزین کنید:
    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 همان‌طور که در جدول زیر نشان داده شده است تعیین کنید:

    مجموعه رمز رشته رمز 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 بااستفاده از ابزار جستجوی Apigee از پوشه /opt/apigee جستجو کنید و بررسی کنید که آیا با مقدار جدید به‌صورت زیر تنظیم شده است یا نه:
    /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 تماس بگیرید.