گزینه هایی برای پیکربندی TLS

شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید .
اطلاعات

این سند شامل مروری بر نحوه پیکربندی TLS در Edge برای دو حوزه عملکردی است:

  1. دسترسی به پروکسی‌های API شما توسط کلاینت‌های API. از میزبان‌های مجازی روی روتر Edge برای پیکربندی TLS استفاده کنید.
  2. دسترسی به سرویس‌های بک‌اند شما از طریق Edge. از نقاط پایانی و سرورهای هدف در پردازنده پیام Edge برای پیکربندی TLS استفاده کنید.

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

درباره تنظیم گزینه‌های TLS در یک میزبان مجازی یا نقطه پایانی/سرور هدف

یک میزبان مجازی می‌تواند توسط یک شیء XML به شکل زیر نمایش داده شود:

<VirtualHost name="secure">
    ...
    <SSLInfo> 
        <Enabled>true</Enabled> 
        <ClientAuthEnabled>true</ClientAuthEnabled> 
        <KeyStore>ref://myKeystoreRef</KeyStore> 
        <KeyAlias>myKeyAlias</KeyAlias> 
        <TrustStore>ref://myTruststoreRef</TrustStore> 
        <IgnoreValidationErrors>false</IgnoreValidationErrors>
    </SSLInfo>
</VirtualHost>

ناحیه‌ای از میزبان مجازی که برای پیکربندی TLS تغییر می‌دهید، توسط برچسب <SSLInfo> تعریف می‌شود. شما از همان برچسب <SSLInfo> برای پیکربندی یک نقطه پایانی یا سرور هدف استفاده می‌کنید.

جدول زیر عناصر پیکربندی TLS مورد استفاده توسط برچسب <SSLInfo> را شرح می‌دهد:

عنصر توضیحات
<فعال>

TLS یک‌طرفه را بین Edge و کلاینت API یا بین Edge و backend هدف فعال می‌کند.

برای یک میزبان مجازی، باید یک keystore شامل گواهی و کلید خصوصی تعریف کنید.

<ClientAuthEnabled>

TLS دوطرفه را بین Edge و کلاینت API یا بین Edge و backend هدف فعال می‌کند.

فعال کردن TLS دوطرفه معمولاً مستلزم راه‌اندازی یک فروشگاه اعتماد (truststore) در Edge است.

<ذخیره کلید> کلیدخانه.
<نام مستعار کلید> نام مستعاری که هنگام آپلود گواهی و کلید خصوصی در فروشگاه کلید مشخص کرده‌اید.
<فروشگاه اعتماد> فروشگاه امانی.
<نادیده گرفتن خطاهای اعتبارسنجی>

اگر درست باشد، Edge خطاهای گواهی TLS را نادیده می‌گیرد. هنگام پیکربندی TLS برای سرورهای هدف و نقاط پایانی هدف، و هنگام پیکربندی میزبان‌های مجازی که از TLS دوطرفه استفاده می‌کنند، معتبر است. مقدار پیش‌فرض نادرست است.

هنگام استفاده با یک نقطه پایانی/سرور هدف، اگر سیستم backend از SNI استفاده کند و گواهی با نام متمایز (DN) موضوعی که با نام میزبان مطابقت ندارد، برگرداند، هیچ راهی برای نادیده گرفتن خطا وجود ندارد و اتصال قطع می‌شود.

<نام مشترک>

در صورت مشخص شدن، مقداری که نام مشترک گواهی هدف در مقابل آن اعتبارسنجی می‌شود. این مقدار فقط برای پیکربندی‌های TargetEndpoint و TargetServer معتبر است. برای پیکربندی‌های VirtualHost معتبر نیست.

به طور پیش‌فرض، مقدار مشخص شده دقیقاً با نام مشترک گواهی هدف مطابقت دارد. برای مثال، استفاده از *.myhost.com به عنوان مقدار برای <CommonName> تنها در صورتی با نام میزبان هدف مطابقت و اعتبارسنجی می‌کند که مقدار دقیق *.myhost.com به عنوان نام مشترک در گواهی هدف مشخص شده باشد.

