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

Edge for Private Cloud نسخه 4.19.01

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

http://ms_IP:9000

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

https://ms_IP:9443

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

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

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

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

پیکربندی TLS

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

  1. فایل JKS فروشگاه کلید حاوی گواهینامه TLS و کلید خصوصی خود را ایجاد کنید و آن را در گره مدیریت سرور کپی کنید. برای اطلاعات بیشتر، به پیکربندی TLS/SSL برای Edge On Premises مراجعه کنید.
  2. دستور زیر را برای پیکربندی TLS اجرا کنید:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl
  3. شماره پورت HTTPS، به عنوان مثال، 9443 را وارد کنید.
  4. مشخص کنید که آیا می خواهید دسترسی HTTP به رابط کاربری مدیریت را غیرفعال کنید. به طور پیش فرض، رابط کاربری مدیریت از طریق HTTP در پورت 9000 قابل دسترسی است.
  5. الگوریتم keystore را وارد کنید. پیش فرض JKS است.
  6. مسیر مطلق فایل JKS را وارد کنید.

    اسکریپت فایل را در پوشه /opt/apigee/customer/conf در گره مدیریت سرور کپی می کند و مالکیت فایل را به "apigee" تغییر می دهد.

  7. رمز عبور ذخیره کلید متنی را وارد کنید.
  8. سپس اسکریپت رابط کاربری Edge management را مجددا راه اندازی می کند. پس از راه اندازی مجدد، رابط کاربری مدیریت از دسترسی از طریق TLS پشتیبانی می کند.

    می توانید این تنظیمات را در /opt/apigee/etc/edge-ui.d/SSL.sh مشاهده کنید.

استفاده از فایل پیکربندی برای پیکربندی TLS

به عنوان جایگزینی برای رویه فوق، می توانید یک فایل پیکربندی را به دستور مرحله 2 رویه ارسال کنید. اگر می‌خواهید ویژگی‌های اختیاری TLS را تنظیم کنید، باید از این روش استفاده کنید.

برای استفاده از یک فایل پیکربندی، یک فایل جدید ایجاد کنید و ویژگی های زیر را اضافه کنید:

HTTPSPORT=9443
DISABLE_HTTP=y
KEY_ALGO=JKS
KEY_FILE_PATH=/opt/apigee/customer/application/mykeystore.jks
KEY_PASS=clearTextKeystorePWord

فایل را با هر نامی که می خواهید در یک فهرست محلی ذخیره کنید. سپس از دستور زیر برای پیکربندی TLS استفاده کنید:

/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile

که در آن configFile مسیر کامل فایلی است که ذخیره کرده اید.

هنگامی که TLS به بار متعادل کننده خاتمه می یابد، رابط کاربری Edge را پیکربندی کنید

اگر متعادل‌کننده بار دارید که درخواست‌ها را به Edge UI ارسال می‌کند، ممکن است انتخاب کنید که اتصال TLS را در بار متعادل‌کننده خاتمه دهید و سپس از طریق HTTP درخواست‌های load balancer را به Edge UI ارسال کنید. این پیکربندی پشتیبانی می‌شود، اما باید متعادل‌کننده بار و رابط کاربری Edge را بر این اساس پیکربندی کنید.

هنگامی که رابط کاربری Edge به کاربران ایمیل می فرستد تا رمز عبور خود را هنگام ایجاد کاربر یا زمانی که کاربر درخواست بازنشانی رمز عبور گم شده را می دهد، پیکربندی اضافی مورد نیاز است. این ایمیل حاوی URL است که کاربر برای تنظیم یا بازنشانی رمز عبور انتخاب می کند. به طور پیش‌فرض، اگر رابط کاربری Edge برای استفاده از TLS پیکربندی نشده باشد، URL در ایمیل تولید شده از پروتکل HTTP استفاده می‌کند و نه HTTPS. باید load balancer و Edge UI را برای ایجاد آدرس ایمیلی که از HTTPS استفاده می کند، پیکربندی کنید.

برای پیکربندی load balancer، اطمینان حاصل کنید که هدر زیر را در درخواست های ارسال شده به Edge UI تنظیم می کند:

X-Forwarded-Proto: https

برای پیکربندی رابط کاربری Edge:

  1. فایل /opt/apigee/customer/application/ui.properties را در یک ویرایشگر باز کنید. اگر فایل وجود ندارد، آن را ایجاد کنید:
    vi /opt/apigee/customer/application/ui.properties
  2. ویژگی زیر را در ui.properties تنظیم کنید:
    conf/application.conf+trustxforwarded=true
  3. تغییرات خود را در ui.properties ذخیره کنید.
  4. رابط کاربری Edge را مجددا راه اندازی کنید:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

تنظیم ویژگی های اختیاری TLS

رابط کاربری Edge از ویژگی های پیکربندی اختیاری TLS پشتیبانی می کند که می توانید از آنها برای تنظیم موارد زیر استفاده کنید:

  • پروتکل پیش فرض TLS
  • لیست پروتکل های TLS پشتیبانی شده
  • الگوریتم های TLS پشتیبانی شده
  • رمزهای TLS پشتیبانی می شود

این پارامترهای اختیاری تنها زمانی در دسترس هستند که ویژگی پیکربندی زیر را در یک فایل پیکربندی تنظیم کنید، همانطور که در استفاده از فایل پیکربندی برای پیکربندی TLS توضیح داده شده است:

TLS_CONFIGURE=y

جدول زیر این ویژگی ها را شرح می دهد:

ویژگی شرح
TLS_PROTOCOL پروتکل TLS پیش فرض را برای رابط کاربری Edge تعریف می کند. به طور پیش فرض، TLS 1.2 است. مقادیر معتبر TLSv1.2، TLSv1.1، TLSv1 هستند.
TLS_ENABLED_PROTOCOL

لیستی از پروتکل های فعال را به عنوان یک آرایه جدا شده با کاما تعریف می کند. مثلا:

TLS_ENABLED_PROTOCOL=[\"TLSv1.2\", \"TLSv1.1\", \"TLSv1\"]

توجه داشته باشید که باید از شخصیت " فرار کنید.

به طور پیش فرض همه پروتکل ها فعال هستند.

TLS_DISABLED_ALGO

مجموعه‌های رمز غیرفعال را تعریف می‌کند و همچنین می‌تواند برای جلوگیری از استفاده از اندازه‌های کوچک کلید برای دست دادن TLS استفاده شود. هیچ مقدار پیش فرضی وجود ندارد.

مقادیر ارسال شده به TLS_DISABLED_ALGO مطابق با مقادیر مجاز برای jdk.tls.disabledAlgorithms است که در اینجا توضیح داده شده است. با این حال، هنگام تنظیم TLS_DISABLED_ALGO باید از کاراکترهای فاصله فرار کنید:

TLS_DISABLED_ALGO=EC\ keySize\ <\ 160,RSA\ keySize\ <\ 2048
TLS_ENABLED_CIPHERS

لیستی از رمزهای TLS موجود را به عنوان یک آرایه جدا شده با کاما تعریف می کند. مثلا:

TLS_ENABLED_CIPHERS=[\"TLS_DHE_RSA_WITH_AES_128_CBC_SHA\",
\"TLS_DHE_DSS_WITH_AES_128_CBC_SHA\"]

توجه داشته باشید که باید از شخصیت " فرار کنید.

لیست پیش‌فرض رمزهای فعال به صورت زیر است:

"TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
"TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
"TLS_RSA_WITH_AES_256_CBC_SHA",
"TLS_RSA_WITH_AES_128_CBC_SHA",
"SSL_RSA_WITH_RC4_128_SHA",
"SSL_RSA_WITH_RC4_128_MD5",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"

لیست رمزهای موجود را در اینجا بیابید.

غیرفعال کردن پروتکل های TLS

برای غیرفعال کردن پروتکل‌های TLS، باید فایل پیکربندی را که در قسمت Use a config file to configure TLS توضیح داده شده است، به صورت زیر ویرایش کنید:

  1. فایل کانفیگ را در یک ویرایشگر باز کنید.
  2. برای غیرفعال کردن یک پروتکل TLS - به عنوان مثال، TLSv1.0 - موارد زیر را به فایل پیکربندی اضافه کنید:
    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1"

    برای غیرفعال کردن چندین پروتکل - برای مثال TLSv1.0 و TLSv1.1 - موارد زیر را به فایل پیکربندی اضافه کنید:

    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1, tlsv1.1"
  3. تغییرات خود را در فایل کانفیگ ذخیره کنید.
  4. دستور زیر را برای پیکربندی TLS اجرا کنید:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile

    که در آن configFile مسیر کامل فایل پیکربندی است.

  5. رابط کاربری Edge را مجددا راه اندازی کنید:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

از کوکی های امن استفاده کنید

Apigee Edge for Private Cloud از افزودن پرچم secure به هدر Set-Cookie برای پاسخ‌ها از رابط کاربری Edge پشتیبانی می‌کند. اگر این پرچم وجود داشته باشد، کوکی فقط می‌تواند از طریق کانال‌های فعال TLS ارسال شود. اگر وجود نداشته باشد، کوکی را می توان از طریق هر کانالی، خواه امن باشد یا نه، ارسال کرد.

کوکی‌های بدون پرچم secure می‌توانند به طور بالقوه به مهاجم اجازه دهند کوکی را گرفته و مجدداً استفاده کند یا یک جلسه فعال را ربوده است. بنابراین، بهترین روش فعال کردن این تنظیم است.

برای تنظیم پرچم secure برای کوکی‌های Edge UI:

  1. فایل زیر را در یک ویرایشگر متن باز کنید:
    /opt/apigee/customer/application/ui.properties

    اگر فایل وجود ندارد، آن را ایجاد کنید.

  2. همانطور که مثال زیر نشان می دهد، ویژگی conf_application_session.secure را در فایل ui.properties روی true تنظیم کنید:
    conf_application_session.secure=true
  3. تغییرات خود را ذخیره کنید
  4. همانطور که در مثال زیر نشان داده شده است، Edge UI را با استفاده از ابزار apigee-serice راه اندازی مجدد کنید:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

برای تأیید اینکه تغییر کار می‌کند، سرصفحه‌های پاسخ را از رابط کاربری Edge با استفاده از ابزاری مانند curl بررسی کنید. مثلا:

curl -i -v https://edge_UI_URL

سرصفحه باید دارای خطی به شکل زیر باشد:

Set-Cookie: secure; ...

TLS را در رابط کاربری Edge غیرفعال کنید

برای غیرفعال کردن TLS در رابط کاربری Edge، از دستور زیر استفاده کنید:

/opt/apigee/apigee-service/bin/apigee-service edge-ui disable-ssl