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

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

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

http://ms_IP:9000

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

https://ms_IP:9443

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

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

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

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

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

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

  1. عليك إنشاء ملف JKS لملف تخزين المفاتيح الذي يحتوي على شهادة TLS والمفتاح الخاص ونسخه إلى عقدة Management Server. للمزيد من المعلومات، راجع ضبط بروتوكول أمان طبقة النقل (TLS) أو طبقة المقابس الآمنة (SSL) لشبكة Edge على المبنى.
  2. شغِّل الأمر التالي لضبط بروتوكول أمان طبقة النقل (TLS):
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl
  3. أدخِل رقم منفذ HTTPS، على سبيل المثال، 9443.
  4. حدِّد ما إذا كنت تريد إيقاف وصول HTTP إلى واجهة مستخدم الإدارة. بشكل تلقائي، يمكن الوصول إلى واجهة مستخدم الإدارة عبر HTTP على المنفذ 9000.
  5. أدخِل خوارزمية ملف تخزين المفاتيح. الإعداد التلقائي هو JKS.
  6. أدخِل المسار المطلق لملف JKS لملف تخزين المفاتيح.

    ينسخ النص البرمجي الملف إلى الدليل /opt/apigee/customer/conf في عقدة خادم الإدارة ويغيّر ملكية الملف إلى "apigee".

  7. أدخِل كلمة مرور ملف تخزين المفاتيح ذات النص الواضح.
  8. سيُعيد النص البرمجي بعد ذلك تشغيل واجهة مستخدم إدارة Edge. بعد إعادة التشغيل، تتيح واجهة مستخدم الإدارة الوصول عبر بروتوكول أمان طبقة النقل (TLS).

    يمكنك الاطّلاع على هذه الإعدادات في /opt/apigee/etc/edge-ui.d/SSL.sh.

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

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

لاستخدام ملف إعداد، أنشئ ملفًا جديدًا وأضِف السمات التالية:

HTTPSPORT=9443
DISABLE_HTTP=y
KEY_ALGO=JKS
KEY_FILE_PATH=/opt/apigee/customer/application/mykeystore.jks
KEY_PASS=clearTextKeystorePWord

احفظ الملف في دليل محلي بأي اسم تريده. بعد ذلك، استخدِم الأمر التالي لضبط بروتوكول أمان طبقة النقل (TLS):

/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile

حيث configFile هو المسار الكامل إلى الملف الذي حفظته.

ضبط واجهة مستخدم Edge عند إنهاء بروتوكول أمان طبقة النقل (TLS) في جهاز موازنة الحمل

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

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

لضبط جهاز موازنة الحمل، تأكَّد من أنّه يضبط العنوان التالي على الطلبات المُعاد توجيهها إلى واجهة مستخدم Edge:

X-Forwarded-Proto: https

لإعداد واجهة مستخدم Edge:

  1. افتح ملف /opt/apigee/customer/application/ui.properties في محرِّر. إذا لم يكن الملف متوفّرًا، يمكنك إنشاؤه:
    vi /opt/apigee/customer/application/ui.properties
  2. إعداد السمة التالية في ui.properties:
    conf/application.conf+trustxforwarded=true
  3. احفظ التغييرات في ui.properties.
  4. أعِد تشغيل واجهة مستخدم Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

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

تتوافق واجهة مستخدم Edge مع خصائص إعداد TLS الاختيارية التي يمكنك استخدامها لضبط ما يلي:

  • بروتوكول TLS التلقائي
  • قائمة ببروتوكولات بروتوكول أمان طبقة النقل (TLS) المتوافقة
  • خوارزميات بروتوكول أمان طبقة النقل (TLS) المتوافقة
  • رموز TLS المتوافقة

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

TLS_CONFIGURE=y

ويوضّح الجدول التالي هذه السمات:

الموقع الوصف
TLS_PROTOCOL تُحدِّد بروتوكول TLS التلقائي لواجهة مستخدم Edge. وهو تلقائيًا الإصدار 1.2 من بروتوكول أمان طبقة النقل (TLS). القيم الصالحة هي TLSv1.2 وTLSv1.1 وTLSv1.
TLS_ENABLED_PROTOCOL

تحدِّد هذه السياسة قائمة البروتوكولات المفعّلة كمصفوفة مفصولة بفواصل. مثال:

