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

أنت تعرض مستندات 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.، لذا يجب استخدام سلسلة تشفير OpenSSL ECDHE-RSA-AES128-GCM-SHA256 أثناء إعداد مجموعة الرموز في المضيف الافتراضي أو على جهاز توجيه Apigee.

قبل البدء

تهيئة مجموعات الرموز على المضيفات الافتراضية

يوضح هذا القسم كيفية إعداد مجموعات الرموز في المضيفات الافتراضية المرتبطة بالمؤسسة والبيئة. يمكن إعداد مجموعات الرموز في المضيف الافتراضي من خلال الموقع ssl_ciphers الذي يمثّل قائمة مجموعات الرموز المتوافقة مع المضيف الافتراضي.

راجِع مجموعات الرموز المتوافقة للاطّلاع على قائمة بالترميز. التي توفّرها Apigee.

يمكنك تهيئة المضيف الظاهري باستخدام إحدى الطرق التالية:

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

استخدام واجهة مستخدم Edge

لإعداد المضيف الافتراضي باستخدام واجهة مستخدم Edge، قم بما يلي:

  1. سجِّل الدخول إلى واجهة مستخدم Edge.
  2. انتقِل إلى المشرف >. المضيفون الافتراضيون:
  3. اختَر بيئة معيّنة تريد إجراء هذا التغيير فيها.
  4. اختر المضيف الظاهري المحدّد الذي تريد إعداد مجموعات الرموز له.
  5. ضمن الخصائص، عدِّل قيمة Ciphers بقائمة من سلاسل تشفير 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

لإعداد مجموعات الرموز على مضيف افتراضي باستخدام واجهة برمجة تطبيقات Edge، قم بما يلي:

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

    مستخدم Cloud العام:

    curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    

    مستخدم Cloud خاص:

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

    مستخدم Cloud العام:

    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}
    

    مستخدم Cloud خاص:

    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.

  1. نفِّذ احصل على واجهة برمجة تطبيقات المضيف الافتراضي للحصول على إعدادات virtualhost كما هو موضح أدناه:

    مستخدم Cloud العام:

    curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    

    مستخدم Cloud خاص:

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

    حزمة التشفير سلسلة تشفير 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