مقدّمة إلى Apigee mTLS

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

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

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

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

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

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

المصدر الحساب
خادم الإدارة Router، و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، يجب أن تستوفي بيئتك المتطلبات التالية:

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

متطلبات الطبولوجيا

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

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

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

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

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

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

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

استخدام المنفذ: عُقد خادم 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 Server من العُقد الأخرى في المجموعة. 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
كاساندرا من 10100 إلى 10199 2
معالج الرسائل من 10,500 إلى 10,599 2
OpenLDAP 10200 إلى 10,299 1
بوستجريس 10300 إلى 10399 3
معرّف Qpid 10400 إلى 10499 2
جهاز التوجيه من 10600 إلى 10699 2
ZooKeeper من 10,000 إلى 10,099 3

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

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

لاحظ ما يلي:

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

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

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

القيود

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

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

المصطلحات

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

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