پیکربندی «امنیت لایه انتقال» برای میانای برنامه‌سازی کاربردی مدیریت

به‌طور پیش‌فرض، TLS برای Management API غیرفعال است و بااستفاده از نشانی IP گره «سرور مدیریت» و درگاه ۸۰۸۰ ازطریق HTTP به Edge Management API دسترسی پیدا می‌کنید. برای مثال:

http://ms_IP:8080

یا می‌توانید دسترسی «امنیت لایه انتقال» را به «میانای برنامه‌سازی کاربردی مدیریت» پیکربندی کنید تا بتوانید به آن در قالب زیر دسترسی داشته باشید:

https://ms_IP:8443

در این مثال، دسترسی «امنیت لایه انتقال» را پیکربندی می‌کنید تا از درگاه ۸۴۴۳ استفاده کند. بااین‌حال، Edge به آن شماره درگاه نیاز ندارد - می‌توانید «سرور مدیریت» را پیکربندی کنید تا از مقادیر درگاه دیگر استفاده کند. تنها شرط لازم این است که دیوار آتش شما اجازه دهد ترافیک ازطریق درگاه مشخص‌شده عبور کند.

برای اطمینان از رمزگذاری ترافیک به و از «میانای برنامه‌سازی کاربردی مدیریت»، تنظیمات را در فایل /opt/apigee/customer/application/management-server.properties پیکربندی کنید.

علاوه‌بر پیکربندی TLS، می‌توانید با اصلاح فایل management-server.properties، اعتبارسنجی گذرواژه (طول و قدرت گذرواژه) را نیز کنترل کنید.

مطمئن شوید که درگاه TLS باز باشد

روال این بخش TLS را پیکربندی می‌کند تا از درگاه ۸۴۴۳ در «سرور مدیریت» استفاده کند. صرف‌نظر از درگاهی که استفاده می‌کنید، باید مطمئن شوید که درگاه در «سرور مدیریت» باز باشد. برای مثال، می‌توانید از فرمان زیر برای باز کردن آن استفاده کنید:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT --verbose

پیکربندی «امنیت لایه انتقال»

فایل /opt/apigee/customer/application/management-server.properties را ویرایش کنید تا استفاده از TLS را در ترافیک ورودی و خروجی به «میانای برنامه‌سازی کاربردی مدیریت» خود کنترل کنید. اگر این فایل وجود ندارد، آن را ایجاد کنید.

برای پیکربندی دسترسی «امنیت لایه انتقال» به «میانای برنامه‌سازی کاربردی مدیریت»:

  1. فایل keystore JKS حاوی گواهی TLS و کلید خصوصی‌تان را تولید کنید. برای اطلاعات بیشتر، پیکربندی «امنیت لایه انتقال»/ SSL برای Edge On Premises را ببینید.
  2. فایل JKS keystore را در دایرکتوری گره «سرور مدیریت» کپی کنید، برای مثال /opt/apigee/customer/application.
  3. مالکیت فایل JKS را به کاربر «apigee» تغییر دهید:
    chown apigee:apigee keystore.jks

    که در آن keystore.jks نام فایل انبار کلید شما است.

  4. برای تنظیم کردن ویژگی‌های زیر، /opt/apigee/customer/application/management-server.properties را ویرایش کنید. اگر آن فایل وجود ندارد، آن را ایجاد کنید:
    conf_webserver_ssl.enabled=true
    # Leave conf_webserver_http.turn.off set to false
    # because many Edge internal calls use HTTP.
    conf_webserver_http.turn.off=false
    conf_webserver_ssl.port=8443
    conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks
    # Enter the obfuscated keystore password below.
    conf_webserver_keystore.password=OBF:obfuscatedPassword

    که در آن keyStore.jks فایل ذخیره‌گاه کلید شما است، و obfuscatedPassword گذرواژه ذخیره‌گاه کلید مبهم شما است. برای اطلاعات درباره تولید گذرواژه مبهم، به پیکربندی TLS/SSL برای Edge On Premises مراجعه کنید.

  5. «سرور مدیریت لبه» را بااستفاده از این فرمان بازراه‌اندازی کنید:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

میانای برنامه‌سازی کاربردی مدیریت اکنون از دسترسی ازطریق «امنیت لایه انتقال» پشتیبانی می‌کند.

«میانای کاربری Edge» را پیکربندی کنید تا از «امنیت لایه انتقال» برای دسترسی به «میانای برنامه‌سازی کاربردی Edge» استفاده کند

در فرایند بالا، Apigee توصیه کرد conf_webserver_http.turn.off=false را بگذارید تا «میانای کاربر Edge» بتواند همچنان ازطریق HTTP با Edge API تماس بگیرد.

