مقدّمة إلى Apigee mTLS

تضيف ميزة mTLS في Apigee الأمان إلى الاتصالات بين المكوّنات في مجموعة Edge for Private Cloud. ويوفّر طريقة متوافقة مع معايير المجال لإعداد شبكة الخدمات وتثبيتها. يتيح إدارة الحِزم وعمليات الإعداد الآلي.

نظرة عامة على البنية

لتوفير اتصالات آمنة بين المكوّنات، تستخدم Apigee mTLS شبكة خدمات تنشئ اتصالات TLS آمنة ومصادَقًا عليها بشكل متبادل بين المكوّنات.

تعرض الصورة التالية الاتصالات بين مكونات Apigee التي يؤمّنها Apigee mTLS (in red). المنافذ المعروضة في الصورة هي أمثلة، لذا يُرجى الرجوع إلى استخدام المنفذ للاطّلاع على قائمة بالنطاقات التي يمكن لكل مكون استخدامها.

(يُرجى العِلم أنّ المنافذ التي تحمل الحرف "M" تُستخدَم لإدارة المكوّن ويجب أن تكون مفتوحة على المكوّن ليتمكّن خادم الإدارة من الوصول إليها).

كما هو موضّح في الرسم البياني أعلاه، تضيف Apigee mTLS مستوى أمانًا إلى عمليات الربط بين معظم المكوّنات في المجموعة، بما في ذلك:

المصدر الوجهة
خادم الإدارة عُقد جهاز التوجيه و"المعالج الرسائلي" وQPid وLDAP وPostgres وZookeeper وCassandra
جهاز التوجيه Loopback; Qpid, Zookeeper, and Cassandra nodes
معالج الرسائل Loopback; Qpid, Zookeeper, and Cassandra nodes
ZooKeeper وCassandra عُقد Zookeeper وCassandra الأخرى
واجهة مستخدم Edge بروتوكول نقل البريد البسيط (SMTP) (لموفِّر الهوية الخارجي فقط)
Postgres عُقد Postgres وZookeeper وCassandra الأخرى

تشفير الرسائل وفك تشفيرها

تتألف شبكة خدمة Apigee mTLS من خوادم Consul تعمل على كل عقدة ZooKeeper في مجموعتك، بالإضافة إلى خدمات Consul التالية على كل عقدة في المجموعة:

  • خادم وكيل للخروج يعترض الرسائل الصادرة على عقدة المضيف تشفّر هذه الخدمة الرسائل الصادرة قبل إرسالها إلى وجهتها.
  • خادم وكيل للدخول يعترض الرسائل الواردة على عقدة المضيف تفك هذه الخدمة تشفير الرسائل الواردة قبل إرسالها إلى وجهتها النهائية.

على سبيل المثال، عندما يرسل خادم الإدارة رسالة إلى جهاز التوجيه، تعترض خدمة وكيل الخروج الرسالة الصادرة، وتشفّرها، ثم ترسلها إلى جهاز التوجيه. عندما تتلقّى عقدة جهاز التوجيه الرسالة، تفك خدمة وكيل الدخول تشفير الرسالة ثم تمرّرها إلى مكوّن جهاز التوجيه لمعالجتها.

تتم كل هذه العمليات بشكل شفاف لمكوّنات Edge، أي أنّها لا تكون على دراية بعملية التشفير وفك التشفير التي تنفّذها خدمات وكيل Consul.

بالإضافة إلى ذلك، تستخدم Apigee mTLS الأداة المساعدة iptables، وهي خدمة جدار حماية لنظام التشغيل Linux تدير عملية إعادة توجيه الزيارات.

المتطلبات

قبل تثبيت Apigee mTLS، يجب أن تستوفي بيئتك المتطلبات التالية:

توضّح الأقسام التالية كل متطلب من هذه المتطلبات بالتفصيل.

متطلبات طوبولوجيا الشبكة

تتطلّب خدمة Apigee mTLS أن يتضمّن تصميم بيئتك ثلاث عقد Zookeeper على الأقل. نتيجةً لذلك، يمكنك تثبيت Apigee mTLS على البنيات التي تستخدم 5 أو 9 أو 12 (مركز بيانات متعدّد) أو 13 عقدة فقط. لمزيد من المعلومات، يُرجى الاطّلاع على طُرق التثبيت.

الأدوات المساعدة/الحِزم

تتطلّب Apigee mTLS تثبيت الحِزم التالية وتفعيلها على كل جهاز في مجموعتك، بما في ذلك جهاز الإدارة، قبل بدء عملية التثبيت:

الأداة/الحزمة الوصف هل يمكن إزالة التطبيق بعد التثبيت؟
base64 للتحقّق من صحة البيانات في نصوص التثبيت
gnu-bash
gnu-sed
gnu-grep
يتم استخدامها من خلال نص التثبيت البرمجي والأدوات الشائعة الأخرى.
iptables يستبدل جدار الحماية التلقائي firewalld.
iptables-services توفير وظائف للأداة iptables
lsof يتم استخدامها من خلال نص التثبيت البرمجي.
nc يتحقّق من مسارات iptables.
openssl توقيع الشهادات محليًا أثناء عملية الإعداد الأوّلية

أثناء التثبيت، عليك أيضًا تثبيت حزمة Consul على جهاز الإدارة حتى تتمكّن من إنشاء بيانات الاعتماد ومفتاح التشفير.

تعمل حزمة apigee-mtls على تثبيت خوادم Consul وإعدادها، بما في ذلك وكلاء الدخول والخروج على عقد ZooKeeper في المجموعة.

أذونات حساب المستخدم

قبل التثبيت، أنشئ حساب مستخدم جديدًا أو تأكَّد من إمكانية الوصول إلى حساب لديه امتيازات مرتفعة.

يجب أن يكون الحساب الذي ينفّذ عملية تثبيت Apigee mTLS على كل عقدة في المجموعة قادرًا على تنفيذ ما يلي:

  • بدء مكونات Apigee وإيقافها وإعادة تشغيلها وتهيئتها
  • ضبط قواعد جدار الحماية
  • إنشاء حساب مستخدم جديد لنظام التشغيل أو النظام
  • تفعيل الخدمات وإيقافها وبدء تشغيلها وإيقافه وإخفاؤها باستخدام systemctl

جهاز الإدارة (مقترَح)

تنصح Apigee بأن يكون لديك عقدة ضمن المجموعة يمكنك من خلالها تنفيذ العديد من مهام الإدارة الموضّحة في هذا المستند، بما في ذلك:

  1. ثبِّت HashiCorp Consul 1.6.2.
  2. إنشاء وتوزيع شهادة/زوج مفاتيح ومفتاح تشفير gossip
  3. تعديل ملف الإعداد وتوزيعه

عند إعداد جهاز الإدارة:

  • تأكَّد من أنّ لديك إذن الوصول إلى الجذر.
  • نزِّل أداتَي apigee-service وapigee-setup وثبِّتهما على الجهاز، كما هو موضّح في تثبيت أداة Edge apigee-setup.
  • تأكَّد من إمكانية استخدام scp/ssh للوصول إلى جميع العُقد في المجموعة من جهاز الإدارة. هذا الإجراء مطلوب لتتمكّن من توزيع ملف الإعداد وبيانات الاعتماد.

استخدام المنافذ وتعيينها

يوضّح هذا القسم استخدام المنافذ وعمليات تخصيص المنافذ لدعم اتصالات Consul مع Apigee mTLS.

استخدام المنفذ: جميع العُقد التي تعمل عليها apigee-mtls

يجب أن تسمح جميع العُقد في المجموعة التي تستخدم خدمة apigee-mtls بالاتصالات من الخدمات على المضيف المحلي (127.0.0.1). يتيح ذلك لوكلاء Consul التواصل مع الخدمات الأخرى أثناء معالجة الرسائل الواردة والصادرة.

استخدام المنفذ: عُقد خادم Consul (العُقد التي تعمل بنظام ZooKeeper)

يجب فتح معظم المنافذ التالية على عُقد خادم Consul (العُقد التي تعمل بنظام ZooKeeper) لقبول الطلبات من جميع العُقد في المجموعة:

العقدة منفذ خادم Consul الوصف البروتوكول السماح بالوكلاء الخارجيين لبروتوكول TLS المتبادل
*
خادم Consul (عُقد ZooKeeper) 8300 يربط جميع خوادم Consul في المجموعة. متوسط عائد النقرة
8301 يتعامل مع العضوية ورسائل البث داخل المجموعة. UDP/TCP
8302 منفذ شبكة WAN الذي يتعامل مع رسائل العضوية والبث في إعدادات مراكز بيانات متعددة UDP/TCP
8500 تعالج عمليات ربط HTTP بخوادم Consul Server APIs من العمليات على العقدة نفسها.

لا يتم استخدام هذا المنفذ للتواصل أو التنسيق عن بُعد، بل يستمع إلى المضيف المحلي فقط.

HTTP
8502 تعالج هذه الحزمة اتصالات gRPC+HTTPS بواجهات برمجة تطبيقات خادم Consul من عُقد أخرى في المجموعة. ‫gRPC+HTTPS
8503 تعالج هذه السمة اتصالات HTTPS بواجهات برمجة تطبيقات خادم Consul من عُقد أخرى في المجموعة. HTTPS
8600 يتعامل مع نظام أسماء النطاقات (DNS) لخادم Consul. UDP/TCP
* تنصح Apigee بقصر الطلبات الواردة على أعضاء المجموعة فقط (بما في ذلك الطلبات الواردة من مخزن بيانات آخر). يمكنك إجراء ذلك باستخدام iptables.

