ضبط Apigee mTLS

الإصدار 4.19.01 من Edge for Private Cloud

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

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

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

في ما يلي شرح للعملية العامة لتهيئة apigee-mtls:

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

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

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

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

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

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

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

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

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

تستخدم الأوامر التي تشير إلى ملف الضبط "config_file" للإشارة إلى أنه الموقع متغير، اعتمادًا على مكان تخزينه على كل عقدة.

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

  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"

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

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

    الموقع الوصف
    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 سنوات).

    بالإضافة إلى الخصائص المذكورة أعلاه، يستخدم 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 وإنشاء بيانات الاعتماد.

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

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

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

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

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

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

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

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

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

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

  1. على جهاز الإدارة، نزِّل البرنامج الثنائي Consul 1.6.2 من موقع 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: توزيع ملف الإعداد وبيانات الاعتماد

انسخ الملفات التالية إلى العُقد التي تشغّل 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:

  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 وإعادة تشغيلها على جميع العُقد في وليس مجرد عقدة واحدة.