TLS_ENABLED_PROTOCOL=[\"TLSv1.2\", \"TLSv1.1\", \"TLSv1\"]

لاحظ أنه عليك تخطي الحرف ".

وحسب الإعدادات التلقائية، يتم تفعيل جميع البروتوكولات.

TLS_DISABLED_ALGO

تحدّد مجموعات الرموز غير المفعّلة ويمكن استخدامها أيضًا لمنع استخدام أحجام المفاتيح الصغيرة في عملية تأكيد الاتصال من خلال بروتوكول أمان طبقة النقل (TLS). ليست هناك قيمة تلقائية.

تتطابق القيم التي يتم تمريرها إلى TLS_DISABLED_ALGO مع القيم المسموح بها في jdk.tls.disabledAlgorithms كما هو موضّح هنا. ومع ذلك، عليك إلغاء المسافات عند ضبط الإعداد TLS_DISABLED_ALGO:

TLS_DISABLED_ALGO=EC\ keySize\ <\ 160,RSA\ keySize\ <\ 2048

TLS_ENABLED_CIPHERS

تُحدِّد هذه السياسة قائمة برموز TLS المتاحة في صورة مصفوفة مفصولة بفواصل. مثال:

TLS_ENABLED_CIPHERS=[\"TLS_DHE_RSA_WITH_AES_128_CBC_SHA\",
\"TLS_DHE_DSS_WITH_AES_128_CBC_SHA\"]

لاحظ أنه عليك تخطي الحرف ".

القائمة التلقائية للرموز المفعَّلة هي:

"TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
"TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
"TLS_RSA_WITH_AES_256_CBC_SHA",
"TLS_RSA_WITH_AES_128_CBC_SHA",
"SSL_RSA_WITH_RC4_128_SHA",
"SSL_RSA_WITH_RC4_128_MD5",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"

ويمكنك الاطّلاع على قائمة الرموز المتاحة هنا.

إيقاف بروتوكولات TLS

لإيقاف بروتوكولات بروتوكول أمان طبقة النقل (TLS)، عليك تعديل ملف الإعداد، كما هو موضَّح في استخدام ملف إعداد لضبط بروتوكول أمان طبقة النقل (TLS)، كما يلي:

  1. افتح ملف الإعداد في محرِّر.
  2. لإيقاف بروتوكول أمان طبقة النقل (TLS) واحد، مثل TLSv1.0، أضِف ما يلي إلى ملف الإعداد:
    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1"

    لإيقاف بروتوكولات متعدّدة، مثل TLSv1.0 وTLSv1.1، أضِف ما يلي إلى ملف الإعداد:

    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1, tlsv1.1"
  3. احفظ التغييرات في ملف الإعداد.
  4. شغِّل الأمر التالي لضبط بروتوكول أمان طبقة النقل (TLS):
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile

    حيث configFile هو المسار الكامل لملف الإعداد.

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

استخدام ملفات تعريف الارتباط الآمنة

يتيح Apigee Edge for Private Cloud إمكانية إضافة علامة secure إلى عنوان Set-Cookie للردود من واجهة مستخدم Edge. في حال توفّر هذه العلامة، لا يمكن إرسال ملف تعريف الارتباط إلا عبر قنوات تم تفعيل بروتوكول أمان طبقة النقل (TLS). وفي حال عدم توفّره، يمكن إرساله عبر أي قناة، سواء كانت آمنة أم لا.

من المحتمل أن تتيح ملفات تعريف الارتباط التي لا تتضمّن علامة secure للمهاجم إمكانية الحصول على ملف تعريف الارتباط وإعادة استخدامه أو الاستيلاء على جلسة نشطة. لذلك، فإنّ أفضل الممارسات هي تفعيل هذا الإعداد.

لإعداد العلامة secure لملفات تعريف الارتباط في واجهة مستخدم Edge:

  1. افتح الملف التالي في محرِّر النصوص:
    /opt/apigee/customer/application/ui.properties

    إذا لم يكن الملف موجودًا، فأنشئه.

  2. اضبط السمة conf_application_session.secure على true في ملف ui.properties على النحو التالي:
    conf_application_session.secure=true
    .
  3. احفظ التغييرات.
  4. أعِد تشغيل واجهة مستخدم Edge باستخدام الأداة المساعدة apigee-serice، كما هو موضّح في المثال التالي:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

وللتأكد من نجاح التغيير، تحقق من عناوين الاستجابة من واجهة مستخدم Edge باستخدام أداة مساعدة مثل curl، على سبيل المثال:

curl -i -v https://edge_UI_URL

ينبغي أن يحتوي الرأس على سطر يشبه ما يلي:

Set-Cookie: secure; ...

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

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

/opt/apigee/apigee-service/bin/apigee-service edge-ui disable-ssl