cockpit.conf - فایل
پیکربندی Cockpit
برنامه Cockpit
میتواند
از طریق /etc/cockpit/cockpit.conf
پیکربندی
شود. اگر
متغیر $XDG_CONFIG_DIRS
تنظیم شده
باشد،
نخستین
مسیری که
حاوی ../cockpit/cockpit.conf
باشد به جای
آن استفاده
میشود.
سایر
فایلها و
دایرکتوریهای
پیکربندی
نیز به همین
شیوه جستجو
میشوند.
این فایل
الزامی
نیست و ممکن
است نیاز
باشد به
صورت دستی
ایجاد شود.
این فایل
دارای
ساختار INI
است و
بنابراین
شامل
جفتهای
کلید / مقدار
است که در
گروههای
موضوعی
دستهبندی
شدهاند.
برای
جزئیات به
مثالهای
زیر مراجعه
کنید.
نکته:
پورتی که cockpit
روی آن گوش
میدهد را
نمیتوان
در این فایل
تغییر داد.
برای تغییر
پورت، فایل
cockpit.socket مربوط
به systemd را
ویرایش
کنید.
Origins
به طور
پیشفرض cockpit
اتصالات
وبسوکت
میاندامنهای
(crossdomain) را
نمیپذیرد.
از این
تنظیم برای
مجاز کردن
دسترسی از
دامنههای
جایگزین
استفاده
کنید.
مبداها (Origins)
باید در
صورت نیاز
شامل طرح (scheme)،
میزبان (host) و
پورت باشند.
استفاده از
نویسههای
عمومی (wildcards) و
عبارات
گلوب (glob) مجاز
است.
براکتهای
آدرسهای IPv6
باید با
بکاسلش
اسکیپ شوند
(مانند \[::1\])
چرا که با
استفاده از
fnmatch() تطبیق
داده
میشوند.
[WebService]
Origins = https://somedomain1.com https://somedomain2.com:9090 https://*.somedomain3.com https://\[::1\]:9090
ProtocolHeader
پیکربندی
cockpit برای
بررسی
محتوای این
هدر به
منظور
تعیین
اینکه آیا
اتصال از tls
استفاده
میکند یا
خیر. این
مورد فقط
باید زمانی
استفاده
شود که cockpit پشت
یک پراکسی
معکوس (reverse proxy)
قرار دارد،
و باید
مراقبت شود
که
درخواستهای
ورودی
نتوانند
این هدر را
دستکاری و
تنظیم کنند.
[WebService]
ProtocolHeader = X-Forwarded-Proto
ForwardedForHeader
پیکربندی
cockpit برای
بررسی
محتوای این
هدر به
منظور
تعیین مبدا
واقعی یک
اتصال. این
مورد فقط
باید زمانی
استفاده
شود که cockpit پشت
یک پراکسی
معکوس قرار
دارد، و
باید
مراقبت شود
که
درخواستهای
ورودی
نتوانند
این هدر را
تنظیم کنند.
[WebService]
ForwardedForHeader = X-Forwarded-For
LoginTitle
تنظیم
عنوان
مرورگر
برای صفحه
ورود.
LoginTo
هنگامی
که روی
true
تنظیم شود،
گزینه
Connect to در
صفحه ورود
قابل
مشاهده
خواهد بود و
امکان ورود
به یک سرور
دیگر را
فراهم
میکند.
هنگامی که
روی
false
تنظیم شود،
ورودهای
مستقیم از
راه دور
غیرمجاز
میشوند.
اگر این
گزینه مشخص
نشده باشد،
بر اساس
اینکه آیا
بسته
cockpit-bridge
نصب است و
برنامه
ssh در
دسترس قرار
دارد یا
خیر، به طور
خودکار
تشخیص داده
میشود.
اگر cockpit-ws در
معرض
اینترنت
عمومی قرار
دارد و
همزمان به
یک شبکه
خصوصی
داخلی نیز
دسترسی
دارد،
توصیه
میشود که
صراحتاً
LoginTo=false تنظیم
شود. این کار
از اسکن
شبکه داخلی
توسط
مهاجمان
احراز
هویتنشده
از راه دور
برای یافتن
ماشینهای
موجود و
پورتهای
باز
جلوگیری
میکند.
RequireHost
هنگامی
که روی true
تنظیم شود،
cockpit کاربران
را ملزم
میکند تا
از گزینه Connect to
برای مشخص
کردن
میزبانی که
قصد ورود به
آن را دارند
استفاده
کنند.
AllowMultiHost
هنگامی
که روی
true
تنظیم شود،
cockpit به
کاربران
اجازه
میدهد در
یک نشست به
چندین
میزبان
متصل شوند.
مقدار
پیشفرض به
سیستمعامل
بستگی دارد.
هنگام
اتصال به
چندین
سرور،
جاوااسکریپت
(JavaScript) بدون
ایزولهسازی
اجرا
میشود. همه
سیستمها
در معرض
حملات
احتمالی از
سوی سایر
میزبانهای
متصل
خواهند بود.
این گزینه
را فقط
زمانی فعال
کنید که به
تمام
میزبانها
کاملاً
اعتماد
دارید.
MaxStartups
مشابه
گزینه
پیکربندی
همنام در
sshd
است. حداکثر
تعداد
تلاشهای
همزمان
برای ورود
را مشخص
میکند.
اتصالات
اضافی تا
زمان
موفقیت
احراز هویت
یا بسته شدن
اتصالات
قطع خواهند
شد. مقدار
پیشفرض 10
است.
همچنین
میتوان با
مشخص کردن
سه مقدار
جدا شده با
دو نقطه start:rate:full
(برای مثال
"10:30:60")،
قابلیت قطع
زودهنگام
تصادفی (random early drop)
را فعال کرد.
اگر در حال
حاضر start (10)
اتصال
احراز
هویتنشده
وجود داشته
باشد، Cockpit با
احتمال rate/100 (30%)
شروع به رد
تلاشهای
احراز هویت
خواهد کرد.
این احتمال
به صورت خطی
افزایش
مییابد و
در صورتی که
تعداد
اتصالات
احراز
هویتنشده
به full (60) برسد،
تمام
تلاشهای
اتصال رد
میشوند.
AllowUnencrypted
اگر true
باشد، cockpit
اتصالات
رمزگذارینشده
HTTP را
میپذیرد.
در غیر این
صورت، تمام
اتصالات HTTP را
به HTTPS هدایت
میکند.
اتصالات از
localhost و برای
برخی
نشانیهای
خاص (مانند
/ping) از این
قاعده
مستثنی
هستند.
مقدار
پیشفرض false
است.
UrlRoot
نشانی
ریشه (Root URL) که Cockpit
روی آن
ارائه
خواهد شد. در
صورت مشخص
شدن، cockpit
انتظار
دارد تمام
درخواستها
با نشانی وب
داده شده
پیشوند
شوند. این
تنظیم
بیشتر
زمانی مفید
است که از cockpit
پشت یک
پراکسی
معکوس
مانند nginx
استفاده
میکنید.
مفاهیم
/cockpit/ و /cockpit+
رزرو شده
هستند و
نباید
استفاده
شوند. برای
مثال /cockpit-new/
مجاز است،
اما /cockpit/ و
/cockpit+new/ مجاز
نیستند.
ClientCertAuthentication
اگر true
باشد،
گواهیهای
کلاینت TLS را
برای احراز
هویت
کاربران
فعال
میکند.
معمولاً
این
گواهیها
توسط کارت
هوشمند (smart card)
ارائه
میشوند،
اما وارد
کردن
مستقیم
گواهیها
به داخل
مرورگر وب
نیز
امکانپذیر
است. لطفاً
برای
جزئیات به
بخش
احراز
هویت با
گواهی/کارت
هوشمند (Certificate/smart card
authentication)
https://docs.cockpit-project.org/cockpit-guide/latest/guide/cert-authentication.html
در راهنمای
Cockpit مراجعه
کنید.
Shell
نشانی وب
نسبی به
مؤلفه سطح
بالا که پس
از ورود در Cockpit
نمایش داده
میشود.
پیشفرض
/shell/index.html است.
CustomLoginPage
بارگذاری
صفحه ورود
از یک
دایرکتوری
جایگزین.
این
دایرکتوری
باید حاوی
یک فایل
login.html و به
صورت
اختیاری یک
فایل po.js
برای
ترجمهها
باشد. در
صورت عدم
تنظیم، از
دایرکتوری
ثابت
$prefix/share/cockpit/static
استفاده
میشود.
Fatal
نوع
پیامهای
لاگ در bridge که
باید
بحرانی (fatal)
تلقی شوند.
مقادیر
متعدد را با
فاصله جدا
کنید.
مقادیر
مرتبط
عبارتند از:
criticals و warnings.
Cockpit
میتواند
برای
پشتیبانی
از جریان
مجوزدهی OAuth
با اعطای
ضمنی (implicit grant)
https://tools.ietf.org/html/rfc6749#section-4.2
پیکربندی
شود. در صورت
موفقیت،
توکن oauth حاصل
با استفاده
از روش
احراز هویت
Bearer به cockpit-ws
ارسال
خواهد شد.
برای ورود
موفقیتآمیز،
cockpit همچنین
باید برای
اعتبارسنجی
و مجاز
دانستن
توکنهای
Bearer
پیکربندی
شده باشد.
URL
نشانی
وبی است که cockpit
هنگام نیاز
به دریافت
توکن oauth،
مرورگر
کاربر را به
آن هدایت
میکند. Cockpit یک
پارامتر redirect_uri
با مشخص
کردن مقصدی
که
ارائهدهنده
oauth باید پس از
دریافت
توکن کاربر
را به آن
هدایت کند،
به نشانی وب
اضافه
خواهد کرد.
ErrorParam
هنگامی
که
ارائهدهنده
oauth کاربر را
به cockpit
بازمیگرداند،
این
پارامتر را
در رشته
پرسوجو (querystring)
یا بخش
فرگمنت
نشانی وب
برای یافتن
پیام خطا
جستجو
میکند. در
صورت عدم
ارائه،
مقدار
پیشفرض
error_description خواهد
بود.
TokenParam
هنگامی
که
ارائهدهنده
oauth کاربر را
به cockpit
بازمیگرداند،
این
پارامتر را
در رشته
پرسوجو یا
بخش فرگمنت
نشانی وب
برای یافتن
توکن
دسترسی
جستجو
میکند. در
صورت عدم
ارائه،
مقدار
پیشفرض access_token
خواهد بود.
Banner
محتوای
فایل مشخص
شده
(معمولاً /etc/issue)
در صفحه
ورود نشان
داده
میشود. به
طور
پیشفرض،
هیچ بنری
نمایش داده
نمیشود.
IdleTimeout
مدت زمان
بر حسب
دقیقه که پس
از آن در
صورت عدم
انجام
فعالیتی از
سوی کاربر،
نشست منقضی
شده و کاربر
خارج
میشود. این
مهلت
بیکاری
فقط برای
ورودهای
تعاملی با
گذرواژه
اعمال
میشود. در
روشهای
احراز هویت
غیرتعاملی
مانند Kerberos، OAuth
یا ورود با
گواهی،
مرورگر
نمیتواند
اعتبارنامهها
را فراموش
کند و
بنابراین
خروجهای
خودکار
برای
محافظت از
اعتبارنامههای
نشستهای
فراموششده
کارایی
ندارند.
مقدار را
روی 0 تنظیم
کنید تا
زمان
انقضای
نشست
غیرفعال
شود.
در صورت
عدم تعیین،
به طور
پیشفرض
هیچ مهلت
زمانی
بیکاری
وجود
ندارد.
WarnBeforeConnecting
تعیین
اینکه آیا
پیش از
اتصال به
میزبانهای
راه دور از
طریق Shell
هشدار داده
شود یا خیر.
مقدار
پیشفرض true
است.
[Session]
WarnBeforeConnecting=false