به صورت اختیاری، Apigee می‌تواند با استفاده از ویژگی wildcardMatch تطبیق را با wildcardها انجام دهد.

برای مثال، یک نام مشترک که به صورت abc.myhost.com در گواهی هدف مشخص شده است، در صورتی که عنصر <CommonName> به صورت زیر مشخص شده باشد، تطبیق داده شده و اعتبارسنجی می‌شود:

<CommonName wildcardMatch="true">*.myhost.com</CommonName>

درباره تنظیم عناصر <KeyStore> و <TrustStore>

در مثال میزبان مجازی بالا، keystore و truststore با استفاده از references به شکل زیر مشخص شده‌اند:

<KeyStore>ref://myKeystoreRef</KeyStore>
<TrustStore>ref://myTruststoreRef</TrustStore>

شرکت Apigee اکیداً توصیه می‌کند که همیشه از ارجاعات به keystore و truststore استفاده کنید. ارجاع، متغیری است که نام keystore یا truststore را در خود جای می‌دهد، نه اینکه مستقیماً نام keystore را مشخص کند. در این مثال:

  • myKeystoreRef مرجعی است که شامل نام keystore است. در این مثال، نام keystore، myKeystore است.
  • myTruststoreRef مرجعی است که شامل نام فروشگاه اعتماد است. در این مثال، نام فروشگاه اعتماد myTruststore است.

وقتی یک گواهی منقضی می‌شود، شما باید میزبان مجازی یا نقطه پایانی/سرور هدف را به‌روزرسانی کنید تا کلید اصلی یا فروشگاه اعتماد حاوی گواهی جدید را مشخص کنید. مزیت یک مرجع این است که می‌توانید مقدار مرجع را برای تغییر کلید اصلی یا فروشگاه اعتماد بدون نیاز به تغییر خود میزبان مجازی یا نقطه پایانی/سرور هدف تغییر دهید:

  • برای مشتریان ابری : تغییر مقدار مرجع نیازی به تماس با پشتیبانی Apigee Edge ندارد.
  • برای مشتریان ابر خصوصی : تغییر مقدار مرجع نیازی به راه‌اندازی مجدد اجزای Edge مانند روترها و پردازنده‌های پیام ندارد.

از طرف دیگر، می‌توانید نام keystore و نام truststore را مستقیماً مشخص کنید:

<KeyStore>myKeystore</KeyStore>
<TrustStore>myTruststore</TrustStore> 

اگر مستقیماً نام keystore یا truststore را مشخص کنید، مشتریان Cloud باید با پشتیبانی Apigee Edge تماس بگیرند و مشتریان Private Cloud باید اجزای خاص Edge را برای به‌روزرسانی گواهی، مجدداً راه‌اندازی کنند.

گزینه سوم، فقط برای نقاط انتهایی/سرور هدف، استفاده از متغیرهای جریان است:

<KeyStore>{ssl.keystore}</KeyStore>
<TrustStore>{ssl.truststore}</TrustStore> 

متغیرهای جریان برای نقاط انتهایی/سرورهای هدف کار می‌کنند و به شما امکان می‌دهند تا منابع keystore یا truststore را مانند ارجاعات به‌روزرسانی کنید. با این حال، آنها با میزبان‌های مجازی کار نمی‌کنند و از شما می‌خواهند که در هر درخواست، اطلاعات مربوط به keystore، alias و truststore را ارسال کنید.

محدودیت‌های استفاده از ارجاعات به keystoreها و truststoreها

مشتریان پولی فضای ابری و تمام مشتریان فضای ابری خصوصی که TLS را پیکربندی می‌کنند، باید هنگام استفاده از ارجاعات به keystoreها و truststoreها، محدودیت‌های زیر را در نظر بگیرند:

  • شما فقط در صورتی می‌توانید از ارجاعات keystore و truststore در میزبان‌های مجازی استفاده کنید که TLS را در روترهای Apigee خاتمه دهید.
  • اگر یک متعادل‌کننده بار در مقابل روترهای Apigee دارید و TLS را روی متعادل‌کننده بار خاتمه می‌دهید، نمی‌توانید از ارجاعات keystore و truststore در میزبان‌های مجازی استفاده کنید.