از روش زیر برای پیکربندی «میانای کاربر Edge» استفاده کنید تا این تماس‌ها را فقط ازطریق HTTPS برقرار کند:

  1. دسترسی «امنیت لایه انتقال» به «میانای برنامه‌سازی کاربردی مدیریت» را طبق توضیحات بالا پیکربندی کنید.
  2. پس‌از تأیید اینکه «امنیت لایه انتقال» برای «میانای برنامه‌سازی کاربردی مدیریت» کار می‌کند، /opt/apigee/customer/application/management-server.properties را ویرایش کنید و دارایی زیر را تنظیم کنید:
    conf_webserver_http.turn.off=true
  3. با اجرای فرمان زیر، «سرور مدیریت Edge» را بازراه‌اندازی کنید:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart 
  4. برای تنظیم کردن دارایی زیر برای «میانای کاربر لبه»، /opt/apigee/customer/application/ui.properties را ویرایش کنید:
    conf_apigee_apigee.mgmt.baseurl="https://FQ_domain_name:port/v1"

    که در آن FQ_domain_name نام دامنه کامل، طبق گواهینامه نشانی «سرور مدیریت»، و port درگاهی است که در بالا توسط conf_webserver_ssl.port مشخص شده است.

    اگر ui.properties وجود ندارد، آن را ایجاد کنید.

  5. فقط درصورتی‌که هنگام پیکربندی دسترسی «امنیت لایه انتقال» به مدیریت API بالا از گواهینامه خودامضایی استفاده کرده باشید (در محیط تولید توصیه نمی‌شود)، دارایی زیر را به ui.properties اضافه کنید:
    conf/application.conf+play.ws.ssl.loose.acceptAnyCertificate=true

    درغیراین‌صورت، «واسط کاربر Edge» گواهینامه خودامضا را رد خواهد کرد.

  6. با اجرای فرمان زیر، «واسط کاربر Edge» را بازراه‌اندازی کنید:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

استفاده از انبار کلید PKCS12 برای سیستم‌های عامل دارای FIPS

اگر از Edge for Private Cloud در سیستم‌عاملی با قابلیت FIPS استفاده می‌کنید، باید از انبار کلید PKCS12 استفاده کنید. این کار برای رعایت استانداردهای FIPS الزامی است. علاوه‌بر پیکربندی‌های استاندارد دیگری که در این مقاله ذکر شده است، پیکربندی زیر را به فایل management-server.properties خود اضافه کنید:

conf/webserver.properties+keystore.type=PKCS12

اگر محیط شما FIPS-فعال است، حتماً این تغییر را اعمال کنید تا از سازگاری با استانداردهای رمزگذاری الزامی مطمئن شوید.

خصوصیات «امنیت لایه انتقال» برای «سرور مدیریت»

جدول زیر همه دارایی‌های «امنیت لایه انتقال»/ SSL را که می‌توانید در management-server.properties تنظیم کنید فهرست می‌کند:

مشخصات شرح

conf_webserver_http.port=8080

پیش‌فرض ۸۰۸۰ است.

conf_webserver_ssl.enabled=false

برای فعال/غیرفعال کردن TLS/SSL. با فعال بودن TLS/SSL (صحیح)، باید ویژگی‌های ssl.port و keystore.path را نیز تنظیم کنید.

conf_webserver_http.turn.off=true

برای فعال/غیرفعال کردن http همراه با https. اگر می‌خواهید فقط از HTTPS استفاده کنید، مقدار پیش‌فرض را روی true بگذارید.

conf_webserver_ssl.port=8443

درگاه TLS/SSL.

وقتی TLS/SSL فعال باشد (conf_webserver_ssl.enabled=true)، الزامی است.

conf_webserver_keystore.path=path

مسیر فایل انبار کلید.

وقتی TLS/SSL فعال باشد (conf_webserver_ssl.enabled=true)، الزامی است.

conf_webserver_keystore.password=password

از گذرواژه مبهم در این قالب استفاده کنید: OBF:xxxxxxxxxx

conf_webserver_cert.alias=alias

نام مستعار اختیاری گواهینامه انبار کلید

conf_webserver_keymanager.password=password

اگر مدیر کلید شما گذرواژه دارد، نسخه مبهمی از گذرواژه را در این قالب وارد کنید:

OBF:xxxxxxxxxx

conf_webserver_trust.all=[false | true]

conf_webserver_trust.store.path=path

conf_webserver_trust.store.password=password

تنظیمات فروشگاه مورداعتمادتان را پیکربندی کنید. تعیین کنید که آیا می‌خواهید همه گواهینامه‌های TLS/SSL را بپذیرید (برای مثال، برای پذیرفتن انواع غیرمعمول). پیش‌فرض false است. مسیر فروشگاه مطمئن را ارائه دهید و گذرواژه فروشگاه مطمئن مبهم‌سازی‌شده را با این قالب وارد کنید:

OBF:xxxxxxxxxx

conf_http_HTTPTransport.ssl.cipher.suites.blacklist=CIPHER_SUITE_1, CIPHER_SUITE_2

conf_http_HTTPTransport.ssl.cipher.suites.whitelist=

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

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

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

^.*_(MD5|SHA|SHA1)$
^TLS_RSA_.*$
^SSL_.*$
^.*_NULL_.*$
^.*_anon_.*$

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

برای کسب اطلاعات درباره مجموعه‌های رمز و معماری رمزنگاری، به اسناد ارائه‌دهندگان معماری رمزنگاری Java برای JDK 8 مراجعه کنید.

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

اعداد صحیحی که تعیین می‌کنند:

  • اندازه حافظه نهان جلسه «امنیت لایه انتقال/پوسته ایمن» (برحسب بایت) برای ذخیره اطلاعات جلسه برای چندین کارخواه.
  • مدت زمانی که جلسات TLS/SSL می‌توانند قبل‌از اتمام زمانشان ادامه یابند (به میلی‌ثانیه).