ضبط بروتوكول أمان طبقة النقل لواجهة برمجة التطبيقات للإدارة

Edge for Private Cloud، الإصدار 4.16.09

تكون طبقة النقل الآمنة غير مفعّلة تلقائيًا لواجهة برمجة التطبيقات الخاصة بالإدارة، ويمكنك الوصول إلى واجهة برمجة التطبيقات الخاصة بإدارة Edge عبر بروتوكول HTTP باستخدام عنوان IP الخاص بعقدة "خادم الإدارة" والمنفذ 8080. على سبيل المثال:

http://ms_IP:8080

بدلاً من ذلك، يمكنك ضبط إمكانية الوصول إلى طبقة النقل الآمنة (TLS) لواجهة برمجة التطبيقات الخاصة بالإدارة حتى تتمكّن من الوصول إليها في الشكل التالي:

https://ms_IP:8443

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

لضمان تشفير الزيارات من وإلى Management API، اضبط الإعدادات في ملف /opt/apigee/customer/application/management-server.properties.

بالإضافة إلى إعدادات بروتوكول TLS، يمكنك أيضًا التحكّم في عملية التحقّق من كلمة المرور (طول كلمة المرور وقوتها) من خلال تعديل ملف management-server.properties.

التأكد من أنّ منفذ بروتوكول أمان طبقة النقل (TLS) مفتوح

تعمل الخطوات الواردة في هذا القسم على ضبط بروتوكول أمان طبقة النقل (TLS) لاستخدام المنفذ 8443 على "خادم الإدارة". بصرف النظر عن المنفذ الذي تستخدمه، عليك التأكّد من أنّ المنفذ مفتوح على "خادم الإدارة". على سبيل المثال، يمكنك استخدام الأمر التالي لفتحه:

$ iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT --verbose 

ضبط بروتوكول أمان طبقة النقل (TLS)

عدِّل ملف /opt/apigee/customer/application/management-server.properties للتحكّم في استخدام بروتوكول أمان طبقة النقل (TLS) في حركة المرور الواردة والصادرة من واجهة برمجة التطبيقات الخاصة بالإدارة. إذا لم يكن هذا الملف متوفّرًا، أنشِئه.

اتّبِع الإجراء التالي لضبط إمكانية الوصول إلى Management API باستخدام بروتوكول TLS:

  1. أنشِئ ملف JKS لملف تخزين المفاتيح الذي يحتوي على شهادة بروتوكول أمان طبقة النقل (TLS) ومفتاح خاص. وللمزيد من المعلومات، راجِع ضبط بروتوكول أمان طبقة النقل (TLS) أو طبقة المقابس الآمنة (SSL) لبرنامج Edge On Premises.
  2. انسخ ملف JKS الخاص بملف تخزين المفاتيح إلى دليل على عقدة "خادم الإدارة"، مثل /opt/apigee/customer/application.
  3. غيِّر ملكية ملف JKS إلى apigee:
    $ chown apigee:apigee keystore.jks

    حيث يكون keystore.jks هو اسم ملف تخزين المفاتيح.
  4. عدِّل /opt/apigee/customer/application/management-server.properties لضبط السمات التالية. في حال عدم توفّر هذا الملف، أنشِئه:
    conf_webserver_ssl.enabled=true
    # اضبط القيمة بجانب "صحيح" إذا كانت جميع الاتصالات عبر HTTPS.
    # لا يُنصح بذلك إلى أن تختبر بروتوكول أمان طبقة النقل (TLS) أو بروتوكول HTTPS لواجهة برمجة التطبيقات Edge API و
    # ضبط واجهة مستخدم Edge لاستخدام بروتوكول أمان طبقة النقل (TLS) للوصول إلى واجهة برمجة التطبيقات Edge API، كما هو موضّح أدناه.
    conf_webserver_http.turn.off=false
    conf_webserver_ssl.port=8443
    conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks
    # أدخِل كلمة مرور ملفات تخزين المفاتيح المشفّرة أدناه.
    conf_webserver_keystore.password=OBF:obfuscatedPassword
    conf_webserver_cert.alias=apigee-devtest


    حيث يكون keyStore.jks هو ملف تخزين المفاتيح، وobfuscatedPassword هي كلمة مرور تخزين المفاتيح المشفّرة. اطّلِع على مقالة ضبط بروتوكول أمان طبقة النقل (TLS) أو طبقة المقابس الآمنة (SSL) لتطبيق Edge On Premises للحصول على معلومات عن إنشاء كلمة مرور مشوَّهة.
  5. أعِد تشغيل Edge Management Server باستخدام الأمر:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

تتيح واجهة برمجة التطبيقات للإدارة الآن الوصول عبر بروتوكول أمان طبقة النقل (TLS).

بعد التأكّد من أنّ بروتوكول TLS يعمل بشكل صحيح، بما في ذلك التأكّد من أنّه يعمل مع واجهة مستخدم Edge، يمكنك إيقاف إمكانية الوصول إلى واجهة برمجة التطبيقات Management API باستخدام بروتوكول HTTP كما هو موضّح في القسم التالي.

ضبط واجهة مستخدم Edge لاستخدام بروتوكول أمان طبقة النقل (TLS) للوصول إلى Edge API

في الإجراء أعلاه، اقترحت شركة Apigee ترك القيمة conf_webserver_http.turn.off=false لكي تتمكّن واجهة مستخدم Edge من مواصلة إجراء طلبات Edge API عبر HTTP.

