Hailbytes VPN با اسناد فایروال Firezone

فهرست مندرجات

شروع کنید

دستورالعمل های گام به گام برای استقرار 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"

  }

}



تنظیمات پیکربندی زیر برای ادغام مورد نیاز است:

  1. Discovery_document_uri: The URI پیکربندی ارائه دهنده OpenID Connect که یک سند JSON مورد استفاده برای ساخت درخواست های بعدی را به این ارائه دهنده OIDC برمی گرداند.
  2. client_id: شناسه مشتری برنامه.
  3. client_secret: راز مشتری برنامه.
  4. redirect_uri: به ارائه‌دهنده OIDC دستور می‌دهد پس از احراز هویت به کجا تغییر مسیر دهد. این باید Firezone EXTERNAL_URL + /auth/oidc/ شما باشد /callback/ (به عنوان مثال https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. answer_type: روی کد تنظیم کنید.
  6. محدوده: دامنه های OIDC را از ارائه دهنده OIDC خود دریافت کنید. بسته به ارائه دهنده، باید روی نمایه ایمیل openid یا نمایه ایمیل openid offline_access تنظیم شود.
  7. label: متن برچسب دکمه که در صفحه ورود به سیستم Firezone شما نشان داده می شود.

URL های زیبا

برای هر ارائه دهنده OIDC یک URL زیبا برای هدایت مجدد به URL ورود به سیستم ارائه دهنده پیکربندی شده ایجاد می شود. برای مثال پیکربندی OIDC در بالا، URL ها عبارتند از:

  • https://instance-id.yourfirezone.com/auth/oidc/google
  • https://instance-id.yourfirezone.com/auth/oidc/okta

دستورالعمل برای راه اندازی Firezone با ارائه دهندگان هویت محبوب

ارائه دهندگانی که ما اسنادی برای آنها داریم:

  • گوگل
  • Okta
  • Azure Active Directory
  • Onelogin
  • احراز هویت محلی

 

اگر ارائه‌دهنده هویت شما یک رابط OIDC عمومی دارد و در فهرست بالا ذکر نشده است، لطفاً برای اطلاعات در مورد نحوه بازیابی تنظیمات پیکربندی لازم به اسناد آنها بروید.

احراز هویت مجدد منظم را حفظ کنید

تنظیمات زیر تنظیمات/امنیت را می توان تغییر داد تا به احراز هویت مجدد دوره ای نیاز داشته باشد. این می تواند برای اعمال الزامی که کاربران به طور منظم وارد Firezone شوند تا جلسه VPN خود را ادامه دهند، مورد استفاده قرار گیرد.

طول جلسه را می توان بین یک ساعت تا نود روز پیکربندی کرد. با تنظیم این مورد روی Never، می توانید جلسات VPN را در هر زمان فعال کنید. این استاندارد است.

احراز هویت مجدد

کاربر باید جلسه VPN خود را خاتمه دهد و به پورتال Firezone وارد شود تا بتواند یک جلسه VPN منقضی شده را مجدداً تأیید کند (URL مشخص شده در حین استقرار).

می‌توانید با پیروی از دستورالعمل‌های دقیق مشتری که در اینجا یافت می‌شود، جلسه خود را مجدداً تأیید اعتبار کنید.

 

وضعیت اتصال VPN

ستون جدول اتصال VPN صفحه کاربران وضعیت اتصال کاربر را نشان می دهد. اینها وضعیت اتصال هستند:

فعال - اتصال فعال است.

غیرفعال شده - اتصال توسط مدیر یا خرابی به‌روزرسانی OIDC غیرفعال شده است.

منقضی شده - اتصال به دلیل انقضای احراز هویت غیرفعال است یا کاربر برای اولین بار وارد سیستم نشده است.

گوگل

از طریق رابط OIDC عمومی، Firezone یک ورود به سیستم (SSO) با Google Workspace و Cloud Identity را فعال می‌کند. این راهنما به شما نشان می دهد که چگونه پارامترهای پیکربندی فهرست شده در زیر را که برای ادغام ضروری هستند دریافت کنید:

  1. Discovery_document_uri: The URI پیکربندی ارائه دهنده OpenID Connect که یک سند JSON مورد استفاده برای ساخت درخواست های بعدی را به این ارائه دهنده OIDC برمی گرداند.
  2. client_id: شناسه مشتری برنامه.
  3. client_secret: راز مشتری برنامه.
  4. redirect_uri: به ارائه‌دهنده OIDC دستور می‌دهد پس از احراز هویت به کجا تغییر مسیر دهد. این باید Firezone EXTERNAL_URL + /auth/oidc/ شما باشد /callback/ (به عنوان مثال https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. answer_type: روی کد تنظیم کنید.
  6. محدوده: دامنه های OIDC را از ارائه دهنده OIDC خود دریافت کنید. این باید روی نمایه ایمیل openid تنظیم شود تا ایمیل کاربر در ادعاهای برگشتی به Firezone ارائه شود.
  7. label: متن برچسب دکمه که در صفحه ورود به سیستم Firezone شما نشان داده می شود.

تنظیمات پیکربندی را دریافت کنید

1. صفحه تنظیمات OAuth

اگر اولین بار است که یک شناسه مشتری OAuth جدید ایجاد می کنید، از شما خواسته می شود صفحه رضایت را پیکربندی کنید.

*Internal را برای نوع کاربر انتخاب کنید. این تضمین می‌کند که فقط حساب‌های متعلق به کاربران در سازمان Google Workspace شما می‌توانند تنظیمات دستگاه را ایجاد کنند. External را انتخاب نکنید، مگر اینکه بخواهید هر کسی را با یک حساب Google معتبر فعال کنید تا تنظیمات دستگاه را ایجاد کند.

 

در صفحه اطلاعات برنامه:

  1. نام برنامه: Firezone
  2. لوگوی اپلیکیشن: لوگوی Firezone (ذخیره پیوند به نام).
  3. صفحه اصلی برنامه: URL نمونه Firezone شما.
  4. دامنه های مجاز: دامنه سطح بالای نمونه Firezone شما.

 

 

2. شناسه های مشتری OAuth ایجاد کنید

این بخش بر اساس مستندات خود گوگل در مورد است راه اندازی OAuth 2.0.

از Google Cloud Console دیدن کنید صفحه اعتبار صفحه، روی + Credentials کلیک کنید و شناسه مشتری OAuth را انتخاب کنید.

در صفحه ایجاد شناسه مشتری OAuth:

  1. نوع برنامه را روی برنامه وب قرار دهید
  2. Firezone EXTERNAL_URL + /auth/oidc/google/callback/ (به عنوان مثال https://instance-id.yourfirezone.com/auth/oidc/google/callback/) خود را به عنوان ورودی به URIهای تغییر مسیر مجاز اضافه کنید.

 

پس از ایجاد شناسه مشتری OAuth، یک Client ID و Client Secret به شما داده می شود. اینها همراه با URI تغییر مسیر در مرحله بعد استفاده خواهند شد.

ادغام Firezone

ویرایش /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 ببینید.

Okta

Firezone از کانکتور OIDC عمومی برای تسهیل سیستم Single Sign-On (SSO) با Okta استفاده می کند. این آموزش به شما نشان می دهد که چگونه پارامترهای پیکربندی فهرست شده در زیر را که برای ادغام ضروری هستند دریافت کنید:

  1. Discovery_document_uri: The URI پیکربندی ارائه دهنده OpenID Connect که یک سند JSON مورد استفاده برای ساخت درخواست های بعدی را به این ارائه دهنده OIDC برمی گرداند.
  2. client_id: شناسه مشتری برنامه.
  3. client_secret: راز مشتری برنامه.
  4. redirect_uri: به ارائه‌دهنده OIDC دستور می‌دهد پس از احراز هویت به کجا تغییر مسیر دهد. این باید Firezone EXTERNAL_URL + /auth/oidc/ شما باشد /callback/ (به عنوان مثال https://instance-id.yourfirezone.com/auth/oidc/okta/callback/).
  5. answer_type: روی کد تنظیم کنید.
  6. محدوده: دامنه های OIDC را از ارائه دهنده OIDC خود دریافت کنید. این باید روی نمایه ایمیل openid offline_access تنظیم شود تا ایمیل کاربر را در ادعاهای برگشتی به Firezone ارائه دهد.
  7. label: متن برچسب دکمه که در صفحه ورود به سیستم Firezone شما نشان داده می شود.

 

برنامه Okta را یکپارچه کنید

این بخش از راهنما بر اساس اسناد Okta.

در Admin Console، به Applications > Applications رفته و روی Create App Integration کلیک کنید. روش ورود به سیستم را روی OICD – OpenID Connect و Application type را روی برنامه وب قرار دهید.

این تنظیمات را پیکربندی کنید:

  1. نام برنامه: Firezone
  2. لوگوی اپلیکیشن: لوگوی Firezone (ذخیره پیوند به نام).
  3. نوع اعطا: کادر Refresh Token را علامت بزنید. این اطمینان می‌دهد که Firezone با ارائه‌دهنده هویت همگام‌سازی می‌شود و پس از حذف کاربر، دسترسی VPN قطع می‌شود.
  4. URI های تغییر مسیر ورود به سیستم: EXTERNAL_URL Firezone + /auth/oidc/okta/callback/ (به عنوان مثال https://instance-id.yourfirezone.com/auth/oidc/okta/callback/) را به عنوان ورودی به URI های تغییر مسیر مجاز اضافه کنید .
  5. تکالیف: محدود به گروه هایی که می خواهید به نمونه Firezone خود دسترسی داشته باشید.

پس از ذخیره تنظیمات، یک Client ID، Client Secret و Okta Domain به شما داده می شود. این 3 مقدار در مرحله 2 برای پیکربندی Firezone استفاده خواهد شد.

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 خود بروید.

Azure Active Directory

از طریق رابط OIDC عمومی، Firezone یک ورود به سیستم (SSO) را با Azure Active Directory فعال می کند. این راهنما به شما نشان می دهد که چگونه پارامترهای پیکربندی فهرست شده در زیر را که برای ادغام ضروری هستند دریافت کنید:

  1. Discovery_document_uri: The URI پیکربندی ارائه دهنده OpenID Connect که یک سند JSON مورد استفاده برای ساخت درخواست های بعدی را به این ارائه دهنده OIDC برمی گرداند.
  2. client_id: شناسه مشتری برنامه.
  3. client_secret: راز مشتری برنامه.
  4. redirect_uri: به ارائه‌دهنده OIDC دستور می‌دهد پس از احراز هویت به کجا تغییر مسیر دهد. این باید Firezone EXTERNAL_URL + /auth/oidc/ شما باشد /callback/ (به عنوان مثال https://instance-id.yourfirezone.com/auth/oidc/azure/callback/).
  5. answer_type: روی کد تنظیم کنید.
  6. محدوده: دامنه های OIDC را از ارائه دهنده OIDC خود دریافت کنید. این باید روی نمایه ایمیل openid offline_access تنظیم شود تا ایمیل کاربر را در ادعاهای برگشتی به Firezone ارائه دهد.
  7. label: متن برچسب دکمه که در صفحه ورود به سیستم Firezone شما نشان داده می شود.

تنظیمات پیکربندی را دریافت کنید

این راهنما از Azure Active Directory Docs.

 

به صفحه Azure Active Directory پورتال Azure بروید. گزینه Manage menu را انتخاب کنید، New Registration را انتخاب کنید، سپس با ارائه اطلاعات زیر ثبت نام کنید:

  1. نام: Firezone
  2. انواع حساب های پشتیبانی شده: (فقط دایرکتوری پیش فرض - مستاجر مجرد)
  3. URI تغییر مسیر: این باید منطقه آتش شما EXTERNAL_URL + /auth/oidc/azure/callback/ باشد (به عنوان مثال https://instance-id.yourfirezone.com/auth/oidc/azure/callback/). مطمئن شوید که اسلش انتهایی را درج کرده اید. این مقدار redirect_uri خواهد بود.

 

پس از ثبت نام، نمای جزئیات برنامه را باز کرده و آن را کپی کنید شناسه برنامه (مشتری).. این مقدار client_id خواهد بود. سپس، منوی نقاط پایانی را برای بازیابی آن باز کنید سند فراداده OpenID Connect. این مقدار Discovery_document_uri خواهد بود.

 

با کلیک بر روی گزینه Certificates & Secrets در زیر منوی Manage یک راز مشتری جدید ایجاد کنید. راز مشتری را کپی کنید. مقدار مخفی مشتری این خواهد بود.

 

در آخر، پیوند مجوزهای API را در منوی Manage انتخاب کنید، کلیک کنید یک مجوز اضافه کنید، و انتخاب کنید نمودار مایکروسافت، افزودن پست الکترونیک, باز شده, آفلاین_دسترسی و نمایه به مجوزهای مورد نیاز

ادغام Firezone

ویرایش /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 مدیران را قادر می سازد تا دسترسی برنامه را به گروه خاصی از کاربران داخل شرکت شما محدود کنند. اطلاعات بیشتر در مورد نحوه انجام این کار را می توان در اسناد مایکروسافت یافت.

سرپرست

  • مجموعه
  • مدیریت نصب
  • ارتقا
  • عیب یابی
  • ملاحظات امنیتی
  • اجرای پرس و جوهای SQL

مجموعه

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، اقدامات زیر را انجام دهید:

  1. بسته firezone را با استفاده از نصب تک دستوری ارتقا دهید: sudo -E bash -c "$(curl -fsSL https://github.com/firezone/firezone/raw/master/scripts/install.sh)"
  2. برای دریافت تغییرات جدید، firezone-ctl را مجدداً پیکربندی کنید.
  3. برای راه اندازی مجدد سرویس ها، firezone-ctl restart را اجرا کنید.

در صورت بروز هر گونه مشکل، لطفاً به ما اطلاع دهید ارسال تیکت پشتیبانی

ارتقاء از <0.5.0 به >=0.5.0

در 0.5.0 چند تغییر و اصلاح پیکربندی وجود دارد که باید مورد توجه قرار گیرد. در زیر بیشتر بدانید.

درخواست‌های Nginx non_ssl_port (HTTP) حذف شدند

Nginx از نسخه 0.5.0 دیگر پارامترهای SSL و غیر SSL را پشتیبانی نمی کند. از آنجایی که Firezone برای کار کردن به SSL نیاز دارد، توصیه می‌کنیم با تنظیم پیش‌فرض['firezone']['nginx']['enabled'] = false، سرویس Nginx باندل را حذف کنید و به‌جای آن پروکسی معکوس خود را به برنامه Phoenix در پورت 13000 هدایت کنید (به‌طور پیش‌فرض ).

پشتیبانی از پروتکل ACME

0.5.0 پشتیبانی از پروتکل ACME را برای تمدید خودکار گواهی های SSL با سرویس Nginx همراه معرفی می کند. برای فعال کردن،

  • مطمئن شوید که ['firezone']['external_url'] پیش‌فرض حاوی یک FQDN معتبر است که به آدرس IP عمومی سرور شما حل می‌شود.
  • اطمینان حاصل کنید که پورت 80/tcp قابل دسترسی است
  • پشتیبانی از پروتکل ACME را با پیش‌فرض['firezone']['ssl']['acme']['enabled'] = true در فایل پیکربندی خود فعال کنید.

همپوشانی مقاصد قانون خروج

امکان افزودن قوانین با مقصدهای تکراری در Firezone 0.5.0 از بین رفته است. اسکریپت مهاجرت ما به طور خودکار این موقعیت‌ها را در حین ارتقا به 0.5.0 تشخیص می‌دهد و فقط قوانینی را که مقصد آنها شامل قانون دیگر است حفظ می‌کند. اگر این مشکلی ندارد نیازی به انجام کاری نیست.

در غیر این صورت، قبل از ارتقا، توصیه می کنیم مجموعه قوانین خود را تغییر دهید تا از شر این شرایط خلاص شوید.

پیش پیکربندی Okta و Google SSO

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 با دنبال کردن مراحل اینجا پیکربندی کنید.

از 0.3.x به >= 0.3.16 ارتقا دهید

بسته به تنظیمات و نسخه فعلی خود، دستورالعمل های زیر را دنبال کنید:

اگر قبلاً یک ادغام 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.

از 0.3.1 به >= 0.3.2 ارتقا دهید

در جای خود، پیش‌فرض ['firezone']['external url'] جایگزین گزینه تنظیمات پیش‌فرض ['firezone']['fqdn'] شده است. 

این را روی URL پورتال آنلاین Firezone خود تنظیم کنید که برای عموم قابل دسترسی است. اگر تعریف نشده باقی بماند، پیش‌فرض روی https:// به‌علاوه FQDN سرور شما خواهد بود.

فایل پیکربندی در /etc/firezone/firezone.rb قرار دارد. برای مشاهده لیست کامل متغیرهای پیکربندی و توضیحات آنها به مرجع فایل پیکربندی مراجعه کنید.

از 0.2.x به 0.3.x ارتقا دهید

Firezone از نسخه 0.3.0 دیگر کلیدهای خصوصی دستگاه را روی سرور Firezone نگه نمی دارد. 

رابط کاربری وب Firezone به شما اجازه دانلود مجدد یا مشاهده این تنظیمات را نمی دهد، اما هر دستگاه موجود باید همانطور که هست به کار خود ادامه دهد.

از 0.1.x به 0.2.x ارتقا دهید

اگر در حال ارتقاء از 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 در معرض دید قرار گرفت.

SQL Queries را اجرا کنید

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

راهنمای کاربر

  • افزودن کاربران
  • دستگاهها را اضافه کنید
  • قوانین خروج
  • دستورالعمل های مشتری
  • اسپلیت تونل VPN
  • تونل معکوس 
  • دروازه NAT

افزودن کاربران

پس از استقرار Firezone با موفقیت، باید کاربرانی را اضافه کنید تا دسترسی آنها به شبکه خود را فراهم کنید. برای این کار از رابط کاربری وب استفاده می شود.

 

UI وب


با انتخاب دکمه "افزودن کاربر" در زیر /users، می توانید یک کاربر اضافه کنید. شما باید آدرس ایمیل و رمز عبور را در اختیار کاربر قرار دهید. به منظور دسترسی خودکار به کاربران در سازمان شما، Firezone همچنین می‌تواند با ارائه‌دهنده هویت ارتباط برقرار کرده و همگام‌سازی کند. جزئیات بیشتر در دسترس است تصدیق. < یک پیوند به احراز هویت اضافه کنید

دستگاهها را اضافه کنید

توصیه می کنیم از کاربران درخواست کنیم که تنظیمات دستگاه خود را ایجاد کنند تا کلید خصوصی فقط برای آنها قابل مشاهده باشد. کاربران می توانند پیکربندی دستگاه خود را با پیروی از دستورالعمل های موجود در آن ایجاد کنند دستورالعمل های مشتری صفحه

 

در حال ایجاد پیکربندی دستگاه مدیریت

تمام تنظیمات دستگاه کاربر را می توان توسط ادمین های Firezone ایجاد کرد. در صفحه نمایه کاربر واقع در /users، گزینه "Add Device" را برای انجام این کار انتخاب کنید.

 

[درج اسکرین شات]

 

می توانید پس از ایجاد نمایه دستگاه، فایل پیکربندی WireGuard را برای کاربر ایمیل کنید.

 

کاربران و دستگاه ها پیوند داده شده اند. برای جزئیات بیشتر در مورد نحوه افزودن کاربر، رجوع کنید افزودن کاربران.

قوانین خروج

از طریق استفاده از سیستم فیلتر شبکه هسته، Firezone قابلیت فیلتر خروجی را برای تعیین بسته‌های DROP یا ACCEPT فعال می‌کند. همه ترددها معمولاً مجاز است.

 

IPv4 و IPv6 CIDR و آدرس های IP به ترتیب از طریق Allowlist و Denylist پشتیبانی می شوند. می‌توانید هنگام اضافه کردن یک قانون، محدوده‌ای را برای یک کاربر انتخاب کنید، که این قانون در همه دستگاه‌های آن کاربر اعمال می‌شود.

دستورالعمل های مشتری

نصب و پیکربندی

برای ایجاد اتصال VPN با استفاده از مشتری WireGuard بومی، به این راهنما مراجعه کنید.

 

1. کلاینت اصلی WireGuard را نصب کنید

 

مشتریان رسمی WireGuard واقع در اینجا با Firezone سازگار هستند:

 

از MacOS

 

ویندوز

 

IOS

 

آندروید

 

برای سیستم های سیستم عاملی که در بالا ذکر نشده است، از وب سایت رسمی WireGuard به آدرس https://www.wireguard.com/install/ دیدن کنید.

 

2. فایل پیکربندی دستگاه را دانلود کنید

 

مدیر Firezone یا خودتان می توانید فایل پیکربندی دستگاه را با استفاده از پورتال Firezone ایجاد کنید.

 

برای ایجاد خود فایل پیکربندی دستگاه، از نشانی اینترنتی که سرپرست Firezone ارائه کرده است، بازدید کنید. شرکت شما یک URL منحصر به فرد برای این کار خواهد داشت. در این مورد، https://instance-id.yourfirezone.com است.

 

وارد Firezone Okta SSO شوید

 

[درج اسکرین شات]

 

3. پیکربندی مشتری را اضافه کنید

 

فایل.conf را با باز کردن آن به کلاینت WireGuard وارد کنید. با چرخاندن سوئیچ فعال سازی، می توانید یک جلسه VPN را شروع کنید.

 

[درج اسکرین شات]

احراز هویت مجدد جلسه

اگر سرپرست شبکه شما احراز هویت مکرر را برای فعال نگه داشتن اتصال VPN شما الزامی کرده است، دستورالعمل های زیر را دنبال کنید. 



شما نیاز دارید:

 

URL پورتال Firezone: از سرپرست شبکه خود برای اتصال بخواهید.

مدیر شبکه شما باید بتواند لاگین و رمز عبور شما را ارائه دهد. سایت Firezone از شما می خواهد که با استفاده از سرویس ورود به سیستم واحدی که کارفرمای شما استفاده می کند (مانند Google یا Okta) وارد شوید.

 

1. اتصال VPN را خاموش کنید

 

[درج اسکرین شات]

 

2. دوباره احراز هویت کنید 

به URL پورتال Firezone بروید و با استفاده از اعتبارنامه‌هایی که سرپرست شبکه شما ارائه کرده است، وارد شوید. اگر قبلاً وارد سیستم شده اید، قبل از ورود مجدد، روی دکمه احراز هویت مجدد کلیک کنید.

 

[درج اسکرین شات]

 

مرحله 3: یک جلسه VPN را راه اندازی کنید

[درج اسکرین شات]

مدیر شبکه برای لینوکس

برای وارد کردن نمایه پیکربندی WireGuard با استفاده از Network Manager CLI در دستگاه‌های لینوکس، این دستورالعمل‌ها (nmcli) را دنبال کنید.

توجه داشته باشید

اگر نمایه پشتیبانی IPv6 را فعال کرده باشد، تلاش برای وارد کردن فایل پیکربندی با استفاده از رابط کاربری گرافیکی مدیر شبکه ممکن است با خطای زیر شکست بخورد:

ipv6.method: روش "auto" برای WireGuard پشتیبانی نمی شود

1. ابزار WireGuard را نصب کنید 

نصب ابزارهای فضای کاربری WireGuard ضروری است. این بسته ای به نام wireguard یا wireguard-tools برای توزیع های لینوکس خواهد بود.

برای اوبونتو/دبیان:

sudo apt نصب وایرگارد

برای استفاده از فدورا:

sudo dnf نصب وایرگارد-ابزار

آرچ لینوکس:

sudo pacman -S wireguard-tools

برای توزیع هایی که در بالا ذکر نشده است، از وب سایت رسمی WireGuard به آدرس https://www.wireguard.com/install/ دیدن کنید.

2. پیکربندی دانلود 

مدیر Firezone یا خود تولید کننده شما می توانند فایل پیکربندی دستگاه را با استفاده از پورتال Firezone ایجاد کنند.

برای ایجاد خود فایل پیکربندی دستگاه، از نشانی اینترنتی که سرپرست Firezone ارائه کرده است، بازدید کنید. شرکت شما یک URL منحصر به فرد برای این کار خواهد داشت. در این مورد، https://instance-id.yourfirezone.com است.

[درج اسکرین شات]

3. تنظیمات را وارد کنید

فایل پیکربندی ارائه شده را با استفاده از nmcli وارد کنید:

اتصال sudo nmcli وارد کردن نوع فایل wireguard /path/to/configuration.conf

توجه داشته باشید

نام فایل پیکربندی با اتصال/رابط WireGuard مطابقت دارد. پس از وارد کردن، در صورت لزوم می توان نام اتصال را تغییر داد:

اتصال nmcli تغییر [نام قدیمی] connection.id [نام جدید]

4. وصل یا قطع کنید

از طریق خط فرمان به صورت زیر به VPN متصل شوید:

اتصال nmcli بالا [نام vpn]

برای قطع اتصال:

اتصال nmcli قطع شد [نام vpn]

در صورت استفاده از رابط کاربری گرافیکی، اپلت مدیر شبکه قابل اجرا نیز می تواند برای مدیریت اتصال استفاده شود.

اتصال خودکار

با انتخاب "بله" برای گزینه اتصال خودکار، اتصال VPN را می توان برای اتصال خودکار پیکربندی کرد:

 

اتصال nmcli اتصال [نام VPN] را تغییر دهید. <<<<<<<<<<<<<<<<<<<<<<<

 

اتصال خودکار بله

 

برای غیرفعال کردن اتصال خودکار، آن را روی no برگردانید:

 

اتصال nmcli اتصال [نام VPN] را تغییر دهید.

 

شماره اتصال خودکار

احراز هویت چند عاملی را در دسترس قرار دهید

برای فعال کردن MFA به صفحه /user account/register mfa پورتال Firezone بروید. از برنامه احراز هویت خود برای اسکن کردن کد QR پس از تولید استفاده کنید، سپس کد شش رقمی را وارد کنید.

اگر برنامه احراز هویت خود را به اشتباه جاگذاری کرده اید، با سرپرست خود تماس بگیرید تا اطلاعات دسترسی حساب خود را بازنشانی کنید.

اسپلیت تونل VPN

این آموزش شما را در فرآیند راه‌اندازی قابلیت تقسیم تونل WireGuard با Firezone راهنمایی می‌کند تا فقط ترافیک به محدوده‌های IP خاص از طریق سرور VPN ارسال شود.

 

1. IP های مجاز را پیکربندی کنید 

محدوده 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 ابتدا رابط خروج مرتبط با دقیق ترین مسیر را هنگام تعیین محل مسیریابی یک بسته انتخاب می کند.

 

2. پیکربندی های WireGuard را بازسازی کنید

کاربران باید فایل‌های پیکربندی را بازسازی کرده و به کلاینت اصلی WireGuard خود اضافه کنند تا دستگاه‌های کاربر موجود را با پیکربندی جدید تقسیم تونل به‌روزرسانی کنند.

 

برای راهنمایی ها ، مراجعه کنید به افزودن دستگاه. <<<<<<<<<<< افزودن لینک

تونل معکوس

این راهنما نحوه اتصال دو دستگاه را با استفاده از Firezone به عنوان رله نشان می دهد. یکی از موارد استفاده معمولی این است که مدیر را قادر می سازد به سرور، ظرف یا ماشینی که توسط NAT یا فایروال محافظت می شود، دسترسی پیدا کند.

 

گره به گره 

این تصویر یک سناریوی ساده را نشان می دهد که در آن دستگاه های A و B یک تونل می سازند.

 

[درج تصویر معماری منطقه آتش]

 

با ایجاد دستگاه A و دستگاه B با پیمایش به /users/[user_id]/new_device شروع کنید. در تنظیمات هر دستگاه، مطمئن شوید که پارامترهای زیر روی مقادیر ذکر شده در زیر تنظیم شده است. هنگام ایجاد پیکربندی دستگاه می توانید تنظیمات دستگاه را تنظیم کنید (به افزودن دستگاه ها مراجعه کنید). اگر نیاز به به‌روزرسانی تنظیمات در دستگاه موجود دارید، می‌توانید با ایجاد پیکربندی دستگاه جدید این کار را انجام دهید.

 

توجه داشته باشید که همه دستگاه‌ها دارای یک صفحه /settings/defaults هستند که در آن PersistentKeepalive می‌توان پیکربندی کرد.

 

دستگاه A

 

AllowedIPs = 10.3.2.2/32

  این IP یا محدوده IP های دستگاه B است

PersistentKeepalive = 25

  اگر دستگاه پشت NAT باشد، این تضمین می‌کند که دستگاه می‌تواند تونل را زنده نگه دارد و به دریافت بسته‌ها از رابط WireGuard ادامه دهد. معمولاً مقدار 25 کافی است، اما ممکن است لازم باشد بسته به محیط خود این مقدار را کاهش دهید.



دستگاه B

 

AllowedIPs = 10.3.2.3/32

این IP یا محدوده IP های دستگاه A است

PersistentKeepalive = 25

Admin Case - یک تا چند گره

این مثال وضعیتی را نشان می دهد که در آن دستگاه A می تواند با دستگاه های B تا D در هر دو جهت ارتباط برقرار کند. این تنظیمات می تواند نشان دهنده یک مهندس یا مدیر باشد که به منابع متعدد (سرورها، کانتینرها یا ماشین ها) در شبکه های مختلف دسترسی دارد.

 

[نمودار معماری]<<<<<<<<<<<<<<<<<<<<<<<<

 

مطمئن شوید که تنظیمات زیر در تنظیمات هر دستگاه با مقادیر مربوطه انجام شده است. هنگام ایجاد پیکربندی دستگاه، می توانید تنظیمات دستگاه را مشخص کنید (به افزودن دستگاه ها مراجعه کنید). اگر تنظیمات دستگاه موجود نیاز به به روز رسانی داشته باشد، می توان یک پیکربندی دستگاه جدید ایجاد کرد.

 

دستگاه A (گره مدیر)

 

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 کافی است، اما بسته به محیط اطراف خود، ممکن است لازم باشد این رقم را کاهش دهید.

 

دستگاه B

 

  • AllowedIPs = 10.3.2.2/32: این IP یا محدوده IP های دستگاه A است.
  • PersistentKeepalive = 25

دستگاه C

 

  • AllowedIPs = 10.3.2.2/32: این IP یا محدوده IP های دستگاه A است.
  • PersistentKeepalive = 25

دستگاه D

 

  • AllowedIPs = 10.3.2.2/32: این IP یا محدوده IP های دستگاه A است.
  • PersistentKeepalive = 25

دروازه NAT

برای ارائه یک IP خروجی ثابت و واحد برای خروج تمام ترافیک تیم شما، Firezone می تواند به عنوان یک دروازه NAT استفاده شود. این شرایط شامل استفاده مکرر از آن است:

 

تعاملات مشاوره: از مشتری خود بخواهید که یک آدرس IP ثابت را به جای IP دستگاه منحصر به فرد هر کارمند در لیست سفید قرار دهد.

استفاده از پروکسی یا پوشاندن IP منبع خود برای اهداف امنیتی یا حفظ حریم خصوصی.

 

یک مثال ساده از محدود کردن دسترسی به یک برنامه وب خود میزبان به یک IP استاتیک در لیست سفید که Firezone را اجرا می کند در این پست نشان داده خواهد شد. در این تصویر، Firezone و منبع محافظت شده در مناطق مختلف VPC قرار دارند.

 

این راه حل اغلب به جای مدیریت لیست سفید IP برای کاربران نهایی متعدد استفاده می شود که با گسترش لیست دسترسی می تواند زمان بر باشد.

مثال AWS

هدف ما راه اندازی یک سرور Firezone در یک نمونه EC2 برای هدایت ترافیک VPN به منبع محدود است. در این مثال، Firezone به عنوان یک پروکسی شبکه یا دروازه NAT عمل می کند تا به هر دستگاه متصل یک IP خروج عمومی منحصر به فرد بدهد.

 

1. سرور Firezone را نصب کنید

در این مورد، یک نمونه EC2 با نام tc2.micro یک نمونه Firezone روی آن نصب شده است. برای اطلاعات در مورد استقرار Firezone، به راهنمای استقرار بروید. در رابطه با AWS، مطمئن شوید:

 

گروه امنیتی نمونه Firezone EC2 به ترافیک خروجی به آدرس IP منبع محافظت شده اجازه می دهد.

نمونه Firezone با IP الاستیک ارائه می شود. ترافیکی که از طریق نمونه Firezone به مقصدهای خارجی ارسال می شود، این آدرس IP منبع آن است. آدرس IP مورد نظر 52.202.88.54 است.

 

[درج اسکرین شات]<<<<<<<<<<<<<<<<<<<<<<<<

 

2. دسترسی به منبعی را که محافظت می شود محدود کنید

یک برنامه وب خود میزبانی شده به عنوان منبع محافظت شده در این مورد عمل می کند. برنامه وب فقط با درخواست هایی که از آدرس IP 52.202.88.54 می آیند قابل دسترسی است. بسته به منبع، ممکن است لازم باشد ترافیک ورودی در پورت ها و انواع ترافیک مختلف مجاز باشد. در این راهنما به این موضوع پرداخته نشده است.

 

[درج اسکرین شات]<<<<<<<<<<<<<<<<<<<<<<<<

 

لطفاً به شخص ثالث مسئول منبع محافظت شده بگویید که ترافیک از IP ثابت تعریف شده در مرحله 1 باید مجاز باشد (در این مورد 52.202.88.54).

 

3. از سرور VPN برای هدایت ترافیک به منبع محافظت شده استفاده کنید

 

به طور پیش فرض، تمام ترافیک کاربر از طریق سرور 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']

فعال یا غیر فعال کردن HSTS.

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.

پیش‌فرض['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']

هش گزینه ها برای ارسال به گزینه :ssl_opts هنگام اتصال از طریق SSL. دیدن مستندات Ecto.Adapters.Postgres.

{}

پیش‌فرض['firezone']['پایگاه داده']['پارامترها']

هش پارامترها برای ارسال به گزینه :parameters هنگام اتصال به پایگاه داده. دیدن مستندات Ecto.Adapters.Postgres.

{}

پیش‌فرض['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

 

از الگوی فایروال nftables زیر می توان برای ایمن سازی سرور در حال اجرا Firezone استفاده کرد. الگو برخی از مفروضات را ایجاد می کند. ممکن است لازم باشد قوانین را متناسب با مورد استفاده خود تنظیم کنید:

  • رابط WireGuard WG-Firezone نام دارد. اگر این درست نیست، متغیر DEV_WIREGUARD را برای مطابقت با گزینه پیکربندی پیش‌فرض['firezone']['wireguard']['interface_name'] تغییر دهید.
  • پورتی که WireGuard به آن گوش می دهد 51820 است. اگر از پورت پیش فرض استفاده نمی کنید، متغیر WIREGUARD_PORT را تغییر دهید.
  • فقط ترافیک ورودی زیر به سرور مجاز خواهد بود:
    • SSH (پورت TCP 22)
    • HTTP (پورت TCP 80)
    • HTTPS (پورت TCP 443)
    • WireGuard (درگاه UDP WIREGUARD_PORT)
    • UDP traceroute (درگاه UDP 33434-33524، نرخ محدود به 500 در ثانیه)
    • ICMP و ICMPv6 (نرخ پاسخ پینگ/پینگ محدود به 2000/ثانیه)
  • فقط ترافیک خروجی زیر از سرور مجاز خواهد بود:
    • DNS (پورت UDP و TCP 53)
    • HTTP (پورت TCP 80)
    • NTP (پورت UDP 123)
    • HTTPS (پورت TCP 443)
    • ارسال SMTP (پورت TCP 587)
    • UDP traceroute (درگاه UDP 33434-33524، نرخ محدود به 500 در ثانیه)
  • ترافیک بی همتا ثبت خواهد شد. قوانین مورد استفاده برای ورود به سیستم از قوانین برای کاهش ترافیک جدا شده و دارای نرخ محدود هستند. حذف قوانین ورود به سیستم بر ترافیک تاثیری نخواهد داشت.

قوانین مدیریت شده 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 را متوقف می کنند؟
  • چه ویژگی‌هایی با ارزش‌تر هستند و کدام یک کاربرد ندارند؟
  • کدام عملکرد بیشتر به بهبود نیاز دارد؟
  • وقتی چیزی می شکند، چرا شکسته است و چگونه می توانیم از وقوع آن در آینده جلوگیری کنیم؟

نحوه جمع آوری تله متری

سه مکان اصلی وجود دارد که تله متری در Firezone جمع آوری می شود:

  1. تله متری پکیج. شامل رویدادهایی مانند نصب، حذف و ارتقا است.
  2. تله متری CLI از دستورات firezone-ctl.
  3. تله متری محصول مرتبط با پورتال وب.

در هر یک از این سه زمینه، حداقل داده‌های لازم برای پاسخ به سؤالات بخش بالا را جمع‌آوری می‌کنیم.

ایمیل‌های سرپرست تنها در صورتی جمع‌آوری می‌شوند که صریحاً به‌روزرسانی‌های محصول را انتخاب کنید. در غیر این صورت، اطلاعات شخصی قابل شناسایی است هرگز جمع آوری شده.

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 را برای دریافت تغییرات اجرا کنید.

پیش فرض["زمان آتش"]["دورسنجی"]["فعال"🇧🇷 غلط

این کار تمام تله متری محصول را به طور کامل غیرفعال می کند.

مطلع باشید؛ امن بمان!

در خبرنامه ی هفتگی ما آبونه شوید

آخرین اخبار امنیت سایبری را مستقیماً در صندوق ورودی خود دریافت کنید.