ضبط Apigee mTLS

بعد تثبيت Apigee mTLS على جميع العُقد في المجموعة، ضبط المكوِّن apigee-mtls وإعداده. يمكنك القيام بذلك عن طريق إنشاء زوج المفتاح/الشهادة وتحديث ملف الإعداد على جهازك الإداري. يمكنك بعد ذلك نشر نفس الملفات التي تم إنشاؤها وملف التهيئة إلى جميع العُقد في المجموعة وإعداد الملف المكوِّن apigee-mtls.

إعداد apigee-mtls (بعد التثبيت الأولي)

يصف هذا القسم كيفية إعداد Apigee mTLS مباشرةً بعد التثبيت الأولي. للحصول على معلومات حول تحديث تثبيت حالي لـ Apigee mTLS، يُرجى الاطّلاع على المقالة تغيير واجهة برمجة تطبيقات apigee-mtls حالية التكوين.

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

في ما يلي الإجراءات العامة لضبط apigee-mtls:

  1. تعديل ملف الإعداد: في الجهاز الإداري، فقم بتحديث ملف الإعداد لتضمين apigee-mtls الإعدادات.
  2. تثبيت Consul وإنشاء بيانات الاعتماد: تثبيت Consul و (اختياريًا) يستخدمه لإنشاء بيانات اعتماد TLS (مرة واحدة فقط).

    بالإضافة إلى ذلك، عدِّل ملف إعداد Apigee mTLS من أجل:

    1. إضافة معلومات بيانات الاعتماد
    2. تحديد طوبولوجيا المجموعة العنقودية

    لاحظ أنه يمكنك استخدام بيانات اعتمادك الحالية أو إنشاءها باستخدام Consul

  3. توزيع بيانات الاعتماد وملف الإعداد: توزيع نفس زوج المفاتيح/الشهادة الذي تم إنشاؤه وملف الإعداد المعدَّل على جميع العُقد في مجموعتك.
  4. إعداد apigee-mtls: إعداد المكوِّن apigee-mtls في كل عقدة.

كل خطوة من هذه الخطوات موضّحة في الأقسام التالية.

الخطوة 1: تعديل ملف الإعداد

يصف هذا القسم كيفية تعديل ملف الإعداد ليتضمن ضبط mTLS. المواقع. لمزيد من المعلومات العامة حول ملف الإعداد، راجع إنشاء عملية ضبط .

بعد تعديل ملف الإعداد باستخدام المواقع الإلكترونية المتعلقة ببروتوكول mTLS، انسخه إلى جميع العُقد في المجموعة قبل إعداد المكوِّن apigee-mtls على تلك العُقد العُقد.

تشير أوامر

لتعديل ملف الضبط:

  1. في جهاز الإدارة، افتح ملف الإعداد للتعديل.
  2. انسخ المجموعة التالية من خصائص إعداد 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"
    TLS_MIN_VERSION="tls12"
    TLS_CIPHER_SUITES="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
    

    اضبط قيمة كل خاصية لتتوافق مع الإعدادات.

    يوضِّح الجدول التالي خصائص الضبط هذه:

    الموقع الوصف
    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 يحدِّد هذا الإعداد ما إذا كان يجب أن تكون "كاساندرا" و"بوستغريس" على دراية بشبكة الخدمة المتداخلة.

    يجب ضبط هذه القيمة على "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 سنوات).

    TLS_MIN_VERSION تُحدِّد الحد الأدنى المسموح به لإصدار بروتوكول أمان طبقة النقل (TLS). اضبط القيمة على tls12 لفرض الإصدار 1.2 من بروتوكول أمان طبقة النقل (TLS) كحد أدنى.
    TLS_CIPHER_SUITES قائمة مفصولة بفواصل لمجموعات رموز بروتوكول أمان طبقة النقل المسموح بها.

    مثلاً: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

    بالإضافة إلى الخصائص المذكورة أعلاه، يستخدم Apigee mTLS العديد من الخصائص الإضافية عند تثبيته على تهيئة مركز بيانات متعدد. لمزيد من المعلومات، يُرجى مراجعة إعداد مراكز بيانات متعددة:

  3. تأكَّد من ضبط السمة ENABLE_SIDECAR_PROXY على "y".
  4. عدِّل عناوين IP في المواقع الإلكترونية المتعلقة بالمضيف. تأكد من استخدام عناوين IP الخاصة عند الإشارة إلى كل عقدة، وليس إلى العنوان العام عناوين IP.

    وفي الخطوات اللاحقة، عليك ضبط قيم الخصائص الأخرى مثل. "ENCRYPT_DATA" وPATH_TO_CA_CERT" و"PATH_TO_CA_KEY" أنت لم تحدد قيمها بعد.

    عند تعديل خصائص إعداد apigee-mtls، يجب ملاحظة ما يلي:

    • جميع الخصائص عبارة عن سلاسل؛ يجب التفاف قيم كل الخصائص في علامة مفردة أو مزدوجة الاقتباسات.
    • إذا كانت قيمة ذات صلة بالمضيف تحتوي على أكثر من عنوان IP خاص واحد، يُرجى الفصل بين كل عنوان IP. تحتوي على مسافة.
    • استخدِم عناوين IP خاصة وليس أسماء مضيفين أو عناوين IP عامة لجميع المضيفات ذات الصلة الخصائص في ملف التهيئة.
    • يجب أن يكون ترتيب عناوين IP في قيمة الخاصية بالترتيب نفسه في جميع ملفات التهيئة عبر المجموعة.
  5. احفظ التغييرات التي أجريتها في ملف الإعداد.

