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

به طور پیش‌فرض، 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
    # 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 فایل keystore شما است و obfuscatedPassword رمز عبور مبهم فروشگاه کلید شما است. برای اطلاعات در مورد ایجاد رمز عبور مبهم به پیکربندی TLS/SSL برای Edge On Premises مراجعه کنید.

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

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

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 /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. فقط در صورتی که هنگام پیکربندی دسترسی 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= 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=

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

هر رمزی که از طریق لیست سیاه حذف می کنید، بر رمزهای موجود در لیست سفید اولویت دارد.

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

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

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

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

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

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

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