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

بشكل تلقائي، يتم إيقاف بروتوكول أمان طبقة النقل (TLS) لواجهة برمجة تطبيقات الإدارة ويمكنك الوصول إلى واجهة برمجة تطبيقات إدارة Edge من خلال HTTP باستخدام عنوان IP لعقدة خادم الإدارة والمنفذ 8080. على سبيل المثال:

http://ms_IP:8080

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

https://ms_IP:8443

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

لضمان تشفير الزيارات من وإلى واجهة برمجة تطبيقات الإدارة، اضبط الإعدادات في /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) عند حركة البيانات من وإلى واجهة برمجة تطبيقات الإدارة. إذا لم يكن هذا الملف موجودًا، إنشائها.

لضبط إمكانية الوصول إلى بروتوكول أمان طبقة النقل (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
    # Leave conf_webserver_http.turn.off set to false
    # because many Edge internal calls use HTTP.
    conf_webserver_http.turn.off=false
    conf_webserver_ssl.port=8443
    conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks
    # Enter the obfuscated keystore password below.
    conf_webserver_keystore.password=OBF:obfuscatedPassword

    أين يكون ملف تخزين المفاتيح keyStore.jks؟ إنّ obfuscatedPassword هو كلمة مرور ملف تخزين مفاتيح تم تشويشها. عرض تهيئة بروتوكول أمان طبقة النقل (TLS)/طبقة المقابس الآمنة (SSL) لنظام Edge On Premises معلومات حول إنشاء كلمة مرور تتضمن تشويشًا.

  5. أعد تشغيل Edge Management Server باستخدام الأمر:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

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

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

في الإجراء المذكور أعلاه، اقترحت Apigee تركها conf_webserver_http.turn.off=false بحيث يمكن لواجهة مستخدم Edge الاستمرار في إجراء طلبات البيانات من واجهة برمجة التطبيقات Edge عبر 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://FQ_domain_name:port/v1"

    حيث FQ_domain_name هو اسم النطاق الكامل وفقًا لشهادتك لخادم الإدارة، وport هو المنفذ المحدد أعلاه بواسطة conf_webserver_ssl.port

    في حال عدم توفّر ui.properties، أنشئها.

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

    وبخلاف ذلك، سترفض واجهة مستخدم Edge الشهادة الموقعة ذاتيًا.

  6. أعد تشغيل واجهة مستخدم Edge من خلال تنفيذ الأمر التالي:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

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

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

أماكن إقامة الوصف

conf_webserver_http.port=8080

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

conf_webserver_ssl.enabled=false

لتفعيل/إيقاف بروتوكول أمان طبقة النقل (TLS)/طبقة المقابس الآمنة (SSL). عند تمكين 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=password

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

conf_webserver_cert.alias=alias

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

conf_webserver_keymanager.password=password

إذا كان مدير المفاتيح لديه كلمة مرور، أدخِل نسخة مشفَّرة من كلمة المرور في هذا التنسيق:

OBF:xxxxxxxxxx

conf_webserver_trust.all=[false | true]

conf_webserver_trust.store.path=path

conf_webserver_trust.store.password=password

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

OBF:xxxxxxxxxx

conf_http_HTTPTransport.ssl.cipher.suites.blacklist=CIPHER_SUITE_1, CIPHER_SUITE_2

conf_http_HTTPTransport.ssl.cipher.suites.whitelist=

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

سيكون لأي تشفير تتم إزالته باستخدام القائمة السوداء الأولوية على أي تشفيرات مضمّنة عبر القائمة البيضاء.

ملاحظة: بشكل افتراضي، إذا لم يتم تحديد قائمة سوداء أو قائمة بيضاء، فإن الرموز تطابق يتم استبعاد تعبير Java العادي التالي افتراضيًا.

^.*_(MD5|SHA|SHA1)$
^TLS_RSA_.*$
^SSL_.*$
^.*_NULL_.*$
^.*_anon_.*$

ومع ذلك، إذا حددت قائمة سوداء، يتم تجاوز هذا عامل التصفية، ويجب عليك إضافة جميع التشفيرات بشكل فردي إلى القائمة السوداء.

للحصول على معلومات عن مجموعات Cypher وبنية التشفير، راجع وثائق مقدمي خدمات Oracle الخاصة ببنية تشفير Java لـ JDK 8.

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

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

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