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

Edge for Private Cloud الإصدار 4.17.05

يتم تلقائيًا إيقاف بروتوكول أمان طبقة النقل (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
    # اترك conf_webserver_http.turn.off مضبوطًا على "false"
    # لأنّ العديد من استدعاءات Edge الداخلية تستخدم HTTP.
    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 على الأجهزة للحصول على معلومات حول إنشاء كلمة مرور تتضمّن تشويشًا.
  5. أعِد تشغيل خادم Edge Management Server باستخدام الأمر:
    $ /opt/apigee/apigee-service/bin/apigee-service Edge-management-server redirect

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

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

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

في الإجراء أعلاه، اقترح 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 إعادة تشغيل
  4. عدِّل /opt/apigee/customer/application/ui.properties لضبط الخاصية التالية لواجهة مستخدم Edge. إذا لم يكن هذا الملف متوفّرًا، يمكنك إنشاؤه:
    conf_apigee_apigee.mgmt.baseurl="https://FQDN:8443/v1"

    حيث يكون FQDN هو اسم النطاق الكامل، وفقًا لعنوان شهادتك لخادم الإدارة، ورقم المنفذ هو المنفذ المحدّد أعلاه من خلال conf_portserver.s.
  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 rename

مواقع بروتوكول أمان طبقة النقل (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=

استخدِم كلمة مرور مبهمة بالتنسيق التالي: 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_restrict.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=

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

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