بعد تثبيت مكوّن apigee-mtls
على كل عقدة في المجموعة،
يجب ضبطه وإعداده. يمكنك إجراء ذلك من خلال إنشاء زوج شهادة/مفتاح وتحديث ملف الضبط على جهازك الإداري. بعد ذلك، يمكنك نشر
الملفّات التي تم إنشاؤها نفسها على جميع العقد في المجموعة وبدء مكونات
apigee-mtls
المحلية.
ضبط apigee-mtls (بعد التثبيت الأوّلي)
يصف هذا القسم كيفية ضبط إعدادات بروتوكول mTLS في Apigee لمركز بيانات واحد مباشرةً بعد التثبيت الأوّلي. للحصول على معلومات عن إجراء تعديلات على عملية تثبيت حالية من Apigee mTLS، اطّلِع على مقالة تغيير إعدادات apigee-mtls الحالية. للحصول على معلومات حول ضبط إعدادات مراكز بيانات متعدّدة، يُرجى الاطّلاع على مقالة ضبط إعدادات مراكز بيانات متعدّدة لبروتوكول mTLS في Apigee.
في ما يلي العملية العامة لضبط apigee-mtls
:
- تعديل ملف الإعداد: على
جهاز الإدارة، عدِّل ملف الإعدادات لتضمين إعدادات
apigee-mtls
- تثبيت Consul وإنشاء بيانات الاعتماد: ثبِّت
Consul واستخدِمه لإنشاء بيانات اعتماد بروتوكول أمان طبقة النقل (TLS) (مرة واحدة فقط).
بالإضافة إلى ذلك، عدِّل ملف إعداد Apigee mTLS من أجل:
- إضافة معلومات بيانات الاعتماد
- تحديد طوبولوجيا المجموعة
يُرجى ملاحظة أنه يمكنك استخدام بيانات الاعتماد الحالية أو إنشائها باستخدام Consul.
- توزيع ملف الإعداد وبيانات الاعتماد: يمكنك توزيع نفس زوج المفاتيح/الشهادة الذي تم إنشاؤه وملف الإعداد المعدَّل على جميع العُقد في المجموعة.
- إعداد apigee-mtls: يمكنك إعداد المكوّن
apigee-mtls
على كل عقدة.
كل خطوة من هذه الخطوات موضّحة في الأقسام التالية.
الخطوة 1: تعديل ملف الإعدادات
يصف هذا القسم كيفية تعديل ملف الإعدادات لتضمين سمات إعدادات mTLS. لمزيد من المعلومات العامة حول ملف الإعداد، يُرجى الاطّلاع على مقالة إنشاء ملف إعداد.
بعد تعديل ملف الإعدادات باستخدام السمات ذات الصلة ببروتوكول mTLS، يمكنك نسخه إلى
جميع العقد في المجموعة قبل بدء تشغيل apigee-mtls
المكوّن على تلك
العقد.
تستخدم الأوامر التي تشير إلى ملف الإعداد "config_file" للإشارة إلى أنّ موقعه الجغرافي متغيّر، بناءً على مكان تخزينه في كل عقدة.
لتعديل ملف الضبط:
- على جهاز الإدارة، افتح ملف الإعداد.
- انسخ المجموعة التالية من خصائص إعداد 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، إلا أنّه يجب أن تكون متطابقة في جميع ملفات الإعداد على المجموعة.
في حال ضبط Apigee mTLS على مراكز بيانات متعدّدة، يمكنك إدراج جميع عناوين 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 وإنشاء بيانات الاعتماد.
يجب اختيار إحدى الطرق التالية لإنشاء بيانات الاعتماد:
- أنشئ مرجع تصديق خاصًا بك باستخدام Consul، كما هو موضّح في هذا القسم (إجراء يُنصح به)
- استخدام بيانات اعتماد مرجع تصديق حالي مع Apigee mTLS (متقدّم)
لمحة عن بيانات الاعتماد
تتألف بيانات الاعتماد من ما يلي:
- الشهادة: شهادة بروتوكول أمان طبقة النقل (TLS) المستضافة على كل عقدة
- المفتاح: المفتاح العام لبروتوكول أمان طبقة النقل (TLS) المستضاف على كل عقدة
- رسالة إعلامية: مفتاح تشفير بترميز base-64
يمكنك إنشاء نسخة واحدة من كل ملف من هذه الملفات مرة واحدة فقط. يمكنك نسخ ملفَي المفتاح والشهادة إلى جميع العقد في مجموعتك، وإضافة مفتاح التشفير إلى ملف الإعداد الذي تنسخه أيضًا إلى جميع العقد.
لمزيد من المعلومات عن تنفيذ التشفير في Consul، يُرجى الاطّلاع على ما يلي:
تثبيت Consul وإنشاء بيانات الاعتماد
يمكنك استخدام ملف Consul ثنائي محلي لإنشاء بيانات الاعتماد التي تستخدمها تقنية mTLS في Apigee لتأكيد هوية الاتصالات الآمنة بين العقد في مجموعة Private Cloud. نتيجةً لذلك، يجب تثبيت Consul على جهاز الإدارة قبل أن تتمكّن من إنشاء بيانات الاعتماد.
لتثبيت Consul وإنشاء بيانات اعتماد mTLS:
- على جهاز الإدارة، نزِّل الملف الثنائي Consul 1.6.2 من موقع HashiCorp الإلكتروني.
- استخرِج محتوى ملف الأرشيف الذي تم تنزيله. على سبيل المثال، يمكنك استخراج المحتوى إلى
/opt/consul/
. - على جهاز الإدارة، أنشئ هيئة إصدار شهادات جديدة من خلال تنفيذ
الأمر التالي:
/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: توزيع ملف الإعداد وبيانات الاعتماد
انسخ الملفات التالية إلى العقد التي تعمل بنظام ZooKeeper باستخدام أداة مثل
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
بعد تثبيت mTLS في Apigee، عليك تشغيل هذا المكوّن قبل أي مكونات أخرى على العقدة.
- (عقد 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 ثم أعِد تشغيله، كما هو موضّح في المثال التالي:
/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 file
OR/opt/apigee/apigee-service/bin/apigee-service apigee-mtls configure
- يجب إلغاء تثبيت
setup
أوconfigure
وإعادة تشغيلهما على جميع العقد في عناقيد ، وليس على عقدة واحدة فقط.