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

به‌طور پیش‌فرض، 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 به Management 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

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

  5. بااستفاده از این فرمان، Edge Management Server را بازراه‌اندازی کنید:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

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

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

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

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

  1. دسترسی TLS به میانای برنامه‌سازی کاربردی مدیریت را طبق توضیحات بالا پیکربندی کنید.
  2. پس‌از تأیید اینکه TLS برای میانای برنامه‌سازی کاربردی مدیریت کار می‌کند، /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://FQ_domain_name:port/v1"

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

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

  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=password

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

conf_webserver_cert.alias=alias

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

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 Cryptography Architecture Oracle Providers Documentation for JDK 8 مراجعه کنید.

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

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

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