يمكنك تلقائيًا الوصول إلى واجهة مستخدم Edge عبر HTTP باستخدام عنوان IP لعقدة خادم الإدارة والمنفذ 9000. مثال:
http://ms_IP:9000
بدلاً من ذلك، يمكنك ضبط إمكانية الوصول عبر بروتوكول أمان طبقة النقل (TLS) إلى واجهة مستخدم Edge بحيث يمكنك الوصول إليه في النموذج:
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) إلى واجهة مستخدم الإدارة:
- عليك إنشاء ملف JKS لملف تخزين المفاتيح الذي يحتوي على شهادة TLS والمفتاح الخاص ونسخه إلى عقدة Management Server. للمزيد من المعلومات، راجع ضبط بروتوكول أمان طبقة النقل (TLS) أو طبقة المقابس الآمنة (SSL) لشبكة Edge على المبنى.
- شغِّل الأمر التالي لضبط بروتوكول أمان طبقة النقل (TLS):
/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl
- أدخِل رقم منفذ HTTPS، على سبيل المثال، 9443.
- حدِّد ما إذا كنت تريد إيقاف وصول HTTP إلى واجهة مستخدم الإدارة. بشكل تلقائي، يمكن الوصول إلى واجهة مستخدم الإدارة عبر HTTP على المنفذ 9000.
- أدخِل خوارزمية ملف تخزين المفاتيح. الإعداد التلقائي هو JKS.
- أدخِل المسار المطلق لملف JKS لملف تخزين المفاتيح.
ينسخ النص البرمجي الملف إلى الدليل
/opt/apigee/customer/conf
في عقدة خادم الإدارة ويغيّر ملكية الملف إلى "apigee". - أدخِل كلمة مرور ملف تخزين المفاتيح ذات النص الواضح.
- سيُعيد النص البرمجي بعد ذلك تشغيل واجهة مستخدم إدارة 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:
- افتح ملف
/opt/apigee/customer/application/ui.properties
في محرِّر. إذا لم يكن الملف متوفّرًا، يمكنك إنشاؤه:vi /opt/apigee/customer/application/ui.properties
- إعداد السمة التالية في
ui.properties
:conf/application.conf+trustxforwarded=true
- احفظ التغييرات في
ui.properties
. - أعِد تشغيل واجهة مستخدم 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=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)، كما يلي:
- افتح ملف الإعداد في محرِّر.
- لإيقاف بروتوكول أمان طبقة النقل (TLS) واحد، مثل TLSv1.0، أضِف ما يلي
إلى ملف الإعداد:
TLS_CONFIGURE=y TLS_DISABLED_ALGO="tlsv1"
لإيقاف بروتوكولات متعدّدة، مثل TLSv1.0 وTLSv1.1، أضِف ما يلي إلى ملف الإعداد:
TLS_CONFIGURE=y TLS_DISABLED_ALGO="tlsv1, tlsv1.1"
- احفظ التغييرات في ملف الإعداد.
- شغِّل الأمر التالي لضبط بروتوكول أمان طبقة النقل (TLS):
/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile
حيث configFile هو المسار الكامل لملف الإعداد.
- أعِد تشغيل واجهة مستخدم Edge:
/opt/apigee/apigee-service/bin/apigee-service edge-ui restart
استخدام ملفات تعريف الارتباط الآمنة
يتيح Apigee Edge for Private Cloud إمكانية إضافة علامة secure
إلى عنوان Set-Cookie
للردود من واجهة مستخدم Edge. في حال توفّر هذه العلامة، لا يمكن إرسال ملف تعريف الارتباط إلا عبر قنوات تم تفعيل بروتوكول أمان طبقة النقل (TLS). وفي حال عدم توفّره، يمكن إرساله عبر أي قناة، سواء كانت آمنة أم لا.
من المحتمل أن تتيح ملفات تعريف الارتباط التي لا تتضمّن علامة secure
للمهاجم إمكانية الحصول على ملف تعريف الارتباط وإعادة استخدامه أو الاستيلاء على جلسة نشطة. لذلك، فإنّ أفضل الممارسات هي تفعيل
هذا الإعداد.
لإعداد العلامة secure
لملفات تعريف الارتباط في واجهة مستخدم Edge:
- افتح الملف التالي في محرِّر النصوص:
/opt/apigee/customer/application/ui.properties
إذا لم يكن الملف موجودًا، فأنشئه.
- اضبط السمة
conf_application_session.secure
علىtrue
في ملفui.properties
على النحو التالي:conf_application_session.secure=true
. - احفظ التغييرات.
- أعِد تشغيل واجهة مستخدم 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