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

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

http://ms_IP:9000

یا می‌توانید دسترسی «امنیت لایه انتقال» را به «واسط کاربر Edge» پیکربندی کنید تا بتوانید به آن در قالب زیر دسترسی پیدا کنید:

https://ms_IP:9443

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

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

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

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

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

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

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

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

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

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

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

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

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

HTTPSPORT=9443
DISABLE_HTTP=y
# Set type to PKCS12 if you are using a PKCS12 keystore
KEY_ALGO=JKS
KEY_FILE_PATH=/opt/apigee/customer/application/mykeystore.jks
KEY_PASS=clearTextKeystorePWord

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

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

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

استفاده از انبار کلید PKCS12 برای سیستم‌های عامل دارای FIPS

اگر از Edge for Private Cloud در سیستم‌عاملی با قابلیت FIPS استفاده می‌کنید، باید از انبار کلید PKCS12 استفاده کنید. می‌توانید بااستفاده از دستورات استاندارد OpenSSL، یک انبار کلید PKCS12 تولید کنید. هنگام استفاده از انبار کلید PKCS12، KEY_ALGO=PKCS12 را در فایل پیکربندی تنظیم کنید.

پیکربندی واسط کاربر Edge وقتی‌که TLS در ترازکننده بار پایان می‌یابد

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

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

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

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

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

دارایی شرح
TLS_PROTOCOL پروتکل پیش‌فرض «امنیت لایه انتقال» را برای «میانای کاربری 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_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"

فهرست رمزهای دردسترس را در اینجا پیدا کنید.

درحال غیرفعال کردن پروتکل‌های «امنیت لایه انتقال»

برای غیرفعال کردن پروتکل‌های «امنیت لایه انتقال»، باید فایل پیکربندی را که در استفاده از فایل پیکربندی برای پیکربندی «امنیت لایه انتقال» توضیح داده شده است به‌صورت زیر ویرایش کنید:

  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. برای پیکربندی «امنیت لایه انتقال»، فرمان زیر را اجرا کنید:
    /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:

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

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

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

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

curl -i -v https://edge_UI_URL

سرایند باید حاوی خطی شبیه به خط زیر باشد:

Set-Cookie: secure; ...

غیرفعال کردن «امنیت لایه انتقال» در «واسط کاربر Edge»

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

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