الخطوة 2: تثبيت Consul وإنشاء بيانات الاعتماد

يصف هذا القسم كيفية تثبيت Consul وإنشاء بيانات الاعتماد التي يستخدمها المكونات التي تدعم mTLS.

يجب اختيار إحدى الطرق التالية لإنشاء بيانات الاعتماد:

  • (يُنصَح به) أنشئ مرجع تصديق (CA) خاصًا بك باستخدام Consul، كما هو موضَّح في هذا قسم
  • استخدام بيانات اعتماد مرجع تصديق حالي مع Apigee mTLS (متقدّم)

لمحة عن بيانات الاعتماد

تتألف بيانات الاعتماد مما يلي:

  • الشهادة: شهادة بروتوكول أمان طبقة النقل (TLS)
  • المفتاح: المفتاح العام لبروتوكول أمان طبقة النقل (TLS)
  • رسالة إعلامية: مفتاح تشفير بترميز base-64

يمكنك إنشاء نسخة واحدة من كل ملف من هذه الملفات مرة واحدة فقط. يمكنك بعد ذلك نسخ المفتاح والشهادة إلى جميع العُقد في مجموعتك، وإضافة مفتاح التشفير إلى ملف الإعداد ونسخه أيضًا إلى جميع العُقد.

لمزيد من المعلومات حول تنفيذ تشفير Consul، راجع ما يلي:

تثبيت Consul وإنشاء بيانات الاعتماد

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

لتثبيت Consul وإنشاء بيانات اعتماد mTLS:

  1. على جهاز الإدارة، نزِّل البرنامج الثنائي Consul 1.8.0 من موقع HashiCorp الإلكتروني.
  2. استخرِج محتوى ملف الأرشيف الذي تم تنزيله. على سبيل المثال، يمكنك استخراج المحتوى إلى /opt/consul/
  3. في الجهاز الإداري، أنشئ مرجع تصديق (CA) جديدًا من خلال تنفيذ الأمر التالي:
    /opt/consul/consul tls ca create

    ينشئ Consul الملفات التالية التي تشكل زوج شهادة/مفتاح:

    • consul-agent-ca.pem (الشهادة)
    • consul-agent-ca-key.pem (المفتاح)

    وبشكل افتراضي، تكون ملفات الشهادات والمفاتيح بترميز X509v3.

    وستنسخ هذه الملفات لاحقًا إلى جميع العُقد في المجموعة. ومع ذلك، في الوقت الحالي، ومع ذلك، يجب عليك عليك فقط تحديد مكان وضع هذه الملفات في العُقد. يجب أن تكونا متطابقة الموقع على كل عقدة. مثلاً: /opt/apigee/

  4. في ملف الإعداد، اضبط قيمة PATH_TO_CA_CERT على الموقع الجغرافي وستنسخ ملف consul-agent-ca.pem على العقدة. مثل:
    PATH_TO_CA_CERT="/opt/apigee/consul-agent-ca.pem"
  5. اضبط قيمة PATH_TO_CA_KEY على الموقع الجغرافي الذي ستنسخ إليه ملف واحد (consul-agent-ca-key.pem) على العقدة. مثل:
    PATH_TO_CA_KEY="/opt/apigee/consul-agent-ca-key.pem"
  6. أنشئ مفتاح تشفير لـ Consul من خلال تنفيذ الأمر التالي:
    /opt/consul/consul keygen

    تُخرج Consul سلسلة عشوائية تبدو مشابهة لما يلي:

    QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY=
  7. انسخ هذه السلسلة التي تم إنشاؤها واضبطها كقيمة للسمة ENCRYPT_DATA. في ملف الإعداد. مثل:
    ENCRYPT_DATA="QbhgD+EXAMPLE+Y9u0742X/IqX3X429/x1cIQ+JsQvY="
  8. احفظ ملف الإعداد.

