پیکربندی TLS برای API مدیریت

Edge for Private Cloud نسخه 4.17.05

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

http://ms_IP:8080

همچنین، می‌توانید دسترسی TLS به API مدیریت را پیکربندی کنید تا بتوانید به شکل زیر به آن دسترسی داشته باشید:

https://ms_IP:8443

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

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

علاوه بر پیکربندی TLS، می‌توانید اعتبار رمز عبور (طول و قدرت رمز عبور) را با تغییر فایل management-server.properties نیز کنترل کنید.

مطمئن شوید که پورت TLS شما باز است

روش موجود در این بخش، TLS را برای استفاده از پورت 8443 روی سرور مدیریت پیکربندی می کند. صرف نظر از پورتی که استفاده می کنید، باید مطمئن شوید که پورت روی سرور مدیریت باز است. برای مثال می توانید از دستور زیر برای باز کردن آن استفاده کنید:

$ 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 در ترافیک به و از API مدیریت خود ویرایش کنید. اگر این فایل وجود ندارد، آن را ایجاد کنید.

از روش زیر برای پیکربندی دسترسی 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
    # conf_webserver_http.turn.off را روی false بگذارید
    # زیرا بسیاری از تماس‌های داخلی Edge از HTTP استفاده می‌کنند.
    conf_webserver_http.turn.off=false
    conf_webserver_ssl.port=8443
    conf_webserver_keystore.path=/opt/apigee/customer/application/ keystore.jks
    # رمز عبور مبهم keystore را در زیر وارد کنید.
    conf_webserver_keystore.password=OBF: obfuscatedPassword
    conf_webserver_cert.alias=apigee-devtest


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

مدیریت API اکنون از دسترسی از طریق TLS پشتیبانی می کند.

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

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

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

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

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

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

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

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

جدول زیر تمام ویژگی های TLS/SSL را که می توانید در management-server.properties تنظیم کنید فهرست می کند:

خواص

شرح

conf_webserver_http.port=8080

پیش فرض 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=

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

conf_webserver_keymanager.password=

اگر مدیر کلید شما رمز عبور دارد، یک نسخه مبهم رمز عبور را در این قالب وارد کنید: OBF:xxxxxxxxxx

conf_webserver_trust.all= <نادرست | درست>

conf_webserver_trust.store.path=<path>

conf_webserver_trust.store.password=

تنظیمات را برای فروشگاه اعتماد خود پیکربندی کنید. تعیین کنید که آیا می خواهید همه گواهینامه های TLS/SSL را بپذیرید (مثلاً برای پذیرش انواع غیر استاندارد). حالت پیش فرض غلط است . مسیر فروشگاه اعتماد خود را ارائه دهید و یک رمز عبور مبهم فروشگاه اعتماد را در این قالب وارد کنید: 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 می‌تواند قبل از اتمام زمان ادامه داشته باشد (بر حسب میلی‌ثانیه).