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

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

به‌طور پیش‌فرض، بااستفاده از نشانی IP گره «سرور مدیریت» و درگاه ۹۰۰۰، ازطریق HTTP به میانای کاربر مدیریت Edge دسترسی پیدا می‌کنید. برای مثال:

http://ms_IP:9000

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

https://ms_IP:9443

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

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

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

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 را وارد کنید، برای مثال، ۹۴۴۳.
  4. مشخص کنید که آیا می‌خواهید دسترسی HTTP به میانای کاربری مدیریت را غیرفعال کنید یا نه. به‌طور پیش‌فرض، واسط کاربری مدیریت ازطریق HTTP در درگاه ۹۰۰۰ قابل‌دسترسی است.
  5. الگوریتم keystore را وارد کنید. پیش‌فرض JKS است.
  6. مسیر مطلق به فایل JKS مخزن کلید را وارد کنید.

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

  7. گذرواژه حافظه کلید نوشتار واضح را وارد کنید.
  8. سپس اسکریپت میانای کاربر مدیریت Edge را بازراه‌اندازی می‌کند. پس‌از بازراه‌اندازی، واسط کاربر مدیریت از دسترسی ازطریق TLS پشتیبانی می‌کند.

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

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

به‌عنوان جایگزینی برای روش بالا، می‌توانید فایل پیکربندی را به فرمان در مرحله ۲ روش ارسال کنید. اگر می‌خواهید ویژگی‌های اختیاری 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 مسیر کامل فایل ذخیره‌شده است.

پیکربندی Edge UI وقتی TLS در متعادل‌کننده بار خاتمه می‌یابد

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

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

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

X-Forwarded-Proto: https

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

  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_CONFIGURE=y

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

دارایی شرح
TLS_PROTOCOL پروتکل TLS پیش‌فرض را برای Edge UI تعریف می‌کند. به‌طور پیش‌فرض، 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)، باید فایل پیکربندی را که در استفاده از فایل پیکربندی برای پیکربندی کردن «امنیت لایه انتقال» (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 برای Private Cloud از افزودن پرچم secure به سرصفحه Set-Cookie برای پاسخ‌های Edge UI پشتیبانی می‌کند. اگر این پرچم وجود داشته باشد، کوکی فقط می‌تواند ازطریق کانال‌های فعال‌شده با TLS ارسال شود. اگر این ویژگی وجود نداشته باشد، کوکی می‌تواند ازطریق هر کانالی ارسال شود، چه ایمن باشد چه نباشد.

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

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

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

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

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

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

curl -i -v https://edge_UI_URL

سرصفحه باید حاوی خطی باشد که شبیه به این باشد:

Set-Cookie: secure; ...

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

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

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