تتوفر هنا إرشادات خطوة بخطوة لنشر 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"
}
}
إعدادات التكوين التالية مطلوبة للتكامل:
لكل مزود OIDC ، يتم إنشاء عنوان URL مناسب لإعادة التوجيه إلى عنوان URL لتسجيل الدخول للموفر الذي تمت تهيئته. بالنسبة إلى مثال تهيئة OIDC أعلاه ، عناوين URL هي:
لدينا وثائق لمقدمي الخدمات:
إذا كان موفر الهوية الخاص بك لديه موصل OIDC عام ولم يكن مدرجًا أعلاه ، فالرجاء الانتقال إلى وثائقهم للحصول على معلومات حول كيفية استرداد إعدادات التكوين الضرورية.
يمكن تغيير الإعداد ضمن الإعدادات / الأمان لطلب إعادة المصادقة الدورية. يمكن استخدام هذا لفرض مطلب دخول المستخدمين إلى Firezone على أساس منتظم لمواصلة جلسة VPN الخاصة بهم.
يمكن ضبط مدة الجلسة لتكون بين ساعة واحدة وتسعين يومًا. من خلال تعيين هذا على أبدًا ، يمكنك تمكين جلسات VPN في أي وقت. هذا هو المعيار.
يجب على المستخدم إنهاء جلسة VPN الخاصة به وتسجيل الدخول إلى بوابة Firezone لإعادة مصادقة جلسة VPN منتهية الصلاحية (عنوان URL المحدد أثناء النشر).
يمكنك إعادة المصادقة على جلستك باتباع إرشادات العميل الدقيقة الموجودة هنا.
حالة اتصال VPN
يعرض عمود جدول اتصال VPN الخاص بصفحة المستخدمين حالة اتصال المستخدم. هذه هي حالات الاتصال:
ممكّن - تم تمكين الاتصال.
معطل - تم تعطيل الاتصال من قبل المسؤول أو فشل تحديث OIDC.
منتهية الصلاحية - تم تعطيل الاتصال بسبب انتهاء صلاحية المصادقة أو لم يقم المستخدم بتسجيل الدخول لأول مرة.
من خلال موصل OIDC العام ، يتيح Firezone الدخول الموحد (SSO) مع Google Workspace و Cloud Identity. سيوضح لك هذا الدليل كيفية الحصول على معلمات التكوين المدرجة أدناه ، والتي تعتبر ضرورية للتكامل:
1. شاشة تهيئة OAuthâ € <
إذا كانت هذه هي المرة الأولى التي تنشئ فيها معرّف عميل OAuth جديدًا ، فسيُطلب منك تهيئة شاشة الموافقة.
* حدد داخلي لنوع المستخدم. هذا يضمن فقط الحسابات التي تنتمي إلى المستخدمين في Google Workspace Organization الخاصة بك يمكنهم إنشاء تكوينات الجهاز. لا تحدد خارجي إلا إذا كنت تريد تمكين أي شخص لديه حساب Google صالح من إنشاء تكوينات الجهاز.
في شاشة معلومات التطبيق:
2. أنشئ معرّفات عميل OAuthâ € <
يعتمد هذا القسم على وثائق Google الخاصة بـ إعداد OAuth 2.0.
قم بزيارة Google Cloud Console صفحة أوراق الاعتماد الصفحة ، انقر على + إنشاء بيانات اعتماد وحدد معرّف عميل OAuth.
في شاشة إنشاء معرّف عميل OAuth:
بعد إنشاء معرّف عميل OAuth ، ستحصل على معرّف العميل وسر العميل. سيتم استخدامها مع إعادة التوجيه URI في الخطوة التالية.
تعديل /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. سيوضح لك هذا البرنامج التعليمي كيفية الحصول على معلمات التكوين المدرجة أدناه ، والتي تعد ضرورية للتكامل:
يعتمد هذا القسم من الدليل على وثائق Okta.
في وحدة تحكم المشرف ، انتقل إلى التطبيقات> التطبيقات وانقر فوق إنشاء تكامل التطبيق. قم بتعيين طريقة تسجيل الدخول إلى OICD - OpenID Connect ونوع التطبيق إلى تطبيق الويب.
قم بتكوين هذه الإعدادات:
بمجرد حفظ الإعدادات ، سيتم إعطاؤك معرف العميل وسر العميل ونطاق Okta. سيتم استخدام هذه القيم الثلاث في الخطوة 3 لتهيئة 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. سيوضح لك هذا الدليل كيفية الحصول على معلمات التكوين المدرجة أدناه ، والتي تعتبر ضرورية للتكامل:
هذا الدليل مأخوذ من مستندات Azure Active Directory.
انتقل إلى صفحة Azure Active Directory الخاصة ببوابة Azure. اختر خيار القائمة "إدارة" ، وحدد "تسجيل جديد" ، ثم قم بالتسجيل من خلال توفير المعلومات أدناه:
بعد التسجيل ، افتح عرض التفاصيل للتطبيق وانسخ ملف معرف التطبيق (العميل). ستكون هذه هي قيمة client_id. بعد ذلك ، افتح قائمة نقاط النهاية لاسترداد ملف مستند بيانات تعريف OpenID Connect. ستكون هذه هي قيمة discovery_document_uri.
قم بإنشاء سر عميل جديد بالنقر فوق خيار الشهادات والأسرار ضمن قائمة الإدارة. انسخ سر العميل ؛ ستكون قيمة سر العميل هذا.
أخيرًا ، حدد ارتباط أذونات API ضمن قائمة الإدارة ، انقر فوق أضف إذنًاوحدد Microsoft Graph. إضافة البريد الإلكتروني, رض, غير متصل و البيانات الشخصية إلى الأذونات المطلوبة.
تعديل /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.
يستخدم 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 ، اتخذ الإجراءات التالية:
إذا ظهرت أي مشاكل ، فالرجاء إخبارنا بها تقديم تذكرة دعم.
هناك بعض التغييرات المتقطعة وتعديلات التكوين في 0.5.0 والتي يجب معالجتها. اكتشف المزيد أدناه.
لم يعد Nginx يدعم فرض SSL ومعاملات المنفذ non-SSL اعتبارًا من الإصدار 0.5.0. نظرًا لأن Firezone يحتاج إلى SSL للعمل ، فإننا ننصح بإزالة خدمة Nginx الحزمة عن طريق تعيين الافتراضي ['firezone'] ['nginx'] ['enable'] = false وتوجيه الوكيل العكسي إلى تطبيق Phoenix على المنفذ 13000 بدلاً من ذلك (افتراضيًا ).
0.5.0 يقدم دعم بروتوكول ACME لتجديد شهادات SSL تلقائيًا مع خدمة Nginx المجمعة. للتمكين ،
اختفت إمكانية إضافة القواعد مع الوجهات المكررة في Firezone 0.5.0. سيتعرف برنامج الترحيل الخاص بنا تلقائيًا على هذه المواقف أثناء الترقية إلى 0.5.0 وسيحتفظ فقط بالقواعد التي تتضمن وجهتها القاعدة الأخرى. ليس هناك ما تحتاج إلى القيام به إذا كان هذا على ما يرام.
بخلاف ذلك ، قبل الترقية ، ننصح بتغيير مجموعة القواعد الخاصة بك للتخلص من هذه المواقف.
يزيل 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 باتباع الإجراءات هنا.
اعتمادًا على الإعداد والإصدار الحاليين لديك ، التزم بالإرشادات أدناه:
إذا كان لديك بالفعل تكامل 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.
في مكانه ، استبدل ['firezone'] ['url الخارجي'] الافتراضي خيار التكوين الافتراضي ['firezone'] ['fqdn'].
قم بتعيين هذا على عنوان URL لبوابة Firezone عبر الإنترنت التي يمكن لعامة الناس الوصول إليها. سيكون افتراضيًا على https: // بالإضافة إلى FQDN لخادمك إذا تركت بدون تحديد.
يوجد ملف التكوين في /etc/firezone/firezone.rb. راجع مرجع ملف التكوين للحصول على قائمة كاملة بمتغيرات التكوين وأوصافها.
لم يعد Firezone يحتفظ بالمفاتيح الخاصة للجهاز على خادم Firezone اعتبارًا من الإصدار 0.3.0.
لن تسمح لك واجهة مستخدم الويب Firezone بإعادة تنزيل هذه التكوينات أو مشاهدتها ، ولكن يجب أن تستمر أي أجهزة موجودة في العمل كما هي.
إذا كنت تقوم بالترقية من 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)
ننصح بتقييد الوصول إلى واجهة الويب لعمليات نشر الإنتاج بالغة الحساسية والمهمة ، كما هو موضح أدناه.
الخدمة | المنفذ الافتراضي | عنوان الاستماع | وصف المنتج |
إنجن إكس | 80، 443 | من جميع | منفذ 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.
تجمع Firezone خادم Postgresql ومطابقة psql فائدة يمكن استخدامها من الصدفة المحلية مثل:
/ opt / firezone / embedded / bin / psql \
-U firezone \
-d firezone \
-h المضيف المحلي \
ص 15432 \
-c "SQL_STATEMENT"
يمكن أن يكون هذا مفيدًا لأغراض التصحيح.
المهام المشتركة:
سرد كافة المستخدمين:
/ opt / firezone / embedded / bin / psql \
-U firezone \
-d firezone \
-h المضيف المحلي \
ص 15432 \
-c "حدد * من المستخدمين ؛"
قائمة بجميع الأجهزة:
/ opt / firezone / embedded / bin / psql \
-U firezone \
-d firezone \
-h المضيف المحلي \
ص 15432 \
-c "تحديد * من الأجهزة ؛"
تغيير دور المستخدم:
عيّن الدور على "مشرف" أو "غير مميز":
/ opt / firezone / embedded / bin / psql \
-U firezone \
-d firezone \
-h المضيف المحلي \
ص 15432 \
-c "تحديث المستخدمين SET role = 'admin' حيث البريد الإلكتروني = 'user@example.com' ؛"
النسخ الاحتياطي لقاعدة البيانات:
علاوة على ذلك ، تم تضمين برنامج تفريغ pg ، والذي يمكن استخدامه لأخذ نسخ احتياطية منتظمة من قاعدة البيانات. قم بتنفيذ التعليمات البرمجية التالية لتفريغ نسخة من قاعدة البيانات بتنسيق استعلام SQL الشائع (استبدل /path/to/backup.sql بالموقع حيث يجب إنشاء ملف SQL):
/ opt / firezone / embedded / bin / pg_dump \
-U firezone \
-d firezone \
-h المضيف المحلي \
-p 15432> /path/to/backup.sql
بعد نشر Firezone بنجاح ، يجب عليك إضافة مستخدمين لتزويدهم بالوصول إلى شبكتك. يتم استخدام Web UI للقيام بذلك.
من خلال تحديد الزر "إضافة مستخدم" ضمن / المستخدمين ، يمكنك إضافة مستخدم. سيُطلب منك تزويد المستخدم بعنوان بريد إلكتروني وكلمة مرور. للسماح بالوصول إلى المستخدمين في مؤسستك تلقائيًا ، يمكن لـ Firezone أيضًا التفاعل والمزامنة مع موفر الهوية. مزيد من التفاصيل متوفرة في مصادقة. <إضافة ارتباط للمصادقة
ننصح بمطالبة المستخدمين بإنشاء تكوينات أجهزتهم الخاصة بحيث يكون المفتاح الخاص مرئيًا لهم فقط. يمكن للمستخدمين إنشاء تكوينات أجهزتهم الخاصة باتباع الإرشادات الموجودة على تعليمات العميل صفحة.
يمكن إنشاء جميع تكوينات جهاز المستخدم بواسطة مشرفي Firezone. في صفحة ملف تعريف المستخدم الموجودة على / users ، حدد خيار "إضافة جهاز" لإنجاز ذلك.
[إدراج لقطة شاشة]
يمكنك إرسال ملف تكوين WireGuard عبر البريد الإلكتروني للمستخدم بعد إنشاء ملف تعريف الجهاز.
المستخدمون والأجهزة مرتبطة. لمزيد من التفاصيل حول كيفية إضافة مستخدم ، انظر إضافة المستخدمين.
من خلال استخدام نظام netfilter الخاص بـ kernel ، يتيح Firezone إمكانيات تصفية الخروج لتحديد حزم DROP أو ACCEPT. عادة كل حركة المرور مسموح بها.
يتم دعم عناوين IPv4 و IPv6 CIDRs وعناوين IP عبر Allowlist و Denylist ، على التوالي. يمكنك اختيار تحديد نطاق قاعدة لمستخدم عند إضافتها ، مما يؤدي إلى تطبيق القاعدة على جميع أجهزة هذا المستخدم.
تثبيت وتكوين
لإنشاء اتصال VPN باستخدام عميل WireGuard الأصلي ، راجع هذا الدليل.
عملاء WireGuard الرسميون الموجودون هنا متوافقون مع Firezone:
قم بزيارة موقع WireGuard الرسمي على https://www.wireguard.com/install/ لأنظمة OS غير المذكورة أعلاه.
يمكن إما لمسؤول Firezone أو بنفسك إنشاء ملف تكوين الجهاز باستخدام بوابة Firezone.
قم بزيارة عنوان URL الذي قدمه مسؤول Firezone الخاص بك لإنشاء ملف تكوين الجهاز ذاتيًا. سيكون لشركتك عنوان URL فريد لهذا ؛ في هذه الحالة ، يكون https://instance-id.yourfirezone.com.
تسجيل الدخول إلى Firezone Okta SSO
[إدراج لقطة شاشة]
قم باستيراد ملف .conf إلى عميل WireGuard عن طريق فتحه. عن طريق قلب مفتاح التنشيط ، يمكنك بدء جلسة VPN.
[إدراج لقطة شاشة]
اتبع الإرشادات أدناه إذا قام مسؤول الشبكة لديك بتكليف مصادقة متكررة للحفاظ على اتصال VPN نشطًا.
تحتاج:
عنوان URL لبوابة Firezone: اسأل مسؤول الشبكة عن الاتصال.
يجب أن يكون مسؤول الشبكة لديك قادرًا على تقديم معلومات تسجيل الدخول وكلمة المرور الخاصة بك. سيطالبك موقع Firezone بتسجيل الدخول باستخدام خدمة تسجيل الدخول الأحادي التي يستخدمها صاحب العمل (مثل Google أو Okta).
[إدراج لقطة شاشة]
انتقل إلى عنوان URL لبوابة Firezone وقم بتسجيل الدخول باستخدام بيانات الاعتماد التي قدمها مسؤول الشبكة لديك. إذا قمت بتسجيل الدخول بالفعل ، فانقر فوق الزر إعادة المصادقة قبل تسجيل الدخول مرة أخرى.
[إدراج لقطة شاشة]
[إدراج لقطة شاشة]
لاستيراد ملف تعريف تكوين WireGuard باستخدام Network Manager CLI على أجهزة Linux ، اتبع هذه التعليمات (nmcli).
إذا تم تمكين دعم IPv6 في ملف التعريف ، فقد تفشل محاولة استيراد ملف التكوين باستخدام واجهة المستخدم الرسومية لإدارة الشبكة مع الخطأ التالي:
ipv6.method: الطريقة "auto" غير مدعومة لـ 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/ للتوزيعات غير المذكورة أعلاه.
يمكن إما لمسؤول Firezone أو التوليد الذاتي إنشاء ملف تكوين الجهاز باستخدام بوابة Firezone.
قم بزيارة عنوان URL الذي قدمه مسؤول Firezone الخاص بك لإنشاء ملف تكوين الجهاز ذاتيًا. سيكون لشركتك عنوان URL فريد لهذا ؛ في هذه الحالة ، يكون https://instance-id.yourfirezone.com.
[إدراج لقطة شاشة]
قم باستيراد ملف التكوين المقدم باستخدام nmcli:
نوع استيراد اتصال sudo nmcli ملف wireguard /path/to/configuration.conf
سيتوافق اسم ملف التكوين مع واجهة / اتصال WireGuard. بعد الاستيراد ، يمكن إعادة تسمية الاتصال إذا لزم الأمر:
اتصال nmcli تعديل [الاسم القديم] connection.id [الاسم الجديد]
عبر سطر الأوامر ، اتصل بـ VPN على النحو التالي:
اتصال nmcli [اسم vpn]
لقطع الاتصال:
اتصال nmcli معطل [اسم vpn]
يمكن أيضًا استخدام برنامج Network Manager القابل للتطبيق لإدارة الاتصال في حالة استخدام واجهة المستخدم الرسومية.
من خلال تحديد "نعم" لخيار الاتصال التلقائي ، يمكن تكوين اتصال VPN للاتصال تلقائيًا:
يقوم اتصال nmcli بتعديل اتصال [اسم vpn]. <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
نعم الاتصال التلقائي
لتعطيل الاتصال التلقائي ، أعده إلى "لا":
يقوم اتصال nmcli بتعديل اتصال [اسم vpn].
لا اتصال تلقائي
لتنشيط MFA ، انتقل إلى بوابة Firezone / حساب المستخدم / صفحة تسجيل mfa. استخدم تطبيق المصادقة الخاص بك لمسح رمز الاستجابة السريعة بعد إنشائه ، ثم أدخل الرمز المكون من ستة أرقام.
اتصل بالمسؤول لإعادة تعيين معلومات الوصول إلى حسابك إذا أضعت تطبيق المصادقة.
سيرشدك هذا البرنامج التعليمي خلال عملية إعداد ميزة الانقسام النفقي لـ WireGuard مع Firezone بحيث يتم توجيه حركة المرور فقط إلى نطاقات IP المحددة عبر خادم VPN.
يتم تحديد نطاقات 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 واجهة الخروج المرتبطة بالمسار الأكثر دقة أولاً عند تحديد مكان توجيه الحزمة.
يجب على المستخدمين إعادة إنشاء ملفات التكوين وإضافتها إلى عميل WireGuard الأصلي الخاص بهم من أجل تحديث أجهزة المستخدم الحالية مع تكوين النفق المنفصل الجديد.
للحصول على التعليمات ، انظر اضف جهاز. <<<<<<<<<<< أضف رابط
سيوضح هذا الدليل كيفية ربط جهازين باستخدام Firezone كمرحل. إحدى حالات الاستخدام النموذجية هي تمكين المسؤول من الوصول إلى خادم أو حاوية أو جهاز محمي بواسطة NAT أو جدار حماية.
يوضح هذا الرسم التوضيحي سيناريو مباشرًا يقوم فيه الجهازان A و B ببناء نفق.
[أدخل الصورة المعمارية لمنطقة firezone]
ابدأ بإنشاء الجهاز A والجهاز B بالانتقال إلى / users / [user_id] / new_device. في إعدادات كل جهاز ، تأكد من تعيين المعلمات التالية على القيم المدرجة أدناه. يمكنك ضبط إعدادات الجهاز عند إنشاء تكوين الجهاز (انظر إضافة أجهزة). إذا كنت بحاجة إلى تحديث الإعدادات على جهاز موجود ، فيمكنك القيام بذلك عن طريق إنشاء تكوين جهاز جديد.
لاحظ أن جميع الأجهزة بها / إعدادات / صفحة افتراضية حيث يمكن تكوين PersistentKeepalive.
AllowIPs = 10.3.2.2/32
هذا هو عنوان IP أو نطاق عناوين IP للجهاز ب
PersistentKeepalive = 25
إذا كان الجهاز خلف NAT ، فهذا يضمن أن الجهاز قادر على إبقاء النفق على قيد الحياة والاستمرار في تلقي الحزم من واجهة WireGuard. عادةً ما تكون القيمة 25 كافية ، ولكن قد تحتاج إلى تقليل هذه القيمة اعتمادًا على بيئتك.
AllowIPs = 10.3.2.3/32
هذا هو عنوان IP أو نطاق عناوين IP للجهاز A.
PersistentKeepalive = 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 تختار تعيينه.
PersistentKeepalive = 25
هذا يضمن أن الجهاز يمكنه الحفاظ على النفق والاستمرار في تلقي الحزم من واجهة WireGuard حتى لو كانت محمية بواسطة NAT. في معظم الحالات ، تكون القيمة 25 كافية ، ولكن وفقًا لما يحيط بك ، قد تحتاج إلى خفض هذا الرقم.
لتقديم عنوان IP واحد ثابت للخروج لجميع حركة مرور فريقك ، يمكن استخدام Firezone كبوابة NAT. تتضمن هذه المواقف الاستخدام المتكرر:
المشاركات الاستشارية: اطلب من عميلك إدراج عنوان IP ثابت واحد في القائمة البيضاء بدلاً من عنوان IP الفريد لجهاز كل موظف.
استخدام وكيل أو إخفاء عنوان IP المصدر الخاص بك لأغراض الأمان أو الخصوصية.
سيتم عرض مثال بسيط على تقييد الوصول إلى تطبيق ويب مستضاف ذاتيًا لعنوان IP ثابت واحد مُدرج في القائمة البيضاء يقوم بتشغيل Firezone في هذا المنشور. في هذا الرسم التوضيحي ، يوجد Firezone والمورد المحمي في مناطق VPC مختلفة.
يتم استخدام هذا الحل بشكل متكرر بدلاً من إدارة القائمة البيضاء لعناوين IP للعديد من المستخدمين النهائيين ، مما قد يستغرق وقتًا طويلاً مع توسع قائمة الوصول.
هدفنا هو إعداد خادم Firezone على مثيل EC2 لإعادة توجيه حركة مرور VPN إلى المورد المقيد. في هذه الحالة ، يعمل Firezone كخادم وكيل للشبكة أو بوابة NAT لمنح كل جهاز متصل عنوان IP فريدًا للخروج العام.
في هذه الحالة ، يحتوي مثيل EC2 المسمى tc2.micro على مثيل Firezone مثبت عليه. للحصول على معلومات حول نشر Firezone ، انتقل إلى دليل النشر. فيما يتعلق بـ AWS ، تأكد من:
تسمح مجموعة أمان مثيل Firezone EC2 بحركة المرور الصادرة إلى عنوان IP للمورد المحمي.
يأتي مثيل Firezone مع IP مرن. ستكون حركة المرور التي يتم إعادة توجيهها عبر مثيل Firezone إلى وجهات خارجية بمثابة عنوان IP المصدر الخاص بها. عنوان IP المعني هو 52.202.88.54.
[إدراج لقطة شاشة]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
يعمل تطبيق الويب المستضاف ذاتيًا كمورد محمي في هذه الحالة. لا يمكن الوصول إلى تطبيق الويب إلا من خلال الطلبات الواردة من عنوان IP 52.202.88.54. اعتمادًا على المورد ، قد يكون من الضروري السماح بحركة المرور الواردة على مختلف الموانئ وأنواع حركة المرور. لم يتم تناول هذا في هذا الدليل.
[إدراج لقطة شاشة]<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
الرجاء إخبار الطرف الثالث المسؤول عن المورد المحمي أنه يجب السماح بالمرور من عنوان IP الثابت المحدد في الخطوة 1 (في هذه الحالة 52.202.88.54).
بشكل افتراضي ، ستمر كل حركة مرور المستخدم عبر خادم VPN وتأتي من عنوان IP الثابت الذي تم تكوينه في الخطوة 1 (في هذه الحالة 52.202.88.54). ومع ذلك ، إذا تم تمكين الانقسام النفقي ، فقد تكون الإعدادات ضرورية للتأكد من إدراج عنوان IP الوجهة للمورد المحمي ضمن عناوين IP المسموح بها.
الموضح أدناه هو قائمة كاملة بخيارات التكوين المتوفرة في /etc/firezone/firezone.rb.
خيار | وصف | القيمة الافتراضية |
افتراضي ['firezone'] ['external_url'] | عنوان URL المستخدم للوصول إلى بوابة الويب لمثيل Firezone هذا. | “https: // # {node ['fqdn'] || العقدة ['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'] ['ممكّن'] | الحقيقة | |
الافتراضي ['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'] | {} | |
افتراضي ['firezone'] ['قاعدة بيانات'] ['معلمات'] | {} | |
افتراضي ['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'] | 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 التالي لتأمين الخادم الذي يقوم بتشغيل 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 القياس عن بُعد في نسخة مستضافة ذاتيًا من 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 لإعادة التكوين لالتقاط التغييرات.
تقصير['منطقة الحريق']["القياس عن بعد"]["ممكّن"] = زائف
سيؤدي ذلك إلى تعطيل جميع أدوات التتبع عن بُعد الخاصة بالمنتج تمامًا.
هيل بايت
9511 كوينز جارد Ct.
لوريل ، ماريلاند 20723
الهاتف: (732) 771-9995
البريد الإلكتروني: info@hailbytes.com