مقدّمة إلى 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 طريقة متوافقة مع المعيار المتّبع في المجال لضبط شبكة الخدمة وتثبيتها. يدعم إدارة الحزم وأتمتة التهيئة.

نظرًا لوجود اقتران كبير لخدمات الوكيل Consul كعمليات تعيين منافذ للعمليات الفردية، يؤثر التغيير في عقدة واحدة على كل عقدة أخرى. نتيجة لذلك، إذا تغيّرت المخطط، يجب إعادة ضبط الخدمات وإعادة ضبطها على كل عقدة في المجموعة.

قبل أن تتمكن من تثبيت Apigee mTLS، يجب أن تستوفي بيئتك المتطلبات التالية الموضّحة في هذا القسم.

وتشمل هذه المتطلبات ما يلي:

  • إصدار Edge الخاص بإصدار Private Cloud
  • يشير هذا المصطلح إلى مجموعة من الأدوات التي يتم تثبيتها وتفعيلها.
  • حساب مستخدم لديه المستوى المناسب من الأذونات
  • جهاز إدارة (يُنصح به)

برنامج Edge لمتطلبات السحابة الإلكترونية الخاصة

يتوافق Apigee mTLS مع الإصدار التالي من Edge للسحابة الإلكترونية الخاصة (وليس على جميع الأنظمة الأساسية المتوافقة، كما هو موضَّح في متطلبات نظام التشغيل):

  • 4.19.06
  • 4.19.01

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

متطلبات نظام التشغيل

يتوافق Apigee mTLS مع الأنظمة الأساسية التالية لمجموعة السحابة الإلكترونية الخاصة (يعتمد نظام التشغيل المتوافق مع 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 أن يتم تثبيت الحِزم التالية وتفعيلها على كل جهاز في مجموعتك، بما في ذلك جهاز الإدارة، قبل البدء في عملية التثبيت:

أداة/حزمة الوصف هل توافق على الإزالة بعد التثبيت؟
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 apigee.
  • لديه scp/ssh إذن الوصول إلى جميع العُقد في المجموعة. لتوزيع ملف الإعداد وبيانات الاعتماد، يجب أن يكون لديك إذن وصول 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,001 إلى 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) أمان طبقة المعاملات: يشير هذا المصطلح إلى بروتوكول مصادقة متوافق مع معايير الصناعة للاتصالات الآمنة.