دستورالعمل های گام به گام برای استقرار Hailbytes VPN با رابط کاربری گرافیکی Firezone در اینجا ارائه شده است.
Administer: راه اندازی نمونه سرور مستقیماً با این قسمت مرتبط است.
راهنمای کاربر: اسناد مفیدی که می توانند نحوه استفاده از Firezone و حل مشکلات معمولی را به شما آموزش دهند. پس از استقرار سرور با موفقیت به این بخش مراجعه کنید.
Split Tunneling: از VPN فقط برای ارسال ترافیک به محدوده IP خاص استفاده کنید.
لیست سفید: آدرس IP ثابت سرور VPN را برای استفاده از لیست سفید تنظیم کنید.
تونل های معکوس: با استفاده از تونل های معکوس، تونل هایی بین چندین همتا ایجاد کنید.
اگر برای نصب، سفارشی کردن یا استفاده از Hailbytes VPN به کمک نیاز دارید، خوشحالیم که به شما کمک کنیم.
قبل از اینکه کاربران بتوانند فایل های پیکربندی دستگاه را تولید یا دانلود کنند، Firezone را می توان طوری پیکربندی کرد که نیاز به احراز هویت داشته باشد. کاربران همچنین ممکن است برای فعال نگه داشتن اتصال VPN خود نیاز به احراز هویت مجدد داشته باشند.
اگرچه روش ورود پیشفرض Firezone ایمیل و رمز عبور محلی است، اما میتوان آن را با هر ارائهدهنده هویت استاندارد OpenID Connect (OIDC) ادغام کرد. کاربران اکنون می توانند با استفاده از Okta، Google، Azure AD یا اعتبار ارائه دهنده هویت خصوصی خود به Firezone وارد شوند.
یک ارائه دهنده عمومی OIDC را ادغام کنید
پارامترهای پیکربندی مورد نیاز Firezone برای اجازه دادن به SSO با استفاده از ارائه دهنده OIDC در مثال زیر نشان داده شده است. در /etc/firezone/firezone.rb، ممکن است فایل پیکربندی را پیدا کنید. برای به روز رسانی برنامه و اعمال تغییرات، firezone-ctl را مجدداً پیکربندی کنید و firezone-ctl را مجدداً راه اندازی کنید.
# این نمونه ای است که از Google و Okta به عنوان ارائه دهنده هویت SSO استفاده می کند.
# تنظیمات OIDC چندگانه را می توان به همان نمونه Firezone اضافه کرد.
# Firezone میتواند VPN کاربر را غیرفعال کند، در صورتی که هنگام تلاش، خطایی شناسایی شود
# برای بازخوانی نشانه_دسترسی خود. این مورد تأیید شده است که برای Google، Okta و
# Azure SSO و برای قطع خودکار VPN کاربر در صورت حذف استفاده می شود
# از ارائه دهنده OIDC. اگر ارائه دهنده OIDC شما این را غیرفعال کنید
# در بازخوانی نشانه های دسترسی مشکل دارد زیرا می تواند به طور غیرمنتظره ای را قطع کند
# جلسه VPN کاربر.
پیشفرض['firezone']['authentication']['disable_vpn_on_oidc_error'] = نادرست
پیشفرض['firezone']['authentication']['oidc'] = {
گوگل: {
discovery_document_uri: "https://accounts.google.com/.well-known/openid-configuration"
شناسه مشتری: " "
client_secret: "
redirect_uri: "https://instance-id.yourfirezone.com/auth/oidc/google/callback/"،
answer_type: "کد"
دامنه: "نمایه ایمیل باز"،
برچسب: "گوگل"
},
okta: {
Discovery_document_uri: “https:// /.well-known/openid-configuration»
شناسه مشتری: " "
client_secret: "
redirect_uri: "https://instance-id.yourfirezone.com/auth/oidc/okta/callback/"،
answer_type: "کد"
scope: “Openid email profile offline_access”
برچسب: "Okta"
}
}
تنظیمات پیکربندی زیر برای ادغام مورد نیاز است:
برای هر ارائه دهنده OIDC یک URL زیبا برای هدایت مجدد به URL ورود به سیستم ارائه دهنده پیکربندی شده ایجاد می شود. برای مثال پیکربندی OIDC در بالا، URL ها عبارتند از:
ارائه دهندگانی که ما اسنادی برای آنها داریم:
اگر ارائهدهنده هویت شما یک رابط OIDC عمومی دارد و در فهرست بالا ذکر نشده است، لطفاً برای اطلاعات در مورد نحوه بازیابی تنظیمات پیکربندی لازم به اسناد آنها بروید.
تنظیمات زیر تنظیمات/امنیت را می توان تغییر داد تا به احراز هویت مجدد دوره ای نیاز داشته باشد. این می تواند برای اعمال الزامی که کاربران به طور منظم وارد Firezone شوند تا جلسه VPN خود را ادامه دهند، مورد استفاده قرار گیرد.
طول جلسه را می توان بین یک ساعت تا نود روز پیکربندی کرد. با تنظیم این مورد روی Never، می توانید جلسات VPN را در هر زمان فعال کنید. این استاندارد است.
کاربر باید جلسه VPN خود را خاتمه دهد و به پورتال Firezone وارد شود تا بتواند یک جلسه VPN منقضی شده را مجدداً تأیید کند (URL مشخص شده در حین استقرار).
میتوانید با پیروی از دستورالعملهای دقیق مشتری که در اینجا یافت میشود، جلسه خود را مجدداً تأیید اعتبار کنید.
وضعیت اتصال VPN
ستون جدول اتصال VPN صفحه کاربران وضعیت اتصال کاربر را نشان می دهد. اینها وضعیت اتصال هستند:
فعال - اتصال فعال است.
غیرفعال شده - اتصال توسط مدیر یا خرابی بهروزرسانی OIDC غیرفعال شده است.
منقضی شده - اتصال به دلیل انقضای احراز هویت غیرفعال است یا کاربر برای اولین بار وارد سیستم نشده است.
از طریق رابط OIDC عمومی، Firezone یک ورود به سیستم (SSO) با Google Workspace و Cloud Identity را فعال میکند. این راهنما به شما نشان می دهد که چگونه پارامترهای پیکربندی فهرست شده در زیر را که برای ادغام ضروری هستند دریافت کنید:
1. صفحه تنظیمات OAuth
اگر اولین بار است که یک شناسه مشتری OAuth جدید ایجاد می کنید، از شما خواسته می شود صفحه رضایت را پیکربندی کنید.
*Internal را برای نوع کاربر انتخاب کنید. این تضمین میکند که فقط حسابهای متعلق به کاربران در سازمان Google Workspace شما میتوانند تنظیمات دستگاه را ایجاد کنند. External را انتخاب نکنید، مگر اینکه بخواهید هر کسی را با یک حساب Google معتبر فعال کنید تا تنظیمات دستگاه را ایجاد کند.
در صفحه اطلاعات برنامه:
2. شناسه های مشتری OAuth ایجاد کنید
این بخش بر اساس مستندات خود گوگل در مورد است راه اندازی OAuth 2.0.
از Google Cloud Console دیدن کنید صفحه اعتبار صفحه، روی + Credentials کلیک کنید و شناسه مشتری OAuth را انتخاب کنید.
در صفحه ایجاد شناسه مشتری OAuth:
پس از ایجاد شناسه مشتری OAuth، یک Client ID و Client Secret به شما داده می شود. اینها همراه با URI تغییر مسیر در مرحله بعد استفاده خواهند شد.
ویرایش /etc/firezone/firezone.rb برای گنجاندن گزینه های زیر:
# استفاده از Google به عنوان ارائه دهنده هویت SSO
پیشفرض['firezone']['authentication']['oidc'] = {
گوگل: {
discovery_document_uri: "https://accounts.google.com/.well-known/openid-configuration"
شناسه مشتری: " "
client_secret: "
redirect_uri: "https://instance-id.yourfirezone.com/auth/oidc/google/callback/"،
answer_type: "کد"
دامنه: "نمایه ایمیل باز"،
برچسب: "گوگل"
}
}
firezone-ctl را مجدداً پیکربندی کنید و firezone-ctl را مجدداً راه اندازی کنید تا برنامه به روز شود. اکنون باید دکمه Sign in with Google را در URL root Firezone ببینید.
Firezone از کانکتور OIDC عمومی برای تسهیل سیستم Single Sign-On (SSO) با Okta استفاده می کند. این آموزش به شما نشان می دهد که چگونه پارامترهای پیکربندی فهرست شده در زیر را که برای ادغام ضروری هستند دریافت کنید:
این بخش از راهنما بر اساس اسناد Okta.
در Admin Console، به Applications > Applications رفته و روی Create App Integration کلیک کنید. روش ورود به سیستم را روی OICD – OpenID Connect و Application type را روی برنامه وب قرار دهید.
این تنظیمات را پیکربندی کنید:
پس از ذخیره تنظیمات، یک Client ID، Client Secret و Okta Domain به شما داده می شود. این 3 مقدار در مرحله 2 برای پیکربندی Firezone استفاده خواهد شد.
ویرایش /etc/firezone/firezone.rb برای گنجاندن گزینه های زیر شما discovery_document_url خواهد بود /.well-known/openid-configuration به انتهای شما اضافه شده است okta_domain.
# استفاده از Okta به عنوان ارائه دهنده هویت SSO
پیشفرض['firezone']['authentication']['oidc'] = {
okta: {
Discovery_document_uri: “https:// /.well-known/openid-configuration»
شناسه مشتری: " "
client_secret: "
redirect_uri: "https://instance-id.yourfirezone.com/auth/oidc/okta/callback/"،
answer_type: "کد"
scope: “Openid email profile offline_access”
برچسب: "Okta"
}
}
firezone-ctl را مجدداً پیکربندی کنید و firezone-ctl را مجدداً راه اندازی کنید تا برنامه به روز شود. اکنون باید دکمه Sign in with Okta را در URL root Firezone ببینید.
کاربرانی که می توانند به برنامه Firezone دسترسی داشته باشند می توانند توسط Okta محدود شوند. برای انجام این کار، به صفحه تکالیف Firezone App Integration کنسول مدیریت Okta خود بروید.
از طریق رابط OIDC عمومی، Firezone یک ورود به سیستم (SSO) را با Azure Active Directory فعال می کند. این راهنما به شما نشان می دهد که چگونه پارامترهای پیکربندی فهرست شده در زیر را که برای ادغام ضروری هستند دریافت کنید:
این راهنما از Azure Active Directory Docs.
به صفحه Azure Active Directory پورتال Azure بروید. گزینه Manage menu را انتخاب کنید، New Registration را انتخاب کنید، سپس با ارائه اطلاعات زیر ثبت نام کنید:
پس از ثبت نام، نمای جزئیات برنامه را باز کرده و آن را کپی کنید شناسه برنامه (مشتری).. این مقدار client_id خواهد بود. سپس، منوی نقاط پایانی را برای بازیابی آن باز کنید سند فراداده OpenID Connect. این مقدار Discovery_document_uri خواهد بود.
با کلیک بر روی گزینه Certificates & Secrets در زیر منوی Manage یک راز مشتری جدید ایجاد کنید. راز مشتری را کپی کنید. مقدار مخفی مشتری این خواهد بود.
در آخر، پیوند مجوزهای API را در منوی Manage انتخاب کنید، کلیک کنید یک مجوز اضافه کنید، و انتخاب کنید نمودار مایکروسافت، افزودن پست الکترونیک, باز شده, آفلاین_دسترسی و نمایه به مجوزهای مورد نیاز
ویرایش /etc/firezone/firezone.rb برای گنجاندن گزینه های زیر:
# استفاده از Azure Active Directory به عنوان ارائه دهنده هویت SSO
پیشفرض['firezone']['authentication']['oidc'] = {
لاجوردی: {
Discovery_document_uri: “https://login.microsoftonline.com/ /v2.0/.well-known/openid-configuration»
شناسه مشتری: " "
client_secret: "
redirect_uri: "https://instance-id.yourfirezone.com/auth/oidc/azure/callback/"،
answer_type: "کد"
scope: “Openid email profile offline_access”
برچسب: لاجوردی
}
}
firezone-ctl را مجدداً پیکربندی کنید و firezone-ctl را مجدداً راه اندازی کنید تا برنامه به روز شود. اکنون باید دکمه Sign in with Azure را در URL root Firezone ببینید.
Azure AD مدیران را قادر می سازد تا دسترسی برنامه را به گروه خاصی از کاربران داخل شرکت شما محدود کنند. اطلاعات بیشتر در مورد نحوه انجام این کار را می توان در اسناد مایکروسافت یافت.
Chef Omnibus توسط Firezone برای مدیریت وظایفی از جمله بسته بندی آزادسازی، نظارت بر فرآیند، مدیریت گزارش و غیره استفاده می شود.
کد روبی فایل پیکربندی اولیه را تشکیل می دهد که در /etc/firezone/firezone.rb قرار دارد. راه اندازی مجدد sudo firezone-ctl پیکربندی مجدد پس از ایجاد تغییرات در این فایل باعث می شود که Chef تغییرات را تشخیص دهد و آنها را در سیستم عامل فعلی اعمال کند.
برای مشاهده لیست کامل متغیرهای پیکربندی و توضیحات آنها به مرجع فایل پیکربندی مراجعه کنید.
نمونه Firezone شما می تواند از طریق مدیریت شود firezone-ctl دستور، همانطور که در زیر نشان داده شده است. اکثر دستورات فرعی به پیشوند با نیاز دارند کد: sudo.
root@demo:~# firezone-ctl
omnibus-ctl: فرمان (فرمان)
دستورات عمومی:
پاک کردن
*همه* داده های firezone را حذف کنید و از ابتدا شروع کنید.
ایجاد یا بازنشانی مدیر
رمز عبور سرپرست را با ایمیلی که بهطور پیشفرض مشخص شده است، بازنشانی میکند یا اگر آن ایمیل وجود نداشته باشد، یک سرپرست جدید ایجاد میکند.
کمک
این پیام راهنما را چاپ کنید.
تنظیم مجدد
برنامه را دوباره پیکربندی کنید.
بازنشانی شبکه
nftables، رابط WireGuard و جدول مسیریابی را به پیش فرض های Firezone بازنشانی می کند.
نمایش-پیکربندی
پیکربندی را نشان دهید که با پیکربندی مجدد ایجاد می شود.
شبکه تخریب
رابط WireGuard و جدول nftables firezone را حذف می کند.
اجبار-گواهی-تجدید
تمدید گواهی را اجباری کنید حتی اگر منقضی نشده باشد.
توقف-گواهی-تجدید
cronjob را که گواهی ها را تمدید می کند حذف می کند.
حذف
تمام فرآیندها را بکشید و ناظر فرآیند را حذف نصب کنید (داده ها حفظ خواهند شد).
نسخه
نمایش نسخه فعلی Firezone
دستورات مدیریت خدمات:
برازنده-کشتن
سعی کنید یک توقف زیبا داشته باشید، سپس کل گروه فرآیند را SIGKILL کنید.
هاپ
خدمات را یک HUP ارسال کنید.
INT
خدمات را یک INT ارسال کنید.
کشتن
خدمات را یک KILL ارسال کنید.
یک بار
در صورت قطع شدن سرویس ها، سرویس ها را شروع کنید. اگر متوقف شدند آنها را دوباره راه اندازی نکنید.
شروع دوباره
اگر سرویسها در حال اجرا هستند، آنها را متوقف کنید، سپس دوباره شروع کنید.
لیست خدمات
لیست تمام سرویس ها (سرویس های فعال با علامت * ظاهر می شوند.)
شروع
اگر سرویسها قطع شدند، آنها را راهاندازی کنید و اگر متوقف شدند دوباره راهاندازی کنید.
وضعیت
نمایش وضعیت همه خدمات
متوقف کردن
سرویس ها را متوقف کنید و آنها را دوباره راه اندازی نکنید.
دم
گزارشهای خدمات همه سرویسهای فعال را تماشا کنید.
مدت
خدمات را یک TERM ارسال کنید.
USR1
سرویس ها را USR1 ارسال کنید.
USR2
سرویس ها را USR2 ارسال کنید.
تمام جلسات VPN باید قبل از ارتقاء Firezone خاتمه داده شوند، که همچنین نیاز به خاموش کردن رابط کاربری وب دارد. در صورتی که در حین ارتقا مشکلی پیش بیاید، توصیه می کنیم یک ساعت را برای تعمیر و نگهداری اختصاص دهید.
برای تقویت Firezone، اقدامات زیر را انجام دهید:
در صورت بروز هر گونه مشکل، لطفاً به ما اطلاع دهید ارسال تیکت پشتیبانی
در 0.5.0 چند تغییر و اصلاح پیکربندی وجود دارد که باید مورد توجه قرار گیرد. در زیر بیشتر بدانید.
Nginx از نسخه 0.5.0 دیگر پارامترهای SSL و غیر SSL را پشتیبانی نمی کند. از آنجایی که Firezone برای کار کردن به SSL نیاز دارد، توصیه میکنیم با تنظیم پیشفرض['firezone']['nginx']['enabled'] = false، سرویس Nginx باندل را حذف کنید و بهجای آن پروکسی معکوس خود را به برنامه Phoenix در پورت 13000 هدایت کنید (بهطور پیشفرض ).
0.5.0 پشتیبانی از پروتکل ACME را برای تمدید خودکار گواهی های SSL با سرویس Nginx همراه معرفی می کند. برای فعال کردن،
امکان افزودن قوانین با مقصدهای تکراری در Firezone 0.5.0 از بین رفته است. اسکریپت مهاجرت ما به طور خودکار این موقعیتها را در حین ارتقا به 0.5.0 تشخیص میدهد و فقط قوانینی را که مقصد آنها شامل قانون دیگر است حفظ میکند. اگر این مشکلی ندارد نیازی به انجام کاری نیست.
در غیر این صورت، قبل از ارتقا، توصیه می کنیم مجموعه قوانین خود را تغییر دهید تا از شر این شرایط خلاص شوید.
Firezone 0.5.0 پشتیبانی از پیکربندی قدیمی Okta و Google SSO را به نفع پیکربندی جدید و منعطف تر مبتنی بر OIDC حذف می کند.
اگر پیکربندی زیر کلیدهای پیشفرض['firezone']['authentication']['okta'] یا پیشفرض ['firezone']['authentication']['google'] دارید، باید اینها را به OIDC ما منتقل کنید. پیکربندی مبتنی بر استفاده از راهنمای زیر.
پیکربندی موجود Google OAuth
این خطوط حاوی تنظیمات قدیمی Google OAuth را از فایل پیکربندی خود در /etc/firezone/firezone.rb حذف کنید.
پیشفرض['firezone']['Authentication']['google']['enabled']
پیشفرض['firezone']['authentication']['google']['client_id']
پیشفرض['firezone']['authentication']['google']['client_secret']
پیشفرض['firezone']['authentication']['google']['redirect_uri']
سپس، Google را به عنوان یک ارائه دهنده OIDC با پیروی از مراحل اینجا پیکربندی کنید.
(دستورالعمل های پیوند را ارائه دهید)<<<<<<<<<<<<<<<<
Google OAuth موجود را پیکربندی کنید
این خطوط حاوی تنظیمات Okta OAuth قدیمی را از فایل پیکربندی خود که در /etc/firezone/firezone.rb
پیشفرض['firezone']['Authentication']['okta']['enabled']
پیشفرض['firezone']['Authentication']['okta']['client_id']
پیشفرض['firezone']['Authentication']['okta']['client_secret']
پیشفرض['firezone']['Authentication']['okta']['site']
سپس، Okta را به عنوان یک ارائه دهنده OIDC با دنبال کردن مراحل اینجا پیکربندی کنید.
بسته به تنظیمات و نسخه فعلی خود، دستورالعمل های زیر را دنبال کنید:
اگر قبلاً یک ادغام OIDC دارید:
برای برخی از ارائه دهندگان OIDC، ارتقاء به >= 0.3.16 نیاز به دستیابی به نشانه تازه سازی برای محدوده دسترسی آفلاین دارد. با انجام این کار، اطمینان حاصل می شود که Firezone با ارائه دهنده هویت به روز رسانی می شود و پس از حذف یک کاربر، اتصال VPN قطع می شود. تکرارهای قبلی Firezone فاقد این ویژگی بودند. در برخی موارد، کاربرانی که از ارائهدهنده هویت شما حذف میشوند ممکن است همچنان به VPN متصل باشند.
لازم است دسترسی آفلاین را در پارامتر دامنه پیکربندی OIDC خود برای ارائه دهندگان OIDC که از دامنه دسترسی آفلاین پشتیبانی می کنند، لحاظ کنید. برای اعمال تغییرات در فایل پیکربندی Firezone که در /etc/firezone/firezone.rb قرار دارد، پیکربندی مجدد Firezone-ctl باید اجرا شود.
برای کاربرانی که توسط ارائهدهنده OIDC شما احراز هویت شدهاند، اگر Firezone بتواند با موفقیت رمز تازهسازی را بازیابی کند، عنوان اتصالات OIDC را در صفحه جزئیات کاربر رابط کاربری وب مشاهده خواهید کرد.
اگر این کار نکرد، باید برنامه OAuth موجود خود را حذف کنید و مراحل راه اندازی OIDC را تکرار کنید. یک ادغام برنامه جدید ایجاد کنید .
من یک ادغام OAuth موجود دارم
قبل از 0.3.11، Firezone از ارائه دهندگان OAuth2 از پیش پیکربندی شده استفاده می کرد.
دستورالعمل ها را دنبال کنید اینجا کلیک نمایید برای مهاجرت به OIDC.
من یک ارائه دهنده هویت را ادغام نکرده ام
اقدامی لازم نیست.
می توانید دستورالعمل ها را دنبال کنید اینجا کلیک نمایید برای فعال کردن SSO از طریق یک ارائه دهنده OIDC.
در جای خود، پیشفرض ['firezone']['external url'] جایگزین گزینه تنظیمات پیشفرض ['firezone']['fqdn'] شده است.
این را روی URL پورتال آنلاین Firezone خود تنظیم کنید که برای عموم قابل دسترسی است. اگر تعریف نشده باقی بماند، پیشفرض روی https:// بهعلاوه FQDN سرور شما خواهد بود.
فایل پیکربندی در /etc/firezone/firezone.rb قرار دارد. برای مشاهده لیست کامل متغیرهای پیکربندی و توضیحات آنها به مرجع فایل پیکربندی مراجعه کنید.
Firezone از نسخه 0.3.0 دیگر کلیدهای خصوصی دستگاه را روی سرور Firezone نگه نمی دارد.
رابط کاربری وب Firezone به شما اجازه دانلود مجدد یا مشاهده این تنظیمات را نمی دهد، اما هر دستگاه موجود باید همانطور که هست به کار خود ادامه دهد.
اگر در حال ارتقاء از Firezone 0.1.x هستید، چند تغییر فایل پیکربندی وجود دارد که باید به صورت دستی انجام شود.
برای انجام تغییرات لازم در فایل /etc/firezone/firezone.rb خود، دستورات زیر را به صورت root اجرا کنید.
cp /etc/firezone/firezone.rb /etc/firezone/firezone.rb.bak
sed -i "s/\['enable'\]/\['enabled'\]/" /etc/firezone/firezone.rb
پژواک «پیشفرض['firezone']['connectivity_checks']['enabled'] = درست است» >> /etc/firezone/firezone.rb
echo "default['firezone']['connectivity_checks']['interval'] = 3_600" >> /etc/firezone/firezone.rb
firezone-ctl پیکربندی مجدد
firezone-ctl راه اندازی مجدد
بررسی لاگ های Firezone اولین قدم عاقلانه برای هر مشکلی است که ممکن است رخ دهد.
برای مشاهده لاگ های Firezone، sudo firezone-ctl tail را اجرا کنید.
اکثر مشکلات اتصال با Firezone ناشی از قوانین ناسازگار iptables یا nftables است. باید مطمئن شوید که قوانینی که در حال اجرا دارید با قوانین Firezone مغایرت ندارد.
مطمئن شوید که اگر هر بار که تونل WireGuard خود را فعال میکنید، اتصال اینترنت شما خراب میشود، زنجیره FORWARD به بستههایی از مشتریان WireGuard شما اجازه میدهد تا به مکانهایی که میخواهید از Firezone اجازه دهید.
اگر از ufw استفاده میکنید، میتوانید با اطمینان از اینکه خط مشی مسیریابی پیشفرض مجاز است، به این امر دست پیدا کنید:
ubuntu@fz:~$ sudo ufw پیشفرض اجازه مسیریابی را میدهد
خط مشی مسیریابی پیشفرض به «مجاز» تغییر کرد
(حتما قوانین خود را بر این اساس به روز کنید)
A وای وضعیت یک سرور Firezone معمولی ممکن است به شکل زیر باشد:
ubuntu@fz:~$ وضعیت sudo ufw پرمفهوم است
وضعیت: فعال
ورود به سیستم: روشن (کم)
پیش فرض: رد (ورودی)، اجازه (خروجی)، اجازه (مسیر)
پروفایل های جدید: رد شوید
به اقدام از
—————
22/tcp ALLOW IN Anywhere
80/tcp ALLOW IN Anywhere
443/tcp ALLOW IN Anywhere
51820/udp ALLOW IN Anywhere
22/tcp (v6) ALLOW IN Anywhere (v6)
80/tcp (v6) ALLOW IN Anywhere (v6)
443/tcp (v6) ALLOW IN Anywhere (v6)
51820/udp (v6) ALLOW IN Anywhere (v6)
همانطور که در زیر توضیح داده شده است، توصیه می کنیم دسترسی به رابط وب را برای استقرار تولید بسیار حساس و حیاتی محدود کنید.
محصولات | پورت پیش فرض | آدرس گوش کن | توضیحات: |
Nginx | 80، 443 | تمام | پورت عمومی HTTP(S) برای مدیریت Firezone و تسهیل احراز هویت. |
محافظ سیم | 51820 | تمام | پورت WireGuard عمومی برای جلسات VPN استفاده می شود. (UDP) |
postgresql | 15432 | 127.0.0.1 | پورت فقط محلی برای سرور Postgresql همراه استفاده می شود. |
عنقا | 13000 | 127.0.0.1 | پورت فقط محلی که توسط سرور برنامه upstream elixir استفاده می شود. |
ما به شما توصیه می کنیم در مورد محدود کردن دسترسی به رابط کاربری وب در معرض عموم Firezone (به طور پیش فرض پورت های 443/tcp و 80/tcp) فکر کنید و به جای آن از تونل WireGuard برای مدیریت Firezone برای تولید و استقرارهای عمومی استفاده کنید که در آن یک مدیر واحد مسئول خواهد بود. ایجاد و توزیع تنظیمات دستگاه برای کاربران نهایی.
به عنوان مثال، اگر یک مدیر یک پیکربندی دستگاه ایجاد کند و یک تونل با آدرس محلی WireGuard 10.3.2.2 ایجاد کند، پیکربندی ufw زیر به مدیر امکان می دهد با استفاده از پیش فرض 10.3.2.1 به واسط وب Firezone در رابط wg-firezone سرور دسترسی داشته باشد. آدرس تونل:
root@demo:~# وضعیت ufw پرمفهوم است
وضعیت: فعال
ورود به سیستم: روشن (کم)
پیش فرض: رد (ورودی)، اجازه (خروجی)، اجازه (مسیر)
پروفایل های جدید: رد شوید
به اقدام از
—————
22/tcp ALLOW IN Anywhere
51820/udp ALLOW IN Anywhere
هرجا ALLOW IN 10.3.2.2
22/tcp (v6) ALLOW IN Anywhere (v6)
51820/udp (v6) ALLOW IN Anywhere (v6)
این فقط ترک می کند 22/tcp در معرض دسترسی SSH برای مدیریت سرور (اختیاری) و 51820/udp به منظور ایجاد تونل های WireGuard در معرض دید قرار گرفت.
Firezone یک سرور Postgresql و تطبیق را بستهبندی میکند psql ابزاری که می تواند از پوسته محلی مانند زیر استفاده شود:
/opt/firezone/embedded/bin/psql \
-U firezone \
-d منطقه آتش \
-h لوکال هاست \
-p 15432 \
-c «SQL_STATEMENT»
این می تواند برای اهداف اشکال زدایی مفید باشد.
وظایف مشترک:
فهرست کردن همه کاربران:
/opt/firezone/embedded/bin/psql \
-U firezone \
-d منطقه آتش \
-h لوکال هاست \
-p 15432 \
-c "انتخاب * از کاربران؛"
لیست کردن همه دستگاه ها:
/opt/firezone/embedded/bin/psql \
-U firezone \
-d منطقه آتش \
-h لوکال هاست \
-p 15432 \
-c "انتخاب * از دستگاه ها؛"
تغییر نقش کاربر:
نقش را روی "مدیر" یا "بدون امتیاز" تنظیم کنید:
/opt/firezone/embedded/bin/psql \
-U firezone \
-d منطقه آتش \
-h لوکال هاست \
-p 15432 \
-c «بهروزرسانی نقش تعیینشده کاربران = «مدیر» WHERE ایمیل = «user@example.com»؛
پشتیبان گیری از دیتابیس:
علاوه بر این، برنامه pg dump نیز گنجانده شده است که ممکن است برای تهیه نسخه پشتیبان از پایگاه داده به طور منظم استفاده شود. کد زیر را برای ریختن یک کپی از پایگاه داده در قالب پرس و جو رایج SQL اجرا کنید (به جای /path/to/backup.sql محلی که فایل SQL باید در آن ایجاد شود):
/opt/firezone/embedded/bin/pg_dump \
-U firezone \
-d منطقه آتش \
-h لوکال هاست \
-p 15432 > /path/to/backup.sql
پس از استقرار Firezone با موفقیت، باید کاربرانی را اضافه کنید تا دسترسی آنها به شبکه خود را فراهم کنید. برای این کار از رابط کاربری وب استفاده می شود.
با انتخاب دکمه "افزودن کاربر" در زیر /users، می توانید یک کاربر اضافه کنید. شما باید آدرس ایمیل و رمز عبور را در اختیار کاربر قرار دهید. به منظور دسترسی خودکار به کاربران در سازمان شما، Firezone همچنین میتواند با ارائهدهنده هویت ارتباط برقرار کرده و همگامسازی کند. جزئیات بیشتر در دسترس است تصدیق. < یک پیوند به احراز هویت اضافه کنید
توصیه می کنیم از کاربران درخواست کنیم که تنظیمات دستگاه خود را ایجاد کنند تا کلید خصوصی فقط برای آنها قابل مشاهده باشد. کاربران می توانند پیکربندی دستگاه خود را با پیروی از دستورالعمل های موجود در آن ایجاد کنند دستورالعمل های مشتری صفحه
تمام تنظیمات دستگاه کاربر را می توان توسط ادمین های Firezone ایجاد کرد. در صفحه نمایه کاربر واقع در /users، گزینه "Add Device" را برای انجام این کار انتخاب کنید.
[درج اسکرین شات]
می توانید پس از ایجاد نمایه دستگاه، فایل پیکربندی WireGuard را برای کاربر ایمیل کنید.
کاربران و دستگاه ها پیوند داده شده اند. برای جزئیات بیشتر در مورد نحوه افزودن کاربر، رجوع کنید افزودن کاربران.
از طریق استفاده از سیستم فیلتر شبکه هسته، Firezone قابلیت فیلتر خروجی را برای تعیین بستههای DROP یا ACCEPT فعال میکند. همه ترددها معمولاً مجاز است.
IPv4 و IPv6 CIDR و آدرس های IP به ترتیب از طریق Allowlist و Denylist پشتیبانی می شوند. میتوانید هنگام اضافه کردن یک قانون، محدودهای را برای یک کاربر انتخاب کنید، که این قانون در همه دستگاههای آن کاربر اعمال میشود.
نصب و پیکربندی
برای ایجاد اتصال VPN با استفاده از مشتری WireGuard بومی، به این راهنما مراجعه کنید.
مشتریان رسمی WireGuard واقع در اینجا با Firezone سازگار هستند:
برای سیستم های سیستم عاملی که در بالا ذکر نشده است، از وب سایت رسمی WireGuard به آدرس https://www.wireguard.com/install/ دیدن کنید.
مدیر Firezone یا خودتان می توانید فایل پیکربندی دستگاه را با استفاده از پورتال Firezone ایجاد کنید.
برای ایجاد خود فایل پیکربندی دستگاه، از نشانی اینترنتی که سرپرست Firezone ارائه کرده است، بازدید کنید. شرکت شما یک URL منحصر به فرد برای این کار خواهد داشت. در این مورد، https://instance-id.yourfirezone.com است.
وارد Firezone Okta SSO شوید
[درج اسکرین شات]
فایل.conf را با باز کردن آن به کلاینت WireGuard وارد کنید. با چرخاندن سوئیچ فعال سازی، می توانید یک جلسه VPN را شروع کنید.
[درج اسکرین شات]
اگر سرپرست شبکه شما احراز هویت مکرر را برای فعال نگه داشتن اتصال VPN شما الزامی کرده است، دستورالعمل های زیر را دنبال کنید.
شما نیاز دارید:
URL پورتال Firezone: از سرپرست شبکه خود برای اتصال بخواهید.
مدیر شبکه شما باید بتواند لاگین و رمز عبور شما را ارائه دهد. سایت Firezone از شما می خواهد که با استفاده از سرویس ورود به سیستم واحدی که کارفرمای شما استفاده می کند (مانند Google یا Okta) وارد شوید.
[درج اسکرین شات]
به URL پورتال Firezone بروید و با استفاده از اعتبارنامههایی که سرپرست شبکه شما ارائه کرده است، وارد شوید. اگر قبلاً وارد سیستم شده اید، قبل از ورود مجدد، روی دکمه احراز هویت مجدد کلیک کنید.
[درج اسکرین شات]
[درج اسکرین شات]
برای وارد کردن نمایه پیکربندی WireGuard با استفاده از Network Manager CLI در دستگاههای لینوکس، این دستورالعملها (nmcli) را دنبال کنید.
اگر نمایه پشتیبانی IPv6 را فعال کرده باشد، تلاش برای وارد کردن فایل پیکربندی با استفاده از رابط کاربری گرافیکی مدیر شبکه ممکن است با خطای زیر شکست بخورد:
ipv6.method: روش "auto" برای WireGuard پشتیبانی نمی شود
نصب ابزارهای فضای کاربری WireGuard ضروری است. این بسته ای به نام wireguard یا wireguard-tools برای توزیع های لینوکس خواهد بود.
برای اوبونتو/دبیان:
sudo apt نصب وایرگارد
برای استفاده از فدورا:
sudo dnf نصب وایرگارد-ابزار
آرچ لینوکس:
sudo pacman -S wireguard-tools
برای توزیع هایی که در بالا ذکر نشده است، از وب سایت رسمی WireGuard به آدرس https://www.wireguard.com/install/ دیدن کنید.
مدیر Firezone یا خود تولید کننده شما می توانند فایل پیکربندی دستگاه را با استفاده از پورتال Firezone ایجاد کنند.
برای ایجاد خود فایل پیکربندی دستگاه، از نشانی اینترنتی که سرپرست Firezone ارائه کرده است، بازدید کنید. شرکت شما یک URL منحصر به فرد برای این کار خواهد داشت. در این مورد، https://instance-id.yourfirezone.com است.
[درج اسکرین شات]
فایل پیکربندی ارائه شده را با استفاده از nmcli وارد کنید:
اتصال sudo nmcli وارد کردن نوع فایل wireguard /path/to/configuration.conf
نام فایل پیکربندی با اتصال/رابط WireGuard مطابقت دارد. پس از وارد کردن، در صورت لزوم می توان نام اتصال را تغییر داد:
اتصال nmcli تغییر [نام قدیمی] connection.id [نام جدید]
از طریق خط فرمان به صورت زیر به VPN متصل شوید:
اتصال nmcli بالا [نام vpn]
برای قطع اتصال:
اتصال nmcli قطع شد [نام vpn]
در صورت استفاده از رابط کاربری گرافیکی، اپلت مدیر شبکه قابل اجرا نیز می تواند برای مدیریت اتصال استفاده شود.
با انتخاب "بله" برای گزینه اتصال خودکار، اتصال VPN را می توان برای اتصال خودکار پیکربندی کرد:
اتصال nmcli اتصال [نام VPN] را تغییر دهید. <<<<<<<<<<<<<<<<<<<<<<<
اتصال خودکار بله
برای غیرفعال کردن اتصال خودکار، آن را روی no برگردانید:
اتصال nmcli اتصال [نام VPN] را تغییر دهید.
شماره اتصال خودکار
برای فعال کردن MFA به صفحه /user account/register mfa پورتال Firezone بروید. از برنامه احراز هویت خود برای اسکن کردن کد QR پس از تولید استفاده کنید، سپس کد شش رقمی را وارد کنید.
اگر برنامه احراز هویت خود را به اشتباه جاگذاری کرده اید، با سرپرست خود تماس بگیرید تا اطلاعات دسترسی حساب خود را بازنشانی کنید.
این آموزش شما را در فرآیند راهاندازی قابلیت تقسیم تونل WireGuard با Firezone راهنمایی میکند تا فقط ترافیک به محدودههای IP خاص از طریق سرور VPN ارسال شود.
محدوده IP که مشتری برای آنها ترافیک شبکه را هدایت می کند در قسمت IP های مجاز واقع در صفحه /settings/default تنظیم شده است. فقط تنظیمات تونل WireGuard جدید ایجاد شده توسط Firezone تحت تأثیر تغییرات در این زمینه قرار خواهند گرفت.
[درج اسکرین شات]
مقدار پیش فرض 0.0.0.0/0، ::/0 است که تمام ترافیک شبکه را از مشتری به سرور VPN هدایت می کند.
نمونه هایی از مقادیر در این زمینه عبارتند از:
0.0.0.0/0، ::/0 - تمام ترافیک شبکه به سرور VPN هدایت می شود.
192.0.2.3/32 - فقط ترافیک به یک آدرس IP منفرد به سرور VPN هدایت می شود.
3.5.140.0/22 - فقط ترافیک به IPهای محدوده 3.5.140.1 - 3.5.143.254 به سرور VPN هدایت می شود. در این مثال، محدوده CIDR برای منطقه AWS ap-northeast-2 استفاده شد.
Firezone ابتدا رابط خروج مرتبط با دقیق ترین مسیر را هنگام تعیین محل مسیریابی یک بسته انتخاب می کند.
کاربران باید فایلهای پیکربندی را بازسازی کرده و به کلاینت اصلی WireGuard خود اضافه کنند تا دستگاههای کاربر موجود را با پیکربندی جدید تقسیم تونل بهروزرسانی کنند.
برای راهنمایی ها ، مراجعه کنید به افزودن دستگاه. <<<<<<<<<<< افزودن لینک
این راهنما نحوه اتصال دو دستگاه را با استفاده از Firezone به عنوان رله نشان می دهد. یکی از موارد استفاده معمولی این است که مدیر را قادر می سازد به سرور، ظرف یا ماشینی که توسط NAT یا فایروال محافظت می شود، دسترسی پیدا کند.
این تصویر یک سناریوی ساده را نشان می دهد که در آن دستگاه های A و B یک تونل می سازند.
[درج تصویر معماری منطقه آتش]
با ایجاد دستگاه A و دستگاه B با پیمایش به /users/[user_id]/new_device شروع کنید. در تنظیمات هر دستگاه، مطمئن شوید که پارامترهای زیر روی مقادیر ذکر شده در زیر تنظیم شده است. هنگام ایجاد پیکربندی دستگاه می توانید تنظیمات دستگاه را تنظیم کنید (به افزودن دستگاه ها مراجعه کنید). اگر نیاز به بهروزرسانی تنظیمات در دستگاه موجود دارید، میتوانید با ایجاد پیکربندی دستگاه جدید این کار را انجام دهید.
توجه داشته باشید که همه دستگاهها دارای یک صفحه /settings/defaults هستند که در آن PersistentKeepalive میتوان پیکربندی کرد.
AllowedIPs = 10.3.2.2/32
این IP یا محدوده IP های دستگاه B است
PersistentKeepalive = 25
اگر دستگاه پشت NAT باشد، این تضمین میکند که دستگاه میتواند تونل را زنده نگه دارد و به دریافت بستهها از رابط WireGuard ادامه دهد. معمولاً مقدار 25 کافی است، اما ممکن است لازم باشد بسته به محیط خود این مقدار را کاهش دهید.
AllowedIPs = 10.3.2.3/32
این IP یا محدوده IP های دستگاه A است
PersistentKeepalive = 25
این مثال وضعیتی را نشان می دهد که در آن دستگاه A می تواند با دستگاه های B تا D در هر دو جهت ارتباط برقرار کند. این تنظیمات می تواند نشان دهنده یک مهندس یا مدیر باشد که به منابع متعدد (سرورها، کانتینرها یا ماشین ها) در شبکه های مختلف دسترسی دارد.
[نمودار معماری]<<<<<<<<<<<<<<<<<<<<<<<<
مطمئن شوید که تنظیمات زیر در تنظیمات هر دستگاه با مقادیر مربوطه انجام شده است. هنگام ایجاد پیکربندی دستگاه، می توانید تنظیمات دستگاه را مشخص کنید (به افزودن دستگاه ها مراجعه کنید). اگر تنظیمات دستگاه موجود نیاز به به روز رسانی داشته باشد، می توان یک پیکربندی دستگاه جدید ایجاد کرد.
AllowedIPs = 10.3.2.3/32، 10.3.2.4/32، 10.3.2.5/32
این IP دستگاههای B تا D است. IP دستگاههای B تا D باید در هر محدوده IP که انتخاب میکنید گنجانده شود.
PersistentKeepalive = 25
این تضمین می کند که دستگاه می تواند تونل را حفظ کند و به دریافت بسته ها از رابط WireGuard ادامه دهد، حتی اگر توسط NAT محافظت شود. در بیشتر موارد، مقدار 25 کافی است، اما بسته به محیط اطراف خود، ممکن است لازم باشد این رقم را کاهش دهید.
برای ارائه یک IP خروجی ثابت و واحد برای خروج تمام ترافیک تیم شما، Firezone می تواند به عنوان یک دروازه NAT استفاده شود. این شرایط شامل استفاده مکرر از آن است:
تعاملات مشاوره: از مشتری خود بخواهید که یک آدرس IP ثابت را به جای IP دستگاه منحصر به فرد هر کارمند در لیست سفید قرار دهد.
استفاده از پروکسی یا پوشاندن IP منبع خود برای اهداف امنیتی یا حفظ حریم خصوصی.
یک مثال ساده از محدود کردن دسترسی به یک برنامه وب خود میزبان به یک IP استاتیک در لیست سفید که Firezone را اجرا می کند در این پست نشان داده خواهد شد. در این تصویر، Firezone و منبع محافظت شده در مناطق مختلف VPC قرار دارند.
این راه حل اغلب به جای مدیریت لیست سفید IP برای کاربران نهایی متعدد استفاده می شود که با گسترش لیست دسترسی می تواند زمان بر باشد.
هدف ما راه اندازی یک سرور Firezone در یک نمونه EC2 برای هدایت ترافیک VPN به منبع محدود است. در این مثال، Firezone به عنوان یک پروکسی شبکه یا دروازه NAT عمل می کند تا به هر دستگاه متصل یک IP خروج عمومی منحصر به فرد بدهد.
در این مورد، یک نمونه EC2 با نام tc2.micro یک نمونه Firezone روی آن نصب شده است. برای اطلاعات در مورد استقرار Firezone، به راهنمای استقرار بروید. در رابطه با AWS، مطمئن شوید:
گروه امنیتی نمونه Firezone EC2 به ترافیک خروجی به آدرس IP منبع محافظت شده اجازه می دهد.
نمونه Firezone با IP الاستیک ارائه می شود. ترافیکی که از طریق نمونه Firezone به مقصدهای خارجی ارسال می شود، این آدرس IP منبع آن است. آدرس IP مورد نظر 52.202.88.54 است.
[درج اسکرین شات]<<<<<<<<<<<<<<<<<<<<<<<<
یک برنامه وب خود میزبانی شده به عنوان منبع محافظت شده در این مورد عمل می کند. برنامه وب فقط با درخواست هایی که از آدرس IP 52.202.88.54 می آیند قابل دسترسی است. بسته به منبع، ممکن است لازم باشد ترافیک ورودی در پورت ها و انواع ترافیک مختلف مجاز باشد. در این راهنما به این موضوع پرداخته نشده است.
[درج اسکرین شات]<<<<<<<<<<<<<<<<<<<<<<<<
لطفاً به شخص ثالث مسئول منبع محافظت شده بگویید که ترافیک از IP ثابت تعریف شده در مرحله 1 باید مجاز باشد (در این مورد 52.202.88.54).
به طور پیش فرض، تمام ترافیک کاربر از طریق سرور VPN می گذرد و از IP ثابتی که در مرحله 1 پیکربندی شده است (در این مورد 52.202.88.54) می آید. با این حال، اگر تقسیم تونل فعال شده باشد، ممکن است تنظیمات لازم باشد تا مطمئن شوید IP مقصد منبع محافظت شده در بین IP های مجاز فهرست شده است.
در زیر لیست کاملی از گزینه های پیکربندی موجود در آن نشان داده شده است /etc/firezone/firezone.rb.
انتخاب | شرح | مقدار پیش فرض |
پیشفرض['firezone']['external_url'] | URL مورد استفاده برای دسترسی به پورتال وب این نمونه Firezone. | «https://#{node['fqdn'] || node['hostname']}” |
پیشفرض['firezone']['config_directory'] | دایرکتوری سطح بالا برای پیکربندی Firezone. | /etc/firezone' |
پیشفرض['firezone']['install_directory'] | دایرکتوری سطح بالا برای نصب Firezone. | /opt/firezone' |
پیشفرض['firezone']['app_directory'] | دایرکتوری سطح بالا برای نصب برنامه وب Firezone. | "#{node['firezone']['install_directory']}/embedded/service/firezone" |
پیشفرض['firezone']['log_directory'] | دایرکتوری سطح بالا برای لاگ های Firezone. | /var/log/firezone' |
پیشفرض['firezone']['var_directory'] | دایرکتوری سطح بالا برای فایل های زمان اجرا Firezone. | /var/opt/firezone' |
پیشفرض['firezone']['user'] | نام کاربر غیرمجاز لینوکس که اکثر سرویسها و فایلها به آن تعلق دارند. | منطقه آتش |
پیشفرض['firezone']['group'] | نام گروه لینوکس که اکثر سرویس ها و فایل ها به آن تعلق دارند. | منطقه آتش |
پیشفرض['firezone']['admin_email'] | آدرس ایمیل کاربر اولیه Firezone. | "firezone@localhost" |
پیشفرض['firezone']['max_devices_per_user'] | حداکثر تعداد دستگاه هایی که یک کاربر می تواند داشته باشد. | 10 |
پیشفرض['firezone']['allow_unprivileged_device_management'] | به کاربران غیر سرپرست امکان ایجاد و حذف دستگاهها را میدهد. | TRUE |
پیشفرض['firezone']['allow_unprivileged_device_configuration'] | به کاربران غیر سرپرست اجازه می دهد تا تنظیمات دستگاه را تغییر دهند. وقتی غیرفعال است، از تغییر همه فیلدهای دستگاه به جز نام و توضیحات توسط کاربران غیرمجاز جلوگیری میکند. | TRUE |
پیشفرض['firezone']['egress_interface'] | نام رابطی که ترافیک تونلشده از آن خارج میشود. اگر صفر باشد، از رابط مسیر پیش فرض استفاده خواهد شد. | صفر |
پیشفرض['firezone']['fips_enabled'] | حالت OpenSSL FIPs را فعال یا غیرفعال کنید. | صفر |
پیشفرض['firezone']['logging']['enabled'] | ورود به سیستم در Firezone را فعال یا غیرفعال کنید. برای غیرفعال کردن کامل ورود به سیستم، روی false تنظیم کنید. | TRUE |
پیشفرض['سازمان']['نام'] | نام مورد استفاده در کتاب آشپزی سرآشپز «تجاری». | منطقه آتش |
پیشفرض['firezone']['install_path'] | مسیر نصب مورد استفاده توسط آشپز «تجاری» آشپز. باید روی همان install_directory بالا تنظیم شود. | node['firezone']['install_directory'] |
پیشفرض['firezone']['sysvinit_id'] | شناسه ای که در /etc/inittab استفاده می شود. باید یک دنباله منحصر به فرد از 1-4 کاراکتر باشد. | SUP' |
پیشفرض['firezone']['authentication']['local']['enabled'] | احراز هویت محلی ایمیل/رمز عبور را فعال یا غیرفعال کنید. | TRUE |
پیشفرض['firezone']['authentication']['auto_create_oidc_users'] | ایجاد خودکار کاربرانی که برای اولین بار از OIDC وارد می شوند. غیرفعال کنید تا فقط کاربران موجود بتوانند از طریق OIDC وارد شوند. | TRUE |
پیشفرض['firezone']['Authentication']['disable_vpn_on_oidc_error'] | اگر در تلاش برای بازخوانی رمز OIDC کاربر، خطایی شناسایی شد، VPN کاربر را غیرفعال کنید. | نادرست |
پیشفرض['firezone']['Authentication']['oidc'] | پیکربندی OpenID Connect، در قالب {“provider” => [config…]} – ببینید اسناد OpenIDConnect برای نمونه های پیکربندی | {} |
پیشفرض['firezone']['nginx']['enabled'] | سرور nginx همراه را فعال یا غیرفعال کنید. | TRUE |
پیشفرض['firezone']['nginx']['ssl_port'] | پورت گوش دادن HTTPS | 443 |
پیشفرض['firezone']['nginx']['directory'] | دایرکتوری برای ذخیره پیکربندی میزبان مجازی nginx مربوط به Firezone. | "#{node['firezone']['var_directory']}/nginx/etc" |
پیشفرض['firezone']['nginx']['log_directory'] | دایرکتوری برای ذخیره فایل های لاگ nginx مربوط به Firezone. | «#{node['firezone']['log_directory']}/nginx» |
پیشفرض['firezone']['nginx']['log_rotation']['file_maxbytes'] | اندازه فایل که در آن می توان فایل های گزارش Nginx را چرخاند. | 104857600 |
پیشفرض['firezone']['nginx']['log_rotation']['num_to_keep'] | تعداد فایلهای لاگ Firezone nginx که باید قبل از دور انداختن نگهداری شوند. | 10 |
پیشفرض['firezone']['nginx']['log_x_forwarded_for'] | آیا برای ورود به سیستم Firezone nginx x-forwarded-for header. | TRUE |
پیشفرض['firezone']['nginx']['hsts_header']['enabled'] | TRUE | |
پیشفرض['firezone']['nginx']['hsts_header']['include_subdomains'] | برای سربرگ HSTS includeSubDomains را فعال یا غیرفعال کنید. | TRUE |
پیشفرض['firezone']['nginx']['hsts_header']['max_age'] | حداکثر سن برای هدر HSTS. | 31536000 |
پیشفرض['firezone']['nginx']['redirect_to_canonical'] | آیا برای تغییر مسیر URLها به FQDN متعارف مشخص شده در بالا | نادرست |
پیشفرض['firezone']['nginx']['cache']['enabled'] | کش Firezone nginx را فعال یا غیرفعال کنید. | نادرست |
پیشفرض['firezone']['nginx']['cache']['directory'] | دایرکتوری برای کش Firezone nginx. | "#{node['firezone']['var_directory']}/nginx/cache" |
پیشفرض['firezone']['nginx']['user'] | کاربر Firezone nginx. | گره['firezone']['user'] |
پیشفرض['firezone']['nginx']['group'] | گروه Firezone nginx. | گره['firezone']['group'] |
پیشفرض['firezone']['nginx']['dir'] | دایرکتوری پیکربندی سطح بالا nginx. | گره['firezone']['nginx']['directory'] |
پیشفرض['firezone']['nginx']['log_dir'] | دایرکتوری لاگ سطح بالای nginx. | node['firezone']['nginx']['log_directory'] |
پیشفرض['firezone']['nginx']['pid'] | مکان فایل nginx pid. | "#{node['firezone']['nginx']['directory']}/nginx.pid" |
پیشفرض['firezone']['nginx']['daemon_disable'] | حالت nginx daemon را غیرفعال کنید تا در عوض بتوانیم آن را نظارت کنیم. | TRUE |
پیشفرض['firezone']['nginx']['gzip'] | فشرده سازی nginx gzip را روشن یا خاموش کنید. | بر' |
پیشفرض['firezone']['nginx']['gzip_static'] | فشرده سازی nginx gzip را برای فایل های استاتیک روشن یا خاموش کنید. | خاموش |
پیشفرض['firezone']['nginx']['gzip_http_version'] | نسخه HTTP برای استفاده برای ارائه فایل های استاتیک. | 1.0، |
پیشفرض['firezone']['nginx']['gzip_comp_level'] | سطح فشرده سازی nginx gzip. | 2، |
پیشفرض['firezone']['nginx']['gzip_proxied'] | بسته به درخواست و پاسخ، gzipping پاسخ ها را برای درخواست های پروکسی فعال یا غیرفعال می کند. | هر" |
پیشفرض['firezone']['nginx']['gzip_vary'] | درج سرصفحه پاسخ "Vary: Accept-Encoding" را فعال یا غیرفعال می کند. | خاموش |
پیشفرض['firezone']['nginx']['gzip_buffers'] | تعداد و اندازه بافرهای مورد استفاده برای فشرده سازی پاسخ را تنظیم می کند. در صورت صفر، از nginx پیش فرض استفاده می شود. | صفر |
پیشفرض['firezone']['nginx']['gzip_types'] | انواع MIME برای فعال کردن فشرده سازی gzip برای. | ['text/plain', 'text/css', 'application/x-javascript', 'text/xml', 'application/xml', 'application/rss+xml', 'application/atom+xml', ' text/javascript', 'application/javascript', 'application/json'] |
پیشفرض['firezone']['nginx']['gzip_min_length'] | حداقل طول فایل برای فعال کردن فشرده سازی فایل gzip برای. | 1000 |
پیشفرض['firezone']['nginx']['gzip_disable'] | تطبیق عامل کاربر برای غیرفعال کردن فشرده سازی gzip برای. | MSIE [1-6]\.' |
پیشفرض['firezone']['nginx']['keepalive'] | حافظه پنهان را برای اتصال به سرورهای بالادست فعال می کند. | بر' |
پیشفرض['firezone']['nginx']['keepalive_timeout'] | مهلت در ثانیه برای اتصال نگهدارنده به سرورهای بالادست. | 65 |
پیشفرض['firezone']['nginx']['worker_processes'] | تعداد فرآیندهای nginx worker. | گره['cpu'] && node['cpu']['total'] ? node['cpu']['total'] : 1 |
پیشفرض['firezone']['nginx']['worker_connections'] | حداکثر تعداد اتصالات همزمان قابل باز شدن توسط یک فرآیند کارگر. | 1024 |
پیشفرض['firezone']['nginx']['worker_rlimit_nofile'] | محدودیت حداکثر تعداد فایل های باز برای فرآیندهای کارگر را تغییر می دهد. از nginx پیش فرض در صورت صفر استفاده می کند. | صفر |
پیشفرض['firezone']['nginx']['multi_accept'] | آیا کارگران باید یک اتصال را در یک زمان بپذیرند یا چندین. | TRUE |
پیشفرض['firezone']['nginx']['رویداد'] | روش پردازش اتصال را برای استفاده در زمینه رویدادهای nginx مشخص می کند. | epoll' |
پیشفرض['firezone']['nginx']['server_tokens'] | انتشار نسخه nginx را در صفحات خطا و در قسمت سرصفحه پاسخ "سرور" فعال یا غیرفعال می کند. | صفر |
پیشفرض['firezone']['nginx']['server_names_hash_bucket_size'] | اندازه سطل را برای جداول هش نام سرور تنظیم می کند. | 64 |
پیشفرض['firezone']['nginx']['sendfile'] | استفاده از sendfile() nginx را فعال یا غیرفعال می کند. | بر' |
پیشفرض['firezone']['nginx']['access_log_options'] | گزینه های گزارش دسترسی nginx را تنظیم می کند. | صفر |
پیشفرض['firezone']['nginx']['error_log_options'] | گزینه های ثبت خطای nginx را تنظیم می کند. | صفر |
پیشفرض['firezone']['nginx']['disable_access_log'] | گزارش دسترسی nginx را غیرفعال می کند. | نادرست |
پیشفرض['firezone']['nginx']['types_hash_max_size'] | nginx انواع هش حداکثر اندازه. | 2048 |
پیشفرض['firezone']['nginx']['types_hash_bucket_size'] | nginx نوع سطل هش اندازه. | 64 |
پیشفرض['firezone']['nginx']['proxy_read_timeout'] | مهلت زمانی خواندن پروکسی nginx برای استفاده از nginx پیش فرض روی صفر تنظیم کنید. | صفر |
پیشفرض['firezone']['nginx']['client_body_buffer_size'] | اندازه بافر بدن مشتری nginx. برای استفاده از nginx پیش فرض روی صفر تنظیم کنید. | صفر |
پیشفرض['firezone']['nginx']['client_max_body_size'] | حداکثر اندازه بدن مشتری nginx. | 250 متر |
پیشفرض['firezone']['nginx']['default']['modules'] | ماژول های اضافی nginx را مشخص کنید. | [] |
پیشفرض['firezone']['nginx']['enable_rate_limiting'] | محدود کردن نرخ nginx را فعال یا غیرفعال کنید. | TRUE |
پیشفرض['firezone']['nginx']['rate_limiting_zone_name'] | نام منطقه محدود کننده نرخ Nginx. | منطقه آتش |
پیشفرض['firezone']['nginx']['rate_limiting_backoff'] | عقب نشینی محدود کننده نرخ Nginx. | 10 متر |
پیشفرض['firezone']['nginx']['rate_limit'] | محدودیت نرخ Nginx. | 10r/s' |
پیشفرض['firezone']['nginx']['ipv6'] | به nginx اجازه دهید علاوه بر IPv6 به درخواست های HTTP برای IPv4 نیز گوش دهد. | TRUE |
پیشفرض['firezone']['postgresql']['enabled'] | Postgresql همراه را فعال یا غیرفعال کنید. false را تنظیم کنید و گزینه های پایگاه داده زیر را برای استفاده از نمونه Postgresql خود پر کنید. | TRUE |
پیشفرض['firezone']['postgresql']['username'] | نام کاربری برای Postgresql. | گره['firezone']['user'] |
پیشفرض['firezone']['postgresql']['data_directory'] | فهرست اطلاعات Postgresql. | «#{node['firezone']['var_directory']}/postgresql/13.3/data» |
پیشفرض['firezone']['postgresql']['log_directory'] | فهرست ورود Postgresql. | «#{node['firezone']['log_directory']}/postgresql» |
پیشفرض['firezone']['postgresql']['log_rotation']['file_maxbytes'] | حداکثر اندازه فایل لاگ Postgresql قبل از چرخش. | 104857600 |
پیشفرض['firezone']['postgresql']['log_rotation']['num_to_keep'] | تعداد فایل های گزارش Postgresql برای نگهداری. | 10 |
پیشفرض['firezone']['postgresql']['checkpoint_completion_target'] | هدف تکمیل پست بازرسی Postgresql. | 0.5 |
پیشفرض['firezone']['postgresql']['checkpoint_segments'] | تعداد بخش های پست بازرسی Postgresql. | 3 |
پیشفرض['firezone']['postgresql']['checkpoint_timeout'] | اتمام زمان بازرسی Postgresql. | 5 دقیقه' |
پیشفرض['firezone']['postgresql']['checkpoint_warning'] | زمان هشدار پست بازرسی Postgresql در چند ثانیه. | دهه 30 |
پیشفرض['firezone']['postgresql']['effective_cache_size'] | اندازه کش موثر Postgresql. | 128 مگابایت |
پیشفرض['firezone']['postgresql']['listen_address'] | آدرس گوش دادن Postgresql. | 127.0.0.1، |
پیشفرض['firezone']['postgresql']['max_connections'] | حداکثر اتصالات Postgresql. | 350 |
پیشفرض['firezone']['postgresql']['md5_auth_cidr_addresses'] | CIDR های Postgresql برای اجازه دادن به md5 auth. | ['127.0.0.1/32'، '::1/128'] |
پیشفرض['firezone']['postgresql']['port'] | پورت گوش دادن Postgresql | 15432 |
پیشفرض['firezone']['postgresql']['shared_buffers'] | اندازه بافرهای مشترک Postgresql. | «#{(node['memory']['total'].to_i / 4) / 1024}MB» |
پیشفرض['firezone']['postgresql']['shmax'] | Postgresql shmmax در بایت. | 17179869184 |
پیشفرض['firezone']['postgresql']['shmall'] | Postgresql shmall در بایت. | 4194304 |
پیشفرض['firezone']['postgresql']['work_mem'] | اندازه حافظه کاری Postgresql. | 8 مگابایت |
پیشفرض['firezone']['database']['user'] | نام کاربری که Firezone برای اتصال به DB استفاده می کند را مشخص می کند. | node['firezone']['postgresql']['username'] |
پیشفرض['firezone']['database']['password'] | اگر از یک DB خارجی استفاده می کنید، رمز عبور Firezone را برای اتصال به DB مشخص می کند. | change_me' |
پیشفرض['firezone']['پایگاه داده']['نام'] | پایگاه داده ای که Firezone از آن استفاده خواهد کرد. در صورت عدم وجود ایجاد خواهد شد. | منطقه آتش |
پیشفرض['firezone']['database']['host'] | میزبان پایگاه داده ای که Firezone به آن متصل می شود. | node['firezone']['postgresql']['listen_address'] |
پیشفرض['firezone']['database']['port'] | پورت پایگاه داده ای که Firezone به آن متصل می شود. | node['firezone']['postgresql']['port'] |
پیشفرض['firezone']['database']['pool'] | اندازه استخر پایگاه داده Firezone استفاده خواهد کرد. | [10، و غیره.nپردازنده]. حداکثر |
پیشفرض['firezone']['پایگاه داده']['ssl'] | اینکه آیا برای اتصال به پایگاه داده از طریق SSL. | نادرست |
پیشفرض['firezone']['database']['ssl_opts'] | {} | |
پیشفرض['firezone']['پایگاه داده']['پارامترها'] | {} | |
پیشفرض['firezone']['database']['extensions'] | پسوندهای پایگاه داده برای فعال کردن. | { 'plpgsql' => true, 'pg_trgm' => true} |
پیشفرض['firezone']['phoenix']['enabled'] | برنامه وب Firezone را فعال یا غیرفعال کنید. | TRUE |
پیشفرض['firezone']['phoenix']['listen_address'] | آدرس گوش دادن به برنامه وب Firezone. این آدرس بالادستی گوش است که nginx پروکسی می کند. | 127.0.0.1، |
پیشفرض['firezone']['phoenix']['port'] | پورت گوش دادن برنامه تحت وب Firezone. این پورت بالادستی خواهد بود که nginx پروکسی می کند. | 13000 |
پیشفرض['firezone']['phoenix']['log_directory'] | دایرکتوری لاگ برنامه وب Firezone. | «#{node['firezone']['log_directory']}/phoenix» |
پیشفرض['firezone']['phoenix']['log_rotation']['file_maxbytes'] | اندازه فایل لاگ برنامه وب Firezone. | 104857600 |
پیشفرض['firezone']['phoenix']['log_rotation']['num_to_keep'] | تعداد فایل های لاگ برنامه وب Firezone برای نگهداری. | 10 |
پیشفرض['firezone']['phoenix']['crash_detection']['enabled'] | فعال یا غیرفعال کردن پایین آوردن برنامه وب Firezone هنگام شناسایی خرابی. | TRUE |
پیشفرض['firezone']['phoenix']['external_trusted_proxies'] | فهرست پراکسیهای معکوس قابل اعتماد که بهعنوان آرایهای از IP و/یا CIDR قالببندی شدهاند. | [] |
پیشفرض['firezone']['phoenix']['private_clients'] | فهرست سرویس گیرندگان شبکه خصوصی HTTP، آرایه ای از IP و/یا CIDR را قالب بندی کرده است. | [] |
پیشفرض['firezone']['wireguard']['enabled'] | مدیریت WireGuard همراه را فعال یا غیرفعال کنید. | TRUE |
پیشفرض['firezone']['wireguard']['log_directory'] | دایرکتوری ورود به سیستم برای مدیریت WireGuard همراه. | «#{node['firezone']['log_directory']}/wireguard» |
پیشفرض['firezone']['wireguard']['log_rotation']['file_maxbytes'] | حداکثر اندازه فایل لاگ WireGuard. | 104857600 |
پیشفرض['firezone']['wireguard']['log_rotation']['num_to_keep'] | تعداد فایلهای لاگ WireGuard برای نگهداری. | 10 |
پیشفرض['firezone']['wireguard']['interface_name'] | نام رابط WireGuard. تغییر این پارامتر ممکن است باعث از بین رفتن موقت اتصال VPN شود. | wg-firezone' |
پیشفرض['firezone']['wireguard']['port'] | پورت گوش WireGuard | 51820 |
پیشفرض['firezone']['wireguard']['mtu'] | رابط WireGuard MTU برای این سرور و برای پیکربندی دستگاه. | 1280 |
پیشفرض['firezone']['wireguard']['endpoint'] | WireGuard Endpoint برای استفاده برای ایجاد تنظیمات دستگاه. اگر صفر باشد، به طور پیش فرض روی آدرس IP عمومی سرور است. | صفر |
پیشفرض['firezone']['wireguard']['dns'] | WireGuard DNS برای استفاده برای تنظیمات دستگاه تولید شده. | 1.1.1.1، 1.0.0.1′ |
پیشفرض['firezone']['wireguard']['allowed_ips'] | WireGuard AllowedIPs برای استفاده برای تنظیمات دستگاه تولید شده. | 0.0.0.0/0، ::/0′ |
پیشفرض['firezone']['wireguard']['persistent_keepalive'] | تنظیم پیشفرض PersistentKeepalive برای پیکربندیهای دستگاه تولید شده. مقدار 0 غیرفعال می شود. | 0 |
پیشفرض['firezone']['wireguard']['ipv4']['enabled'] | IPv4 را برای شبکه WireGuard فعال یا غیرفعال کنید. | TRUE |
پیشفرض['firezone']['wireguard']['ipv4']['masquerade'] | بالماسکه را برای بسته هایی که از تونل IPv4 خارج می شوند، فعال یا غیرفعال کنید. | TRUE |
پیشفرض['firezone']['wireguard']['ipv4']['network'] | مخزن آدرس IPv4 شبکه WireGuard. | 10.3.2.0 / 24 ′ |
پیشفرض['firezone']['wireguard']['ipv4']['address'] | آدرس IPv4 رابط WireGuard. باید در مجموعه آدرس WireGuard باشد. | 10.3.2.1، |
پیشفرض['firezone']['wireguard']['ipv6']['enabled'] | IPv6 را برای شبکه WireGuard فعال یا غیرفعال کنید. | TRUE |
پیشفرض['firezone']['wireguard']['ipv6']['masquerade'] | بالماسکه را برای بسته هایی که از تونل IPv6 خارج می شوند، فعال یا غیرفعال کنید. | TRUE |
پیشفرض['firezone']['wireguard']['ipv6']['network'] | مخزن آدرس IPv6 شبکه WireGuard. | fd00::3:2:0/120′ |
پیشفرض['firezone']['wireguard']['ipv6']['address'] | آدرس IPv6 رابط WireGuard. باید در مجموعه آدرس IPv6 باشد. | fd00::3:2:1′ |
پیشفرض['firezone']['runit']['svlogd_bin'] | مکان svlogd bin را اجرا کنید. | «#{node['firezone']['install_directory']}/embedded/bin/svlogd» |
پیشفرض['firezone']['ssl']['directory'] | دایرکتوری SSL برای ذخیره گواهی های تولید شده. | /var/opt/firezone/ssl' |
پیشفرض['firezone']['ssl']['email_address'] | آدرس ایمیل برای استفاده از گواهینامه های خودامضا و اعلامیه های تمدید پروتکل ACME. | you@example.com' |
پیشفرض ['firezone']['ssl']['acme']['enabled'] | ACME را برای ارائه خودکار گواهی SSL فعال کنید. برای جلوگیری از گوش دادن Nginx به پورت 80، این را غیرفعال کنید اینجا کلیک نمایید برای دستورالعمل های بیشتر | نادرست |
پیشفرض['firezone']['ssl']['acme']['server'] | سرور ACME برای استفاده برای صدور/تجدید گواهی. می تواند هر سرور acme.sh معتبر | اجازه رمزگذاری |
پیشفرض['firezone']['ssl']['acme']['keyength'] | نوع کلید و طول گواهینامه های SSL را مشخص کنید. دیدن اینجا کلیک نمایید | ec-256 |
پیشفرض['firezone']['ssl']['certificate'] | مسیر فایل گواهی برای FQDN شما. در صورت مشخص شدن، تنظیم ACME بالا را لغو می کند. اگر هر دو ACME و این صفر باشند، یک گواهی خودامضا ایجاد خواهد شد. | صفر |
پیشفرض['firezone']['ssl']['certificate_key'] | مسیر فایل گواهی. | صفر |
پیشفرض['firezone']['ssl']['ssl_dhparam'] | nginx ssl dh_param. | صفر |
پیشفرض['firezone']['ssl']['country_name'] | نام کشور برای گواهی خودامضا. | ایالات متحده |
پیشفرض['firezone']['ssl']['state_name'] | نام ایالتی برای گواهی خودامضا. | کالیفرنیا |
پیشفرض['firezone']['ssl']['locality_name'] | نام محل برای گواهی خودامضا. | سانفرانسیسکو' |
پیشفرض['firezone']['ssl']['company_name'] | نام شرکت گواهی خود امضا شده. | شرکت من' |
پیشفرض['firezone']['ssl']['organizational_unit_name'] | نام واحد سازمانی برای گواهی خودامضا. | عملیات |
پیشفرض['firezone']['ssl']['ciphers'] | رمزهای SSL برای استفاده از nginx. | ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA’ |
پیشفرض['firezone']['ssl']['fips_ciphers'] | رمزهای SSL برای حالت FIP. | FIPS@STRENGTH:!aNULL:!eNULL' |
پیشفرض['firezone']['ssl']['protocols'] | پروتکل های TLS برای استفاده | TLSv1 TLSv1.1 TLSv1.2′ |
پیشفرض['firezone']['ssl']['session_cache'] | کش جلسه SSL. | اشتراک گذاری شده:SSL:4m' |
پیشفرض['firezone']['ssl']['session_timeout'] | پایان جلسه SSL. | 5 متر |
پیشفرض['firezone']['robots_allow'] | روبات های nginx اجازه می دهند. | /' |
پیشفرض['firezone']['robots_disallow'] | روبات های nginx اجازه نمی دهند. | صفر |
پیشفرض['firezone']['outbound_email']['from'] | ایمیل خروجی از آدرس. | صفر |
پیشفرض['firezone']['outbound_email']['provider'] | ارائه دهنده خدمات ایمیل خروجی | صفر |
پیشفرض['firezone']['outbound_email']['configs'] | تنظیمات ارائه دهنده ایمیل خروجی | به omnibus/cookbooks/firezone/attributes/default.rb مراجعه کنید |
پیشفرض['firezone']['telemetry']['enabled'] | تله متری محصول ناشناس را فعال یا غیرفعال کنید. | TRUE |
پیشفرض['firezone']['connectivity_checks']['enabled'] | سرویس بررسی اتصال Firezone را فعال یا غیرفعال کنید. | TRUE |
پیشفرض['firezone']['connectivity_checks']['interval'] | فاصله بین بررسی های اتصال در ثانیه. | 3_600 |
________________________________________________________________
در اینجا فهرستی از فایل ها و دایرکتوری های مربوط به نصب معمولی Firezone را خواهید دید. این ممکن است بسته به تغییرات فایل پیکربندی شما تغییر کند.
مسیر | شرح |
/var/opt/firezone | فهرست راهنمای سطح بالا حاوی داده ها و پیکربندی تولید شده برای سرویس های همراه Firezone. |
/opt/firezone | دایرکتوری سطح بالا حاوی کتابخانه های ساخته شده، باینری ها و فایل های زمان اجرا مورد نیاز Firezone. |
/usr/bin/firezone-ctl | ابزار firezone-ctl برای مدیریت نصب Firezone شما. |
/etc/systemd/system/firezone-runsvdir-start.service | فایل واحد systemd برای شروع فرآیند Firezone runsvdir supervisor. |
/etc/firezone | فایل های پیکربندی Firezone. |
__________________________________________________________
این صفحه در اسناد خالی بود
_____________________________________________________________
از الگوی فایروال nftables زیر می توان برای ایمن سازی سرور در حال اجرا Firezone استفاده کرد. الگو برخی از مفروضات را ایجاد می کند. ممکن است لازم باشد قوانین را متناسب با مورد استفاده خود تنظیم کنید:
Firezone قوانین nftables خود را برای اجازه/رد کردن ترافیک به مقصدهای پیکربندی شده در رابط وب و مدیریت NAT خروجی برای ترافیک مشتری پیکربندی می کند.
اعمال الگوی فایروال زیر بر روی سروری که از قبل در حال اجرا است (نه در زمان راهاندازی) منجر به پاک شدن قوانین Firezone میشود. این ممکن است پیامدهای امنیتی داشته باشد.
برای حل این مشکل، سرویس فونیکس را مجددا راه اندازی کنید:
firezone-ctl ریستارت فونیکس
#!/usr/sbin/nft -f
## همه قوانین موجود را پاک/ترک کنید
مجموعه قوانین فلاش
################################ متغیرها ################## ###############
## نام رابط اینترنت/WAN
DEV_WAN = eth0 را تعریف کنید
## نام رابط WireGuard
DEV_WIREGUARD = wg-firezone را تعریف کنید
## پورت گوش WireGuard
WIREGUARD_PORT = را تعریف کنید 51820
############################## پایان متغیرها ################### ############
# جدول اصلی فیلتر خانواده inet
فیلتر inet جدول {
# قوانین برای ترافیک ارسال شده
# این زنجیره قبل از زنجیره جلویی Firezone پردازش می شود
زنجیر جلو {
فیلتر اولویت قلاب فیلتر را تایپ کنید – 5; سیاست قبول
}
# قوانین برای ترافیک ورودی
ورودی زنجیره {
فیلتر اولویت ورودی قلاب فیلتر را تایپ کنید. سقوط سیاست
## اجازه ترافیک ورودی به رابط Loopback را بدهید
اگر آره \
تایید کنید \
توضیح "اجازه ورود همه ترافیک از رابط حلقه بک"
## مجوز ایجاد و ارتباطات مرتبط
وضعیت ct ایجاد شد، مرتبط \
تایید کنید \
توضیح "اجازه ایجاد/ارتباطات مرتبط"
## به ترافیک ورودی WireGuard اجازه دهید
اگر $DEV_WAN udp dport WIREGUARD_PORT $ \
پیشخوان \
تایید کنید \
توضیح "اجازه ترافیک ورودی WireGuard"
## بسته های جدید TCP غیر SYN را ثبت و رها کنید
پرچم های tcp != همگام سازی حالت جدید \
نرخ محدود 100/دقیقه انفجار 150 بسته ها \
پیشوند ورود به سیستم "IN - جدید !SYN:" \
توضیح " ثبت محدودیت نرخ برای اتصالات جدید که پرچم SYN TCP تنظیم نشده است"
پرچم های tcp != همگام سازی حالت جدید \
پیشخوان \
رها کردن \
توضیح "اتصالات جدیدی را که پرچم SYN TCP تنظیم نشده است رها کنید"
## بسته های TCP را با مجموعه پرچم fin/syn نامعتبر ثبت و رها کنید
پرچم های tcp & (fin|syn) == (fin|syn) \
نرخ محدود 100/دقیقه انفجار 150 بسته ها \
پیشوند ورود به سیستم "IN – TCP FIN|SIN:" \
توضیح ثبت محدودیت نرخ برای بستههای TCP با مجموعه پرچم fin/syn نامعتبر
پرچم های tcp & (fin|syn) == (fin|syn) \
پیشخوان \
رها کردن \
توضیح «بستههای TCP با مجموعه پرچم fin/syn نامعتبر را رها کنید»
## بسته های TCP را با مجموعه پرچم همگام/رست نامعتبر ثبت و رها کنید
پرچم های tcp & (syn|rst) == (syn|rst) \
نرخ محدود 100/دقیقه انفجار 150 بسته ها \
پیشوند ورود به سیستم "IN – TCP SYN|RST:" \
توضیح « ثبت محدودیت نرخ برای بستههای TCP با مجموعه پرچم همگام / اولین نامعتبر»
پرچم های tcp & (syn|rst) == (syn|rst) \
پیشخوان \
رها کردن \
توضیح «بستههای TCP با مجموعه پرچم همگام/رست نامعتبر را رها کنید»
## ورود و رها کردن پرچم های TCP نامعتبر
پرچم های tcp & (fin|syn|rst|psh|ack|urg) < (fin) \
نرخ محدود 100/دقیقه انفجار 150 بسته ها \
پیشوند ورود به سیستم "IN - FIN:" \
توضیح « ثبت محدودیت نرخ برای پرچمهای TCP نامعتبر (fin|syn|rst|psh|ack|urg) < (fin)»
پرچم های tcp & (fin|syn|rst|psh|ack|urg) < (fin) \
پیشخوان \
رها کردن \
توضیح «بستههای TCP را با پرچمها رها کنید (fin|syn|rst|psh|ack|urg) < (fin)»
## ورود و رها کردن پرچم های TCP نامعتبر
پرچم های tcp & (fin|syn|rst|psh|ack|urg) == (fin|psh|urg) \
نرخ محدود 100/دقیقه انفجار 150 بسته ها \
پیشوند ورود به سیستم "IN – FIN|PSH|URG:" \
توضیح ثبت محدودیت نرخ برای پرچمهای TCP نامعتبر (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)»
پرچم های tcp & (fin|syn|rst|psh|ack|urg) == (fin|psh|urg) \
پیشخوان \
رها کردن \
توضیح «بستههای TCP را با پرچم رها کنید (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)»
## ترافیک با وضعیت اتصال نامعتبر را رها کنید
وضعیت ct نامعتبر \
نرخ محدود 100/دقیقه انفجار 150 بسته ها \
ورود به سیستم پرچم همه پیشوند "IN - نامعتبر:" \
توضیح " ثبت محدودیت نرخ برای ترافیک با وضعیت اتصال نامعتبر "
وضعیت ct نامعتبر \
پیشخوان \
رها کردن \
توضیح «قطع ترافیک با وضعیت اتصال نامعتبر»
## پاسخهای پینگ/پینگ IPv4 را مجاز کنید، اما نرخ آن را به 2000 PPS محدود کنید
ip پروتکل icmp icmp type { echo-reply, echo- request } \
نرخ محدود 2000/دومین \
پیشخوان \
تایید کنید \
توضیح "اجازه پژواک IPv4 ورودی (پینگ) محدود به 2000 PPS"
## همه ICMP ورودی IPv4 دیگر را مجاز کنید
ip پروتکل icmp \
پیشخوان \
تایید کنید \
توضیح "اجازه تمام IPv4 دیگر ICMP"
## پاسخهای پینگ/پینگ IPv6 را مجاز کنید، اما نرخ آن را به 2000 PPS محدود کنید
نوع icmpv6 { echo-reply, echo-request } \
نرخ محدود 2000/دومین \
پیشخوان \
تایید کنید \
توضیح "اجازه پژواک IPv6 ورودی (پینگ) محدود به 2000 PPS"
## همه ICMP ورودی IPv6 دیگر را مجاز کنید
meta l4proto { icmpv6 } \
پیشخوان \
تایید کنید \
توضیح "اجازه تمام IPv6 دیگر ICMP"
## پورتهای UDP traceroute ورودی را مجاز کنید اما به 500 PPS محدود کنید
udp dport 33434-33524 \
نرخ محدود 500/دومین \
پیشخوان \
تایید کنید \
توضیح "اجازه ردیابی UDP ورودی محدود به 500 PPS"
## SSH ورودی را مجاز کنید
tcp dport SSH ct حالت جدید \
پیشخوان \
تایید کنید \
توضیح "اجازه اتصالات SSH ورودی"
## HTTP و HTTPS ورودی را مجاز کنید
tcp dport { http, https } ct state new \
پیشخوان \
تایید کنید \
توضیح "اجازه اتصالات HTTP و HTTPS ورودی"
## هر گونه ترافیک بی همتا را ثبت کنید، اما نرخ ورود به سیستم را به حداکثر 60 پیام در دقیقه محدود کنید
## خطمشی پیشفرض برای ترافیک بیهمتا اعمال خواهد شد
نرخ محدود 60/دقیقه انفجار 100 بسته ها \
پیشوند ورود به سیستم "IN - Drop:" \
توضیح " ثبت هر گونه ترافیک بی همتا"
## ترافیک بی همتا را بشمارید
پیشخوان \
توضیح «ترافیک بیهمتا را بشمار»
}
# قوانین برای ترافیک خروجی
خروجی زنجیره ای {
نوع فیلتر اولویت خروجی قلاب; سقوط سیاست
## اجازه ترافیک خروجی به رابط Loopback را بدهید
اوف لو \
تایید کنید \
توضیح "اجازه خروج همه ترافیک به رابط حلقه بک"
## مجوز ایجاد و ارتباطات مرتبط
وضعیت ct ایجاد شد، مرتبط \
پیشخوان \
تایید کنید \
توضیح "اجازه ایجاد/ارتباطات مرتبط"
## قبل از قطع اتصالات با وضعیت بد، به ترافیک WireGuard خروجی اجازه دهید
oif $DEV_WAN ورزش udp WIREGUARD_PORT $ \
پیشخوان \
تایید کنید \
توضیح "اجازه ترافیک خروجی WireGuard"
## ترافیک با وضعیت اتصال نامعتبر را رها کنید
وضعیت ct نامعتبر \
نرخ محدود 100/دقیقه انفجار 150 بسته ها \
ورود به سیستم پرچم همه پیشوند "OUT - نامعتبر:" \
توضیح " ثبت محدودیت نرخ برای ترافیک با وضعیت اتصال نامعتبر "
وضعیت ct نامعتبر \
پیشخوان \
رها کردن \
توضیح «قطع ترافیک با وضعیت اتصال نامعتبر»
## همه ICMP های IPv4 خروجی دیگر را مجاز کنید
ip پروتکل icmp \
پیشخوان \
تایید کنید \
توضیح "اجازه همه انواع IPv4 ICMP"
## همه ICMP های IPv6 خروجی دیگر را مجاز کنید
meta l4proto { icmpv6 } \
پیشخوان \
تایید کنید \
توضیح "اجازه همه انواع IPv6 ICMP"
## پورتهای UDP traceroute خروجی را مجاز کنید اما به 500 PPS محدود کنید
udp dport 33434-33524 \
نرخ محدود 500/دومین \
پیشخوان \
تایید کنید \
توضیح "اجازه ردیابی UDP خروجی محدود به 500 PPS"
## اتصالات HTTP و HTTPS خروجی را مجاز کنید
tcp dport { http, https } ct state new \
پیشخوان \
تایید کنید \
توضیح «اجازه اتصالات HTTP و HTTPS خروجی»
## اجازه ارسال SMTP خروجی
tcp dport ارسال ct حالت جدید \
پیشخوان \
تایید کنید \
توضیح "اجازه ارسال SMTP خروجی"
## اجازه درخواست های DNS خروجی
udp dport 53 \
پیشخوان \
تایید کنید \
توضیح "اجازه درخواست های DNS UDP خروجی"
tcp dport 53 \
پیشخوان \
تایید کنید \
توضیح "اجازه درخواست های خروجی TCP DNS"
## درخواست های NTP خروجی را مجاز کنید
udp dport 123 \
پیشخوان \
تایید کنید \
توضیح "اجازه درخواست های NTP خروجی"
## هر گونه ترافیک بی همتا را ثبت کنید، اما نرخ ورود به سیستم را به حداکثر 60 پیام در دقیقه محدود کنید
## خطمشی پیشفرض برای ترافیک بیهمتا اعمال خواهد شد
نرخ محدود 60/دقیقه انفجار 100 بسته ها \
پیشوند ورود به سیستم "خروج - رها کردن:" \
توضیح " ثبت هر گونه ترافیک بی همتا"
## ترافیک بی همتا را بشمارید
پیشخوان \
توضیح «ترافیک بیهمتا را بشمار»
}
}
# جدول اصلی فیلتر NAT
جدول inet nat {
# قوانین برای پیش مسیریابی ترافیک NAT
پیش مسیریابی زنجیره ای {
نوع nat hook prerouting priority dstnat; سیاست قبول
}
# قوانین برای ترافیک NAT پس از مسیریابی
# این جدول قبل از زنجیره پس از مسیریابی Firezone پردازش می شود
پس مسیریابی زنجیره ای {
نوع nat hook اولویت postrouting srcnat – 5; سیاست قبول
}
}
فایروال باید در محل مربوطه برای توزیع لینوکس در حال اجرا ذخیره شود. برای Debian/Ubuntu این /etc/nftables.conf و برای RHEL /etc/sysconfig/nftables.conf است.
nftables.service برای شروع در بوت (اگر قبلاً تنظیم نشده باشد) باید پیکربندی شود:
systemctl nftables.service را فعال می کند
در صورت ایجاد هر گونه تغییر در قالب فایروال، نحو را می توان با اجرای دستور چک تایید کرد:
nft -f /path/to/nftables.conf -c
مطمئن شوید که فایروال مطابق انتظار کار می کند زیرا ممکن است برخی از ویژگی های nftables بسته به نسخه ای که روی سرور اجرا می شود در دسترس نباشند.
_______________________________________________________________
این سند یک نمای کلی از تله متری که Firezone از نمونه خود میزبان شما جمع آوری می کند و نحوه غیرفعال کردن آن را ارائه می دهد.
منطقه آتش سوزی تکیه می کند در تله متری برای اولویت بندی نقشه راه و بهینه سازی منابع مهندسی که در اختیار داریم تا Firezone را برای همه بهتر کنیم.
هدف از تله متری که ما جمع آوری می کنیم پاسخ دادن به سوالات زیر است:
سه مکان اصلی وجود دارد که تله متری در Firezone جمع آوری می شود:
در هر یک از این سه زمینه، حداقل دادههای لازم برای پاسخ به سؤالات بخش بالا را جمعآوری میکنیم.
ایمیلهای سرپرست تنها در صورتی جمعآوری میشوند که صریحاً بهروزرسانیهای محصول را انتخاب کنید. در غیر این صورت، اطلاعات شخصی قابل شناسایی است هرگز جمع آوری شده.
Firezone تله متری را در یک نمونه خود میزبانی از PostHog در حال اجرا در یک خوشه خصوصی Kubernetes ذخیره می کند که فقط توسط تیم Firezone قابل دسترسی است. در اینجا نمونه ای از یک رویداد تله متری است که از نمونه Firezone شما به سرور تله متری ما ارسال می شود:
{
برو: “0182272d-0b88-0000-d419-7b9a413713f1”,
"مهر زمانی": “2022-07-22T18:30:39.748000+00:00”,
"رویداد": "fz_http_started",
"distinct_id": “1ec2e794-1c3e-43fc-a78f-1db6d1a37f54”,
"خواص":{
«$geoip_city_name»: "اشبرن",
«$geoip_continent_code»: "NA",
«$geoip_continent_name»: "آمریکای شمالی",
«$geoip_country_code»: "ایالات متحده",
«$geoip_country_name»: "ایالات متحده",
«$geoip_latitude»: 39.0469,
«$geoip_longitude»: -77.4903,
«$geoip_postal_code»: "20149",
«$geoip_subdivision_1_code»: "VA",
«$geoip_subdivision_1_name»: "ویرجینیا",
«$geoip_time_zone»: «آمریکا/نیویورک»,
"$ip": "52.200.241.107",
«$plugins_deferred»: []،
«$plugins_failed»: []،
«$plugins_succeeded»:
"GeoIP (3)"
],
"distinct_id": “1zc2e794-1c3e-43fc-a78f-1db6d1a37f54”,
"fqdn": "awsdemo.firezone.dev",
"نسخه_kernel": لینوکس 5.13.0,
"نسخه": "0.4.6"
},
"عناصر_زنجیره": ""
}
توجه داشته باشید
تیم توسعه Firezone تکیه می کند در تجزیه و تحلیل محصول برای بهتر کردن Firezone برای همه. فعال کردن تله متری تنها با ارزش ترین کمکی است که می توانید در توسعه Firezone داشته باشید. با این اوصاف، ما می دانیم که برخی از کاربران الزامات حریم خصوصی یا امنیتی بالاتری دارند و ترجیح می دهند که تله متری را به طور کلی غیرفعال کنند. اگر شما هستید، به خواندن ادامه دهید.
تله متری به طور پیش فرض فعال است. برای غیرفعال کردن کامل تله متری محصول، گزینه پیکربندی زیر را در /etc/firezone/firezone.rb روی false قرار دهید و sudo firezone-ctl reconfigure را برای دریافت تغییرات اجرا کنید.
پیش فرض["زمان آتش"]["دورسنجی"]["فعال"🇧🇷 غلط
این کار تمام تله متری محصول را به طور کامل غیرفعال می کند.
Hailbytes
9511 کوئین نگهبان CT.
لورل، MD 20723
تلفن: (732) 771 9995
ایمیل: info@hailbytes.com
آخرین اخبار امنیت سایبری را مستقیماً در صندوق ورودی خود دریافت کنید.