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

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

http://ms_IP:8080

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

https://ms_IP:8443

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

لضمان تشفير عدد الزيارات من واجهة برمجة تطبيقات الإدارة وإليها، اضبط الإعدادات في ملف /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)/طبقة المقابس الآمنة (TLS) على متصفِّح Edge على الجهاز.
  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 باستخدام الأمر:
    /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 من خلال تنفيذ الأمر التالي:
    /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) لخادم الإدارة

يعرض الجدول التالي جميع مواقع بروتوكول أمان طبقة النقل أو طبقة المقابس الآمنة التي يمكنك ضبطها في management-server.properties:

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

conf_webserver_http.port=8080

والعدد التلقائي هو 8080.

conf_webserver_ssl.enabled=false

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

conf_webserver_http.turn.off=true

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

conf_webserver_ssl.port=8443

منفذ بروتوكول أمان طبقة النقل أو طبقة المقابس الآمنة.

مطلوب عند تفعيل بروتوكول أمان طبقة النقل (TLS) أو طبقة المقابس الآمنة (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.path=path

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

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

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

OBF:xxxxxxxxxx

conf_webserver_exclude.cipher.suites=CIPHER_SUITE_1 CIPHER_SUITE_2

conf_webserver_include.cipher.suites=

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

للحصول على معلومات عن مجموعات الرموز وبنية التشفير، يُرجى الاطّلاع على مستندات موفِّري بنية تشفير Java لـ JDK 8.

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

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

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