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

استخدام ملف تهيئة لضبط بروتوكول أمان طبقة النقل (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_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_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