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

Edge for Private Cloud نسخه ۴.۱۷.۰۵

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

http://ms_IP:8080

یا می‌توانید دسترسی TLS به API مدیریت را پیکربندی کنید تا بتوانید به آن در فرم دسترسی داشته باشید:

https://ms_IP:8443

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

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

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

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

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

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

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

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

از روش زیر برای پیکربندی دسترسی TLS به API مدیریت استفاده کنید:

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

    که در آن keystore.jks نام فایل keystore شما است.
  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
    conf_webserver_cert.alias=apigee-devtest


    که keyStore.jks فایل keystore شما است، و obfuscatedPassword گذرواژه keystore مبهم‌شده شما است. برای کسب اطلاعات درباره تولید گذرواژه مبهم، به پیکربندی TLS/SSL برای Edge On Premises مراجعه کنید.
  5. بااستفاده از این فرمان، Edge Management Server را بازراه‌اندازی کنید:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

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

پس‌از اطمینان از اینکه TLS به‌درستی کار می‌کند، ازجمله اطمینان از اینکه برای Edge UI کار می‌کند، می‌توانید دسترسی HTTP به Management API را همان‌طور که در بخش بعدی توضیح داده شده است غیرفعال کنید.

پیکربندی Edge UI برای استفاده از TLS جهت دسترسی به Edge API

در روش بالا، Apigee توصیه کرد که conf_webserver_http.turn.off=false باقی بماند تا Edge UI بتواند به برقراری تماس‌های Edge API ازطریق HTTP ادامه دهد.

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

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

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

    درغیراین‌صورت، Edge UI گواهینامه خودامضا را رد خواهد کرد.
  6. بااستفاده از این فرمان، Edge UI را بازراه‌اندازی کنید:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

ویژگی‌های TLS برای سرور مدیریت

جدول زیر همه ویژگی‌های TLS/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>

مسیر فایل keystore شما.

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

conf_webserver_keystore.password=

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

conf_webserver_cert.alias=

نام مستعار اختیاری گواهینامه keystore

conf_webserver_keymanager.password=

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

conf_webserver_trust.all= <false | true>

conf_webserver_trust.store.path=<path>

conf_webserver_trust.store.password=

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

conf_webserver_exclude.cipher.suites=<CIPHER_SUITE_1 CIPHER_SUITE_2>

conf_webserver_include.cipher.suites=

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

برای کسب اطلاعات درباره مجموعه‌های رمز و معماری رمزنگاری، به موارد زیر مراجعه کنید:

http://docs.oracle.com/javase/8/docs/technotes/
guides/security/SunProviders.html#SunJSSE

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

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

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