Hailbytes VPN مع وثائق جدار حماية Firezone

جدول المحتويات

البدء

تتوفر هنا إرشادات خطوة بخطوة لنشر Hailbytes VPN مع Firezone GUI. 

إدارة: يرتبط إعداد مثيل الخادم ارتباطًا مباشرًا بهذا الجزء.

أدلة المستخدم: مستندات مفيدة يمكن أن تعلمك كيفية استخدام Firezone وحل المشكلات النموذجية. بعد نشر الخادم بنجاح ، راجع هذا القسم.

أدلة للتكوينات المشتركة

الانقسام النفقي: استخدم VPN لإرسال حركة المرور إلى نطاقات IP محددة فقط.

القائمة البيضاء: قم بتعيين عنوان IP الثابت لخادم VPN من أجل استخدام القائمة البيضاء.

الأنفاق العكسية: قم بإنشاء أنفاق بين العديد من الأقران باستخدام الأنفاق العكسية.

احصل على الدعم

يسعدنا مساعدتك إذا كنت بحاجة إلى مساعدة في تثبيت Hailbytes VPN أو تخصيصه أو استخدامه.

التحقّق من المُستخدم

قبل أن يتمكن المستخدمون من إنتاج أو تنزيل ملفات تكوين الجهاز ، يمكن تكوين Firezone لطلب المصادقة. قد يحتاج المستخدمون أيضًا إلى إعادة المصادقة بشكل دوري للحفاظ على اتصال VPN الخاص بهم نشطًا.

على الرغم من أن طريقة تسجيل الدخول الافتراضية لـ Firezone هي البريد الإلكتروني المحلي وكلمة المرور ، إلا أنه يمكن أيضًا دمجها مع أي موفر هوية موحد لـ OpenID Connect (OIDC). يمكن للمستخدمين الآن تسجيل الدخول إلى Firezone باستخدام بيانات اعتماد Okta أو Google أو Azure AD أو موفر الهوية الخاص.

 

دمج موفر OIDC عام

يتم عرض معلمات التكوين التي يحتاجها Firezone للسماح للدخول المُوحَّد (SSO) باستخدام موفر OIDC في المثال أدناه. في /etc/firezone/firezone.rb ، قد تجد ملف التكوين. قم بتشغيل إعادة تكوين firezone-ctl وإعادة تشغيل firezone-ctl لتحديث التطبيق وتنفيذ التغييرات.

 

# هذا مثال على استخدام Google و Okta كموفر هوية SSO.

# يمكن إضافة تكوينات OIDC متعددة إلى نفس مثيل Firezone.

 

# يمكن لـ Firezone تعطيل VPN للمستخدم إذا تم اكتشاف أي خطأ أثناء المحاولة

# لتحديث access_token الخاص بهم. تم التحقق من هذا للعمل مع Google و Okta و

# Azure SSO ويستخدم لقطع اتصال VPN الخاص بالمستخدم تلقائيًا إذا تمت إزالته

# من مزود OIDC. اترك هذا معطلاً إذا كان مزود OIDC الخاص بك

# لديه مشاكل في تحديث رموز الوصول لأنه قد يقطع بشكل غير متوقع ملف

جلسة VPN لمستخدم واحد.

الافتراضي ['firezone'] ['المصادقة'] ['disable_vpn_on_oidc_error'] = خطأ

 

الافتراضي ['firezone'] ['المصادقة'] ['oidc'] = {

  جوجل: {

    discovery_document_uri: “https://accounts.google.com/.well-known/openid-configuration” ،

    client_id: “ "،

    client_secret: " "،

    redirect_uri: “https://instance-id.yourfirezone.com/auth/oidc/google/callback/” ،

    نوع الاستجابة: "كود" ،

    النطاق: "ملف تعريف بريد إلكتروني مفتوح" ،

    التسمية: "Google"

  },

  أوكتا: {

    discovery_document_uri: "https: // /.well-known/openid-configuration "،

    client_id: “ "،

    client_secret: " "،

    redirect_uri: "https://instance-id.yourfirezone.com/auth/oidc/okta/callback/" ،

    نوع الاستجابة: "كود" ،

    النطاق: "فتح ملف تعريف البريد الإلكتروني دون اتصال" ،

    التسمية: "Okta"

  }

}



إعدادات التكوين التالية مطلوبة للتكامل:

  1. discovery_document_uri: ملف عنوان 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. response_type: اضبط على الرمز.
  6. نطاق: نطاقات OIDC للحصول عليها من مزود OIDC الخاص بك. يجب تعيين هذا على ملف تعريف البريد الإلكتروني المفتوح أو ملف تعريف البريد الإلكتروني المفتوح دون اتصال بالإنترنت اعتمادًا على الموفر.
  7. التسمية: نص تسمية الزر الذي يظهر على شاشة تسجيل الدخول إلى Firezone.

عناوين URL جميلة

لكل مزود OIDC ، يتم إنشاء عنوان URL مناسب لإعادة التوجيه إلى عنوان URL لتسجيل الدخول للموفر الذي تمت تهيئته. بالنسبة إلى مثال تهيئة OIDC أعلاه ، عناوين URL هي:

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

إرشادات لإعداد Firezone مع موفري الهوية المشهورين

لدينا وثائق لمقدمي الخدمات:

  • شراء مراجعات جوجل
  • ثمن
  • أزور أكتيف ديركتوري
  • تسجيل الدخول
  • المصادقة المحلية

 

إذا كان موفر الهوية الخاص بك لديه موصل OIDC عام ولم يكن مدرجًا أعلاه ، فالرجاء الانتقال إلى وثائقهم للحصول على معلومات حول كيفية استرداد إعدادات التكوين الضرورية.

الحفاظ على إعادة المصادقة بانتظام

يمكن تغيير الإعداد ضمن الإعدادات / الأمان لطلب إعادة المصادقة الدورية. يمكن استخدام هذا لفرض مطلب دخول المستخدمين إلى Firezone على أساس منتظم لمواصلة جلسة VPN الخاصة بهم.

يمكن ضبط مدة الجلسة لتكون بين ساعة واحدة وتسعين يومًا. من خلال تعيين هذا على أبدًا ، يمكنك تمكين جلسات VPN في أي وقت. هذا هو المعيار.

إعادة المصادقة

يجب على المستخدم إنهاء جلسة VPN الخاصة به وتسجيل الدخول إلى بوابة Firezone لإعادة مصادقة جلسة VPN منتهية الصلاحية (عنوان URL المحدد أثناء النشر).

يمكنك إعادة المصادقة على جلستك باتباع إرشادات العميل الدقيقة الموجودة هنا.

 

حالة اتصال VPN

يعرض عمود جدول اتصال VPN الخاص بصفحة المستخدمين حالة اتصال المستخدم. هذه هي حالات الاتصال:

ممكّن - تم تمكين الاتصال.

معطل - تم تعطيل الاتصال من قبل المسؤول أو فشل تحديث OIDC.

منتهية الصلاحية - تم تعطيل الاتصال بسبب انتهاء صلاحية المصادقة أو لم يقم المستخدم بتسجيل الدخول لأول مرة.

شراء مراجعات جوجل

من خلال موصل OIDC العام ، يتيح Firezone الدخول الموحد (SSO) مع Google Workspace و Cloud Identity. سيوضح لك هذا الدليل كيفية الحصول على معلمات التكوين المدرجة أدناه ، والتي تعتبر ضرورية للتكامل:

  1. discovery_document_uri: ملف عنوان 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. response_type: اضبط على الرمز.
  6. نطاق: نطاقات OIDC للحصول عليها من مزود OIDC الخاص بك. يجب تعيين هذا على فتح ملف تعريف البريد الإلكتروني لتزويد Firezone بالبريد الإلكتروني للمستخدم في المطالبات المرتجعة.
  7. التسمية: نص تسمية الزر الذي يظهر على شاشة تسجيل الدخول إلى Firezone.

الحصول على إعدادات التكوين

1. شاشة تهيئة OAuthâ € <

إذا كانت هذه هي المرة الأولى التي تنشئ فيها معرّف عميل OAuth جديدًا ، فسيُطلب منك تهيئة شاشة الموافقة.

* حدد داخلي لنوع المستخدم. هذا يضمن فقط الحسابات التي تنتمي إلى المستخدمين في Google Workspace Organization الخاصة بك يمكنهم إنشاء تكوينات الجهاز. لا تحدد خارجي إلا إذا كنت تريد تمكين أي شخص لديه حساب Google صالح من إنشاء تكوينات الجهاز.

 

في شاشة معلومات التطبيق:

  1. اسم التطبيق: Firezone
  2. شعار التطبيق: شعار Firezone (أحفظ الرابط ك).
  3. الصفحة الرئيسية للتطبيق: عنوان URL لمثيل Firezone الخاص بك.
  4. المجالات المصرح بها: نطاق المستوى الأعلى لمثيل Firezone الخاص بك.

 

 

2. أنشئ معرّفات عميل OAuthâ € <

يعتمد هذا القسم على وثائق Google الخاصة بـ إعداد OAuth 2.0.

قم بزيارة Google Cloud Console صفحة أوراق الاعتماد الصفحة ، انقر على + إنشاء بيانات اعتماد وحدد معرّف عميل OAuth.