اگر میزبان مجازی فعلی شما از یک نام keystore یا truststore تحت‌اللفظی استفاده می‌کند

ممکن است میزبان‌های مجازی موجود در Edge برای استفاده از ارجاعات برای keystoreها و truststoreها پیکربندی نشده باشند. در این حالت، می‌توانید میزبان مجازی را برای استفاده از یک ارجاع به‌روزرسانی کنید.

  1. لبه برای فضای ابری

    برای تغییر میزبان مجازی برای استفاده از ارجاع به فروشگاه کلید، باید با Apigee Edge Support همکاری کنید.

  2. لبه برای ابر خصوصی

    برای تبدیل میزبان مجازی به استفاده از یک مرجع:

    1. میزبان مجازی را برای استفاده از یک مرجع به‌روزرسانی کنید.
    2. روترها را مجدداً راه اندازی کنید.
    برای اطلاعات بیشتر به بخش «اصلاح یک میزبان مجازی برای استفاده از ارجاعات به کلید اصلی و ذخیره‌گاه اعتماد» در پیکربندی دسترسی TLS به یک API برای ابر خصوصی مراجعه کنید.

درباره استفاده از گواهینامه و کلید آزمایشی رایگان Apigee

اگر یک حساب کاربری پولی Edge for Cloud دارید و هنوز گواهی و کلید TLS ندارید، می‌توانید یک میزبان مجازی ایجاد کنید که از گواهی و کلید آزمایشی رایگان Apigee استفاده می‌کند. این بدان معناست که می‌توانید میزبان مجازی را بدون ایجاد اولیه یک فروشگاه کلید ایجاد کنید.

یک شیء XML که میزبان مجازی را با استفاده از گواهی و کلید آزمایشی رایگان Apigee تعریف می‌کند، عناصر <KeyStore> و <KeyAlias> را حذف کرده و آنها را با عنصر <UseBuiltInFreeTrialCert> جایگزین می‌کند، همانطور که در زیر نشان داده شده است:

<VirtualHost name="myTLSVHost">
    <HostAliases>
        <HostAlias>myapi.apigee.net</HostAlias>
    </HostAliases>
    <Port>443</Port>
    <SSLInfo>
        <Enabled>true</Enabled>
        <ClientAuthEnabled>false</ClientAuthEnabled>
    </SSLInfo>
    <UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert>
</VirtualHost>

اگر TLS دوطرفه انجام می‌دهید، همچنان باید عنصر <ClientAuthEnabled> را روی true تنظیم کنید و با استفاده از ارجاع به عنصر <TrustStore> یک truststore مشخص کنید.

برای اطلاعات بیشتر به پیکربندی میزبان‌های مجازی برای ابر مراجعه کنید.

درباره پیکربندی TLS

دو عامل اصلی نحوه انجام پیکربندی TLS را تعیین می‌کنند:

  • آیا شما مشتری Edge Cloud هستید یا Private Cloud؟
  • چگونه می‌خواهید گواهینامه‌های منقضی شده یا در حال انقضا را به‌روزرسانی کنید؟

گزینه‌های پیکربندی فضای ابری و فضای ابری خصوصی

جدول زیر گزینه‌های مختلف پیکربندی برای مشتریان Cloud و Private Cloud را نشان می‌دهد:

ابر خصوصی ابر
میزبان مجازی کنترل کامل کنترل کامل فقط برای حساب‌های پولی
نقطه پایانی/سرور هدف کنترل کامل کنترل کامل

مشتریان ابر خصوصی کنترل کاملی بر پیکربندی میزبان‌های مجازی و نقاط پایانی/سرورهای هدف دارند. این کنترل شامل توانایی ایجاد و حذف میزبان‌های مجازی و تنظیم تمام ویژگی‌های یک میزبان مجازی می‌شود.