يوضح المثال التالي الإعدادات المرتبطة ببروتوكول 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:

  1. سجِّل الدخول إلى عقدة في المجموعة باسم المستخدم الجذر. يمكنك تنفيذ هذه الخطوات على العُقد في بأي ترتيب تريده.
  2. جعل المستخدم apigee:apigee مالكًا لملف الإعداد المُعدَّل، مثل يوضح المثال التالي:
    chown apigee:apigee config_file
  3. اضبط المكوِّن apigee-mtls عن طريق تنفيذ الأمر التالي:
    /opt/apigee/apigee-service/bin/apigee-service apigee-mtls setup -f config_file
  4. (اختياري) نفِّذ الأمر التالي للتحقُّق من إتمام الإعداد بنجاح:
    /opt/apigee/apigee-mtls/lib/actions/iptables.sh validate
  5. ابدأ Apigee mTLS من خلال تنفيذ الأمر التالي:
    /opt/apigee/apigee-service/bin/apigee-service apigee-mtls start

    بعد تثبيت Apigee mTLS، يجب بدء هذا المكوّن قبل أي نظام آخر. والمكونات على العقدة.

  6. (عُقد كاساندرا فقط) تتطلب "كاساندرا" وسيطات إضافية للعمل ضمن شبكة أمان متداخلة. نتيجة لذلك، يجب تنفيذ الأوامر التالية على كل عقدة 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
  7. (عُقد Postgres فقط) تتطلب عمليات Postgres وجود وسيطات إضافية للعمل ضمن شبكة أمان متداخلة. نتيجةً لذلك، يجب تنفيذ ما يلي في عُقد Postgres:

    (الطريقة الأساسية فقط)

    1. نفِّذ الأوامر التالية على عقدة 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

    (وضع الاستعداد فقط)

    1. احتفِظ بنسخة احتياطية من بيانات Postgres الحالية. لتثبيت Apigee mTLS، يجب إعادة إعداد العُقد الأساسية/الاستعداد، لذلك سيكون هناك فقدان للبيانات. لمزيد من المعلومات، يُرجى مراجعة إعداد النسخ المتماثل الأساسي/في وضع الاستعداد لـ Postgres:
    2. حذف جميع بيانات Postgres:
      rm -rf /opt/apigee/data/apigee-postgresql/pgdata
    3. اضبط 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

    إذا كنت تقوم بالتثبيت على طوبولوجيا مركز بيانات متعدد، فاستخدم مسارًا مطلقًا ملف الإعداد.

  8. ابدأ مكونات Apigee المتبقية على العقدة في بدء الطلب، باعتباره يوضح المثال التالي:
    /opt/apigee/apigee-service/bin/apigee-service component_name start
  9. كرر هذه العملية لكل عقدة في المجموعة العنقودية.
  10. (اختياري) تحقق من نجاح عملية الإعداد apigee-mtls باستخدام أحد أو أكثر من الطرق التالية:
    1. التحقّق من صحة إعدادات iptables
    2. التأكّد من حالة الخادم الوكيل البعيد
    3. التحقق من حالة النصاب

    يتم وصف كل طريقة من هذه الطرق في التحقق من الضبط.

تغيير إعداد apigee-mtls حالية

لتخصيص إعدادات apigee-mtls حالية، عليك إلغاء التثبيت و أعِد تثبيت apigee-mtls. يجب أن تتأكد أيضًا من تطبيق التخصيص على جميع العُقد.

للتأكيد مرة أخرى، عند تغيير إعدادات Apigee mTLS الحالية:

  • إذا غيّرت ملف إعداد، يجب أولاً إلغاء تثبيت 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 وإعادة تشغيلها على جميع العُقد في وليس مجرد عقدة واحدة.