بعد تثبيت Apigee mTLS على جميع العُقد في المجموعة، عليك ضبط مكوّن apigee-mtls وإعداده. يمكنك إجراء ذلك من خلال إنشاء
شهادة/مفتاحي تشفير وتعديل
ملف الإعداد على جهاز الإدارة. بعد ذلك، يمكنك نشر الملفات التي تم إنشاؤها وملف الإعداد نفسه على جميع العُقد في المجموعة، ثم إعداد مكوّن apigee-mtls المحلي.
ضبط apigee-mtls (بعد التثبيت الأولي)
يوضّح هذا القسم كيفية ضبط بروتوكول mTLS في Apigee مباشرةً بعد التثبيت الأولي. للحصول على معلومات حول تحديث عملية تثبيت حالية لـ Apigee mTLS، يُرجى الاطّلاع على تغيير إعدادات apigee-mtls الحالية.
ينطبق هذا القسم على عمليات التثبيت في مركز بيانات واحد. للحصول على معلومات حول ضبط بروتوكول mTLS في Apigee في إعدادات مراكز بيانات متعددة، يُرجى الاطّلاع على ضبط مراكز بيانات متعددة لبروتوكول mTLS في Apigee.
في ما يلي العملية العامة لضبط إعدادات apigee-mtls:
- تعديل ملف الإعداد: على جهاز الإدارة، عدِّل ملف الإعداد لتضمين إعدادات
apigee-mtls. - تثبيت Consul وإنشاء بيانات الاعتماد: ثبِّت
Consul واستخدِمه (اختياريًا) لإنشاء بيانات اعتماد بروتوكول أمان طبقة النقل (TLS) (مرة واحدة فقط).
بالإضافة إلى ذلك، عدِّل ملف إعداد mTLS في Apigee لإجراء ما يلي:
- إضافة معلومات بيانات الاعتماد
- تحديد تخطيط المجموعة
يُرجى العِلم أنّه يمكنك استخدام بيانات الاعتماد الحالية أو إنشاؤها باستخدام Consul.
- توزيع بيانات الاعتماد وملف الإعداد: يجب توزيع زوج مفتاحي التشفير/الشهادة نفسه الذي تم إنشاؤه وملف الإعداد المعدَّل على جميع العُقد في المجموعة.
- إعداد apigee-mtls: يمكنك إعداد مكوّن
apigee-mtlsعلى كل عقدة.
يتم وصف كل خطوة من هذه الخطوات في الأقسام التالية.
الخطوة 1: تعديل ملف الإعداد
يوضّح هذا القسم كيفية تعديل ملف الإعداد لتضمين خصائص إعداد mTLS. لمزيد من المعلومات العامة حول ملف الإعداد، يُرجى الاطّلاع على إنشاء ملف إعداد.
بعد تعديل ملف الإعدادات باستخدام السمات ذات الصلة ببروتوكول mTLS، انسخه إلى
جميع العُقد في المجموعة قبل إعداد مكوّن apigee-mtls على تلك
العُقد.
لتعديل ملف الإعداد:
- على جهاز الإدارة، افتح ملف الإعداد لتعديله.
- انسخ مجموعة خصائص إعدادات mTLS التالية والصِقها في ملف الإعداد:
ALL_IP="ALL_PRIVATE_IPS_IN_CLUSTER" ZK_MTLS_HOSTS="ZOOKEEPER_PRIVATE_IPS" CASS_MTLS_HOSTS="CASSANDRA_PRIVATE_IPS" PG_MTLS_HOSTS="POSTGRES_PRIVATE_IPS" RT_MTLS_HOSTS="ROUTER_PRIVATE_IPS" MS_MTLS_HOSTS="MGMT_SERVER_PRIVATE_IPS" MP_MTLS_HOSTS="MESSAGE_PROCESSOR_PRIVATE_IPS" QP_MTLS_HOSTS="QPID_PRIVATE_IPS" LDAP_MTLS_HOSTS="OPENLDAP_PRIVATE_IPS" MTLS_ENCAPSULATE_LDAP="y" ENABLE_SIDECAR_PROXY="y" ENCRYPT_DATA="BASE64_GOSSIP_MESSAGE" PATH_TO_CA_CERT="PATH/TO/consul-agent-ca.pem" PATH_TO_CA_KEY="PATH/TO/consul-agent-ca-key.pem" APIGEE_MTLS_NUM_DAYS_CERT_VALID_FOR="NUMBER_OF_DAYS"
اضبط قيمة كل سمة لتتوافق مع الإعدادات التي اخترتها.
يوضّح الجدول التالي سمات الإعدادات هذه:
الموقع الوصف ALL_IPقائمة مفصولة بمسافات لعناوين IP الخاصة بالمضيف لجميع العُقد في المجموعة. لا يهم ترتيب عناوين IP، ولكن يجب أن يكون الترتيب نفسه في جميع ملفات الإعداد في المجموعة.
في حال ضبط بروتوكول mTLS في Apigee لمراكز بيانات متعددة، أدرِج جميع عناوين IP لجميع المضيفين في جميع المناطق.
LDAP_MTLS_HOSTSعنوان IP الخاص بالمضيف لعقدة OpenLDAP في المجموعة. ZK_MTLS_HOSTSقائمة مفصولة بمسافات لعناوين IP الخاصة بالمضيف التي تتم استضافة عُقد ZooKeeper عليها في المجموعة.
يُرجى العِلم أنّه استنادًا إلى المتطلبات، يجب أن يكون هناك ثلاث عُقد ZooKeeper على الأقل.
CASS_MTLS_HOSTSقائمة مفصولة بمسافات لعناوين IP الخاصة بالمضيفين الذين يستضيفون خوادم Cassandra في المجموعة العنقودية PG_MTLS_HOSTSقائمة مفصولة بمسافات لعناوين IP الخاصة بالمضيفين التي تتم استضافة خوادم Postgres عليها في المجموعة. RT_MTLS_HOSTSقائمة مفصولة بمسافات لعناوين IP الخاصة بالمضيفين التي تتم استضافة أجهزة التوجيه عليها في المجموعة. MTLS_ENCAPSULATE_LDAPيشفّر حركة بيانات LDAP بين معالج الرسائل وخادم LDAP. اضبط النوع على y.MS_MTLS_HOSTSقائمة مفصولة بمسافات لعناوين IP الخاصة بالمضيفين التي تتم استضافة عُقد خادم الإدارة عليها في المجموعة العنقودية. MP_MTLS_HOSTSقائمة مفصولة بمسافات لعناوين IP الخاصة بالمضيفين التي تتم استضافة معالِجات الرسائل عليها في المجموعة العنقودية. QP_MTLS_HOSTSقائمة مفصولة بمسافات لعناوين IP الخاصة بالمضيفين الذين تتم استضافة خوادم Qpid عليهم في المجموعة. ENABLE_SIDECAR_PROXYتحدِّد هذه السياسة ما إذا كان يجب أن تكون Cassandra وPostgres على عِلم بشبكة الخدمة. يجب ضبط هذه القيمة على "y".
ENCRYPT_DATAمفتاح التشفير المرمّز بـ Base64 الذي يستخدمه Consul لقد أنشأت هذا المفتاح باستخدام الأمر consul keygenفي الخطوة 2: تثبيت Consul وإنشاء بيانات الاعتماد.يجب أن تكون هذه القيمة هي نفسها في جميع العُقد في المجموعة.
PATH_TO_CA_CERTموقع ملف الشهادة على العقدة لقد أنشأت هذا الملف في الخطوة 2: تثبيت Consul وإنشاء بيانات الاعتماد. يجب أن يكون هذا الموقع الجغرافي هو نفسه في جميع العُقد في المجموعة العنقودية حتى تكون ملفات الإعداد متطابقة.
يجب أن تكون الشهادة بترميز X509v3.
PATH_TO_CA_KEYموقع ملف المفتاح على العقدة لقد أنشأت هذا الملف في الخطوة 2: تثبيت Consul وإنشاء بيانات الاعتماد. يجب أن يكون هذا الموقع الجغرافي هو نفسه في جميع العُقد في المجموعة العنقودية حتى تكون ملفات الإعداد متطابقة.
يجب أن يكون ملف المفتاح بترميز X509v3.
APIGEE_MTLS_NUM_DAYS_CERT_VALID_FORعدد الأيام التي تكون فيها الشهادة صالحة عند إنشاء شهادة مخصّصة.
القيمة التلقائية هي 365. الحدّ الأقصى للقيمة هو 7865 يومًا (5 سنوات).
بالإضافة إلى السمات المذكورة أعلاه، تستخدم Apigee mTLS عدة سمات إضافية عند تثبيتها على إعدادات مراكز بيانات متعددة. لمزيد من المعلومات، يُرجى الاطّلاع على ضبط مراكز بيانات متعددة.
- تأكَّد من ضبط
ENABLE_SIDECAR_PROXYعلى "y". - عدِّل عناوين IP في السمات ذات الصلة بالمضيف. تأكَّد من استخدام عناوين IP الخاصة عند الإشارة إلى كل عقدة، وليس عناوين IP العامة.
في الخطوات اللاحقة، ستضبط قيم السمات الأخرى، مثل
ENCRYPT_DATAوPATH_TO_CA_CERTوPATH_TO_CA_KEY. لم يتم ضبط قيمها بعد.عند تعديل سمات إعدادات
apigee-mtls، يُرجى ملاحظة ما يلي:- جميع السمات هي سلاسل، لذا يجب وضع قيم جميع السمات بين علامتَي اقتباس مفردتَين أو مزدوجتَين.
- إذا كانت القيمة ذات الصلة بالمضيف تحتوي على أكثر من عنوان IP خاص واحد، افصل بين كل عنوان IP بمسافة.
- استخدِم عناوين IP الخاصة وليس أسماء المضيفين أو عناوين IP العامة لجميع السمات ذات الصلة بالمضيف في ملف الإعداد.
- يجب أن يكون ترتيب عناوين IP في قيمة السمة بالترتيب نفسه في جميع ملفات الإعداد في المجموعة.
- احفظ التغييرات في ملف الإعداد.
الخطوة 2: تثبيت Consul وإنشاء بيانات الاعتماد
يصف هذا القسم كيفية تثبيت Consul وإنشاء بيانات الاعتماد التي تستخدمها المكوّنات التي تم تفعيل mTLS فيها.
يجب اختيار إحدى الطرق التالية لإنشاء بيانات الاعتماد:
- (يُنصح به) إنشاء مرجع تصديق (CA) خاص بك باستخدام Consul، كما هو موضّح في هذا القسم
- استخدام بيانات اعتماد مرجع تصديق حالي مع بروتوكول mTLS في Apigee (متقدّم)
لمحة عن بيانات الاعتماد
تتألف بيانات الاعتماد مما يلي:
- الشهادة: شهادة بروتوكول أمان طبقة النقل (TLS)
- المفتاح: المفتاح العام لبروتوكول أمان طبقة النقل (TLS)
- رسالة Gossip: مفتاح تشفير بترميز base-64
يمكنك إنشاء نسخة واحدة من كل ملف من هذه الملفات مرة واحدة فقط. بعد ذلك، عليك نسخ ملفات المفاتيح والشهادات إلى جميع العُقد في المجموعة، وإضافة مفتاح التشفير إلى ملف الإعداد الذي تنسخه أيضًا إلى جميع العُقد.
لمزيد من المعلومات حول تنفيذ التشفير في Consul، يُرجى الاطّلاع على ما يلي:
تثبيت Consul وإنشاء بيانات الاعتماد
لإنشاء بيانات الاعتماد التي يستخدمها بروتوكول mTLS في Apigee لمصادقة الاتصالات الآمنة بين العُقَد في مجموعة Private Cloud، استخدِم ملفًا ثنائيًا محليًا لبرنامج Consul . لذلك، يجب تثبيت Consul على جهاز الإدارة قبل إنشاء بيانات الاعتماد.
لتثبيت Consul وإنشاء بيانات اعتماد mTLS:
- على جهاز الإدارة، نزِّل ملف Consul 1.8.0 الثنائي من موقع HashiCorp الإلكتروني.
- استخرِج محتوى ملف الأرشيف الذي تم تنزيله. على سبيل المثال، استخرِج المحتوى إلى
/opt/consul/. - على جهاز الإدارة، أنشئ هيئة إصدار شهادات (CA) جديدة من خلال تنفيذ الأمر التالي:
/opt/consul/consul tls ca create
ينشئ Consul الملفات التالية التي تشكّل مفتاحَي تشفير/شهادة:
-
consul-agent-ca.pem(شهادة) consul-agent-ca-key.pem(مفتاح)
يتم تلقائيًا ترميز ملفات الشهادات والمفاتيح باستخدام X509v3.
لاحقًا، ستنسخ هذه الملفات إلى جميع العُقد في المجموعة. في الوقت الحالي، عليك فقط تحديد مكان وضع هذه الملفات على العُقد. ويجب أن تكون في الموقع نفسه على كل عقدة. مثلاً:
/opt/apigee/ -
- في ملف الإعداد، اضبط قيمة
PATH_TO_CA_CERTعلى الموقع الذي ستنسخ إليه ملفconsul-agent-ca.pemعلى العقدة. على سبيل المثال:PATH_TO_CA_CERT="/opt/apigee/consul-agent-ca.pem"
- اضبط قيمة
PATH_TO_CA_KEYعلى الموقع الجغرافي الذي ستنسخ إليه ملفconsul-agent-ca-key.pemعلى العقدة. على سبيل المثال:PATH_TO_CA_KEY="/opt/apigee/consul-agent-ca-key.pem"
- أنشئ مفتاح تشفير لـ Consul من خلال تنفيذ الأمر التالي:
/opt/consul/consul keygen
يُخرج Consul سلسلة عشوائية تبدو مشابهة لما يلي:
QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=
- انسخ هذه السلسلة التي تم إنشاؤها واضبطها كقيمة للسمة
ENCRYPT_DATAفي ملف الإعداد. على سبيل المثال:ENCRYPT_DATA="
QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=" - احفظ ملف الإعداد.
يوضّح المثال التالي الإعدادات ذات الصلة ببروتوكول mTLS في ملف إعداد (مع قيم أمثلة):
... IP1=10.126.0.121 IP2=10.126.0.124 IP3=10.126.0.125 IP4=10.126.0.127 IP5=10.126.0.130 ALL_IP="$IP1 $IP2 $IP3 $IP4 $IP5" LDAP_MTLS_HOSTS="$IP3" ZK_MTLS_HOSTS="$IP3 $IP4 $IP5" CASS_MTLS_HOSTS="$IP3 $IP4 $IP5" PG_MTLS_HOSTS="$IP2 $IP1" RT_MTLS_HOSTS="$IP4 $IP5" MS_MTLS_HOSTS="$IP3" MP_MTLS_HOSTS="$IP4 $IP5" QP_MTLS_HOSTS="$IP2 $IP1" ENABLE_SIDECAR_PROXY="y" ENCRYPT_DATA="QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=" PATH_TO_CA_CERT="/opt/apigee/consul-agent-ca.pem" PATH_TO_CA_KEY="/opt/apigee/consul-agent-ca-key.pem" ...
الخطوة 3: توزيع ملف الإعداد وبيانات الاعتماد
انسخ الملفات التالية إلى جميع العُقد باستخدام أداة مثل scp:
- ملف الإعداد: انسخ النسخة المعدَّلة من هذا الملف واستبدِل النسخة الحالية على جميع العُقد (وليس فقط العُقد التي تشغّل ZooKeeper).
- consul-agent-ca.pem: انسخ هذا الملف إلى الموقع الذي حدّدته كقيمة لـ
PATH_TO_CA_CERTفي ملف الإعداد. - consul-agent-ca-key.pem: انسخ هذا الملف إلى الموقع الذي حدّدته كقيمة لـ
PATH_TO_CA_KEYفي ملف الإعداد.
تأكَّد من أنّ المواقع التي تنسخ إليها ملفات الشهادات والمفاتيح تتطابق مع القيم التي حدّدتها في ملف الإعداد في الخطوة 2: تثبيت Consul وإنشاء بيانات الاعتماد.
الخطوة 4: إعداد apigee-mtls
بعد تثبيت apigee-mtls على كل عقدة، وتعديل ملف الإعدادات،
ونسخه ونسخ بيانات الاعتماد إلى جميع العُقد في المجموعة العنقودية، تكون جاهزًا لبدء
مكوّن apigee-mtls على كل عقدة.
لإعداد apigee-mtls:
- سجِّل الدخول إلى عقدة في المجموعة كمستخدم جذر. يمكنك تنفيذ هذه الخطوات على العُقد بأي ترتيب تريده.
- اجعل مستخدم
apigee:apigeeمالكًا لملف الإعدادات المعدَّل، كما هو موضَّح في المثال التالي:chown apigee:apigee config_file
- اضبط مكوّن
apigee-mtlsمن خلال تنفيذ الأمر التالي:/opt/apigee/apigee-service/bin/apigee-service apigee-mtls setup -f config_file
- (اختياري) نفِّذ الأمر التالي للتأكّد من نجاح عملية الإعداد:
/opt/apigee/apigee-mtls/lib/actions/iptables.sh validate
- ابدأ Apigee mTLS من خلال تنفيذ الأمر التالي:
/opt/apigee/apigee-service/bin/apigee-service apigee-mtls start
بعد تثبيت Apigee mTLS، يجب بدء هذا المكوّن قبل أي مكوّنات أخرى على العقدة.
- (عُقد Cassandra فقط) تتطلّب Cassandra وسيطات إضافية للعمل ضمن شبكة الأمان. نتيجةً لذلك، عليك تنفيذ الأوامر التالية على كل عقدة Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra setup -f config_file
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart - (عُقد Postgres فقط) يتطلّب Postgres وسيطات إضافية للعمل ضمن شبكة الأمان. نتيجةً لذلك، عليك تنفيذ ما يلي على عُقد Postgres:
(الأساسي فقط)
- نفِّذ الأوامر التالية على العقدة الأساسية في Postgres:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup -f config_file
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql configure/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
(وضع الاستعداد فقط)
- احتفِظ بنسخة احتياطية من بيانات Postgres الحالية. لتثبيت Apigee mTLS، يجب إعادة إعداد العُقد الأساسية/الاحتياطية، وبالتالي سيتم فقدان البيانات. لمزيد من المعلومات، يُرجى الاطّلاع على مقالة إعداد النسخ المتماثل الأساسي/الاحتياطي لـ Postgres.
- حذف جميع بيانات Postgres:
rm -rf /opt/apigee/data/apigee-postgresql/pgdata
- اضبط Postgres ثم أعِد تشغيل Postgres، كما هو موضّح في المثال التالي:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup -f config_file
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql configure/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
في حال التثبيت على مخطط مراكز بيانات متعددة، استخدِم مسارًا مطلقًا لملف الإعداد.
- نفِّذ الأوامر التالية على العقدة الأساسية في Postgres:
- ابدأ تشغيل مكوّنات Apigee المتبقية على العقدة في
ترتيب البدء، كما
يوضح المثال التالي:
/opt/apigee/apigee-service/bin/apigee-service component_name start
- كرِّر هذه العملية لكل عقدة في المجموعة.
- (اختياري) تأكَّد من نجاح عملية
apigee-mtlsالتهيئة باستخدام طريقة واحدة أو أكثر من الطرق التالية:- التحقّق من صحة إعدادات iptables
- التحقّق من حالة الخادم الوكيل عن بُعد
- التحقّق من حالة النصاب القانوني
يتم شرح كل طريقة من هذه الطرق في التحقّق من الإعدادات.
تغيير إعدادات apigee-mtls الحالية
لتخصيص إعدادات apigee-mtls الحالية، عليك إلغاء تثبيت apigee-mtls وإعادة تثبيته. يجب أيضًا التأكّد من تطبيق التخصيص على جميع
العُقد.
للتأكيد على هذه النقطة، عند تغيير إعدادات mTLS الحالية في Apigee:
- في حال تغيير ملف إعداد، عليك أولاً إلغاء تثبيت
apigee-mtlsوإعادة تشغيلsetupأوconfigure:# DO THIS:
/opt/apigee/apigee-service/bin/apigee-service apigee-mtls uninstall# BEFORE YOU DO THIS:/opt/apigee/apigee-service/bin/apigee-service apigee-mtls setup -f fileOR/opt/apigee/apigee-service/bin/apigee-service apigee-mtls configure - يجب إلغاء تثبيت
setupأوconfigureوإعادة تشغيلهما على جميع العُقد في المجموعة، وليس على عقدة واحدة فقط.