مقدّمة إلى Apigee mTLS

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

نظرة عامة على الهندسة المعمارية

لتوفير اتصالات آمنة بين المكوّنات، يستخدم Apigee mTLS شبكة خدمة تنشئ اتصالات بروتوكول أمان طبقة النقل (TLS) آمنة ومتبادلة بين المكونات.

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

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

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

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

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

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

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

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

كل هذا يحدث بشفافية لمكونات Edge: إنهم يجهلون عملية التشفير وفك التشفير التي تجريها خدمات الخادم الوكيل Consul.

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

المتطلّبات

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

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

الإصدار والنظام الأساسي والمخطط

يسرد الجدول التالي متطلبات mTLS:

المتطلب الوصف
الإصدارات
  • 4.51.00
  • 4.50.00
  • 4.19.06
علم الطوبولوجيا يجب أن يشتمل على ثلاث عُقد Zookeeper على الأقل. ونتيجةً لذلك، لا يمكنك تثبيت Apigee mTLS إلا على التصاميم التي تستخدم 5 أو 9 أو 12 (مركز بيانات متعددة) أو 13 عقدة. ولمزيد من المعلومات، يُرجى الاطّلاع على تصميمات التثبيت.
الأنظمة الأساسية/أنظمة التشغيل

استخدِم القيم التالية لتحديد ما إذا كان تطبيق Apigee mTLS متوافقًا مع نظام تشغيل معيّن:

نظام التشغيل إصدار السحابة الإلكترونية الخاصة المتوافق
v4.19.06 v4.50.00 v4.51.00
CentOS
RedHat Enterprise Linux (RHEL)
Oracle Linux
7.5، 7.6، 7.7 7.5، 7.6، 7.7، 7.8، 7.9 7.5، 7.6، 7.7، 7.8، 7.9، 8.0

يُرجى العِلم أنّ Apigee mTLS لا تتوافق بالضرورة مع جميع أنظمة التشغيل المتوافقة مع الإصدار المقابل من Apigee Edge for Private Cloud الذي يعمل عليها.

على سبيل المثال، إذا كان الإصدار 4.19.06 يتوافق مع CentOS x وy، لا يعني ذلك بالضرورة أنّ Apigee mTLS متوفرة على CentOS x وy مع الإصدار 4.19.06.

مرافق/حزم

يتطلب 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. يمكنك إنشاء وتوزيع زوج الشهادات/المفاتيح ومفتاح تشفير الرسائل الخاطئة.
  3. عدِّل ملف الإعداد ووزِّعه.

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

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

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

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

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

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

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

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

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

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

HTTP
8502 تعالج اتصالات gRPC+HTTPS بواجهات برمجة تطبيقات خادم Consul من العُقد الأخرى في المجموعة. gRPC+HTTPS
8503 تعالج اتصالات HTTPS بواجهات برمجة تطبيقات Consul Server من العُقد الأخرى في المجموعة. HTTPS
8600 يعالج نظام أسماء النطاقات الخاص بخادم 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
من الفئة العمرية 31-45 من 10100 إلى 10199 2
معالج الرسائل 10500 إلى 10599 2
OpenLDAP 10200 إلى 10,299 1
بوستجريس 10300 إلى 10399 3
معرّف Qpid 10400 إلى 10,499 2
جهاز التوجيه 10600 إلى 10699 2
ZooKeeper 10,000 إلى 10,999 3

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

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

لاحظ ما يلي:

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

في ضبط مركز بيانات متعدّد، على جميع المضيفين الذين يستخدمون بروتوكول mTLS فتح المنفذ 8302 أيضًا.

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

القيود

يخضع Apigee mTLS للقيود التالية:

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

المصطلحات

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

المصطلح التعريف
مجموعة مجموعة الأجهزة التي يتألف منها جهاز Edge الخاص بك من أجل تثبيت Private Cloud.
القنصل شبكة الخدمة المتداخلة التي يستخدمها Apigee mTLS. للحصول على معلومات حول كيفية تأمين Consul لاتصالات Cloud الخاصة بك، راجع نموذج أمان Consul.
mTLS بروتوكول أمان طبقة النقل (TLS) الذي تتم مصادقته بشكل متبادل.
شبكة الخدمة المتداخلة شبكة تراكب (أو شبكة داخل إحدى الشبكات).
بروتوكول أمان طبقة النقل (TLS) أمان طبقة المعاملات: يشير هذا المصطلح إلى بروتوكول مصادقة متوافق مع معايير الصناعة للاتصالات الآمنة.