همه مشتریان ابری، چه پولی و چه آزمایشی، کنترل کاملی بر پیکربندی نقاط پایانی/سرورهای هدف دارند. علاوه بر این، مشتریان ابری پولی کنترل کاملی بر میزبان‌های مجازی، از جمله ویژگی‌های TLS، دارند.

رسیدگی به گواهی‌های منقضی شده

اگر گواهی TLS منقضی شود، یا اگر پیکربندی سیستم شما به گونه‌ای تغییر کند که گواهی دیگر معتبر نباشد، باید گواهی را به‌روزرسانی کنید. هنگام پیکربندی TLS برای یک میزبان مجازی یا نقطه پایانی/سرور هدف، قبل از انجام هرگونه پیکربندی، باید تصمیم بگیرید که چگونه می‌خواهید آن به‌روزرسانی را انجام دهید.

وقتی یک گواهی منقضی می‌شود

در Edge، شما گواهی‌ها را در یکی از دو مکان زیر ذخیره می‌کنید:

  • Keystore - شامل گواهی TLS و کلید خصوصی مورد استفاده برای شناسایی موجودیت در طول TLS handshaking است.
  • Truststore - شامل گواهی‌های معتبر روی یک کلاینت TLS است که برای اعتبارسنجی گواهی سرور TLS ارائه شده به کلاینت استفاده می‌شود. این گواهی‌ها معمولاً گواهی‌های خودامضا، گواهی‌های امضا شده توسط یک CA معتبر یا گواهی‌هایی هستند که به عنوان بخشی از TLS دوطرفه استفاده می‌شوند.

وقتی یک گواهی در یک فروشگاه کلید منقضی می‌شود، و شما از ارجاع به فروشگاه کلید استفاده می‌کنید ، نمی‌توانید یک گواهی جدید را در فروشگاه کلید آپلود کنید. در عوض، شما:

  1. یک فروشگاه کلید جدید ایجاد کنید.
  2. گواهی جدید را با استفاده از همان نام مستعار موجود در فروشگاه کلید قدیمی، در فروشگاه کلید جدید بارگذاری کنید.
  3. مرجع را در میزبان مجازی یا سرور/نقطه انتهایی هدف خود به‌روزرسانی کنید تا از کلید اصلی جدید استفاده کند.

وقتی یک گواهی در یک فروشگاه اعتماد منقضی می‌شود، و شما از ارجاع به فروشگاه اعتماد استفاده می‌کنید ، شما:

  1. یک فروشگاه اعتماد جدید ایجاد کنید.
  2. گواهی جدید را در truststore جدید آپلود کنید. نام مستعار برای truststoreها مهم نیست. توجه : اگر یک گواهی بخشی از یک زنجیره باشد، باید یا یک فایل واحد حاوی تمام گواهی‌ها ایجاد کنید و آن فایل را در یک alias واحد آپلود کنید، یا تمام گواهی‌های موجود در زنجیره را جداگانه با استفاده از یک alias متفاوت برای هر گواهی در truststore آپلود کنید.
  3. مرجع را در میزبان مجازی یا سرور/نقطه انتهایی هدف خود به‌روزرسانی کنید تا از truststore جدید استفاده شود.

خلاصه‌ای از روش‌های به‌روزرسانی گواهی منقضی‌شده

روشی که شما برای مشخص کردن نام keystore و truststore در میزبان مجازی یا سرور نهایی/هدف هدف استفاده می‌کنید، نحوه انجام به‌روزرسانی گواهی را تعیین می‌کند. می‌توانید از موارد زیر استفاده کنید:

  • منابع
  • نام‌های مستقیم
  • متغیرهای جریان

هر یک از این روش‌ها، همانطور که در جدول زیر توضیح داده شده است، تأثیرات متفاوتی بر فرآیند به‌روزرسانی دارند. همانطور که مشاهده می‌کنید، مراجع بیشترین انعطاف‌پذیری را برای مشتریان فضای ابری و فضای ابری خصوصی فراهم می‌کنند:

نوع پیکربندی نحوه به‌روزرسانی/جایگزینی گواهی ابر خصوصی ابر
مرجع (توصیه شده) برای یک keystore، یک keystore جدید با نام جدید و یک نام مستعار با همان نام مستعار قدیمی ایجاد کنید.

برای یک فروشگاه اعتماد، یک فروشگاه اعتماد با نام جدید ایجاد کنید.

ارجاع به keystore یا truststore را به‌روزرسانی کنید.

نیازی به راه‌اندازی مجدد روتر یا پردازنده پیام نیست.

ارجاع به keystore یا truststore را به‌روزرسانی کنید.

نیازی به تماس با پشتیبانی Apigee نیست.

متغیرهای جریان (فقط نقطه پایانی هدف) برای یک keystore، یک keystore جدید با نام جدید و یک نام مستعار با همان نام یا با نام جدید ایجاد کنید.

برای یک فروشگاه اعتماد، یک فروشگاه اعتماد با نام جدید ایجاد کنید.

متغیر جریان به‌روزرسانی‌شده را در هر درخواست به همراه نام فروشگاه کلید جدید، نام مستعار یا فروشگاه اعتماد ارسال کنید.

نیازی به راه‌اندازی مجدد روتر یا پردازنده پیام نیست.

متغیر جریان به‌روزرسانی‌شده را در هر درخواست به همراه نام فروشگاه کلید جدید، نام مستعار یا فروشگاه اعتماد ارسال کنید.

نیازی به تماس با پشتیبانی Apigee نیست.

مستقیم یک keystore جدید، alias، truststore ایجاد کنید. میزبان مجازی را به‌روزرسانی کنید و روترها را مجدداً راه‌اندازی کنید.

اگر truststore توسط یک نقطه پایانی/سرور هدف استفاده می‌شود، پروکسی را مجدداً مستقر کنید.

برای میزبان‌های مجازی، برای راه‌اندازی مجدد روترها با پشتیبانی Apigee Edge تماس بگیرید .

اگر truststore توسط یک نقطه پایانی/سرور هدف استفاده می‌شود، پروکسی را مجدداً مستقر کنید.

مستقیم keystore یا truststore را حذف کنید و آن را با همان نام دوباره ایجاد کنید. هیچ به‌روزرسانی میزبان مجازی لازم نیست، هیچ راه‌اندازی مجدد روتر لازم نیست. با این حال، درخواست‌های API تا زمانی که keystore و alias جدید تنظیم نشوند، با شکست مواجه می‌شوند.

اگر از کلید اصلی برای TLS دوطرفه بین Edge و سرویس backend استفاده می‌شود، پردازنده‌های پیام را مجدداً راه‌اندازی کنید.

نیازی به به‌روزرسانی میزبان مجازی نیست. با این حال، درخواست‌های API تا زمانی که keystore و alias جدید تنظیم نشوند، با شکست مواجه می‌شوند.

اگر از کلید اصلی برای TLS دوطرفه بین Edge و سرویس backend استفاده می‌شود، برای راه‌اندازی مجدد پردازنده‌های پیام با پشتیبانی Apigee Edge تماس بگیرید .

مستقیم فقط برای truststore، یک گواهی جدید در truststore آپلود کنید. اگر truststore توسط یک میزبان مجازی استفاده می‌شود، روترها را مجدداً راه‌اندازی کنید.

اگر truststore توسط یک نقطه پایانی/سرور هدف استفاده می‌شود، پردازشگرهای پیام را مجدداً راه‌اندازی کنید.

برای میزبان‌های مجازی، برای راه‌اندازی مجدد روترهای لبه (Edge Routers) با پشتیبانی Apigee Edge تماس بگیرید .

اگر این truststore توسط یک نقطه پایانی/سرور هدف استفاده می‌شود، برای راه‌اندازی مجدد پردازنده‌های پیام با پشتیبانی Apigee Edge تماس بگیرید .