ضبط مجموعات الرموز على الأجهزة المضيفة وأجهزة التوجيه الافتراضية

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

يوضّح هذا المستند كيفية ضبط مجموعات التشفير على المضيفات الافتراضية وأجهزة التوجيه في Apigee Edge.

مجموعة الرموز هي مجموعة من الخوارزميات التي تساعد في تأمين اتصال الشبكة الذي يستخدم بروتوكول أمان طبقة النقل (TLS). يجب أن يتفق العميل والخادم على مجموعة الرموز المحدّدة التي سيتم استخدامها في تبادل الرسائل. إذا لم يتفق العميل والخادم على مجموعة ترميز، ستتعذّر الطلبات بسبب حدوث أخطاء في عملية المصافحة عبر بروتوكول أمان طبقة النقل.

في Apigee، يجب أن يتم الاتفاق بشكل متبادل على مجموعات التشفير بين تطبيقات العميل وأجهزة التوجيه.

قد تحتاج إلى تعديل مجموعات التشفير على Apigee Edge للأسباب التالية:

  • لتجنُّب أي عدم تطابق في مجموعات التشفير بين تطبيقات العميل وأجهزة توجيه Apigee
  • لاستخدام مجموعات تشفير أكثر أمانًا إما لإصلاح أي ثغرات أمنية أو لتعزيز الأمان

يمكن ضبط مجموعات التشفير على المضيفات الافتراضية أو أجهزة توجيه Apigee. يُرجى العِلم أنّ Apigee لا تقبل مجموعات التشفير إلا بتنسيق سلاسل التشفير OpenSSL في كل من المضيف الافتراضي والموجّه. تقدّم صفحة دليل OpenSSL الخاصة برموز التشفير مجموعات رموز التشفير الخاصة ببروتوكول أمان طبقة النقل (TLS) أو طبقة المقابس الآمنة (SSL) من المواصفات ذات الصلة، بالإضافة إلى معادلاتها في OpenSSL.

على سبيل المثال:

إذا أردت ضبط مجموعة TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 رموز في المضيف الافتراضي أو جهاز التوجيه Apigee، عليك تحديد سلسلة التشفير المتوافقة مع OpenSSL من صفحة OpenSSL ciphers manpage. سلسلة رموز خوارزمية الترميز OpenSSL لمجموعة رموز خوارزمية الترميز TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 هي ECDHE-RSA-AES128-GCM-SHA256.، لذا عليك استخدام سلسلة رموز خوارزمية الترميز OpenSSL ECDHE-RSA-AES128-GCM-SHA256 عند إعداد مجموعة رموز خوارزمية الترميز في المضيف الظاهري أو على جهاز توجيه Apigee.

قبل البدء

ضبط مجموعات التشفير على المضيفات الافتراضية

يوضّح هذا القسم كيفية ضبط مجموعات التشفير في المضيفات الافتراضية المرتبطة بمؤسسة وبيئة. يمكن ضبط مجموعات التشفير في المضيف الافتراضي من خلال السمة 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 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 مع الفصل بينها بنقطتَين رأسيتَين كما هو موضّح في الشكل التالي:

    مثال على الشفرات

  6. احفظ التغيير.

استخدام واجهة برمجة التطبيقات Edge API

لضبط مجموعات التشفير على مضيف افتراضي باستخدام Edge API، اتّبِع الخطوات التالية:

  1. يمكنك الحصول على إعدادات المضيف الافتراضي الحالية باستخدام واجهة برمجة التطبيقات Get virtual host كما هو موضّح أدناه:

    مستخدم السحابة الإلكترونية العامة:

    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 بإجراء التغيير باستخدام واجهة برمجة التطبيقات تعديل مضيف افتراضي على النحو التالي:

    مستخدم السحابة الإلكترونية العامة:

    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.

ضبط مجموعات رموز خوارزمية الترميز على أجهزة التوجيه

يوضّح هذا القسم كيفية ضبط مجموعات التشفير على أجهزة التوجيه. يمكن ضبط مجموعات التشفير من خلال السمة Router conf_load_balancing_load.balancing.driver.server.ssl.ciphers، التي تمثّل مجموعات التشفير المقبولة والمفصولة بنقطتين.

لضبط مجموعات التشفير على أجهزة التوجيه، اتّبِع الخطوات التالية:

  1. على جهاز Router، افتح الملف التالي في محرِّر. إذا لم يكن موجودًا، فأنشئه.

    /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 manpage كما هو موضّح في الجدول التالي:

    مجموعة رموز التشفير سلسلة تشفير 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 باستخدام قيم مجموعة الرموز الجديدة. يشير ذلك إلى أنّه تم تعديل مجموعة رموز التشفير بنجاح إلى سلاسل رموز التشفير DHE-RSA-AES128-GCM-SHA25 وECDHE-RSA-AES128-GCM-SHA256 في جهاز التوجيه.

  3. إذا كنت لا تزال ترى القيم القديمة لمجموعات التشفير conf_load_balancing_load.balancing.driver.server.ssl.ciphers، فتأكَّد من أنّك اتّبعت جميع الخطوات الموضّحة في ضبط مجموعات التشفير على أجهزة التوجيه بشكل صحيح. إذا فاتتك أي خطوة، كرِّر جميع الخطوات مرة أخرى بشكل صحيح.
  4. إذا لم تتمكّن من تعديل مجموعات التشفير على أجهزة التوجيه، يُرجى التواصل مع فريق دعم Apigee Edge.