ضبط بروتوكول أمان طبقة النقل (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. نفِّذ الأمر التالي لضبط طبقة النقل الآمنة:
    /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 في node Management Server، ويغيّر ملكية الملف إلى apigee.

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

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

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

كبديل للإجراء أعلاه، يمكنك تمرير ملف إعدادات إلى الأمر في الخطوة 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:

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_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. نفِّذ الأمر التالي لضبط طبقة النقل الآمنة:
    /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