في شاشة إنشاء معرّف عميل OAuth:

  1. اضبط نوع التطبيق على تطبيق الويب
  2. أضف Firezone EXTERNAL_URL + / auth / oidc / google / callback / (على سبيل المثال https://instance-id.yourfirezone.com/auth/oidc/google/callback/) كإدخال إلى URIs المعتمد لإعادة التوجيه.

 

بعد إنشاء معرّف عميل OAuth ، ستحصل على معرّف العميل وسر العميل. سيتم استخدامها مع إعادة التوجيه URI في الخطوة التالية.

تكامل Firezone

تعديل /etc/firezone/firezone.rb لتضمين الخيارات أدناه:

 

# استخدام Google كموفر هوية SSO

الافتراضي ['firezone'] ['المصادقة'] ['oidc'] = {

  جوجل: {

    discovery_document_uri: “https://accounts.google.com/.well-known/openid-configuration” ،

    client_id: “ "،

    client_secret: " "،

    redirect_uri: “https://instance-id.yourfirezone.com/auth/oidc/google/callback/” ،

    نوع الاستجابة: "كود" ،

    النطاق: "ملف تعريف بريد إلكتروني مفتوح" ،

    التسمية: "Google"

  }

}

 

قم بتشغيل إعادة تكوين firezone-ctl وإعادة تشغيل firezone-ctl لتحديث التطبيق. يجب أن تشاهد الآن زر تسجيل الدخول باستخدام Google في عنوان URL الجذر لـ Firezone.

ثمن

يستخدم Firezone موصل OIDC العام لتسهيل تسجيل الدخول الأحادي (SSO) باستخدام Okta. سيوضح لك هذا البرنامج التعليمي كيفية الحصول على معلمات التكوين المدرجة أدناه ، والتي تعد ضرورية للتكامل:

  1. discovery_document_uri: ملف عنوان 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. response_type: اضبط على الرمز.
  6. نطاق: نطاقات OIDC للحصول عليها من مزود OIDC الخاص بك. يجب تعيين هذا على فتح ملف تعريف البريد الإلكتروني offline_access لتزويد Firezone بالبريد الإلكتروني للمستخدم في المطالبات التي تم إرجاعها.
  7. التسمية: نص تسمية الزر الذي يظهر على شاشة تسجيل الدخول إلى Firezone.

 

دمج تطبيق Okta

يعتمد هذا القسم من الدليل على وثائق Okta.

في وحدة تحكم المشرف ، انتقل إلى التطبيقات> التطبيقات وانقر فوق إنشاء تكامل التطبيق. قم بتعيين طريقة تسجيل الدخول إلى OICD - OpenID Connect ونوع التطبيق إلى تطبيق الويب.

قم بتكوين هذه الإعدادات:

  1. اسم التطبيق: Firezone
  2. شعار التطبيق: شعار Firezone (أحفظ الرابط ك).
  3. نوع المنحة: حدد مربع رمز التحديث. يضمن ذلك مزامنة Firezone مع موفر الهوية وإنهاء الوصول إلى VPN بمجرد إزالة المستخدم.
  4. إعادة توجيه تسجيل الدخول: أضف Firezone EXTERNAL_URL + / auth / oidc / okta / callback / (على سبيل المثال https://instance-id.yourfirezone.com/auth/oidc/okta/callback/) كإدخال إلى URIs المعتمد لإعادة التوجيه .
  5. التعيينات: حدد المجموعات التي ترغب في منحها الوصول إلى مثيل Firezone الخاص بك.

بمجرد حفظ الإعدادات ، سيتم إعطاؤك معرف العميل وسر العميل ونطاق Okta. سيتم استخدام هذه القيم الثلاث في الخطوة 3 لتهيئة Firezone.

دمج Firezone

تعديل /etc/firezone/firezone.rb لتضمين الخيارات أدناه. لك Discover_document_url سوف يكون /.well-known/openid-configuration ملحق بنهاية ملف okta_domain.

 

# استخدام Okta كموفر هوية SSO

الافتراضي ['firezone'] ['المصادقة'] ['oidc'] = {

  أوكتا: {

    discovery_document_uri: "https: // /.well-known/openid-configuration "،

    client_id: “ "،

    client_secret: " "،

    redirect_uri: "https://instance-id.yourfirezone.com/auth/oidc/okta/callback/" ،

    نوع الاستجابة: "كود" ،

    النطاق: "فتح ملف تعريف البريد الإلكتروني دون اتصال" ،

    التسمية: "Okta"

  }

}

 

قم بتشغيل إعادة تكوين firezone-ctl وإعادة تشغيل firezone-ctl لتحديث التطبيق. يجب أن تشاهد الآن زر تسجيل الدخول باستخدام Okta في عنوان URL الجذر لـ Firezone.

 

تقييد الوصول إلى مستخدمين معينين

يمكن تقييد المستخدمين الذين يمكنهم الوصول إلى تطبيق Firezone بواسطة Okta. انتقل إلى صفحة مهام Firezone App Integration الخاصة بوحدة تحكم مسؤول Okta لإنجاز ذلك.

أزور أكتيف ديركتوري

من خلال موصل OIDC العام ، يتيح Firezone تسجيل الدخول الأحادي (SSO) باستخدام Azure Active Directory. سيوضح لك هذا الدليل كيفية الحصول على معلمات التكوين المدرجة أدناه ، والتي تعتبر ضرورية للتكامل:

  1. discovery_document_uri: ملف عنوان 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. response_type: اضبط على الرمز.
  6. نطاق: نطاقات OIDC للحصول عليها من مزود OIDC الخاص بك. يجب تعيين هذا على فتح ملف تعريف البريد الإلكتروني offline_access لتزويد Firezone بالبريد الإلكتروني للمستخدم في المطالبات التي تم إرجاعها.
  7. التسمية: نص تسمية الزر الذي يظهر على شاشة تسجيل الدخول إلى Firezone.

احصل على إعدادات التكوين

هذا الدليل مأخوذ من مستندات Azure Active Directory.

 

انتقل إلى صفحة Azure Active Directory الخاصة ببوابة Azure. اختر خيار القائمة "إدارة" ، وحدد "تسجيل جديد" ، ثم قم بالتسجيل من خلال توفير المعلومات أدناه:

  1. الاسم: Firezone
  2. أنواع الحسابات المدعومة: (الدليل الافتراضي فقط - مستأجر واحد)
  3. إعادة توجيه URI: يجب أن يكون هذا هو firezone EXTERNAL_URL + / auth / oidc / azure / callback / (على سبيل المثال https://instance-id.yourfirezone.com/auth/oidc/azure/callback/). تأكد من تضمين الشرطة المائلة اللاحقة. ستكون هذه هي قيمة redirect_uri.

 

بعد التسجيل ، افتح عرض التفاصيل للتطبيق وانسخ ملف معرف التطبيق (العميل). ستكون هذه هي قيمة client_id. بعد ذلك ، افتح قائمة نقاط النهاية لاسترداد ملف مستند بيانات تعريف OpenID Connect. ستكون هذه هي قيمة discovery_document_uri.

 

قم بإنشاء سر عميل جديد بالنقر فوق خيار الشهادات والأسرار ضمن قائمة الإدارة. انسخ سر العميل ؛ ستكون قيمة سر العميل هذا.

 

أخيرًا ، حدد ارتباط أذونات API ضمن قائمة الإدارة ، انقر فوق أضف إذنًاوحدد Microsoft Graph. إضافة البريد الإلكتروني, رض, غير متصل و البيانات الشخصية إلى الأذونات المطلوبة.

تكامل Firezone

تعديل /etc/firezone/firezone.rb لتضمين الخيارات أدناه:

 

# استخدام Azure Active Directory كموفر هوية SSO

الافتراضي ['firezone'] ['المصادقة'] ['oidc'] = {

  اللازوردية: {

    discovery_document_uri: "https://login.microsoftonline.com/ /v2.0/.well-known/openid-configuration "،

    client_id: “ "،

    client_secret: " "،

    redirect_uri: "https://instance-id.yourfirezone.com/auth/oidc/azure/callback/" ،

    نوع الاستجابة: "كود" ،

    النطاق: "فتح ملف تعريف البريد الإلكتروني دون اتصال" ،

    التسمية: "أزور"

  }

}

 

قم بتشغيل إعادة تكوين firezone-ctl وإعادة تشغيل firezone-ctl لتحديث التطبيق. يجب أن تشاهد الآن زر تسجيل الدخول باستخدام Azure في عنوان URL الجذر لـ Firezone.

الكيفية: تقييد الوصول إلى أعضاء معينين

يمكّن Azure AD المسؤولين من تقييد وصول التطبيق إلى مجموعة معينة من المستخدمين داخل شركتك. يمكن العثور على مزيد من المعلومات حول كيفية القيام بذلك في وثائق Microsoft.

إدارة

  • ضبط
  • إدارة التثبيت
  • إرفع مستوى باقتك
  • استكشاف
  • اعتبارات أمنية
  • تشغيل استعلامات SQL

ضبط

يستخدم Chef Omnibus بواسطة Firezone لإدارة المهام بما في ذلك تغليف الإصدار والإشراف على العملية وإدارة السجل والمزيد.

يشكل كود روبي ملف التكوين الأساسي الموجود في /etc/firezone/firezone.rb. تؤدي إعادة تشغيل sudo firezone-ctl إلى إعادة التكوين بعد إجراء تعديلات على هذا الملف إلى أن يتعرف الشيف على التغييرات ويطبقها على نظام التشغيل الحالي.

راجع مرجع ملف التكوين للحصول على قائمة كاملة بمتغيرات التكوين وأوصافها.

إدارة التثبيت

يمكن إدارة مثيل Firezone الخاص بك عبر ملف firezone- ctl الأمر ، كما هو موضح أدناه. تتطلب معظم الأوامر الفرعية البادئة بـ سودو.

 

الجذر @ التجريبي: ~ # firezone-ctl

omnibus-ctl: الأمر (أمر فرعي)

أوامر عامة:

  تطهير

    احذف * كل * بيانات firezone ، وابدأ من نقطة الصفر.

  إنشاء أو إعادة تعيين المسؤول

    إعادة تعيين كلمة المرور للمسؤول بالبريد الإلكتروني المحدد افتراضيًا ['firezone'] ['admin_email'] أو إنشاء مسؤول جديد إذا كان هذا البريد الإلكتروني غير موجود.

  مساعدة

    اطبع رسالة المساعدة هذه.

  إعادة تكوين

    أعد تكوين التطبيق.

  إعادة تعيين الشبكة

    يعيد تعيين nftables وواجهة WireGuard وجدول التوجيه إلى إعدادات Firezone الافتراضية.

  عرض التكوين

    اعرض التكوين الذي سيتم إنشاؤه عن طريق إعادة التكوين.

  شبكة تفكيك

    يزيل واجهة WireGuard وجدول nftables firezone.

  تجديد الشهادة بالقوة

    فرض تجديد الشهادة الآن حتى لو لم تنته صلاحيتها.

  وقف تجديد الشهادة

    يزيل cronjob الذي يجدد الشهادات.

  إلغاء

    قتل جميع العمليات وإلغاء تثبيت مشرف العملية (سيتم الاحتفاظ بالبيانات).

  الإصدار

    عرض الإصدار الحالي من Firezone

أوامر إدارة الخدمة:

  رشيق القتل

    حاول التوقف الجميل ، ثم SIGKILL مجموعة العملية بأكملها.

  HUP

    إرسال HUP للخدمات.

  مادبا

    أرسل الخدمات إلى INT.

  قتل

    أرسل خدمات قتل.

  مرة

    ابدأ الخدمات إذا كانت معطلة. لا تقم بإعادة تشغيلهم إذا توقفوا.

  إعادة تشغيل

    أوقف الخدمات إذا كانت قيد التشغيل ، ثم ابدأ تشغيلها مرة أخرى.

  قائمة الخدمة

    قائمة بجميع الخدمات (تظهر الخدمات الممكّنة بعلامة *.)

  بداية

    ابدأ الخدمات إذا كانت معطلة ، وأعد تشغيلها إذا توقفت.

  الحالة

    إظهار حالة جميع الخدمات.

  توقف

    أوقف الخدمات ولا تعيد تشغيلها.

  ذيل

    شاهد سجلات الخدمة لجميع الخدمات الممكّنة.

  مصطلح

    أرسل مصطلح الخدمات.

  أوسر 1

    أرسل الخدمات USR1.

  أوسر 2

    أرسل الخدمات 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 لإعادة تشغيل الخدمات.

إذا ظهرت أي مشاكل ، فالرجاء إخبارنا بها تقديم تذكرة دعم.

الترقية من <0.5.0 إلى> = 0.5.0

هناك بعض التغييرات المتقطعة وتعديلات التكوين في 0.5.0 والتي يجب معالجتها. اكتشف المزيد أدناه.

تمت إزالة طلبات Nginx non_ssl_port المجمعة (HTTP)

لم يعد Nginx يدعم فرض SSL ومعاملات المنفذ non-SSL اعتبارًا من الإصدار 0.5.0. نظرًا لأن Firezone يحتاج إلى SSL للعمل ، فإننا ننصح بإزالة خدمة Nginx الحزمة عن طريق تعيين الافتراضي ['firezone'] ['nginx'] ['enable'] = false وتوجيه الوكيل العكسي إلى تطبيق Phoenix على المنفذ 13000 بدلاً من ذلك (افتراضيًا ).

دعم بروتوكول ACME

0.5.0 يقدم دعم بروتوكول ACME لتجديد شهادات SSL تلقائيًا مع خدمة Nginx المجمعة. للتمكين ،

  • تأكد من أن ['firezone'] ['external_url'] يحتوي على FQDN صالح يتحول إلى عنوان IP العام لخادمك.
  • تأكد من إمكانية الوصول إلى المنفذ 80 / tcp
  • تفعيل دعم بروتوكول ACME مع ['firezone'] ['ssl'] ['acme'] ['enabled'] = صحيح في ملف التكوين الخاص بك.

تداخل وجهات قواعد الخروج

اختفت إمكانية إضافة القواعد مع الوجهات المكررة في Firezone 0.5.0. سيتعرف برنامج الترحيل الخاص بنا تلقائيًا على هذه المواقف أثناء الترقية إلى 0.5.0 وسيحتفظ فقط بالقواعد التي تتضمن وجهتها القاعدة الأخرى. ليس هناك ما تحتاج إلى القيام به إذا كان هذا على ما يرام.

بخلاف ذلك ، قبل الترقية ، ننصح بتغيير مجموعة القواعد الخاصة بك للتخلص من هذه المواقف.

التهيئة المسبقة لـ Okta و Google SSO

يزيل Firezone 0.5.0 دعم النمط القديم لتهيئة Okta و Google SSO لصالح التكوين الجديد الأكثر مرونة المستند إلى OIDC. 

إذا كان لديك أي تكوين ضمن المفاتيح الافتراضية ['firezone'] ['المصادقة'] ['okta'] أو مفاتيح ['firezone'] ['المصادقة'] ['google'] الافتراضية ، فأنت بحاجة إلى ترحيلها إلى OIDC التكوين القائم على استخدام الدليل أدناه.

تهيئة Google OAuth الحالية

قم بإزالة هذه الأسطر التي تحتوي على تكوينات Google OAuth القديمة من ملف التهيئة الموجود في /etc/firezone/firezone.rb

 

افتراضي ['firezone'] ['المصادقة'] ['google'] ['ممكّن']

افتراضي ['firezone'] ['المصادقة'] ['google'] ['client_id']

افتراضي ['firezone'] ['المصادقة'] ['google'] ['client_secret']

الافتراضي ['firezone'] ['المصادقة'] ['google'] ['redirect_uri']

 

بعد ذلك ، قم بتكوين Google كموفر OIDC باتباع الإجراءات هنا.

(قدم تعليمات الارتباط) <<<<<<<<<<<<<<<<<

 

تهيئة Google OAuth الحالي 

قم بإزالة هذه الأسطر التي تحتوي على تكوينات Okta OAuth القديمة من ملف التهيئة الموجود في /etc/firezone/firezone.rb

 

افتراضي ['firezone'] ['المصادقة'] ['okta'] ['ممكّن']

افتراضي ['firezone'] ['المصادقة'] ['okta'] ['client_id']

افتراضي ['firezone'] ['المصادقة'] ['okta'] ['client_secret']

افتراضي ['firezone'] ['المصادقة'] ['okta'] ['موقع']

 

بعد ذلك ، قم بتكوين Okta كموفر OIDC باتباع الإجراءات هنا.

قم بالترقية من 0.3.x إلى> = 0.3.16

اعتمادًا على الإعداد والإصدار الحاليين لديك ، التزم بالإرشادات أدناه:

إذا كان لديك بالفعل تكامل OIDC:

بالنسبة لبعض موفري OIDC ، تتطلب الترقية إلى> = 0.3.16 الحصول على رمز تحديث لنطاق الوصول دون اتصال. من خلال القيام بذلك ، يتم التأكد من تحديث Firezone مع موفر الهوية وإيقاف اتصال VPN بعد حذف المستخدم. تفتقر التكرارات السابقة لـ Firezone إلى هذه الميزة. في بعض الحالات ، قد يظل المستخدمون الذين تم حذفهم من مزود الهوية الخاص بك متصلين بشبكة VPN.

من الضروري تضمين الوصول دون اتصال في معلمة النطاق لتكوين OIDC لموفري OIDC الذين يدعمون نطاق الوصول دون اتصال. يجب تنفيذ إعادة تكوين Firezone-ctl من أجل تطبيق التغييرات على ملف تكوين Firezone ، الموجود في /etc/firezone/firezone.rb.

بالنسبة للمستخدمين الذين تمت مصادقتهم بواسطة موفر OIDC الخاص بك ، سترى عنوان اتصالات OIDC في صفحة تفاصيل المستخدم لواجهة مستخدم الويب إذا كان Firezone قادرًا على استرداد رمز التحديث بنجاح.

إذا لم يفلح ذلك ، فستحتاج إلى حذف تطبيق OAuth الحالي وتكرار خطوات إعداد OIDC إلى إنشاء تكامل تطبيق جديد .

لدي تكامل OAuth حالي

قبل 0.3.11 ، استخدم Firezone موفري OAuth2 المهيئين مسبقًا. 

اتبع التعليمات هنا للانتقال إلى OIDC.

لم أدمج مزود الهوية

لا رد فعل مطلوب. 

يمكنك اتباع التعليمات هنا لتمكين SSO من خلال موفر OIDC.

قم بالترقية من 0.3.1 إلى> = 0.3.2

في مكانه ، استبدل ['firezone'] ['url الخارجي'] الافتراضي خيار التكوين الافتراضي ['firezone'] ['fqdn']. 

قم بتعيين هذا على عنوان URL لبوابة Firezone عبر الإنترنت التي يمكن لعامة الناس الوصول إليها. سيكون افتراضيًا على https: // بالإضافة إلى FQDN لخادمك إذا تركت بدون تحديد.

يوجد ملف التكوين في /etc/firezone/firezone.rb. راجع مرجع ملف التكوين للحصول على قائمة كاملة بمتغيرات التكوين وأوصافها.

قم بالترقية من 0.2.x إلى 0.3.x

لم يعد Firezone يحتفظ بالمفاتيح الخاصة للجهاز على خادم Firezone اعتبارًا من الإصدار 0.3.0. 

لن تسمح لك واجهة مستخدم الويب Firezone بإعادة تنزيل هذه التكوينات أو مشاهدتها ، ولكن يجب أن تستمر أي أجهزة موجودة في العمل كما هي.

قم بالترقية من 0.1.x إلى 0.2.x

إذا كنت تقوم بالترقية من Firezone 0.1.x ، فهناك بعض تغييرات ملف التكوين التي يجب معالجتها يدويًا. 

لإجراء التعديلات اللازمة على ملف /etc/firezone/firezone.rb ، قم بتشغيل الأوامر أدناه كجذر.

 

cp /etc/firezone/firezone.rb /etc/firezone/firezone.rb.bak

sed -i "s / \ ['enable' \] / \ ['enabled' \] /" /etc/firezone/firezone.rb

صدى "افتراضي ['firezone'] ['connectivity_checks'] ['تمكين'] = صحيح" >> /etc/firezone/firezone.rb

صدى "افتراضي ['firezone'] ['connectivity_checks'] ['الفاصل الزمني'] = 3_600" >> /etc/firezone/firezone.rb

إعادة تكوين firezone-ctl

إعادة تشغيل firezone-ctl

استكشاف الأخطاء:

يعد التحقق من سجلات Firezone خطوة أولى حكيمة لأية مشكلات يمكن أن تحدث.

قم بتشغيل sudo firezone-ctl tail لعرض سجلات Firezone.

تصحيح مشاكل الاتصال

تحدث معظم مشكلات الاتصال في Firezone بسبب قواعد iptables أو nftables غير المتوافقة. يجب عليك التأكد من أن أي قواعد لديك سارية المفعول لا تتعارض مع قواعد Firezone.

ينخفض ​​الاتصال بالإنترنت عندما يكون النفق نشطًا

تأكد من أن سلسلة FORWARD تسمح بالحزم من عملاء WireGuard إلى المواقع التي تريد السماح لها بعبور Firezone إذا تدهور اتصال الإنترنت لديك في كل مرة تقوم فيها بتنشيط نفق WireGuard الخاص بك.

 

يمكن تحقيق ذلك إذا كنت تستخدم ufw من خلال التأكد من أن سياسة التوجيه الافتراضية تسمح بما يلي:

 

ubuntu @ fz: ~ sudo ufw الافتراضي يسمح الموجه

تم تغيير السياسة الافتراضية الموجهة إلى "السماح"

(تأكد من تحديث القواعد الخاصة بك وفقًا لذلك)

 

A ufw قد تبدو حالة خادم Firezone النموذجي كما يلي:

 

ubuntu @ fz: ~ $ sudo ufw الحالة مطولة

الحالة: نشط

تسجيل الدخول: على (منخفض)

الافتراضي: رفض (وارد) ، سماح (صادر) ، سماح (موجه)

التشكيلات الجديدة: تخطي

 

للعمل من

- ———--

22 / tcp السماح في أي مكان

80 / tcp السماح في أي مكان

443 / tcp السماح في أي مكان

51820 / udp السماح في أي مكان

22 / tcp (v6) السماح في أي مكان (الإصدار 6)

80 / tcp (v6) السماح في أي مكان (الإصدار 6)

443 / tcp (v6) السماح في أي مكان (الإصدار 6)

51820 / udp (v6) السماح في أي مكان (v6)

اعتبارات أمنية

ننصح بتقييد الوصول إلى واجهة الويب لعمليات نشر الإنتاج بالغة الحساسية والمهمة ، كما هو موضح أدناه.

الخدمات والموانئ

 

العطاء

المنفذ الافتراضي

عنوان الاستماع

الوصف

إنجن إكس

يناير ٢٠٢٤

من جميع

منفذ HTTP (S) عام لإدارة Firezone وتسهيل المصادقة.

Wireguard

51820

من جميع

يستخدم منفذ WireGuard العام لجلسات VPN. (UDP)

كيو

15432

127.0.0.1

منفذ محلي فقط يستخدم لخادم Postgresql المجمع.

عنقاء

13000

127.0.0.1

منفذ محلي فقط يستخدمه خادم تطبيق الإكسير المنبع.

عمليات نشر الإنتاج

ننصحك بالتفكير في تقييد الوصول إلى واجهة مستخدم الويب المكشوفة للجمهور في Firezone (من خلال المنفذين الافتراضيين 443 / tcp و 80 / tcp) واستخدام نفق WireGuard لإدارة Firezone للإنتاج وعمليات النشر العامة حيث يكون مسؤول واحد مسؤولاً لإنشاء تكوينات الجهاز وتوزيعها على المستخدمين النهائيين.

 

على سبيل المثال ، إذا أنشأ المسؤول تكوينًا للجهاز وأنشأ نفقًا بعنوان WireGuard المحلي 10.3.2.2 ، فإن تكوين ufw التالي سيمكن المسؤول من الوصول إلى واجهة مستخدم الويب Firezone على واجهة wg-firezone للخادم باستخدام الافتراضي 10.3.2.1 عنوان النفق:

 

الجذر @ التجريبي: ~ # حالة ufw مطول

الحالة: نشط

تسجيل الدخول: على (منخفض)

الافتراضي: رفض (وارد) ، سماح (صادر) ، سماح (موجه)

التشكيلات الجديدة: تخطي

 

للعمل من

- ———--

22 / tcp السماح في أي مكان

51820 / udp السماح في أي مكان

في أي مكان يسمح بالدخول 10.3.2.2

22 / tcp (v6) السماح في أي مكان (الإصدار 6)

51820 / udp (v6) السماح في أي مكان (v6)

هذا من شأنه أن يترك فقط 22 / برنامج التعاون الفني مكشوف للوصول إلى SSH لإدارة الخادم (اختياري) ، و 51820 / udp مكشوفة من أجل إنشاء أنفاق WireGuard.

قم بتشغيل استعلامات SQL

تجمع Firezone خادم Postgresql ومطابقة psql فائدة يمكن استخدامها من الصدفة المحلية مثل:

 

/ opt / firezone / embedded / bin / psql \

  -منطقة النار \

  -د منطقة النار \

  -h المضيف المحلي \

  ص 15432 \

  -c "SQL_STATEMENT"

 

يمكن أن يكون هذا مفيدًا لأغراض التصحيح.

 

المهام المشتركة:

 

  • سرد كافة المستخدمين
  • سرد جميع الأجهزة
  • تغيير دور المستخدم
  • النسخ الاحتياطي لقاعدة البيانات



سرد كافة المستخدمين:

 

/ opt / firezone / embedded / bin / psql \

  -منطقة النار \

  -د منطقة النار \

  -h المضيف المحلي \

  ص 15432 \

  -c "حدد * من المستخدمين ؛"



قائمة بجميع الأجهزة:

 

/ opt / firezone / embedded / bin / psql \

  -منطقة النار \

  -د منطقة النار \

  -h المضيف المحلي \

  ص 15432 \

  -c "تحديد * من الأجهزة ؛"



تغيير دور المستخدم:

 

عيّن الدور على "مشرف" أو "غير مميز":

 

/ opt / firezone / embedded / bin / psql \

  -منطقة النار \

  -د منطقة النار \

  -h المضيف المحلي \

  ص 15432 \

  -c "تحديث المستخدمين SET role = 'admin' حيث البريد الإلكتروني = 'user@example.com' ؛"



النسخ الاحتياطي لقاعدة البيانات:

 

علاوة على ذلك ، تم تضمين برنامج تفريغ pg ، والذي يمكن استخدامه لأخذ نسخ احتياطية منتظمة من قاعدة البيانات. قم بتنفيذ التعليمات البرمجية التالية لتفريغ نسخة من قاعدة البيانات بتنسيق استعلام SQL الشائع (استبدل /path/to/backup.sql بالموقع حيث يجب إنشاء ملف SQL):

 

/ opt / firezone / embedded / bin / pg_dump \

  -منطقة النار \

  -د منطقة النار \

  -h المضيف المحلي \

  -p 15432> /path/to/backup.sql

دليل المستخدم

  • إضافة المستخدمين
  • أضف الأجهزة
  • قواعد الخروج
  • تعليمات العميل
  • سبليت نفق VPN
  • النفق العكسي 
  • بوابة NAT

إضافة المستخدمين

بعد نشر Firezone بنجاح ، يجب عليك إضافة مستخدمين لتزويدهم بالوصول إلى شبكتك. يتم استخدام Web UI للقيام بذلك.

 

واجهة الويب على الويب


من خلال تحديد الزر "إضافة مستخدم" ضمن / المستخدمين ، يمكنك إضافة مستخدم. سيُطلب منك تزويد المستخدم بعنوان بريد إلكتروني وكلمة مرور. للسماح بالوصول إلى المستخدمين في مؤسستك تلقائيًا ، يمكن لـ Firezone أيضًا التفاعل والمزامنة مع موفر الهوية. مزيد من التفاصيل متوفرة في مصادقة. <إضافة ارتباط للمصادقة

أضف الأجهزة

ننصح بمطالبة المستخدمين بإنشاء تكوينات أجهزتهم الخاصة بحيث يكون المفتاح الخاص مرئيًا لهم فقط. يمكن للمستخدمين إنشاء تكوينات أجهزتهم الخاصة باتباع الإرشادات الموجودة على تعليمات العميل صفحة.

 

إنشاء تكوين جهاز المسؤول

يمكن إنشاء جميع تكوينات جهاز المستخدم بواسطة مشرفي Firezone. في صفحة ملف تعريف المستخدم الموجودة على / users ، حدد خيار "إضافة جهاز" لإنجاز ذلك.

 

[إدراج لقطة شاشة]

 

يمكنك إرسال ملف تكوين WireGuard عبر البريد الإلكتروني للمستخدم بعد إنشاء ملف تعريف الجهاز.

 

المستخدمون والأجهزة مرتبطة. لمزيد من التفاصيل حول كيفية إضافة مستخدم ، انظر إضافة المستخدمين.

قواعد الخروج

من خلال استخدام نظام netfilter الخاص بـ kernel ، يتيح Firezone إمكانيات تصفية الخروج لتحديد حزم DROP أو ACCEPT. عادة كل حركة المرور مسموح بها.

 

يتم دعم عناوين IPv4 و IPv6 CIDRs وعناوين IP عبر Allowlist و Denylist ، على التوالي. يمكنك اختيار تحديد نطاق قاعدة لمستخدم عند إضافتها ، مما يؤدي إلى تطبيق القاعدة على جميع أجهزة هذا المستخدم.

تعليمات العميل

تثبيت وتكوين

لإنشاء اتصال VPN باستخدام عميل WireGuard الأصلي ، راجع هذا الدليل.

 

1. قم بتثبيت عميل WireGuard الأصلي

 

عملاء WireGuard الرسميون الموجودون هنا متوافقون مع Firezone:

 

ماك

 

Windows

 

آيفون

 

أندرويد

 

قم بزيارة موقع WireGuard الرسمي على https://www.wireguard.com/install/ لأنظمة OS غير المذكورة أعلاه.

 

2. قم بتنزيل ملف تكوين الجهاز

 

يمكن إما لمسؤول Firezone أو بنفسك إنشاء ملف تكوين الجهاز باستخدام بوابة Firezone.

 

قم بزيارة عنوان URL الذي قدمه مسؤول 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

[إدراج لقطة شاشة]

مدير الشبكة لنظام التشغيل Linux

لاستيراد ملف تعريف تكوين WireGuard باستخدام Network Manager CLI على أجهزة Linux ، اتبع هذه التعليمات (nmcli).

ملحوظة

إذا تم تمكين دعم IPv6 في ملف التعريف ، فقد تفشل محاولة استيراد ملف التكوين باستخدام واجهة المستخدم الرسومية لإدارة الشبكة مع الخطأ التالي:

ipv6.method: الطريقة "auto" غير مدعومة لـ WireGuard

1. قم بتثبيت أدوات WireGuard 

من الضروري تثبيت أدوات مساحة مستخدمي WireGuard. ستكون هذه حزمة تسمى wireguard أو أدوات wireguard لتوزيعات Linux.

بالنسبة إلى Ubuntu / Debian:

sudo apt تثبيت wireguard

لاستخدام فيدورا:

sudo dnf تثبيت أدوات واقي الأسلاك

Arch Linux:

sudo pacman-s wireguard-tools

قم بزيارة موقع WireGuard الرسمي على https://www.wireguard.com/install/ للتوزيعات غير المذكورة أعلاه.

2. تنزيل التكوين 

يمكن إما لمسؤول Firezone أو التوليد الذاتي إنشاء ملف تكوين الجهاز باستخدام بوابة Firezone.

قم بزيارة عنوان URL الذي قدمه مسؤول 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]

يمكن أيضًا استخدام برنامج Network Manager القابل للتطبيق لإدارة الاتصال في حالة استخدام واجهة المستخدم الرسومية.

اتصال تلقائي

من خلال تحديد "نعم" لخيار الاتصال التلقائي ، يمكن تكوين اتصال VPN للاتصال تلقائيًا:

 

يقوم اتصال nmcli بتعديل اتصال [اسم vpn]. <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

 

نعم الاتصال التلقائي

 

لتعطيل الاتصال التلقائي ، أعده إلى "لا":

 

يقوم اتصال nmcli بتعديل اتصال [اسم vpn].

 

لا اتصال تلقائي

اجعل المصادقة متعددة العوامل متاحة

لتنشيط MFA ، انتقل إلى بوابة Firezone / حساب المستخدم / صفحة تسجيل mfa. استخدم تطبيق المصادقة الخاص بك لمسح رمز الاستجابة السريعة بعد إنشائه ، ثم أدخل الرمز المكون من ستة أرقام.

اتصل بالمسؤول لإعادة تعيين معلومات الوصول إلى حسابك إذا أضعت تطبيق المصادقة.

سبليت نفق VPN

سيرشدك هذا البرنامج التعليمي خلال عملية إعداد ميزة الانقسام النفقي لـ WireGuard مع Firezone بحيث يتم توجيه حركة المرور فقط إلى نطاقات IP المحددة عبر خادم VPN.

 

1. تكوين عناوين IP المسموح بها 

يتم تحديد نطاقات IP التي سيقوم العميل بتوجيه حركة مرور الشبكة لها في حقل عناوين IP المسموح بها الموجود في / الإعدادات / الصفحة الافتراضية. ستتأثر فقط تكوينات نفق 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-شمال شرق -2.



ملحوظة

يحدد Firezone واجهة الخروج المرتبطة بالمسار الأكثر دقة أولاً عند تحديد مكان توجيه الحزمة.

 

2. تجديد تكوينات WireGuard

يجب على المستخدمين إعادة إنشاء ملفات التكوين وإضافتها إلى عميل WireGuard الأصلي الخاص بهم من أجل تحديث أجهزة المستخدم الحالية مع تكوين النفق المنفصل الجديد.

 

للحصول على التعليمات ، انظر اضف جهاز. <<<<<<<<<<< أضف رابط

النفق العكسي

سيوضح هذا الدليل كيفية ربط جهازين باستخدام Firezone كمرحل. إحدى حالات الاستخدام النموذجية هي تمكين المسؤول من الوصول إلى خادم أو حاوية أو جهاز محمي بواسطة NAT أو جدار حماية.

 

عقدة إلى عقدة 

يوضح هذا الرسم التوضيحي سيناريو مباشرًا يقوم فيه الجهازان A و B ببناء نفق.

 

[أدخل الصورة المعمارية لمنطقة firezone]

 

ابدأ بإنشاء الجهاز A والجهاز B بالانتقال إلى / users / [user_id] / new_device. في إعدادات كل جهاز ، تأكد من تعيين المعلمات التالية على القيم المدرجة أدناه. يمكنك ضبط إعدادات الجهاز عند إنشاء تكوين الجهاز (انظر إضافة أجهزة). إذا كنت بحاجة إلى تحديث الإعدادات على جهاز موجود ، فيمكنك القيام بذلك عن طريق إنشاء تكوين جهاز جديد.

 

لاحظ أن جميع الأجهزة بها / إعدادات / صفحة افتراضية حيث يمكن تكوين PersistentKeepalive.

 

الجهاز أ

 

AllowIPs = 10.3.2.2/32

  هذا هو عنوان IP أو نطاق عناوين IP للجهاز ب

استمرار البقاء = 25

  إذا كان الجهاز خلف NAT ، فهذا يضمن أن الجهاز قادر على إبقاء النفق على قيد الحياة والاستمرار في تلقي الحزم من واجهة WireGuard. عادةً ما تكون القيمة 25 كافية ، ولكن قد تحتاج إلى تقليل هذه القيمة اعتمادًا على بيئتك.



جهاز ب

 

AllowIPs = 10.3.2.3/32

هذا هو عنوان IP أو نطاق عناوين IP للجهاز A.

استمرار البقاء = 25

حالة المسؤول - عقد واحد إلى عدة عقد

يوضح هذا المثال موقفًا يمكن فيه للجهاز A الاتصال بالأجهزة من B إلى D في كلا الاتجاهين. يمكن أن يمثل هذا الإعداد مهندسًا أو مسؤولًا يصل إلى العديد من الموارد (الخوادم أو الحاويات أو الأجهزة) عبر شبكات مختلفة.

 

[رسم تخطيطي معماري] <<<<<<<<<<<<<<<<<<<<<<<

 

تأكد من ضبط الإعدادات التالية في إعدادات كل جهاز على القيم المقابلة. عند إنشاء تكوين الجهاز ، يمكنك تحديد إعدادات الجهاز (انظر إضافة أجهزة). يمكن إنشاء تكوين جهاز جديد إذا كانت الإعدادات على جهاز موجود بحاجة إلى التحديث.

 

الجهاز أ (عقدة المسؤول)

 

عناوين IP المسموح بها = 10.3.2.3/32 ، 10.3.2.4/32 ، 10.3.2.5/32 

    هذا هو عنوان IP للأجهزة من B إلى D. يجب تضمين عناوين IP للأجهزة من B إلى D في أي نطاق IP تختار تعيينه.

استمرار البقاء = 25 

    هذا يضمن أن الجهاز يمكنه الحفاظ على النفق والاستمرار في تلقي الحزم من واجهة WireGuard حتى لو كانت محمية بواسطة NAT. في معظم الحالات ، تكون القيمة 25 كافية ، ولكن وفقًا لما يحيط بك ، قد تحتاج إلى خفض هذا الرقم.

 

الجهاز ب

 

  • مسموح بها IPs = 10.3.2.2/32: هذا هو عنوان IP أو نطاق عناوين IP للجهاز A.
  • استمرار البقاء = 25

الجهاز ج

 

  • مسموح بها IPs = 10.3.2.2/32: هذا هو عنوان IP أو نطاق عناوين IP للجهاز A.
  • استمرار البقاء = 25

الجهاز د

 

  • مسموح بها IPs = 10.3.2.2/32: هذا هو عنوان IP أو نطاق عناوين IP للجهاز A.
  • استمرار البقاء = 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'] || العقدة ['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']

اسم مستخدم Linux غير المتميز الذي ستنتمي إليه معظم الخدمات والملفات.

منطقة الحريق'

افتراضي ['firezone'] ['group']

اسم مجموعة Linux تنتمي معظم الخدمات والملفات إليها.

منطقة الحريق'

افتراضي ['firezone'] ['admin_email']

عنوان البريد الإلكتروني لمستخدم Firezone الأولي.

"firezone @ localhost"

افتراضي ['firezone'] ['max_devices_per_user']

الحد الأقصى لعدد الأجهزة التي يمكن أن يمتلكها المستخدم.

10

افتراضي ['firezone'] ['allow_unprivileged_device_management']

يسمح للمستخدمين غير الإداريين بإنشاء وحذف الأجهزة.

الحقيقة

الافتراضي ['firezone'] ['allow_unprivileged_device_configuration']

يسمح للمستخدمين غير الإداريين بتعديل تكوينات الجهاز. عند التعطيل ، يمنع المستخدمين غير المتميزين من تغيير جميع مجالات الجهاز باستثناء الاسم والوصف.

الحقيقة

افتراضي ['firezone'] ['egress_interface']

اسم الواجهة حيث ستخرج حركة المرور النفقية. إذا لم يكن هناك شيء ، فسيتم استخدام واجهة المسار الافتراضية.

صفر

افتراضي ['firezone'] ['fips_enabled']

تمكين أو تعطيل وضع OpenSSL FIPs.

صفر

افتراضي ['firezone'] ['تسجيل الدخول] [' ممكّن ']

تمكين أو تعطيل التسجيل عبر Firezone. اضبط على خطأ لتعطيل التسجيل تمامًا.

الحقيقة

افتراضي ['enterprise'] ['name']

الاسم المستخدم في كتاب طبخ الشيف "المؤسسة".

منطقة الحريق'

افتراضي ['firezone'] ['install_path']

مسار التثبيت الذي يستخدمه كتاب طهي الشيف "المؤسسة". يجب تعيينه على نفس الدليل install_directory أعلاه.

العقدة ['firezone'] ['install_directory']

الافتراضي ['firezone'] ['sysvinit_id']

معرّف مستخدم في / etc / inittab. يجب أن يكون تسلسلًا فريدًا من 1 إلى 4 أحرف.

رشفة'

افتراضي ['firezone'] ['المصادقة'] ['محلي'] ['ممكّن']

تمكين أو تعطيل مصادقة البريد الإلكتروني / كلمة المرور المحلية.

الحقيقة

الافتراضي ['firezone'] ['المصادقة'] ['auto_create_oidc_users']

أنشئ تلقائيًا مستخدمين يسجلون الدخول من OIDC لأول مرة. تعطيل للسماح للمستخدمين الحاليين فقط بتسجيل الدخول عبر OIDC.

الحقيقة

الافتراضي ['firezone'] ['المصادقة'] ['disable_vpn_on_oidc_error']

قم بتعطيل VPN الخاص بالمستخدم إذا تم اكتشاف خطأ أثناء محاولة تحديث رمز OIDC المميز الخاص به.

خاطئة

افتراضي ['firezone'] ['المصادقة'] ['oidc']

تكوين OpenID Connect ، بتنسيق {“provider” => [config…]} - راجع وثائق OpenIDConnect للحصول على أمثلة التكوين.

{}

افتراضي ['firezone'] ['nginx'] ['ممكّن']

تمكين أو تعطيل خادم nginx المجمع.

الحقيقة

افتراضي ['firezone'] ['nginx'] ['ssl_port']

منفذ استماع HTTPS.

443

افتراضي ['firezone'] ['nginx'] ['دليل']

دليل لتخزين تكوين مضيف nginx الظاهري المتعلق بـ Firezone.

“# {node ['firezone'] ['var_directory']} / nginx / إلخ"

افتراضي ['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.

الحقيقة

افتراضي ['firezone'] ['nginx'] ['hsts_header'] ['ممكّن']

تفعيل أو تعطيل HSTS.

الحقيقة

الافتراضي ['firezone'] ['nginx'] ['hsts_header'] ['include_subdomains']

تمكين أو تعطيل includeSubDomains لرأس HSTS.

الحقيقة

الافتراضي ['firezone'] ['nginx'] ['hsts_header'] ['max_age']

الحد الأقصى لعمر رأس HSTS.

31536000

افتراضي ['firezone'] ['nginx'] ['redirect_to_canonical']

ما إذا كان سيتم إعادة توجيه عناوين URL إلى FQDN الأساسي المحدد أعلاه

خاطئة

افتراضي ['firezone'] ['nginx'] ['cache'] ['تمكين']

تمكين أو تعطيل ذاكرة التخزين المؤقت Firezone nginx.

خاطئة

افتراضي ['firezone'] ['nginx'] ['cache'] ['directory']

دليل لذاكرة التخزين المؤقت لـ Firezone nginx.

“# {node ['firezone'] ['var_directory']} / nginx / cache"

افتراضي ['firezone'] ['nginx'] ['user']

مستخدم Firezone nginx.

عقدة ['firezone'] ['مستخدم']

افتراضي ['firezone'] ['nginx'] ['مجموعة']

مجموعة Firezone nginx.

عقدة ['firezone'] ['مجموعة']

افتراضي ['firezone'] ['nginx'] ['dir']

دليل تكوين nginx ذي المستوى الأعلى.

عقدة ['firezone'] ['nginx'] ['دليل']

افتراضي ['firezone'] ['nginx'] ['log_dir']

دليل سجل nginx ذو المستوى الأعلى.

العقدة ['firezone'] ['nginx'] ['log_directory']

افتراضي ['firezone'] ['nginx'] ['pid']

موقع ملف nginx pid.

“# {node ['firezone'] ['nginx'] ['directory']} / nginx.pid"

افتراضي ['firezone'] ['nginx'] ['daemon_disable']

قم بتعطيل وضع nginx daemon حتى نتمكن من مراقبته بدلاً من ذلك.

الحقيقة

افتراضي ['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']

يمكّن أو يعطل تحويل الاستجابات بتنسيق gz إلى طلبات وكيل بناءً على الطلب والاستجابة.

أي'

افتراضي ['firezone'] ['nginx'] ['gzip_vary']

لتمكين أو تعطيل إدراج رأس الاستجابة "Vary: Accept-Encoding".

إيقاف'

افتراضي ['firezone'] ['nginx'] ['gzip_buffers']

يضبط عدد وحجم المخازن المؤقتة المستخدمة لضغط الاستجابة. إذا لم يكن هناك شيء ، فسيتم استخدام nginx الافتراضي.

صفر

افتراضي ['firezone'] ['nginx'] ['gzip_types']

أنواع MIME لتمكين ضغط gzip لملفات.

['text / simple'، '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.

العقدة ['cpu'] && node ['cpu'] ['total']؟ العقدة ['cpu'] ['total']: 1

افتراضي ['firezone'] ['nginx'] ['worker_connections']

أقصى عدد من الاتصالات المتزامنة التي يمكن فتحها بواسطة عملية عامل.

1024

افتراضي ['firezone'] ['nginx'] ['worker_rlimit_nofile']

يغير الحد الأقصى لعدد الملفات المفتوحة للعمليات العاملة. يستخدم nginx الافتراضي إذا كان لا شيء.

صفر

الافتراضي ['firezone'] ['nginx'] ['multi_accept']

ما إذا كان يجب على العمال قبول اتصال واحد في كل مرة أو عدة اتصالات.

الحقيقة

افتراضي ['firezone'] ['nginx'] ['event']

يحدد طريقة معالجة الاتصال لاستخدامها داخل سياق أحداث nginx.

إيبول

افتراضي ['firezone'] ['nginx'] ['server_tokens']

لتمكين أو تعطيل إصدار nginx على صفحات الخطأ وفي حقل رأس استجابة "الخادم".

صفر

الافتراضي ['firezone'] ['nginx'] ['server_names_hash_bucket_size']

يضبط حجم الحاوية لجداول تجزئة أسماء الخوادم.

64

افتراضي ['firezone'] ['nginx'] ['sendfile']

يمكّن أو يعطل استخدام nginx's sendfile ().

على'

الافتراضي ['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'] ['افتراضي'] ['وحدات']

حدد وحدات nginx الإضافية.

[]

افتراضي ['firezone'] ['nginx'] ['enable_rate_limiting']

تمكين أو تعطيل تحديد معدل nginx.

الحقيقة

افتراضي ['firezone'] ['nginx'] ['rate_limiting_zone_name']

اسم منطقة الحد من معدل Nginx.

منطقة الحريق'

افتراضي ['firezone'] ['nginx'] ['rate_limiting_backoff']

معدل Nginx يحد من التراجع.

10 م '

افتراضي ['firezone'] ['nginx'] ['rate_limit']

حد معدل Nginx.

10r / ثانية

افتراضي ['firezone'] ['nginx'] ['ipv6']

اسمح لـ nginx بالاستماع إلى طلبات HTTP لـ IPv6 بالإضافة إلى IPv4.

الحقيقة

افتراضي ['firezone'] ['postgresql'] ['ممكّن']

تمكين أو تعطيل Postgresql المجمعة. اضبط على خطأ واملأ خيارات قاعدة البيانات أدناه لاستخدام مثيل Postgresql الخاص بك.

الحقيقة

الافتراضي ['firezone'] ['postgresql'] ['username']

اسم المستخدم لـ Postgresql.

عقدة ['firezone'] ['مستخدم']

افتراضي ['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 بالثواني.

الستينيات

الافتراضي ['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']

Postgresql CIDRs للسماح بالمصادقة md5.

['127.0.0.1/32'، ':: 1/128']

افتراضي ['firezone'] ['postgresql'] ['منفذ']

منفذ الاستماع Postgresql.

15432

الافتراضي ['firezone'] ['postgresql'] ['shared_buffers']

شارك Postgresql حجم المخازن المؤقتة.

"# {(node ​​['memory'] ['total']. to_i / 4) / 1024} ميغابايت"

افتراضي ['firezone'] ['postgresql'] ['shmmax']

شماكس Postgresql بالبايت.

17179869184

افتراضي ['firezone'] ['postgresql'] ['shmall']

Postgresql shmall بالبايت.

4194304

افتراضي ['firezone'] ['postgresql'] ['work_mem']

حجم ذاكرة العمل Postgresql.

8 ميغا بايت

افتراضي ['firezone'] ['قاعدة بيانات'] ['مستخدم']

يحدد اسم المستخدم الذي سيستخدمه Firezone للاتصال بقاعدة البيانات.

العقدة ['firezone'] ['postgresql'] ['username']

الافتراضي ['firezone'] ['قاعدة البيانات'] ['كلمة المرور']

إذا كنت تستخدم قاعدة بيانات خارجية ، فحدد كلمة المرور التي سيستخدمها Firezone للاتصال بقاعدة البيانات.

غيرني'

افتراضي ['firezone'] ['قاعدة بيانات'] ['اسم']

قاعدة البيانات التي سيستخدمها Firezone. سيتم إنشاؤه إذا لم يكن موجودًا.

منطقة الحريق'

افتراضي ['firezone'] ['قاعدة بيانات'] ['مضيف']

مضيف قاعدة البيانات الذي سيتصل به Firezone.

العقدة ['firezone'] ['postgresql'] ['listen_address']

افتراضي ['firezone'] ['قاعدة بيانات'] ['منفذ']

منفذ قاعدة البيانات الذي سيتصل به Firezone.

عقدة ['firezone'] ['postgresql'] ['منفذ']

افتراضي ['firezone'] ['قاعدة بيانات'] ['تجمع']

حجم تجمع قاعدة البيانات سيستخدم Firezone.

[10 ، إلخ. n المعالجات]. ماكس

الافتراضي ['firezone'] ['قاعدة البيانات'] ['ssl']

ما إذا كان سيتم الاتصال بقاعدة البيانات عبر SSL.

خاطئة

الافتراضي ['firezone'] ['قاعدة البيانات'] ['ssl_opts']

تجزئة من الخيارات لإرسالها إلى: خيار ssl_opts عند الاتصال عبر SSL. يرى Ecto.Adapters.Postgres التوثيق.

{}

افتراضي ['firezone'] ['قاعدة بيانات'] ['معلمات']

تجزئة المعلمات لإرسالها إلى: خيار المعلمات عند الاتصال بقاعدة البيانات. يرى Ecto.Adapters.Postgres التوثيق.

{}

افتراضي ['firezone'] ['قاعدة بيانات'] ['ملحقات']

ملحقات قاعدة البيانات للتمكين.

{'plpgsql' => صحيح ، 'pg_trgm' => صحيح}

افتراضي ['firezone'] ['طائر الفينيق] [' ممكّن ']

قم بتمكين أو تعطيل تطبيق الويب Firezone.

الحقيقة

افتراضي ['firezone'] ['phoenix'] ['listen_address']

تطبيق ويب Firezone الاستماع إلى العنوان. سيكون هذا هو عنوان الاستماع الرئيسي الذي يستخدمه وكلاء nginx.

127.0.0.1 "

افتراضي ['firezone'] ['phoenix'] ['port']

منفذ الاستماع لتطبيق الويب Firezone. سيكون هذا هو المنفذ الرئيسي الذي يستخدمه وكلاء nginx.

13000

افتراضي ['firezone'] ['phoenix'] ['log_directory']

دليل سجل تطبيق الويب Firezone.

“# {عقدة ['firezone'] ['log_directory']} / فينيكس"

افتراضي ['firezone'] ['Phoenix'] ['log_rotation'] ['file_maxbytes']

حجم ملف سجل تطبيق الويب Firezone.

104857600

افتراضي ['firezone'] ['phoenix'] ['log_rotation'] ['num_to_keep']

عدد ملفات سجل تطبيق الويب Firezone المطلوب الاحتفاظ بها.

10

افتراضي ['firezone'] ['Phoenix'] ['crash_detection'] ['ممكّن']

قم بتمكين أو تعطيل إسقاط تطبيق الويب Firezone عند اكتشاف عطل.

الحقيقة

افتراضي ['firezone'] ['Phoenix'] ['external_trusted_proxies']

قائمة بالوكيلات العكسية الموثوقة المنسقة كمصفوفة من عناوين IP و / أو CIDRs.

[]

افتراضي ['firezone'] ['phoenix'] ['private_clients']

قائمة عملاء HTTP للشبكة الخاصة ، مصفوفة من عناوين IP و / أو CIDRs.

[]

افتراضي ['firezone'] ['wireguard'] ['ممكّن']

تمكين أو تعطيل إدارة WireGuard المجمعة.

الحقيقة

افتراضي ['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'] ['اسم_واجهة']

اسم واجهة WireGuard. قد يؤدي تغيير هذه المعلمة إلى خسارة مؤقتة في اتصال VPN.

wg-firezone "

افتراضي ['firezone'] ['wireguard'] ['منفذ']

منفذ الاستماع WireGuard.

51820

افتراضي ['firezone'] ['wireguard'] ['mtu']

واجهة WireGuard MTU لهذا الخادم ولتكوينات الجهاز.

1280

افتراضي ['firezone'] ['wireguard'] ['endpoint']

نقطة نهاية WireGuard لاستخدامها في إنشاء تكوينات الجهاز. إذا كان لا شيء ، يتم تعيينه افتراضيًا على عنوان IP العام للخادم.

صفر

افتراضي ['firezone'] ['wireguard'] ['dns']

WireGuard DNS لاستخدامه في تكوينات الجهاز التي تم إنشاؤها.

1.1.1.1 ، 1.0.0.1

الافتراضي ['firezone'] ['wireguard'] ['allowed_ips']

يسمح WireGuard باستخدام عناوين IP لتكوينات الجهاز التي تم إنشاؤها.

0.0.0.0/0 ، :: / 0 ′

افتراضي ['firezone'] ['wireguard'] ['persistent_keepalive']

الإعداد الافتراضي PersistentKeepalive لتكوينات الجهاز التي تم إنشاؤها. قيمة 0 معطلة.

0

افتراضي ['firezone'] ['wireguard'] ['ipv4'] ['ممكّن']

تمكين أو تعطيل IPv4 لشبكة WireGuard.

الحقيقة

افتراضي ['firezone'] ['wireguard'] ['ipv4'] ['masquerade']

تمكين أو تعطيل التنكر للحزم التي تغادر نفق IPv4.

الحقيقة

افتراضي ['firezone'] ['wireguard'] ['ipv4'] ['شبكة']

تجمع عناوين شبكة WireGuard IPv4.

10.3.2.0/24 ′

افتراضي ['firezone'] ['wireguard'] ['ipv4'] ['عنوان']

عنوان IPv4 لواجهة WireGuard. يجب أن يكون ضمن مجموعة عناوين WireGuard.

10.3.2.1 "

افتراضي ['firezone'] ['wireguard'] ['ipv6'] ['ممكّن']

تمكين أو تعطيل IPv6 لشبكة WireGuard.

الحقيقة

افتراضي ['firezone'] ['wireguard'] ['ipv6'] ['masquerade']

تمكين أو تعطيل التنكر للحزم التي تغادر نفق IPv6.

الحقيقة

افتراضي ['firezone'] ['wireguard'] ['ipv6'] ['شبكة']

تجمع عناوين شبكة WireGuard IPv6.

fd00::3:2:0/120′

افتراضي ['firezone'] ['wireguard'] ['ipv6'] ['عنوان']

عنوان IPv6 لواجهة WireGuard. يجب أن يكون ضمن تجمع عناوين IPv6.

fd00 :: 3: 2: 1 ′

افتراضي ['firezone'] ['runit'] ['svlogd_bin']

Runit موقع حاوية svlogd.

“# {node ['firezone'] ['install_directory']} / embedded / bin / svlogd"

افتراضي ['firezone'] ['ssl'] ['دليل']

دليل SSL لتخزين الشهادات المُنشأة.

/ var / opt / firezone / ssl '

الافتراضي ['firezone'] ['ssl'] ['email_address']

عنوان البريد الإلكتروني المراد استخدامه للشهادات الموقعة ذاتيًا وإشعارات تجديد بروتوكول ACME.

you@example.com "

افتراضي ['firezone'] ['ssl'] ['acme'] ['ممكّن']

قم بتمكين ACME لتوفير شهادة SSL تلقائيًا. قم بتعطيل هذا لمنع Nginx من الاستماع على المنفذ 80. راجع هنا لمزيد من التعليمات.

خاطئة

افتراضي ['firezone'] ['ssl'] ['acme'] ['خادم']

خادم ACME لاستخدامه في إصدار / تجديد الشهادة. يمكن أن يكون أي خادم acme.sh صالح

letsencrypt

الافتراضي ['firezone'] ['ssl'] ['acme'] ['keylength']

حدد نوع المفتاح وطوله لشهادات SSL. يرى هنا

EC-256

افتراضي ['firezone'] ['ssl'] ['شهادة']

المسار إلى ملف الشهادة لـ FQDN الخاص بك. يلغي إعداد ACME أعلاه إذا تم تحديده. إذا كان كل من عربكو وهذا صفري ، فسيتم إنشاء شهادة موقعة ذاتيًا.

صفر

افتراضي ['firezone'] ['ssl'] ['Certificate_key']

المسار إلى ملف الشهادة.

صفر

افتراضي ['firezone'] ['ssl'] ['ssl_dhparam']

nginx ssl dh_param.

صفر

الافتراضي ['firezone'] ['ssl'] ['country_name']

اسم البلد للشهادة الموقعة ذاتيًا.

نحن'

افتراضي ['firezone'] ['ssl'] ['state_name']

اسم الدولة للشهادة الموقعة ذاتيًا.

CA '

الافتراضي ['firezone'] ['ssl'] ['locality_name']

اسم المنطقة لشهادة موقعة ذاتيًا.

سان فرانسيسكو'

افتراضي ['firezone'] ['ssl'] ['اسم_الشركة "]

اسم الشركة شهادة موقعة ذاتيًا.

شركتي'

افتراضي ['firezone'] ['ssl'] ['organization_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 لوضع FIPs.

FIPS @ STRENGTH:! aNULL:! eNULL '

افتراضي ['firezone'] ['ssl'] ['بروتوكولات']

بروتوكولات TLS المراد استخدامها.

TLSv1 TLSv1.1 TLSv1.2 ′

الافتراضي ['firezone'] ['ssl'] ['session_cache']

ذاكرة التخزين المؤقت لجلسة SSL.

مشترك: SSL: 4 م '

الافتراضي ['firezone'] ['ssl'] ['session_timeout']

مهلة جلسة SSL.

5 م '

الافتراضي ['firezone'] ['robots_allow']

تسمح روبوتات nginx.

/ '

افتراضي ['firezone'] ['robots_disallow']

لا تسمح روبوتات nginx.

صفر

افتراضي ['firezone'] ['outbound_email'] ['من']

البريد الإلكتروني الصادر من العنوان.

صفر

افتراضي ['firezone'] ['outbound_email'] ['Provider']

مزود خدمة البريد الإلكتروني الصادر.

صفر

الافتراضي ['firezone'] ['outbound_email'] ['تكوينات']

تكوينات مزود البريد الإلكتروني الصادر.

انظر الجامع / cookbooks / firezone / attributes / default.rb

الافتراضي ['firezone'] ['القياس عن بُعد] [' ممكّن ']

تمكين أو تعطيل التتبع المجهول للمنتج عن بُعد.

الحقيقة

افتراضي ['firezone'] ['connectivity_checks'] ['ممكّن']

تمكين أو تعطيل خدمة فحوصات اتصال Firezone.

الحقيقة

الافتراضي ['firezone'] ['connectivity_checks'] ['الفاصل الزمني']

الفاصل الزمني بين عمليات التحقق من الاتصال بالثواني.

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 runvdir.

/ 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 (منفذ UDP 33434-33524 ، المعدل محدد بـ 500 / ثانية)
    • ICMP و ICMPv6 (معدل استجابات ping / ping يقتصر على 2000 / ثانية)
  • لن يُسمح إلا بحركة المرور الصادرة التالية من الخادم:
    • DNS (منفذ UDP و TCP 53)
    • HTTP (منفذ TCP 80)
    • NTP (منفذ UDP 123)
    • HTTPS (منفذ TCP 443)
    • تقديم SMTP (منفذ TCP 587)
    • مسار تتبع UDP (منفذ 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

############################## المتغيرات النهاية ################## #############

 

# الجدول تصفية الأسرة إنت الرئيسية

مرشح الجدول إنت {

 

 # قواعد لحركة المرور المعاد توجيهها

 # تتم معالجة هذه السلسلة قبل سلسلة Firezone الأمامية

 سلسلة إلى الأمام {

   نوع مرشح هوك إلى الأمام مرشح الأولوية - 5؛ قبول السياسة

 }

 

 # قواعد لحركة الإدخال

 إدخال سلسلة {

   نوع مرشح هوك إدخال مرشح الأولوية ؛ انخفاض السياسة

 

   ## السماح لحركة المرور الواردة إلى واجهة الاسترجاع

   أنا لو \

     يقبل \

     التعليق "السماح لجميع حركات المرور الواردة من واجهة الاسترجاع"

 

   ## تصريح المنشأة والتوصيلات ذات الصلة

   تم إنشاء دولة ط م ، مرتبطة \

     يقبل \

     التعليق "تصريح إقامة / اتصالات ذات صلة"

 

   ## السماح بحركة مرور WireGuard الواردة

   معهد التمويل الدولي DEV_WAN دولار udp dport WIREGUARD_PORT دولار \

     عداد \

     يقبل \

     التعليق "السماح بحركة مرور WireGuard الواردة"

 

   ## تسجيل وإفلات حزم TCP الجديدة غير المتزامنة

   أعلام برنامج التعاون الفني! = حالة مزامنة ct جديدة \

     معدل الحد 100/ دقيقة انفجار 150 الحزم

     بادئة السجل "في - جديد! SYN:" \

     التعليق "تسجيل حد المعدل للاتصالات الجديدة التي لا تحتوي على مجموعة إشارات SYN TCP"

   أعلام برنامج التعاون الفني! = حالة مزامنة ct جديدة \

     عداد \

     يسقط \

     التعليق "قم بإسقاط الاتصالات الجديدة التي لا تحتوي على مجموعة علامات SYN TCP"

 

   ## تسجيل وإسقاط حزم TCP مع مجموعة علم Fin / syn غير صالحة

   أعلام tcp & (fin | syn) == (fin | syn) \

     معدل الحد 100/ دقيقة انفجار 150 الحزم

     بادئة السجل "IN - TCP FIN | SIN:" \

     التعليق "تسجيل حد المعدل لحزم TCP مع مجموعة زعنفة / إشارة مزامنة غير صالحة"

   أعلام 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 | عاجل) <(fin) \

     معدل الحد 100/ دقيقة انفجار 150 الحزم

     بادئة السجل "IN - FIN:" \

     التعليق "تسجيل حد المعدل لأعلام TCP غير الصالحة (fin | syn | rst | psh | ack | عاجل) <(fin)"

   أعلام tcp & (fin | syn | rst | psh | ack | عاجل) <(fin) \

     عداد \

     يسقط \

     التعليق "إفلات حزم TCP ذات الأعلام (fin | syn | rst | psh | ack | عاجل) <(fin)"

 

   ## تسجيل وإسقاط أعلام TCP غير صالحة

   أعلام tcp & (fin | syn | rst | psh | ack | عاجل) == (fin | psh | عاجل) \

     معدل الحد 100/ دقيقة انفجار 150 الحزم

     بادئة السجل "IN - FIN | PSH | URG:" \

     التعليق "تسجيل حد المعدل لأعلام TCP غير الصالحة (fin | syn | rst | psh | ack | عاجل) == (fin | psh | عاجل)"

   أعلام tcp & (fin | syn | rst | psh | ack | عاجل) == (fin | psh | عاجل) \

     عداد \

     يسقط \

     التعليق "إفلات حزم TCP ذات الأعلام (fin | syn | rst | psh | ack | عاجل) == (fin | psh | عاجل)"

 

   ## إسقاط حركة المرور بحالة اتصال غير صالحة

   حالة ct غير صالحة \

     معدل الحد 100/ دقيقة انفجار 150 الحزم

     سجل جميع العلامات البادئة "IN - غير صالح:" \

     التعليق "تسجيل حد المعدل لحركة المرور بحالة اتصال غير صالحة"

   حالة ct غير صالحة \

     عداد \

     يسقط \

     التعليق "إسقاط حركة المرور بحالة اتصال غير صالحة"

 

   ## السماح باستجابات IPv4 ping / ping ولكن حد المعدل يصل إلى 2000 PPS

   ip نوع بروتوكول icmp icmp {echo-response، echo-request} \

     معدل الحد 2000/ثانية \

     عداد \

     يقبل \

     التعليق "السماح بصدى IPv4 للداخل (ping) يقتصر على 2000 PPS"

 

   ## السماح لجميع IPv4 ICMP الوارد الأخرى

   ip بروتوكول icmp \

     عداد \

     يقبل \

     التعليق "السماح لجميع IPv4 ICMP الأخرى"

 

   ## السماح باستجابات IPv6 ping / ping ولكن حد المعدل يصل إلى 2000 PPS

   نوع icmpv6 {echo-response، echo-request} \

     معدل الحد 2000/ثانية \

     عداد \

     يقبل \

     التعليق "السماح بصدى IPv6 للداخل (ping) يقتصر على 2000 PPS"

 

   ## السماح لجميع IPv6 ICMP الوارد الأخرى

   meta l4proto {icmpv6} \

     عداد \

     يقبل \

     التعليق "السماح لجميع IPv6 ICMP الأخرى"

 

   ## السماح بمنافذ UDP traceroute الداخلية ولكن بحد أقصى 500 PPS

   udp dport 33434-33524\

     معدل الحد 500/ثانية \

     عداد \

     يقبل \

     التعليق "تصريح تتبع UDP الوارد يقتصر على 500 PPS"

 

   ## تصريح SSH للداخل

   برنامج التعاون الفني dport سه ct حالة جديدة \

     عداد \

     يقبل \

     التعليق "السماح باتصالات SSH الواردة"

 

   ## السماح للداخل HTTP و HTTPS

   tcp dport {http، https} ct state new \

     عداد \

     يقبل \

     التعليق "السماح باتصالات HTTP و HTTPS"

 

   ## تسجيل أي حركة مرور لا مثيل لها ولكن تسجيل الحد الأقصى لمعدل 60 رسالة / دقيقة

   ## سيتم تطبيق السياسة الافتراضية على حركة المرور غير المتطابقة

   معدل الحد 60/ دقيقة انفجار 100 الحزم

     بادئة السجل "IN - Drop:" \

     التعليق "تسجيل أي حركة مرور لا مثيل لها"

 

   ## عد حركة المرور التي لا مثيل لها

   عداد \

     التعليق "احسب أي حركة مرور لا مثيل لها"

 }

 

 # قواعد لحركة الإخراج

 سلسلة الإخراج {

   نوع مرشح هوك إخراج مرشح الأولوية ؛ انخفاض السياسة

 

   ## السماح لحركة المرور الصادرة إلى واجهة الاسترجاع

   أويف لو \

     يقبل \

     التعليق "السماح لجميع حركات المرور بالخروج إلى واجهة الاسترجاع"

 

   ## تصريح المنشأة والتوصيلات ذات الصلة

   تم إنشاء دولة ط م ، مرتبطة \

     عداد \

     يقبل \

     التعليق "تصريح إقامة / اتصالات ذات صلة"

 

   ## السماح بحركة مرور WireGuard الصادرة قبل قطع التوصيلات ذات الحالة السيئة

   المنظمة الدولية للفرانكفونية DEV_WAN دولار udp الرياضة WIREGUARD_PORT دولار \

     عداد \

     يقبل \

     التعليق "السماح بحركة المرور الصادرة من WireGuard"

 

   ## إسقاط حركة المرور بحالة اتصال غير صالحة

   حالة ct غير صالحة \

     معدل الحد 100/ دقيقة انفجار 150 الحزم

     سجل جميع العلامات البادئة "OUT - غير صالح:" \

     التعليق "تسجيل حد المعدل لحركة المرور بحالة اتصال غير صالحة"

   حالة ct غير صالحة \

     عداد \

     يسقط \

     التعليق "إسقاط حركة المرور بحالة اتصال غير صالحة"

 

   ## السماح لجميع IPv4 ICMP الصادرة الأخرى

   ip بروتوكول icmp \

     عداد \

     يقبل \

     التعليق "السماح بجميع أنواع IPv4 ICMP"

 

   ## السماح لجميع IPv6 ICMP الصادرة الأخرى

   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 new \

     عداد \

     يقبل \

     التعليق "السماح بإرسال SMTP للخارج"

 

   ## السماح لطلبات DNS الصادرة

   udp dport 53 \

     عداد \

     يقبل \

     التعليق "السماح بطلبات UDP DNS الصادرة"

   برنامج التعاون الفني dport 53 \

     عداد \

     يقبل \

     التعليق "السماح بطلبات TCP DNS الصادرة"

 

   ## تصريح طلبات NTP الصادرة

   udp dport 123 \

     عداد \

     يقبل \

     التعليق "السماح بطلبات NTP الصادرة"

 

   ## تسجيل أي حركة مرور لا مثيل لها ولكن تسجيل الحد الأقصى لمعدل 60 رسالة / دقيقة

   ## سيتم تطبيق السياسة الافتراضية على حركة المرور غير المتطابقة

   معدل الحد 60/ دقيقة انفجار 100 الحزم

     بادئة السجل "خارج - إسقاط:" \

     التعليق "تسجيل أي حركة مرور لا مثيل لها"

 

   ## عد حركة المرور التي لا مثيل لها

   عداد \

     التعليق "احسب أي حركة مرور لا مثيل لها"

 }

 

}

 

# جدول تصفية NAT الرئيسي

الجدول إنت نات {

 

 # قواعد التوجيه المسبق لحركة NAT

 سلسلة التوجيه المسبق {

   اكتب nat hook prerouting ذي الأولوية dstnat ؛ قبول السياسة

 }

 

 # قواعد التوجيه اللاحق لحركة NAT

 # تتم معالجة هذا الجدول قبل سلسلة Firezone اللاحقة للتوجيه

 سلسلة postrouting {

   اكتب nat hook postrouting ذي الأولوية srcnat - 5؛ قبول السياسة

 }

 

}

الأستعمالâ € <

يجب تخزين جدار الحماية في الموقع ذي الصلة لتوزيع Linux قيد التشغيل. بالنسبة إلى Debian / Ubuntu ، هذا هو /etc/nftables.conf وبالنسبة لـ RHEL هذا هو /etc/sysconfig/nftables.conf.

يجب تكوين nftables.service لبدء التشغيل (إن لم يكن بالفعل) مضبوطًا:

يمكّن systemctl nftables.service

في حالة إجراء أي تغييرات على قالب جدار الحماية ، يمكن التحقق من صحة البنية عن طريق تشغيل أمر check:

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",

   "مميزة_ معرّف": “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_failed $”: []

       "$ plugins_succeeded": [

           "GeoIP (3)"

       ],

       "مميزة_ معرّف": “1zc2e794-1c3e-43fc-a78f-1db6d1a37f54”,

       "fqdn": "awsdemo.firezone.dev",

       "إصدار النواة": "لينكس 5.13.0",

       "إصدار": "0.4.6"

   },

   "سلسلة_العناصر": ""

}

كيفية تعطيل التتبع عن بعدâ € <

ملحوظة

فريق تطوير Firezone تعتمد على تحليلات المنتج لجعل Firezone أفضل للجميع. يعد ترك القياس عن بُعد ممكّنًا هو أهم مساهمة فردية يمكنك تقديمها لتطوير Firezone. ومع ذلك ، فإننا نتفهم أن بعض المستخدمين لديهم متطلبات خصوصية أو أمان أعلى ونفضل تعطيل التتبع عن بُعد تمامًا. إذا كان هذا أنت ، فاستمر في القراءة.

يتم تمكين القياس عن بعد افتراضيًا. لتعطيل التتبع عن بُعد للمنتج تمامًا ، اضبط خيار التكوين التالي على false في /etc/firezone/firezone.rb وقم بتشغيل sudo firezone-ctl لإعادة التكوين لالتقاط التغييرات.

تقصير['منطقة الحريق']["القياس عن بعد"]["ممكّن"] = زائف

سيؤدي ذلك إلى تعطيل جميع أدوات التتبع عن بُعد الخاصة بالمنتج تمامًا.