تضيف ميزة 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:
المتطلب | الوصف | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
الإصدارات |
|
||||||||||||
علم الطوبولوجيا | يجب أن يشتمل على ثلاث عُقد Zookeeper على الأقل. ونتيجةً لذلك، لا يمكنك تثبيت Apigee mTLS إلا على التصاميم التي تستخدم 5 أو 9 أو 12 (مركز بيانات متعددة) أو 13 عقدة. ولمزيد من المعلومات، يُرجى الاطّلاع على تصميمات التثبيت. | ||||||||||||
الأنظمة الأساسية/أنظمة التشغيل | استخدِم القيم التالية لتحديد ما إذا كان تطبيق Apigee mTLS متوافقًا مع نظام تشغيل معيّن:
يُرجى العِلم أنّ 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 بأن يكون لديك عقدة داخل المجموعة يمكنك من خلالها أداء العديد من المهام الإدارية الموضحة في هذا المستند، بما في ذلك:
- تثبيت HashiCorp Consul 1.6.2.
- يمكنك إنشاء وتوزيع زوج الشهادات/المفاتيح ومفتاح تشفير الرسائل الخاطئة.
- عدِّل ملف الإعداد ووزِّعه.
عند إعداد الجهاز الإداري:
- تأكَّد من امتلاكك إذن الوصول إلى الجذر.
- نزِّل الأداة المساعدة
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) | أمان طبقة المعاملات: يشير هذا المصطلح إلى بروتوكول مصادقة متوافق مع معايير الصناعة للاتصالات الآمنة. |