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

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

http://ms_IP:9000

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

https://ms_IP:9443

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

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

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

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

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

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

  1. أنشئ ملف JKS الخاص بمستودع المفاتيح الذي يحتوي على شهادة بروتوكول أمان طبقة النقل (TLS) والمفتاح الخاص، وانسخه إلى عقدة "خادم الإدارة". لمزيد من المعلومات، يُرجى الاطّلاع على ضبط بروتوكول أمان طبقة النقل (TLS) أو طبقة المقابس الآمنة (SSL) لتطبيق Edge On Premises.
  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.

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

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

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

HTTPSPORT=9443
DISABLE_HTTP=y
# Set type to PKCS12 if you are using a PKCS12 keystore
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 هو المسار الكامل للملف الذي حفظته.

استخدام متجر مفاتيح PKCS12 لأنظمة التشغيل المتوافقة مع معيار FIPS

إذا كنت تستخدم Edge for Private Cloud على نظام تشغيل متوافق مع معيار FIPS، يجب استخدام ملف تخزين مفاتيح PKCS12. يمكنك إنشاء متجر مفاتيح تشفير PKCS12 باستخدام أوامر OpenSSL العادية. عند استخدام متجر مفاتيح PKCS12، اضبط KEY_ALGO=PKCS12 في ملف الإعداد.

ضبط واجهة مستخدم 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_CONFIGURE=y

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

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

  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. في حال توفّر هذا الإعداد، لا يمكن إرسال ملف تعريف الارتباط إلا عبر القنوات المفعَّل فيها بروتوكول أمان طبقة النقل. وفي حال عدم توفّره، يمكن إرسال ملف تعريف الارتباط عبر أي قناة، سواء كان آمنًا أم لا.

من المحتمل أن تسمح ملفات تعريف الارتباط التي لا تحمل العلامة 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