كما يوضّح هذا الجدول، يجب أن تفتح العُقد التي تشغّل المكوّن consul-server (عُقد ZooKeeper) المنافذ 8301 و8302 و8502 و8503 لجميع أعضاء المجموعة الذين يشغّلون خدمة apigee-mtls، حتى في مراكز البيانات المختلفة. لا تحتاج العُقد التي لا تعمل بنظام ZooKeeper إلى فتح هذه المنافذ.

عمليات تعيين المنافذ لجميع عُقد Consul (بما في ذلك العُقد التي تعمل بنظام ZooKeeper)

لإتاحة اتصالات Consul، يجب أن تسمح العُقد التي تشغّل مكوّنات Apigee التالية بالاتصالات الخارجية بالمنافذ ضمن النطاقات التالية:

مكوِّن Apigee النطاق عدد المنافذ المطلوبة لكل عقدة
Apigee mTLS من 10700 إلى 10799 1
Cassandra ‫10100 إلى 10199 2
معالج الرسائل ‫10500 إلى 10599 2
SymasLDAP من 10200 إلى 10299 1
Postgres من 10300 إلى 10399 3
Qpid من 10400 إلى 10499 2
جهاز التوجيه ‫10600 إلى 10699 2
ZooKeeper من 10000 إلى 10099 3

يحدّد Consul المنافذ بطريقة خطية بسيطة. على سبيل المثال، إذا كانت مجموعتك تتضمّن عقدتَين من Postgres، تستخدم العقدة الأولى منفذَين، لذا يخصّص Consul المنفذَين 10300 و10301 لها. تستخدم العقدة الثانية منفذَين أيضًا، لذا يخصّص Consol الرقمَين 10302 و10303 لهذه العقدة. وينطبق ذلك على جميع أنواع المكوّنات.

كما ترى، يعتمد عدد المنافذ الفعلي على التصميم: إذا كانت مجموعتك تتضمّن عقدتَين من Postgres، عليك فتح أربعة منافذ (عقدتان مضروبتان في منفذَين لكل عقدة).

يُرجى ملاحظة ما يلي:

  • لا يمكن لوكلاء Consul الاستماع على المنافذ نفسها التي تستخدمها خدمات Apigee.
  • يحتوي Consul على مساحة عنوان منفذ واحدة فقط. يجب أن تكون مهام منافذ وكيل Consul فريدة على مستوى المجموعة، بما في ذلك مراكز البيانات. وهذا يعني أنّه إذا كان الخادم الوكيل A على المضيف A يستمع إلى المنفذ 15000، لا يمكن للخادم الوكيل B على المضيف B الاستماع إلى المنفذ 15000.
  • يختلف عدد المنافذ المستخدَمة حسب التصميم، كما هو موضّح سابقًا.

في إعداد مراكز بيانات متعددة، يجب أيضًا أن تفتح جميع المضيفات التي تعمل على بروتوكول أمان النقل المتبادل (mTLS) المنفذ 8302.

يمكنك تخصيص المنافذ التلقائية التي تستخدمها Apigee mTLS. للحصول على معلومات حول كيفية إجراء ذلك، يُرجى الاطّلاع على مقالة تخصيص نطاق منفذ الخادم الوكيل.

القيود

تتضمّن Apigee mTLS القيود التالية:

  • لا يشفّر عمليات التواصل بين العُقد في Cassandra (المنفذ 7000)
  • لا يمكن تكرار عملية الضبط والإعداد. وهذا يعني أنّه إذا أجريت تغييرًا واحدًا على إحدى العُقد، عليك إجراء التغيير نفسه على جميع العُقد، لأنّ النظام لا يطبّق هذا التغيير نيابةً عنك على أي عقدة أخرى. لمزيد من المعلومات، يُرجى الاطّلاع على تغيير إعداد حالي في apigee-mtls.

المصطلحات

يستخدم هذا القسم المصطلحات التالية:

المصطلح التعريف
cluster مجموعة الأجهزة التي تشكّل عملية تثبيت Edge لـ "السحابة الخاصة"
Consul شبكة الخدمات المستخدَمة من خلال Apigee mTLS للحصول على معلومات حول كيفية تأمين Consul لاتصالاتك على السحابة الخاصة، راجِع نموذج أمان Consul.
mTLS بروتوكول أمان طبقة النقل (TLS) الذي يتطلب المصادقة المتبادلة
شبكة الخدمات شبكة تراكب (أو شبكة داخل شبكة)
TLS بروتوكول أمان طبقة النقل بروتوكول مصادقة متوافق مع المعايير المتّبعة في المجال لتأمين الاتصالات.