استخدم الإجراء التالي لإعداد واجهة مستخدم Edge لإجراء هذه الاتصالات عبر HTTPS فقط:

  1. اضبط إمكانية الوصول إلى واجهة برمجة التطبيقات لإدارة الخدمات باستخدام بروتوكول أمان طبقة النقل (TLS) كما هو موضّح أعلاه.
  2. بعد التأكّد من عمل بروتوكول أمان طبقة النقل (TLS) في واجهة برمجة التطبيقات للإدارة، يمكنك تعديل /opt/apigee/customer/application/management-server.properties لضبط السمة التالية:
    conf_webserver_http.turn.off=true
  3. أعِد تشغيل Edge Management Server باستخدام الأمر:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  4. عدِّل /opt/apigee/customer/application/ui.properties لضبط السمة التالية لواجهة مستخدم Edge. في حال عدم توفّر هذا الملف، أنشِئه:
    conf_apigee_apigee.mgmt.baseurl="https://FQDN:8443/v1"

    حيث يشير FQDN إلى اسم النطاق الكامل وفقًا لعنوان الشهادة الخاص بخادم الإدارة، ورقم المنفذ هو المنفذ المحدّد أعلاه من خلال conf_slport_s.
  5. في حال استخدام شهادة موقَّعة ذاتيًا فقط (لا يُنصح باستخدامها في بيئة الإنتاج) عند ضبط إمكانية الوصول إلى واجهة برمجة التطبيقات لإدارة Edge باستخدام بروتوكول TLS كما هو موضّح أعلاه، أضِف السمة التالية إلى ui.properties:
    conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=true

    بخلاف ذلك، سترفض واجهة مستخدم Edge شهادة موقَّعة ذاتيًا.
  6. أعِد تشغيل واجهة مستخدم Edge باستخدام الأمر:
    $ /opt/apigee/apigee-service/bin/apigee-service Edge-ui إعادة تشغيل

سمات بروتوكول أمان طبقة النقل (TLS) لخادم الإدارة

يسرد الجدول التالي جميع خصائص TLS/SSL التي يمكنك ضبطها في management-server.properties:

المواقع

الوصف

conf_webserver_http.port=8080

القيمة التلقائية هي 8080.

conf_webserver_ssl.enabled=false

لتفعيل/إيقاف بروتوكول أمان طبقة النقل (TLS) أو طبقة المقابس الآمنة (SSL). عند تفعيل بروتوكول أمان طبقة النقل أو طبقة المقابس الآمنة (صحيح)، عليك أيضًا ضبط السمتَين ssl.port وkeystore.path.

conf_webserver_http.turn.off=true

لتفعيل/إيقاف http إلى جانب https. إذا كنت تريد استخدام بروتوكول HTTPS فقط، اترك القيمة التلقائية على true.

conf_webserver_ssl.port=8443

منفذ بروتوكول أمان طبقة النقل (TLS) أو طبقة المقابس الآمنة (SSL)

مطلوب عند تفعيل بروتوكول TLS/SSL (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.path=<path>

المسار إلى ملف تخزين المفاتيح

مطلوب عند تفعيل TLS/SSL (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.password=

استخدِم كلمة مرور مشوَّهة بالتنسيق التالي: OBF:xxxxxxxxxx

conf_webserver_cert.alias=

الاسم المستعار لشهادة ملف تخزين المفاتيح الاختياري

conf_webserver_keymanager.password=

إذا كان مدير المفاتيح يتضمّن كلمة مرور، أدخِل نسخة مشوّشة من كلمة المرور بالتنسيق التالي: OBF:xxxxxxxxxx.

conf_webserver_trust.all= <false | true>

conf_webserver_trust.store.path=<path>

conf_webserver_trust.store.password=

اضبط إعدادات المتجر الموثوق به. حدِّد ما إذا كنت تريد قبول جميع الشهادات الخاصة ببروتوكول أمان طبقة النقل أو طبقة المقابس الآمنة (على سبيل المثال، لقبول الأنواع غير العادية). القيمة التلقائية هي false. أدخِل المسار إلى متجر الثقة، وأدخِل كلمة مرور مُشفَّرة لمتجر الثقة بالتنسيق التالي: OBF:xxxxxxxxxx

conf_webserver_exclusion.cipher.suites=<CIPHER_SUITE_1 CIPHER_SUITE_2>

conf_webserver_include.cipher.suites=

حدِّد أي مجموعات تشفير تريد تضمينها أو استبعادها. على سبيل المثال، إذا اكتشفت ثغرة أمنية في أحد التشفيرات، يمكنك استبعاده هنا. افصل بين الرموز المتعددة بمسافة.

للحصول على معلومات عن مجموعات التشفير وبنية التشفير، يُرجى الاطّلاع على:

http://docs.oracle.com/javase/8/docs/technotes/
guides/security/SunProviders.html#SunJSSE

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

الأعداد الصحيحة التي تحدِّد:

  • حجم ذاكرة التخزين المؤقت لجلسة بروتوكول أمان طبقة النقل/طبقة المقابس الآمنة (بوحدات البايت) لتخزين معلومات الجلسة ل عدة عملاء
  • مقدار الوقت الذي يمكن أن تستمر فيه جلسات TLS/SSL قبل انتهاء مهلة الاتصال (بالمللي ثانية)