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

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

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

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

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

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

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

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

برای مثال:

اگر می‌خواهید مجموعه رمز TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 را در میزبان مجازی یا روتر Apigee پیکربندی کنید، باید رشته رمز OpenSSL مربوطه را از صفحه راهنمای OpenSSL ciphers شناسایی کنید. رشته رمز 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
  • استفاده از API لبه

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

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

  1. به رابط کاربری Edge وارد شوید.
  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 ciphers همانطور که در جدول زیر نشان داده شده است، تعیین کنید:

    سوئیت رمز رشته رمزگذاری 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. تغییر را ذخیره کنید .

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

    برای مثال، اگر می‌خواهید فقط به مجموعه‌های رمز TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 و TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 اجازه دسترسی بدهید، رشته‌های رمز OpenSSL مربوطه را از صفحه راهنمای OpenSSL ciphers همانطور که در جدول زیر نشان داده شده است، تعیین کنید:

    سوئیت رمز رشته رمزگذاری 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 را با استفاده از API Update a virtual host به صورت زیر به‌روزرسانی کنید:

    کاربر ابر عمومی:

    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 virtualhost 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 تماس بگیرید.

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

این بخش نحوه پیکربندی مجموعه‌های رمز روی روترها را توضیح می‌دهد. مجموعه‌های رمز را می‌توان از طریق ویژگی روتر 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 ciphers همانطور که در جدول زیر نشان داده شده است، تعیین کنید:

    سوئیت رمز رشته رمزگذاری 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. روی روتر، با استفاده از ابزار جستجوی Apigee در پوشه /opt/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. اگر مجموعه‌های رمز جدید با موفقیت روی روتر تنظیم شوند، دستور بالا مقادیر جدید را نشان می‌دهد.

    در زیر نمونه‌ای از نتیجه‌ی دستور 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. اگر هنوز مقادیر قدیمی برای cipher suites conf_load_balancing_load.balancing.driver.server.ssl.ciphers را مشاهده می‌کنید، تأیید کنید که تمام مراحل ذکر شده در پیکربندی cipher suites روی روترها را به درستی دنبال کرده‌اید. اگر هر مرحله‌ای را از دست داده‌اید، تمام مراحل را دوباره به درستی تکرار کنید.
  4. اگر هنوز قادر به تغییر مجموعه‌های رمز روی روترها نیستید، با پشتیبانی Apigee Edge تماس بگیرید.