Apigee mTLS را پیکربندی کنید

پس از نصب Apigee mTLS بر روی تمام گره های خوشه خود، باید مولفه apigee-mtls پیکربندی و مقداردهی اولیه کنید. شما این کار را با ایجاد یک جفت گواهی/کلید و به‌روزرسانی فایل پیکربندی در دستگاه مدیریت خود انجام می‌دهید. سپس همان فایل های تولید شده و فایل پیکربندی را در تمام گره های خوشه مستقر کرده و مولفه محلی apigee-mtls را مقداردهی اولیه می کنید.

پیکربندی apigee-mtls (پس از نصب اولیه)

این بخش نحوه پیکربندی mTLS Apigee را مستقیماً پس از نصب اولیه توضیح می دهد. برای اطلاعات در مورد به‌روزرسانی نصب موجود 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 کلید رمزگذاری شده با پایه 64 که توسط کنسول استفاده می شود. شما این کلید را با استفاده از دستور 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 مجاز را مشخص می کند. برای اعمال حداقل TLS 1.2 روی tls12 تنظیم کنید.
    TLS_CIPHER_SUITES فهرستی از مجموعه‌های رمز TLS مجاز جدا شده با کاما.

    به عنوان مثال: 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 استفاده می شود، توضیح می دهد.

برای تولید اعتبار خود باید یکی از روش های زیر را انتخاب کنید:

  • (توصیه می شود) همانطور که در این بخش توضیح داده شده است، با استفاده از Consul مرجع صدور گواهی (CA) خود را ایجاد کنید.
  • استفاده از اعتبار یک CA موجود با Apigee mTLS (پیشرفته)

در مورد اعتبارنامه

اعتبارنامه شامل موارد زیر است:

  • گواهی: گواهی TLS
  • کلید: کلید عمومی TLS
  • پیام شایعات: یک کلید رمزگذاری شده پایه ۶۴

شما یک نسخه از هر یک از این فایل ها را فقط یک بار تولید می کنید. سپس فایل های کلید و گواهی را در تمام گره های خوشه خود کپی می کنید و کلید رمزگذاری را به فایل پیکربندی خود اضافه می کنید که در همه گره ها نیز کپی می کنید.

برای اطلاعات بیشتر در مورد اجرای رمزگذاری Consul، به موارد زیر مراجعه کنید:

Consul را نصب کنید و اعتبارنامه ایجاد کنید

برای ایجاد اعتبارنامه‌هایی که Apigee mTLS برای احراز هویت ارتباطات ایمن در میان گره‌ها در کلاستر Private Cloud شما استفاده می‌کند، از یک باینری Consul محلی استفاده کنید. در نتیجه، قبل از اینکه بتوانید اعتبارنامه ایجاد کنید، باید Consul را روی دستگاه مدیریت خود نصب کنید.

برای نصب Consul و ایجاد اعتبار mTLS:

  1. در دستگاه مدیریت خود، باینری Consul 1.8.0 را از وب سایت HashiCorp دانلود کنید.
  2. محتویات فایل آرشیو دانلود شده را استخراج کنید. برای مثال، محتویات را در /opt/consul/ استخراج کنید.
  3. در دستگاه مدیریت خود، با اجرای دستور زیر یک Certificate Authority (CA) جدید ایجاد کنید:
    /opt/consul/consul tls ca create

    کنسول فایل های زیر را ایجاد می کند که یک جفت گواهی/کلید را تشکیل می دهند:

    • 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) 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
  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. بررسی وضعیت حد نصاب

    هر یک از این روش ها در Verify your configuration توضیح داده شده است.

یک پیکربندی 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 روی تمام گره های خوشه، نه فقط یک گره، حذف کنید.