הוראות שלב אחר שלב לפריסת 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 reconfigure ו-firezone-ctl restart כדי לעדכן את היישום ולהשפיע על השינויים.
# זוהי דוגמה לשימוש ב-Google ו-Okta כספק זהות SSO.
# ניתן להוסיף תצורות OIDC מרובות לאותו מופע Firezone.
# Firezone יכול להשבית את ה-VPN של משתמש אם זוהתה שגיאה כלשהי בניסיון
# כדי לרענן את ה-access_token שלהם. זה מאומת לעבוד עבור Google, Okta, ו
# Azure SSO ומשמש לניתוק אוטומטי של VPN של משתמש אם הוא יוסר
# מספק OIDC. השאר את זה מושבת אם ספק ה-OIDC שלך
ל-# יש בעיות ברענון אסימוני גישה מכיוון שהוא עלול להפריע באופן בלתי צפוי ל-a
הפעלת VPN של משתמש אחד.
default['firezone']['authentication']['disable_vpn_on_oidc_error'] = false
default['firezone']['authentication']['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/",
response_type: "קוד",
scope: "פרופיל דוא"ל פתוח",
תווית: "גוגל"
},
okta: {
discovery_document_uri: "https:// /.well-known/openid-configuration",
client_id: " ",
client_secret: " ",
redirect_uri: "https://instance-id.yourfirezone.com/auth/oidc/okta/callback/",
response_type: "קוד",
scope: "openid email profile offline_access",
תווית: "Okta"
}
}
הגדרות התצורה הבאות נדרשות עבור האינטגרציה:
עבור כל ספק OIDC נוצרת כתובת URL יפה מתאימה להפניה מחדש לכתובת ה-URL הכניסה של הספק המוגדר. עבור תצורת OIDC לדוגמה לעיל, כתובות האתרים הן:
לספקים יש לנו תיעוד עבור:
אם לספק הזהות שלך יש מחבר OIDC גנרי והוא אינו מופיע ברשימה לעיל, אנא עבור אל התיעוד שלו לקבלת מידע כיצד לאחזר את הגדרות התצורה הדרושות.
ניתן לשנות את ההגדרה תחת הגדרות/אבטחה כדי לדרוש אימות חוזר תקופתי. זה יכול לשמש כדי לאכוף את הדרישה שמשתמשים יכנסו ל-Firezone על בסיס קבוע כדי להמשיך בהפעלת ה-VPN שלהם.
ניתן להגדיר את משך הפגישה להיות בין שעה לתשעים יום. על ידי הגדרת זה לעולם לא, אתה יכול להפעיל הפעלות VPN בכל עת. זה הסטנדרט.
משתמש חייב לסיים את הפעלת ה-VPN שלו ולהיכנס לפורטל Firezone כדי לאמת מחדש הפעלת VPN שפג תוקפו (כתובת ה-URL שצוינה במהלך הפריסה).
אתה יכול לאמת מחדש את הפגישה שלך על ידי ביצוע הוראות הלקוח המדויקות שנמצאות כאן.
מצב חיבור VPN
עמודת טבלת חיבור ה-VPN של דף המשתמשים מציגה את מצב החיבור של המשתמש. אלו הם מצבי החיבור:
ENABLED - החיבור מופעל.
מושבת - החיבור מושבת על ידי מנהל מערכת או כשל רענון OIDC.
פג - החיבור מושבת עקב פקיעת תוקף האימות או שמשתמש לא נכנס בפעם הראשונה.
באמצעות מחבר OIDC הכללי, Firezone מאפשר כניסה יחידה (SSO) עם Google Workspace ו-Cloud Identity. מדריך זה יראה לך כיצד להשיג את פרמטרי התצורה המפורטים להלן, הנחוצים לשילוב:
1. מסך תצורת OAuth
אם זו הפעם הראשונה שאתה יוצר מזהה לקוח חדש של OAuth, תתבקש להגדיר מסך הסכמה.
*בחר פנימי לסוג המשתמש. זה מבטיח שרק חשבונות השייכים למשתמשים בארגון Google Workspace שלך יכולים ליצור הגדרות מכשירים. אל תבחר חיצוני אלא אם כן אתה רוצה לאפשר לכל אחד עם חשבון Google חוקי ליצור תצורות מכשירים.
במסך מידע האפליקציה:
2. צור מזהי לקוח OAuth
סעיף זה מבוסס על התיעוד של גוגל על הגדרת OAuth 2.0.
בקר ב-Google Cloud Console דף אישורים בדף, לחץ על + צור אישורים ובחר מזהה לקוח OAuth.
במסך יצירת מזהה לקוח OAuth:
לאחר יצירת מזהה הלקוח של OAuth, יינתן לך מזהה לקוח וסוד לקוח. אלה ישמשו יחד עם URI ההפניה מחדש בשלב הבא.
ערוך /etc/firezone/firezone.rb לכלול את האפשרויות שלהלן:
# שימוש ב-Google כספק הזהות SSO
default['firezone']['authentication']['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/",
response_type: "קוד",
scope: "פרופיל דוא"ל פתוח",
תווית: "גוגל"
}
}
הפעל את ההגדרה מחדש של firezone-ctl והפעל מחדש את firezone-ctl כדי לעדכן את היישום. כעת אתה אמור לראות כפתור כניסה עם Google בכתובת ה-URL של Firezone.
Firezone משתמש במחבר OIDC הגנרי כדי לאפשר כניסה יחידה (SSO) עם Okta. מדריך זה יראה לך כיצד להשיג את פרמטרי התצורה המפורטים להלן, הנחוצים לאינטגרציה:
חלק זה של המדריך מבוסס על התיעוד של אוקטה.
במסוף הניהול, עבור אל יישומים > יישומים ולחץ על צור אינטגרציה של אפליקציות. הגדר את שיטת הכניסה ל-OICD - OpenID Connect וסוג היישום ליישום אינטרנט.
הגדר את ההגדרות האלה:
לאחר שמירת ההגדרות, תקבל זיהוי לקוח, סוד לקוח ותחום Okta. 3 הערכים האלה ישמשו בשלב 2 כדי להגדיר את Firezone.
ערוך /etc/firezone/firezone.rb לכלול את האפשרויות למטה. שֶׁלְךָ Discovery_document_url יהיה /.well-known/openid-configuration מצורף לסוף שלך okta_domain.
# שימוש ב- Okta כספק הזהות SSO
default['firezone']['authentication']['oidc'] = {
okta: {
discovery_document_uri: "https:// /.well-known/openid-configuration",
client_id: " ",
client_secret: " ",
redirect_uri: "https://instance-id.yourfirezone.com/auth/oidc/okta/callback/",
response_type: "קוד",
scope: "openid email profile offline_access",
תווית: "Okta"
}
}
הפעל את ההגדרה מחדש של firezone-ctl והפעל מחדש את firezone-ctl כדי לעדכן את היישום. כעת אתה אמור לראות כפתור כניסה עם Okta בכתובת ה-URL של Firezone.
המשתמשים שיכולים לגשת לאפליקציית Firezone יכולים להיות מוגבלים על ידי Okta. עבור אל דף המשימות של Firezone App Integration של Okta Admin Console כדי לבצע זאת.
באמצעות מחבר ה-OIDC הגנרי, Firezone מאפשר כניסה יחידה (SSO) עם Azure Active Directory. מדריך זה יראה לך כיצד להשיג את פרמטרי התצורה המפורטים להלן, הנחוצים לשילוב:
מדריך זה נלקח מתוך Azure Active Directory Docs.
עבור לדף Azure Active Directory של פורטל Azure. בחר באפשרות ניהול תפריט, בחר רישום חדש ולאחר מכן הירשם על ידי אספקת המידע שלהלן:
לאחר ההרשמה, פתחו את תצוגת הפרטים של האפליקציה והעתיקו את מזהה יישום (לקוח). זה יהיה ערך client_id. לאחר מכן, פתח את תפריט נקודות הקצה כדי לאחזר את מסמך מטא נתונים של OpenID Connect. זה יהיה הערך discovery_document_uri.
צור סוד לקוח חדש על ידי לחיצה על האפשרות אישורים וסודות בתפריט נהל. העתק את סוד הלקוח; ערך סוד הלקוח יהיה זה.
לבסוף, בחר בקישור הרשאות API תחת התפריט נהל, לחץ הוסף הרשאה, ובחר גרף של מיקרוסופט. הוסף אמייל, פתוח, גישה לא מקוונת ו פרופיל להרשאות הנדרשות.
ערוך /etc/firezone/firezone.rb לכלול את האפשרויות שלהלן:
# שימוש ב-Azure Active Directory כספק הזהות SSO
default['firezone']['authentication']['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/",
response_type: "קוד",
scope: "openid email profile offline_access",
תווית: "תכלת"
}
}
הפעל את ההגדרה מחדש של firezone-ctl והפעל מחדש את firezone-ctl כדי לעדכן את היישום. כעת אתה אמור לראות כפתור כניסה עם Azure בכתובת ה-URL של Firezone.
Azure AD מאפשר למנהלי מערכת להגביל את הגישה לאפליקציה לקבוצה ספציפית של משתמשים בתוך החברה שלך. מידע נוסף על איך לעשות זאת ניתן למצוא בתיעוד של Microsoft.
Chef Omnibus משמש את Firezone לניהול משימות כולל אריזת שחרור, פיקוח תהליכים, ניהול יומנים ועוד.
קוד רובי מרכיב את קובץ התצורה הראשי, שנמצא בכתובת /etc/firezone/firezone.rb. הפעלה מחדש של sudo firezone-ctl reconfigure לאחר ביצוע שינויים בקובץ זה גורמת ל- Chef לזהות את השינויים ולהחיל אותם על מערכת ההפעלה הנוכחית.
עיין בהפניה לקובץ התצורה לקבלת רשימה מלאה של משתני תצורה ותיאוריהם.
ניתן לנהל את מופע Firezone שלך באמצעות firezone-ctl פקודה, כפי שמוצג להלן. רוב פקודות המשנה דורשות קידומת עם sudo.
root@demo:~# firezone-ctl
omnibus-ctl: פקודה (תת-פקודה)
פקודות כלליות:
לטהר
מחק את *כל* נתוני Firezone, והתחל מאפס.
create-or-reset-admin
מאפס את הסיסמה של המנהל עם האימייל שצוין כברירת מחדל['firezone']['admin_email'] או יוצר מנהל חדש אם האימייל הזה לא קיים.
לעזור
הדפס הודעת עזרה זו.
הגדר מחדש
הגדר מחדש את היישום.
איפוס-רשת
מאפס את ה-nftables, ממשק WireGuard וטבלת הניתוב בחזרה לברירות המחדל של Firezone.
show-config
הצג את התצורה שתיווצר על ידי הגדרה מחדש.
פירוק-רשת
מסיר ממשק WireGuard וטבלת nftables של Firezone.
כוח-אישור-חידוש
כפה חידוש אישור עכשיו גם אם לא פג תוקפו.
עצור-אישור-חידוש
מסיר cronjob שמחדש תעודות.
הסרה
הרוג את כל התהליכים והסר את ההתקנה של מפקח התהליך (הנתונים יישמרו).
גרסה
הצג את הגרסה הנוכחית של Firezone
פקודות ניהול שירות:
חינני-להרוג
נסה לעצור בצורה חיננית, ואז SIGKILL את כל קבוצת התהליך.
Hup
שלח לשירותים HUP.
int
שלח לשירותים INT.
להרוג
שלח לשירותים KILL.
פעם
התחל את השירותים אם הם מושבתים. אל תפעיל אותם מחדש אם הם מפסיקים.
הפעלה מחדש
הפסק את השירותים אם הם פועלים, ואז הפעל אותם שוב.
רשימת שירות
רשום את כל השירותים (שירותים מופעלים מופיעים עם *.)
התחלה
הפעל שירותים אם הם מושבתים, והפעל אותם מחדש אם הם מפסיקים.
מצב
הצג את הסטטוס של כל השירותים.
להפסיק
הפסק את השירותים ואל תפעיל אותם מחדש.
זנב
צפה ביומני השירות של כל השירותים המופעלים.
טווח
שלח לשירותים TERM.
usr1
שלח לשירותים USR1.
usr2
שלח לשירותים USR2.
יש לסיים את כל הפעלות ה-VPN לפני שדרוג Firezone, אשר דורש גם כיבוי של ממשק המשתמש באינטרנט. במקרה שמשהו משתבש במהלך השדרוג, אנו ממליצים להקדיש שעה לתחזוקה.
כדי לשפר את Firezone, בצע את הפעולות הבאות:
אם מתעוררות בעיות, אנא הודע לנו על ידי הגשת כרטיס תמיכה.
יש כמה שינויים שבירה ושינויי תצורה ב-0.5.0 שיש לטפל בהם. גלה עוד למטה.
Nginx כבר לא תומך בפרמטרים של יציאת SSL כוח ובלתי SSL החל מגרסה 0.5.0. מכיוון ש-Firezone זקוק ל-SSL כדי לעבוד, אנו ממליצים להסיר את שירות Nginx של החבילה על ידי הגדרת ברירת המחדל['firezone']['nginx']['enabled'] = false והפניית ה-proxy ההפוכה שלך לאפליקציית Phoenix ביציאה 13000 במקום זאת (כברירת מחדל) ).
0.5.0 מציג תמיכה בפרוטוקול ACME לחידוש אוטומטי של תעודות SSL עם שירות Nginx המצורף. כדי לאפשר,
האפשרות להוסיף כללים עם יעדים כפולים נעלמה ב-Firezone 0.5.0. סקריפט ההעברה שלנו יזהה אוטומטית מצבים אלו במהלך שדרוג ל-0.5.0 וישמור רק את הכללים שיעדם כולל את הכלל השני. אין שום דבר שאתה צריך לעשות אם זה בסדר.
אחרת, לפני השדרוג, אנו ממליצים לשנות את ערכת הכללים שלך כדי להיפטר ממצבים אלה.
Firezone 0.5.0 מסיר תמיכה בתצורת Okta ו-Google SSO בסגנון הישן לטובת התצורה החדשה והגמישה יותר מבוססת OIDC.
אם יש לך תצורה כלשהי תחת מפתח ברירת המחדל['firezone']['authentication']['okta'] או ברירת המחדל['firezone']['authentication']['google'], עליך להעביר אותם ל-OIDC שלנו תצורה מבוססת באמצעות המדריך שלהלן.
תצורת Google OAuth קיימת
הסר שורות אלה המכילות את תצורות ה-OAuth הישנות של Google מקובץ התצורה שלך שנמצא בכתובת /etc/firezone/firezone.rb
default['firezone']['authentication']['google']['enabled']
default['firezone']['authentication']['google']['client_id']
default['firezone']['authentication']['google']['client_secret']
default['firezone']['authentication']['google']['redirect_uri']
לאחר מכן, הגדר את Google כספק OIDC על ידי ביצוע הנהלים כאן.
(ספק הוראות קישור) <<<<<<<<<<<<<<<<<
הגדר את Google OAuth הקיים
הסר שורות אלה המכילות את תצורות Okta OAuth הישנות מקובץ התצורה שלך שנמצא בכתובת /etc/firezone/firezone.rb
default['firezone']['authentication']['okta']['enabled']
default['firezone']['authentication']['okta']['client_id']
default['firezone']['authentication']['okta']['client_secret']
ברירת מחדל['firezone']['authentication']['okta']['site']
לאחר מכן, הגדר את Okta כספק OIDC על ידי ביצוע הנהלים כאן.
בהתאם להגדרה ולגרסה הנוכחית שלך, פעל לפי ההנחיות הבאות:
אם כבר יש לך אינטגרציה של OIDC:
עבור ספקי OIDC מסוימים, שדרוג ל->= 0.3.16 מחייב קבלת אסימון רענון עבור היקף הגישה הלא מקוונת. על ידי כך, הוא מוודא ש-Firezone מתעדכן עם ספק הזהות ושחיבור VPN מנותק לאחר מחיקת משתמש. האיטרציות המוקדמות יותר של Firezone חסרה תכונה זו. במקרים מסוימים, משתמשים שנמחקים מספק הזהות שלך עדיין עשויים להיות מחוברים ל-VPN.
יש צורך לכלול גישה לא מקוונת בפרמטר ההיקף של תצורת ה-OIDC שלך עבור ספקי OIDC שתומכים בהיקף הגישה הלא מקוונת. יש לבצע הגדרה מחדש של Firezone-ctl כדי להחיל שינויים בקובץ התצורה של Firezone, שנמצא בכתובת /etc/firezone/firezone.rb.
עבור משתמשים שאומתו על ידי ספק ה-OIDC שלך, תראה את כותרת ה-OIDC Connections בדף פרטי המשתמש של ממשק המשתמש באינטרנט, אם Firezone מצליח לאחזר את אסימון הרענון.
אם זה לא עובד, תצטרך למחוק את אפליקציית OAuth הקיימת שלך ולחזור על שלבי ההגדרה של OIDC כדי ליצור שילוב אפליקציה חדש .
יש לי שילוב OAuth קיים
לפני 0.3.11, Firezone השתמשה בספקי OAuth2 מוגדרים מראש.
עקוב אחר ההוראות כאן להגר ל- OIDC.
לא שילבתי ספק זהות
אין צורך בפעולה.
אתה יכול לעקוב אחר ההוראות כאן כדי לאפשר SSO דרך ספק OIDC.
במקומה, ברירת המחדל ['firezone']['external url'] החליפה את ברירת המחדל של אפשרות התצורה['firezone']['fqdn'].
הגדר זאת לכתובת ה-URL של הפורטל המקוון Firezone שלך, הנגיש לציבור הרחב. ברירת המחדל היא https:// בתוספת ה-FQDN של השרת שלך אם לא מוגדר.
קובץ התצורה נמצא בכתובת /etc/firezone/firezone.rb. עיין בהפניה לקובץ התצורה לקבלת רשימה מלאה של משתני תצורה ותיאוריהם.
Firezone כבר לא שומר מפתחות פרטיים של המכשיר בשרת Firezone החל מגרסה 0.3.0.
ממשק המשתמש של Firezone Web לא יאפשר לך להוריד מחדש או לראות את התצורות הללו, אך כל המכשירים הקיימים צריכים להמשיך לפעול כפי שהם.
אם אתה משדרג מ-Firezone 0.1.x, יש כמה שינויים בקבצי תצורה שיש לטפל בהם באופן ידני.
כדי לבצע את השינויים הדרושים בקובץ /etc/firezone/firezone.rb שלך, הפעל את הפקודות למטה בתור root.
cp /etc/firezone/firezone.rb /etc/firezone/firezone.rb.bak
sed -i “s/\['enable'\]/\['enabled'\]/” /etc/firezone/firezone.rb
echo “default['firezone']['connectivity_checks']['enabled'] = true” >> /etc/firezone/firezone.rb
echo “default['firezone']['connectivity_checks']['interval'] = 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 ALLOW IN בכל מקום
80/tcp ALLOW IN בכל מקום
443/tcp ALLOW IN בכל מקום
51820/udp ALLOW IN בכל מקום
22/tcp (v6) ALLOW IN בכל מקום (v6)
80/tcp (v6) ALLOW IN בכל מקום (v6)
443/tcp (v6) ALLOW IN בכל מקום (v6)
51820/udp (v6) ALLOW IN בכל מקום (v6)
אנו ממליצים להגביל את הגישה לממשק האינטרנט עבור פריסות ייצור רגישות במיוחד וקריטיות למשימה, כפי שמוסבר להלן.
שֵׁרוּת | יציאת ברירת מחדל | האזנה כתובת | תיאור |
nginx | 80, 443 | את כל | יציאת HTTP(S) ציבורית לניהול Firezone והקלת אימות. |
מגן | 51820 | את כל | יציאת WireGuard ציבורית המשמשת להפעלות VPN. (UDP) |
פוסטגרסל | 15432 | 127.0.0.1 | יציאה מקומית בלבד המשמשת עבור שרת Postgresql מצורפת. |
פניקס | 13000 | 127.0.0.1 | יציאה מקומית בלבד בשימוש על ידי שרת אפליקציית elixir במעלה הזרם. |
אנו ממליצים לך לחשוב על הגבלת גישה לממשק האינטרנט החשוף לציבור של Firezone (כברירת מחדל יציאות 443/tcp ו-80/tcp) ובמקום זאת להשתמש במנהרת WireGuard כדי לנהל את Firezone עבור ייצור ופריסות הפונות לציבור שבהן מנהל יחיד יהיה אחראי של יצירה והפצה של תצורות מכשירים למשתמשי קצה.
לדוגמה, אם מנהל מערכת יצר תצורת מכשיר ויצר מנהרה עם כתובת WireGuard המקומית 10.3.2.2, תצורת ה-ufw הבאה תאפשר למנהל המערכת לגשת לממשק האינטרנט של Firezone בממשק wg-firezone של השרת באמצעות ברירת המחדל 10.3.2.1 כתובת המנהרה:
root@demo:~# ufw סטטוס מילולי
סטטוס: פעיל
כניסה: על (נמוך)
ברירת מחדל: דחה (נכנס), אפשר (יוצא), אפשר (מנותב)
פרופילים חדשים: דלג
לפעולה מתוך
— —— —-
22/tcp ALLOW IN בכל מקום
51820/udp ALLOW IN בכל מקום
בכל מקום אפשר ב-10.3.2.2
22/tcp (v6) ALLOW IN בכל מקום (v6)
51820/udp (v6) ALLOW IN בכל מקום (v6)
זה ישאיר רק 22/tcp חשוף לגישת SSH לניהול השרת (אופציונלי), וכן 51820/udp נחשף על מנת להקים מנהרות WireGuard.
Firezone מאגד שרת Postgresql והתאמה psql כלי עזר שניתן להשתמש בו מהמעטפת המקומית כך:
/opt/firezone/embedded/bin/psql \
-U אזור אש \
אזור אש \
-h localhost \
-p 15432 \
-c "SQL_STATEMENT"
זה יכול להיות מועיל למטרות ניפוי באגים.
משימות נפוצות:
פירוט כל המשתמשים:
/opt/firezone/embedded/bin/psql \
-U אזור אש \
אזור אש \
-h localhost \
-p 15432 \
-c "SELECT * FROM users;"
פירוט כל המכשירים:
/opt/firezone/embedded/bin/psql \
-U אזור אש \
אזור אש \
-h localhost \
-p 15432 \
-c "SELECT * FROM devices;"
שנה תפקיד משתמש:
הגדר את התפקיד ל'admin' או 'unprivileged':
/opt/firezone/embedded/bin/psql \
-U אזור אש \
אזור אש \
-h localhost \
-p 15432 \
-c "UPDATE users SET role = 'admin' WHERE email = 'user@example.com';"
גיבוי מסד הנתונים:
יתר על כן, כלולה תוכנית pg dump, אשר עשויה לשמש לגיבוי קבוע של מסד הנתונים. בצע את הקוד הבא כדי לזרוק עותק של מסד הנתונים בפורמט השאילתה הנפוץ של SQL (החלף את /path/to/backup.sql במיקום שבו יש ליצור את קובץ SQL):
/opt/firezone/embedded/bin/pg_dump \
-U אזור אש \
אזור אש \
-h localhost \
-p 15432 > /path/to/backup.sql
לאחר פריסת Firezone בהצלחה, עליך להוסיף משתמשים כדי לספק להם גישה לרשת שלך. לשם כך נעשה שימוש בממשק המשתמש של האינטרנט.
על ידי בחירה בלחצן "הוסף משתמש" תחת /משתמשים, אתה יכול להוסיף משתמש. תידרש לספק למשתמש כתובת מייל וסיסמה. על מנת לאפשר גישה למשתמשים בארגון שלך באופן אוטומטי, Firezone יכול גם להתממשק ולסנכרן עם ספק זהות. פרטים נוספים זמינים ב אימות. < הוסף קישור לאימות
אנו ממליצים לבקש מהמשתמשים ליצור תצורות מכשיר משלהם כך שהמפתח הפרטי יהיה גלוי רק להם. משתמשים יכולים ליצור תצורות מכשיר משלהם על ידי ביצוע ההוראות ב- הנחיות ללקוח עמוד.
ניתן ליצור את כל תצורות מכשירי המשתמש על ידי מנהלי Firezone. בדף פרופיל המשתמש שנמצא ב-/users, בחר באפשרות "הוסף מכשיר" כדי לבצע זאת.
[הוסף צילום מסך]
אתה יכול לשלוח למשתמש בדוא"ל את קובץ התצורה של WireGuard לאחר יצירת פרופיל המכשיר.
משתמשים ומכשירים מקושרים. לפרטים נוספים כיצד להוסיף משתמש, ראה הוסף משתמשים.
באמצעות שימוש במערכת ה-netfilter של הקרנל, Firezone מאפשרת יכולות סינון יציאות לציון מנות DROP או ACCEPT. כל התנועה מותרת בדרך כלל.
כתובות IPv4 ו-IPv6 CIDR ו-IP נתמכות באמצעות רשימת ההיתרים ו-Denylist, בהתאמה. אתה יכול לבחור להגדיר כלל למשתמש בעת הוספתו, מה שמחיל את הכלל על כל המכשירים של אותו משתמש.
התקנה והגדרה
כדי ליצור חיבור VPN באמצעות לקוח WireGuard המקורי, עיין במדריך זה.
הלקוחות הרשמיים של WireGuard הממוקמים כאן תואמים ל-Firezone:
בקר באתר האינטרנט הרשמי של WireGuard בכתובת https://www.wireguard.com/install/ עבור מערכות מערכת הפעלה שלא הוזכרו לעיל.
מנהל Firezone שלך או אתה יכול ליצור את קובץ התצורה של המכשיר באמצעות פורטל Firezone.
בקר בכתובת ה-URL שמנהל Firezone שלך סיפק כדי ליצור בעצמך קובץ תצורה של מכשיר. לחברה שלך תהיה כתובת URL ייחודית לכך; במקרה זה, זה https://instance-id.yourfirezone.com.
התחבר ל-Firezone Okta SSO
[הוסף צילום מסך]
ייבא את קובץ.conf ללקוח WireGuard על ידי פתיחתו. על ידי היפוך מתג ההפעלה, אתה יכול להתחיל הפעלת VPN.
[הוסף צילום מסך]
בצע את ההוראות שלהלן אם מנהל הרשת שלך הורה על אימות חוזר כדי לשמור על חיבור ה-VPN שלך פעיל.
אתה צריך:
כתובת האתר של פורטל Firezone: בקש ממנהל הרשת שלך את החיבור.
מנהל הרשת שלך אמור להיות מסוגל להציע את פרטי הכניסה והסיסמה שלך. אתר Firezone ינחה אותך להיכנס באמצעות שירות הכניסה היחידה שבה משתמש המעסיק שלך (כגון Google או Okta).
[הוסף צילום מסך]
עבור אל כתובת האתר של פורטל Firezone והיכנס באמצעות האישורים שמנהל הרשת שלך סיפק. אם אתה כבר מחובר, לחץ על הלחצן אימות מחדש לפני הכניסה חזרה.
[הוסף צילום מסך]
[הוסף צילום מסך]
כדי לייבא את פרופיל התצורה של WireGuard באמצעות Network Manager CLI במכשירי Linux, בצע את ההוראות הבאות (nmcli).
אם הפרופיל תומך ב-IPv6 מופעלת, ניסיון לייבא את קובץ התצורה באמצעות ה-Network Manager GUI עלול להיכשל עם השגיאה הבאה:
ipv6.method: השיטה "auto" אינה נתמכת עבור WireGuard
יש צורך להתקין את כלי השירות של מרחב המשתמש של WireGuard. זו תהיה חבילה שנקראת wireguard או wireguard-tools עבור הפצות לינוקס.
עבור אובונטו/דביאן:
sudo apt להתקין wireguard
כדי להשתמש בפדורה:
sudo dnf להתקין wireguard-tools
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 file /path/to/configuration.conf
שם קובץ התצורה יתאים לחיבור/ממשק WireGuard. לאחר הייבוא, ניתן לשנות את שם החיבור במידת הצורך:
חיבור nmcli שנה [שם ישן] connection.id [שם חדש]
דרך שורת הפקודה, התחבר ל-VPN באופן הבא:
חיבור nmcli למעלה [שם vpn]
להתנתק:
חיבור nmcli למטה [שם vpn]
ניתן להשתמש ביישומון מנהל הרשת הרלוונטי גם לניהול החיבור אם משתמשים ב-GUI.
על ידי בחירת "כן" עבור אפשרות החיבור האוטומטי, ניתן להגדיר את חיבור ה-VPN להתחבר אוטומטית:
חיבור nmcli שנה חיבור [שם vpn]. <<<<<<<<<<<<<<<<<<<<<<
חיבור אוטומטי כן
כדי להשבית את החיבור האוטומטי, החזר אותו למצב לא:
חיבור nmcli שנה חיבור [שם vpn].
חיבור אוטומטי לא
כדי להפעיל את MFA עבור אל דף /חשבון משתמש/הרשמה mfa של פורטל Firezone. השתמש באפליקציית המאמת שלך כדי לסרוק את קוד ה-QR לאחר יצירתו, ולאחר מכן הזן את הקוד בן שש הספרות.
פנה למנהל המערכת שלך כדי לאפס את פרטי הגישה לחשבון שלך אם אתה מפספס את אפליקציית המאמת שלך.
מדריך זה ידריך אותך בתהליך של הגדרת תכונת המנהור המפוצלת של WireGuard עם Firezone כך שרק תעבורה לטווחי IP ספציפיים תועבר דרך שרת ה-VPN.
טווחי ה-IP שעבורם הלקוח ינתב תעבורת רשת מוגדרים בשדה כתובות IP מותרות הממוקם בדף /settings/default. רק תצורות מנהרת WireGuard החדשות שנוצרו על ידי Firezone יושפעו משינויים בשדה זה.
[הוסף צילום מסך]
ערך ברירת המחדל הוא 0.0.0.0/0, ::/0, המנתב את כל תעבורת הרשת מהלקוח לשרת ה-VPN.
דוגמאות לערכים בשדה זה כוללות:
0.0.0.0/0, ::/0 - כל תעבורת הרשת תנותב לשרת ה-VPN.
192.0.2.3/32 - רק תעבורה לכתובת IP בודדת תנותב לשרת ה-VPN.
3.5.140.0/22 – רק תעבורה לכתובות IP בטווח 3.5.140.1 – 3.5.143.254 תנותב לשרת ה-VPN. בדוגמה זו, נעשה שימוש בטווח CIDR עבור אזור ap-northeast-2 AWS.
Firezone בוחר תחילה את ממשק היציאה המשויך למסלול המדויק ביותר כאשר הוא קובע לאן לנתב מנה.
על המשתמשים ליצור מחדש את קובצי התצורה ולהוסיף אותם ללקוח WireGuard המקורי שלהם כדי לעדכן התקני משתמש קיימים בתצורת המנהרה המפוצלת החדשה.
להוראות ראה הוסף מכשיר. <<<<<<<<<<< הוסף קישור
מדריך זה ידגים כיצד לקשר שני מכשירים באמצעות Firezone כממסר. מקרה שימוש טיפוסי אחד הוא לאפשר למנהל מערכת לגשת לשרת, מיכל או מכונה המוגנים על ידי NAT או חומת אש.
איור זה מציג תרחיש פשוט שבו התקנים A ו-B בונים מנהרה.
[הכנס תמונה ארכיטקטונית של אזור אש]
התחל על ידי יצירת התקן A ומכשיר B על ידי ניווט אל /users/[user_id]/new_device. בהגדרות עבור כל מכשיר, ודא שהפרמטרים הבאים מוגדרים לערכים המפורטים להלן. ניתן להגדיר את הגדרות המכשיר בעת יצירת תצורת המכשיר (ראה הוספת התקנים). אם אתה צריך לעדכן הגדרות במכשיר קיים, תוכל לעשות זאת על ידי יצירת תצורת מכשיר חדשה.
שימו לב שלכל המכשירים יש דף /settings/defaults שבו ניתן להגדיר את PersistentKeepalive.
כתובות IP מותרות = 10.3.2.2/32
זהו ה-IP או טווח ה-IP של מכשיר B
PersistentKeepalive = 25
אם המכשיר נמצא מאחורי NAT, זה מבטיח שהמכשיר מסוגל לשמור על המנהרה בחיים ולהמשיך לקבל מנות מממשק WireGuard. בדרך כלל ערך של 25 מספיק, אך ייתכן שיהיה עליך להפחית את הערך בהתאם לסביבה שלך.
כתובות IP מותרות = 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.
אוֹפְּצִיָה | תיאור | ערך ברירת מחדל |
default['firezone']['external_url'] | כתובת האתר המשמשת לגישה לפורטל האינטרנט של מופע Firezone זה. | "https://#{node['fqdn'] || node['hostname']}" |
default['firezone']['config_directory'] | ספרייה ברמה העליונה עבור תצורת Firezone. | /etc/firezone' |
default['firezone']['install_directory'] | ספרייה ברמה העליונה להתקנת Firezone בה. | /opt/firezone' |
default['firezone']['app_directory'] | ספרייה ברמה העליונה להתקנת יישום האינטרנט Firezone. | "#{node['firezone']['install_directory']}/embedded/service/firezone" |
default['firezone']['log_directory'] | ספרייה ברמה העליונה עבור יומני Firezone. | /var/log/firezone' |
ברירת מחדל['firezone']['var_directory'] | ספרייה ברמה העליונה עבור קבצי זמן ריצה של Firezone. | /var/opt/firezone' |
ברירת מחדל['firezone']['user'] | השם של משתמש לינוקס חסר הרשאות שאליו יהיו שייכים רוב השירותים והקבצים. | אזור אש' |
default['firezone']['group'] | שם קבוצת Linux רוב השירותים והקבצים יהיו שייכים. | אזור אש' |
default['firezone']['admin_email'] | כתובת אימייל עבור משתמש Firezone ראשוני. | "firezone@localhost" |
ברירת מחדל['firezone']['max_devices_per_user'] | המספר המרבי של מכשירים שיכולים להיות למשתמש. | 10 |
default['firezone']['allow_unprivileged_device_management'] | מאפשר למשתמשים שאינם מנהלי מערכת ליצור ולמחוק מכשירים. | נכון |
default['firezone']['allow_unprivileged_device_configuration'] | מאפשר למשתמשים שאינם מנהלי מערכת לשנות את תצורות המכשיר. כשהוא מושבת, מונע ממשתמשים ללא הרשאות לשנות את כל שדות המכשיר מלבד השם והתיאור. | נכון |
default['firezone']['egress_interface'] | שם הממשק שבו תצא תנועה במנהרה. אם אפס, ישמש ממשק המסלול המוגדר כברירת מחדל. | אפס |
default['firezone']['fips_enabled'] | הפעל או השבת את מצב OpenSSL FIPs. | אפס |
default['firezone']['logging']['enabled'] | הפעל או השבת רישום ברחבי Firezone. הגדר ל-false כדי להשבית לחלוטין את הרישום. | נכון |
default['enterprise']['name'] | שם המשמש את ספר הבישול של השף 'מיזם'. | אזור אש' |
default['firezone']['install_path'] | נתיב התקנה המשמש את ספר הבישול של השף 'ארגוני'. צריך להיות מוגדר לאותו ספריית install_directory לעיל. | node['firezone']['install_directory'] |
default['firezone']['sysvinit_id'] | מזהה בשימוש ב-/etc/inittab. חייב להיות רצף ייחודי של 1-4 תווים. | מה ניש' |
default['firezone']['authentication']['local']['enabled'] | הפעל או השבת אימות דואר אלקטרוני/סיסמה מקומי. | נכון |
default['firezone']['authentication']['auto_create_oidc_users'] | צור אוטומטית משתמשים הנכנסים מ-OIDC בפעם הראשונה. השבת כדי לאפשר רק למשתמשים קיימים להיכנס דרך OIDC. | נכון |
default['firezone']['authentication']['disable_vpn_on_oidc_error'] | השבת את ה-VPN של משתמש אם זוהתה שגיאה בניסיון לרענן את אסימון ה-OIDC שלו. | שֶׁקֶר |
default['firezone']['authentication']['oidc'] | OpenID Connect config, בפורמט של {“provider” => [config…]} – ראה תיעוד OpenIDConnect לדוגמאות תצורה. | {} |
default['firezone']['nginx']['enabled'] | הפעל או השבת את שרת nginx המצורף. | נכון |
default['firezone']['nginx']['ssl_port'] | יציאת האזנה של HTTPS. | 443 |
default['firezone']['nginx']['directory'] | ספרייה לאחסון תצורת מארח וירטואלי של nginx הקשורה ל-Firezone. | "#{node['firezone']['var_directory']}/nginx/etc" |
default['firezone']['nginx']['log_directory'] | ספרייה לאחסון קובצי nginx הקשורים ל-Firezone. | "#{node['firezone']['log_directory']}/nginx" |
default['firezone']['nginx']['log_rotation']['file_maxbytes'] | גודל הקובץ שבו יש לסובב קובצי יומן Nginx. | 104857600 |
default['firezone']['nginx']['log_rotation']['num_to_keep'] | מספר קובצי היומן של Firezone nginx שיש לשמור לפני השלכה. | 10 |
default['firezone']['nginx']['log_x_forwarded_for'] | האם לרשום את Firezone nginx x-forwarded-for header. | נכון |
default['firezone']['nginx']['hsts_header']['enabled'] | נכון | |
default['firezone']['nginx']['hsts_header']['include_subdomains'] | הפעל או השבת את includeSubDomains עבור כותרת HSTS. | נכון |
default['firezone']['nginx']['hsts_header']['max_age'] | גיל מקסימלי עבור כותרת ה-HSTS. | 31536000 |
default['firezone']['nginx']['redirect_to_canonical'] | האם להפנות כתובות אתרים ל-FQDN הקנוני שצוין לעיל | שֶׁקֶר |
default['firezone']['nginx']['cache']['enabled'] | הפעל או השבת את המטמון Firezone nginx. | שֶׁקֶר |
default['firezone']['nginx']['cache']['directory'] | ספרייה עבור Firezone nginx cache. | "#{node['firezone']['var_directory']}/nginx/cache" |
default['firezone']['nginx']['user'] | משתמש Firezone nginx. | node['firezone']['user'] |
default['firezone']['nginx']['group'] | קבוצת Firezone nginx. | node['firezone']['group'] |
default['firezone']['nginx']['dir'] | ספריית התצורה של nginx ברמה העליונה. | node['firezone']['nginx']['directory'] |
default['firezone']['nginx']['log_dir'] | ספריית יומן nginx ברמה העליונה. | node['firezone']['nginx']['log_directory'] |
default['firezone']['nginx']['pid'] | מיקום עבור קובץ pid nginx. | "#{node['firezone']['nginx']['directory']}/nginx.pid" |
default['firezone']['nginx']['daemon_disable'] | השבת את מצב nginx daemon כדי שנוכל לנטר אותו במקום זאת. | נכון |
default['firezone']['nginx']['gzip'] | הפעל או כבה את דחיסת nginx gzip. | עַל' |
default['firezone']['nginx']['gzip_static'] | הפעל או כבה את דחיסת nginx gzip עבור קבצים סטטיים. | כבוי' |
default['firezone']['nginx']['gzip_http_version'] | גרסת HTTP לשימוש להגשת קבצים סטטיים. | 1.0 ' |
default['firezone']['nginx']['gzip_comp_level'] | רמת הדחיסה של nginx gzip. | 2 ' |
default['firezone']['nginx']['gzip_proxied'] | מפעיל או משבית את ה-gzipping של תגובות עבור בקשות פרוקסי בהתאם לבקשה והתגובה. | כל' |
default['firezone']['nginx']['gzip_vary'] | מפעיל או משבית את הוספת כותרת התגובה "Vary: Accept-Encoding". | כבוי' |
default['firezone']['nginx']['gzip_buffers'] | מגדיר את המספר והגודל של מאגרים המשמשים לדחיסת תגובה. אם אפס, נעשה שימוש ברירת המחדל של nginx. | אפס |
default['firezone']['nginx']['gzip_types'] | סוגי MIME לאפשר דחיסת gzip עבור. | ['text/plain', 'text/css','application/x-javascript', 'text/xml', 'application/xml', 'application/rss+xml', 'application/atom+xml', ' text/javascript', 'application/javascript', 'application/json'] |
default['firezone']['nginx']['gzip_min_length'] | אורך קובץ מינימלי לאפשר דחיסת קובץ gzip עבור. | 1000 |
default['firezone']['nginx']['gzip_disable'] | תואם משתמש-סוכן להשבתת דחיסת gzip עבור. | MSIE [1-6]\.' |
default['firezone']['nginx']['keepalive'] | מפעיל מטמון לחיבור לשרתים במעלה הזרם. | עַל' |
default['firezone']['nginx']['keepalive_timeout'] | פסק זמן בשניות לחיבור Keepalive לשרתים במעלה הזרם. | 65 |
default['firezone']['nginx']['worker_processes'] | מספר תהליכי העבודה של nginx. | node['cpu'] && node['cpu']['total'] ? node['cpu']['total'] : 1 |
default['firezone']['nginx']['worker_connections'] | מספר מקסימלי של חיבורים בו-זמניים שניתן לפתוח על ידי תהליך עובד. | 1024 |
default['firezone']['nginx']['worker_rlimit_nofile'] | משנה את המגבלה על המספר המרבי של קבצים פתוחים עבור תהליכי עבודה. משתמש ב-nginx ברירת מחדל אם הוא אפס. | אפס |
default['firezone']['nginx']['multi_accept'] | האם עובדים צריכים לקבל חיבור אחד בכל פעם או מספר חיבורים. | נכון |
default['firezone']['nginx']['event'] | מציין את שיטת עיבוד החיבור לשימוש בתוך הקשר אירועי nginx. | epoll' |
default['firezone']['nginx']['server_tokens'] | מפעיל או משבית פליטת גרסת nginx בדפי שגיאה ובשדה כותרת התגובה "שרת". | אפס |
default['firezone']['nginx']['server_names_hash_bucket_size'] | מגדיר את גודל הדלי עבור טבלאות הגיבוב של שמות השרתים. | 64 |
default['firezone']['nginx']['sendfile'] | מאפשר או משבית את השימוש ב- sendfile() של nginx. | עַל' |
default['firezone']['nginx']['access_log_options'] | מגדיר אפשרויות יומן גישה של nginx. | אפס |
default['firezone']['nginx']['error_log_options'] | מגדיר אפשרויות יומן שגיאות של nginx. | אפס |
default['firezone']['nginx']['disable_access_log'] | משבית את יומן הגישה של nginx. | שֶׁקֶר |
default['firezone']['nginx']['types_hash_max_size'] | nginx סוגים hash max size. | 2048 |
default['firezone']['nginx']['types_hash_bucket_size'] | סוג nginx גודל דלי hash. | 64 |
default['firezone']['nginx']['proxy_read_timeout'] | פסק זמן לקריאה של nginx proxy. הגדר לאפס כדי להשתמש ברירת המחדל של nginx. | אפס |
default['firezone']['nginx']['client_body_buffer_size'] | גודל חיץ גוף לקוח nginx. הגדר לאפס כדי להשתמש ברירת המחדל של nginx. | אפס |
default['firezone']['nginx']['client_max_body_size'] | גודל גוף מקסימלי של לקוח nginx. | 250 מ' |
default['firezone']['nginx']['default']['modules'] | ציין מודולי nginx נוספים. | [] |
default['firezone']['nginx']['enable_rate_limiting'] | הפעל או השבת הגבלת קצב nginx. | נכון |
default['firezone']['nginx']['rate_limiting_zone_name'] | שם אזור מגביל קצב Nginx. | אזור אש' |
default['firezone']['nginx']['rate_limiting_backoff'] | הגבלת קצב הגבלת Nginx. | 10 מ' |
default['firezone']['nginx']['rate_limit'] | מגבלת שיעור Nginx. | 10r/s' |
default['firezone']['nginx']['ipv6'] | אפשר ל-nginx להאזין לבקשות HTTP עבור IPv6 בנוסף ל-IPv4. | נכון |
default['firezone']['postgresql']['enabled'] | הפעלה או השבתה של Postgresql. הגדר ל-false ומלא את אפשרויות מסד הנתונים למטה כדי להשתמש במופע Postgresql משלך. | נכון |
default['firezone']['postgresql']['username'] | שם משתמש עבור Postgresql. | node['firezone']['user'] |
default['firezone']['postgresql']['data_directory'] | ספריית נתונים Postgresql. | "#{node['firezone']['var_directory']}/postgresql/13.3/data" |
default['firezone']['postgresql']['log_directory'] | ספריית יומן Postgresql. | "#{node['firezone']['log_directory']}/postgresql" |
default['firezone']['postgresql']['log_rotation']['file_maxbytes'] | גודל מקסימלי של קובץ יומן Postgresql לפני סיבובו. | 104857600 |
default['firezone']['postgresql']['log_rotation']['num_to_keep'] | מספר קובצי יומן Postgresql שיש לשמור. | 10 |
default['firezone']['postgresql']['checkpoint_completion_target'] | יעד השלמת נקודת ביקורת Postgresql. | 0.5 |
default['firezone']['postgresql']['checkpoint_segments'] | מספר מקטעי נקודת ביקורת Postgresql. | 3 |
default['firezone']['postgresql']['checkpoint_timeout'] | פסק זמן של נקודת הביקורת Postgresql. | 5 דקות' |
default['firezone']['postgresql']['checkpoint_warning'] | זמן אזהרת נקודת ביקורת Postgresql בשניות. | שנות ה-30 |
default['firezone']['postgresql']['effective_cache_size'] | גודל מטמון יעיל של Postgresql. | 128MB' |
default['firezone']['postgresql']['listen_address'] | כתובת האזנה של Postgresql. | 127.0.0.1 ' |
default['firezone']['postgresql']['max_connections'] | חיבורי Postgresql max. | 350 |
default['firezone']['postgresql']['md5_auth_cidr_addresses'] | Postgresql CIDRs כדי לאפשר אישור md5. | ['127.0.0.1/32', '::1/128'] |
default['firezone']['postgresql']['port'] | יציאת האזנה Postgresql. | 15432 |
default['firezone']['postgresql']['shared_buffers'] | גודל מאגרים משותפים Postgresql. | "#{(node['memory']['total'].to_i / 4) / 1024}MB" |
default['firezone']['postgresql']['shmmax'] | Postgresql shmmax בבתים. | 17179869184 |
default['firezone']['postgresql']['shmal'] | Postgresql shmal בבתים. | 4194304 |
default['firezone']['postgresql']['work_mem'] | גודל זיכרון עבודה Postgresql. | 8MB' |
default['firezone']['database']['user'] | מציין את שם המשתמש שבו ישתמש Firezone כדי להתחבר ל-DB. | node['firezone']['postgresql']['username'] |
default['firezone']['database']['password'] | אם אתה משתמש ב-DB חיצוני, מציין את הסיסמה שבה Firezone תשתמש כדי להתחבר ל-DB. | שנה אותי' |
default['firezone']['database']['name'] | מסד נתונים שבו Firezone ישתמש. יווצר אם הוא לא קיים. | אזור אש' |
default['firezone']['database']['host'] | מארח מסד נתונים שאליו יתחבר Firezone. | node['firezone']['postgresql']['listen_address'] |
default['firezone']['database']['port'] | יציאת מסד נתונים שאליה יתחבר Firezone. | node['firezone']['postgresql']['port'] |
default['firezone']['database']['pool'] | גודל מאגר מסד הנתונים Firezone ישתמש. | [10, וכו' מעבדים].מקס |
default['firezone']['database']['ssl'] | האם להתחבר למסד הנתונים באמצעות SSL. | שֶׁקֶר |
default['firezone']['database']['ssl_opts'] | גיבוב של אפשרויות לשלוח לאפשרות :ssl_opts בעת חיבור דרך SSL. לִרְאוֹת תיעוד Ecto.Adapters.Postgres. | {} |
default['firezone']['database']['parameters'] | {} | |
default['firezone']['database']['extensions'] | הרחבות מסד נתונים כדי לאפשר. | { 'plpgsql' => true, 'pg_trgm' => true } |
default['firezone']['phoenix']['enabled'] | הפעל או השבת את אפליקציית האינטרנט Firezone. | נכון |
default['firezone']['phoenix']['listen_address'] | כתובת האזנה ליישום האינטרנט של Firezone. זו תהיה כתובת ההאזנה במעלה הזרם ש-nginx מייצרת. | 127.0.0.1 ' |
default['firezone']['phoenix']['port'] | יציאת האזנה ליישום האינטרנט של Firezone. זו תהיה היציאה במעלה הזרם ש-nginx מייצרת. | 13000 |
default['firezone']['phoenix']['log_directory'] | ספריית יומן יישומי האינטרנט של Firezone. | "#{node['firezone']['log_directory']}/פניקס" |
default['firezone']['phoenix']['log_rotation']['file_maxbytes'] | גודל קובץ יומן יישום האינטרנט של Firezone. | 104857600 |
default['firezone']['phoenix']['log_rotation']['num_to_keep'] | מספר קובצי יומן יישום האינטרנט של Firezone שיש לשמור. | 10 |
default['firezone']['phoenix']['crash_detection']['enabled'] | הפעל או השבת את ביטול אפליקציית האינטרנט של Firezone כאשר מזוהה קריסה. | נכון |
default['firezone']['phoenix']['external_trusted_proxies'] | רשימת פרוקסי הפוך מהימנים המעוצבים כמערך של כתובות IP ו/או CIDR. | [] |
default['firezone']['phoenix']['private_clients'] | רשימת לקוחות HTTP של רשת פרטית, מעוצבת מערך של כתובות IP ו/או CIDR. | [] |
default['firezone']['wireguard']['enabled'] | הפעל או השבת את ניהול WireGuard מצורף. | נכון |
default['firezone']['wireguard']['log_directory'] | ספריית יומן לניהול WireGuard מצורף. | "#{node['firezone']['log_directory']}/wireguard" |
default['firezone']['wireguard']['log_rotation']['file_maxbytes'] | גודל מקסימלי של קובץ יומן WireGuard. | 104857600 |
default['firezone']['wireguard']['log_rotation']['num_to_keep'] | מספר קובצי יומן WireGuard שיש לשמור. | 10 |
default['firezone']['wireguard']['interface_name'] | שם ממשק WireGuard. שינוי פרמטר זה עלול לגרום לאובדן זמני בקישוריות VPN. | wg-firezone' |
default['firezone']['wireguard']['port'] | יציאת האזנה WireGuard. | 51820 |
default['firezone']['wireguard']['mtu'] | ממשק WireGuard MTU עבור שרת זה ועבור תצורות מכשירים. | 1280 |
default['firezone']['wireguard']['endpoint'] | נקודת קצה WireGuard לשימוש ליצירת תצורות מכשירים. אם אפס, ברירת המחדל היא כתובת ה-IP הציבורית של השרת. | אפס |
default['firezone']['wireguard']['dns'] | WireGuard DNS לשימוש עבור תצורות מכשירים שנוצרו. | 1.1.1.1, 1.0.0.1′ |
default['firezone']['wireguard']['allowed_ips'] | WireGuard אפשר להשתמש ב-IP עבור תצורות מכשירים שנוצרו. | 0.0.0.0/0, ::/0′ |
default['firezone']['wireguard']['persistent_keepalive'] | הגדרת ברירת מחדל PersistentKeepalive עבור תצורות מכשיר שנוצרו. ערך של 0 משבית. | 0 |
default['firezone']['wireguard']['ipv4']['enabled'] | הפעל או השבת את IPv4 עבור רשת WireGuard. | נכון |
default['firezone']['wireguard']['ipv4']['masquerade'] | הפעל או השבת את מסכת חבילות היוצאות ממנהרת IPv4. | נכון |
default['firezone']['wireguard']['ipv4']['network'] | מאגר כתובות IPv4 של רשת WireGuard. | 10.3.2.0 / 24 ′ |
default['firezone']['wireguard']['ipv4']['address'] | כתובת IPv4 של ממשק WireGuard. חייב להיות בתוך מאגר הכתובות של WireGuard. | 10.3.2.1 ' |
default['firezone']['wireguard']['ipv6']['enabled'] | הפעל או השבת את IPv6 עבור רשת WireGuard. | נכון |
default['firezone']['wireguard']['ipv6']['masquerade'] | הפעל או השבת את מסכת חבילות היוצאות ממנהרת IPv6. | נכון |
default['firezone']['wireguard']['ipv6']['network'] | מאגר כתובות IPv6 של רשת WireGuard. | fd00::3:2:0/120′ |
default['firezone']['wireguard']['ipv6']['address'] | כתובת IPv6 של ממשק WireGuard. חייב להיות בתוך מאגר כתובות IPv6. | fd00::3:2:1′ |
default['firezone']['runit']['svlogd_bin'] | Runit svlogd bin מיקום. | "#{node['firezone']['install_directory']}/embedded/bin/svlogd" |
default['firezone']['ssl']['directory'] | ספריית SSL לאחסון אישורים שנוצרו. | /var/opt/firezone/ssl' |
default['firezone']['ssl']['email_address'] | כתובת דוא"ל לשימוש עבור אישורים בחתימה עצמית והודעות חידוש פרוטוקול ACME. | you@example.com' |
default['firezone']['ssl']['acme']['enabled'] | אפשר ACME להקצאה אוטומטית של אישורי SSL. השבת זאת כדי למנוע מ-Nginx להאזין ביציאה 80. ראה כאן להנחיות נוספות. | שֶׁקֶר |
default['firezone']['ssl']['acme']['server'] | שרת ACME לשימוש להנפקת/חידוש אישורים. יכול להיות כל שרת acme.sh חוקי | letsencrypt |
default['firezone']['ssl']['acme']['keylength'] | ec-256 | |
default['firezone']['ssl']['certificate'] | נתיב לקובץ האישור עבור ה-FQDN שלך. עוקף את הגדרת ACME לעיל אם צוין. אם גם ACME וגם זה הם אפסיים, תיווצר אישור בחתימה עצמית. | אפס |
default['firezone']['ssl']['certificate_key'] | נתיב לקובץ האישור. | אפס |
default['firezone']['ssl']['ssl_dhparam'] | nginx ssl dh_param. | אפס |
default['firezone']['ssl']['country_name'] | שם מדינה עבור תעודה בחתימה עצמית. | לָנוּ' |
default['firezone']['ssl']['state_name'] | שם מדינה עבור אישור בחתימה עצמית. | CA ' |
default['firezone']['ssl']['locality_name'] | שם יישוב לאישור בחתימה עצמית. | סן פרנסיסקו' |
default['firezone']['ssl']['company_name'] | שם חברה אישור בחתימה עצמית. | החברה שלי' |
default['firezone']['ssl']['organizational_unit_name'] | שם יחידה ארגונית לאישור בחתימה עצמית. | מבצעים' |
default['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’ |
default['firezone']['ssl']['fips_ciphers'] | צפני SSL עבור מצב FIPs. | FIPS@STRENGTH:!aNULL:!eNULL' |
default['firezone']['ssl']['protocols'] | פרוטוקולי TLS לשימוש. | TLSv1 TLSv1.1 TLSv1.2′ |
default['firezone']['ssl']['session_cache'] | מטמון הפעלה SSL. | shared:SSL:4m' |
default['firezone']['ssl']['session_timeout'] | פסק זמן של הפעלת SSL. | 5 מ' |
default['firezone']['robots_allow'] | רובוטי nginx מאפשרים. | /' |
default['firezone']['robots_disallow'] | רובוטי nginx לא מאפשרים. | אפס |
default['firezone']['outbound_email']['from'] | דוא"ל יוצא מהכתובת. | אפס |
default['firezone']['outbound_email']['provider'] | ספק שירותי דוא"ל יוצא. | אפס |
default['firezone']['outbound_email']['configs'] | תצורות ספק דוא"ל יוצא. | ראה omnibus/cookbooks/firezone/attributes/default.rb |
default['firezone']['telemetry']['enabled'] | הפעל או השבת טלמטריית מוצר אנונימית. | נכון |
default['firezone']['connectivity_checks']['enabled'] | הפעל או השבת את שירות בדיקות הקישוריות של Firezone. | נכון |
default['firezone']['connectivity_checks']['interval'] | מרווח בין בדיקות קישוריות בשניות. | 3_600 |
________________________________________________________________
כאן תמצא רשימה של קבצים וספריות הקשורות להתקנה טיפוסית של Firezone. אלה עשויים להשתנות בהתאם לשינויים בקובץ התצורה שלך.
נתיב | תיאור |
/var/opt/firezone | ספרייה ברמה העליונה המכילה נתונים ותצורה שנוצרה עבור שירותים מצורפים של Firezone. |
/opt/firezone | ספרייה ברמה העליונה המכילה ספריות מובנות, קבצים בינאריים וקבצי זמן ריצה הדרושים ל-Firezone. |
/usr/bin/firezone-ctl | כלי עזר firezone-ctl לניהול התקנת Firezone שלך. |
/etc/systemd/system/firezone-runsvdir-start.service | קובץ systemd להפעלת תהליך המפקח של Firezone runsvdir. |
/etc/firezone | קבצי תצורה של Firezone. |
__________________________________________________________
דף זה היה ריק במסמכים
_____________________________________________________________
ניתן להשתמש בתבנית חומת האש של nftables הבאה כדי לאבטח את השרת המריץ את Firezone. התבנית אכן מניחה כמה הנחות; ייתכן שתצטרך להתאים את הכללים כך שיתאימו למקרה השימוש שלך:
Firezone מגדיר חוקי nftables משלה כדי להתיר/לדחות תעבורה ליעדים המוגדרים בממשק האינטרנט וכדי לטפל ב-NAT יוצאת עבור תעבורת לקוח.
החלת תבנית חומת האש שלהלן על שרת שכבר פועל (לא בזמן האתחול) תגרום לניקוי כללי Firezone. עשויות להיות לכך השלכות אבטחה.
כדי לעקוף את זה, הפעל מחדש את שירות הפניקס:
firezone-ctl הפעל מחדש את פניקס
#!/usr/sbin/nft -f
## נקה/סרוק את כל הכללים הקיימים
סט חוקים לשטוף
################################ משתנים ################# ###############
## שם ממשק אינטרנט/WAN
הגדר DEV_WAN = eth0
## שם ממשק WireGuard
הגדר DEV_WIREGUARD = wg-firezone
## יציאת האזנה WireGuard
הגדר WIREGUARD_PORT = 51820
############################# משתנים מסתיימים ################## ############
# טבלת סינון משפחת inet ראשית
מסנן טבלה inet {
# כללים לתנועה מועברת
# שרשרת זו מעובדת לפני שרשרת קדימה של Firezone
שרשרת קדימה {
סוג מסנן הוק קדימה מסנן עדיפות - 5; קבלת המדיניות
}
# כללים לתעבורת קלט
קלט שרשרת {
סוג מסנן קלט קלט וו מסנן; ירידה במדיניות
## אפשר תנועה נכנסת לממשק loopback
אם כן \
לקבל \
הערה "אפשר את כל התעבורה להיכנס מממשק loopback"
## אפשר חיבורים שנוצרו וקשורים
מדינת ct הוקמה, קשורה \
לקבל \
הערה "אפשר חיבורים שנוצרו/קשורים"
## אפשר תעבורת WireGuard נכנסת
iif $DEV_WAN udp dport $WIREGUARD_PORT \
מונה \
לקבל \
הערה "אפשר תנועת WireGuard נכנסת"
## התחבר ושחרר מנות TCP חדשות שאינן SYN
tcp flags != syn ct state new \
שיעור הגבלה 100פרץ /דקה 150 מנות \
קידומת יומן "IN - חדש !SYN: " \
הערה "רישום מגבלת קצב עבור חיבורים חדשים שאין להם את דגל SYN TCP מוגדר"
tcp flags != syn ct state new \
מונה \
שחרר \
הערה "שחרר חיבורים חדשים שאין להם את דגל SYN TCP מוגדר"
## רישום ושחרר מנות TCP עם הגדרת דגל סנפיר/syn לא חוקי
tcp flags & (fin|syn) == (fin|syn) \
שיעור הגבלה 100פרץ /דקה 150 מנות \
קידומת יומן "IN – TCP FIN|SIN: " \
הערה "רישום מגבלת קצב עבור מנות TCP עם סט דגל סנפיר/syn לא חוקי"
tcp flags & (fin|syn) == (fin|syn) \
מונה \
שחרר \
הערה "שחרר מנות TCP עם סט דגל סנפיר/syn לא חוקי"
## רישום ושחרר מנות TCP עם סט דגל syn/rst לא חוקי
tcp flags & (syn|rst) == (syn|rst) \
שיעור הגבלה 100פרץ /דקה 150 מנות \
קידומת יומן "IN – TCP SYN|RST: " \
הערה "רישום מגבלת קצב עבור מנות TCP עם הגדרת דגל syn/rst לא חוקי"
tcp flags & (syn|rst) == (syn|rst) \
מונה \
שחרר \
הערה "שחרר מנות TCP עם סט דגל syn/rst לא חוקי"
## רישום ושחרר דגלי TCP לא חוקיים
tcp flags & (fin|syn|rst|psh|ack|urg) < (fin) \
שיעור הגבלה 100פרץ /דקה 150 מנות \
קידומת יומן "IN - FIN:" \
הערה "רישום מגבלת שיעור עבור דגלי TCP לא חוקיים (fin|syn|rst|psh|ack|urg) < (fin)"
tcp flags & (fin|syn|rst|psh|ack|urg) < (fin) \
מונה \
שחרר \
הערה "שחרר מנות TCP עם דגלים (fin|syn|rst|psh|ack|urg) < (fin)"
## רישום ושחרר דגלי TCP לא חוקיים
tcp flags & (fin|syn|rst|psh|ack|urg) == (fin|psh|urg) \
שיעור הגבלה 100פרץ /דקה 150 מנות \
קידומת יומן "IN – FIN|PSH|URG:" \
הערה "רישום מגבלת שיעור עבור דגלי TCP לא חוקיים (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)"
tcp flags & (fin|syn|rst|psh|ack|urg) == (fin|psh|urg) \
מונה \
שחרר \
הערה "שחרר מנות TCP עם דגלים (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)"
## הורד תעבורה עם מצב חיבור לא חוקי
מצב ct אינו חוקי \
שיעור הגבלה 100פרץ /דקה 150 מנות \
יומן מסמן את כל הקידומת "IN - לא חוקי: " \
הערה "רישום מגבלת קצב עבור תעבורה עם מצב חיבור לא חוקי"
מצב ct אינו חוקי \
מונה \
שחרר \
הערה "הפסק תנועה עם מצב חיבור לא חוקי"
## אפשר תגובות פינג/פינג IPv4 אך הגבלת קצב ל-2000 PPS
ip פרוטוקול icmp סוג icmp { echo-reply, echo-request } \
שיעור הגבלה 2000/שניה \
מונה \
לקבל \
הערה "אפשר הד IPv4 נכנס (פינג) מוגבל ל-2000 PPS"
## אפשר את כל שאר ה-IPv4 ICMP הנכנסים
ip פרוטוקול icmp \
מונה \
לקבל \
הערה "התר את כל שאר ה-IPv4 ICMP"
## אפשר תגובות פינג/פינג IPv6 אך הגבלת קצב ל-2000 PPS
icmpv6 סוג { echo-reply, echo-request } \
שיעור הגבלה 2000/שניה \
מונה \
לקבל \
הערה "אפשר הד IPv6 נכנס (פינג) מוגבל ל-2000 PPS"
## אפשר את כל שאר ה-IPv6 ICMP הנכנסים
meta l4proto { icmpv6 } \
מונה \
לקבל \
הערה "התר את כל שאר ה-IPv6 ICMP"
## אפשר יציאות UDP של traceroute נכנסות אך הגבל ל-500 PPS
udp dport 33434-33524 \
שיעור הגבלה 500/שניה \
מונה \
לקבל \
הערה "התר נתיב UDP נכנס מוגבל ל-500 PPS"
## אפשר SSH נכנס
tcp dport ssh ct מצב חדש \
מונה \
לקבל \
הערה "אפשר חיבורי SSH נכנסים"
## אפשר HTTP ו-HTTPS נכנסים
tcp dport { http, https } ct state new \
מונה \
לקבל \
הערה "התר חיבורי HTTP ו-HTTPS נכנסים"
## רשום כל תעבורה שאין לה התאמה, אך הגביל את הרישום למקסימום של 60 הודעות לדקה
## מדיניות ברירת המחדל תחול על תנועה ללא תחרות
שיעור הגבלה 60פרץ /דקה 100 מנות \
קידומת יומן "IN - Drop: " \
הערה "רשום כל תנועה שאין דומה לה"
## ספור את התעבורה שאין כמותה
מונה \
הערה "ספור כל תנועה ללא תחרות"
}
# כללים לתעבורת פלט
פלט שרשרת {
סוג מסנן פלט וו מסנן עדיפות; ירידה במדיניות
## אפשר תנועה יוצאת לממשק לולאה חוזר
אוי לו \
לקבל \
הערה "אפשר את כל התעבורה לצאת לממשק לולאה חוזר"
## אפשר חיבורים שנוצרו וקשורים
מדינת ct הוקמה, קשורה \
מונה \
לקבל \
הערה "אפשר חיבורים שנוצרו/קשורים"
## אפשר תעבורת 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 submission ct state new \
מונה \
לקבל \
הערה "התר הגשת SMTP יוצאת"
## אפשר בקשות DNS יוצאות
udp dport 53 \
מונה \
לקבל \
הערה "התר בקשות DNS יוצאות של UDP"
tcp dport 53 \
מונה \
לקבל \
הערה "התר בקשות TCP DNS יוצאות"
## אפשר בקשות NTP יוצאות
udp dport 123 \
מונה \
לקבל \
הערה "התר בקשות NTP יוצאות"
## רשום כל תעבורה שאין לה התאמה, אך הגביל את הרישום למקסימום של 60 הודעות לדקה
## מדיניות ברירת המחדל תחול על תנועה ללא תחרות
שיעור הגבלה 60פרץ /דקה 100 מנות \
קידומת יומן "OUT - זרוק: " \
הערה "רשום כל תנועה שאין דומה לה"
## ספור את התעבורה שאין כמותה
מונה \
הערה "ספור כל תנועה ללא תחרות"
}
}
# טבלת סינון NAT ראשית
table inet nat {
# כללים לניתוב מראש של תעבורת NAT
ניתוב מראש של שרשרת {
הקלד nat hook prerouting priority dstnat; קבלת המדיניות
}
# כללים לתעבורת NAT לאחר ניתוב
# טבלה זו מעובדת לפני שרשרת שלאחר הניתוב של Firezone
שרשרת postrouting {
הקלד nat hook postrouting priority srcnat - 5; קבלת המדיניות
}
}
יש לאחסן את חומת האש במיקום הרלוונטי להפצת לינוקס שפועלת. עבור 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_deferred":[],
"$plugins_failed":[],
"$plugins_succeded": [
"GeoIP (3)"
],
"מזהה_מבודל": “1zc2e794-1c3e-43fc-a78f-1db6d1a37f54”,
"fqdn": "awsdemo.firezone.dev",
"גרסת_kernel": "לינוקס 5.13.0",
"גִרְסָה": "0.4.6"
},
"אלמנטים_שרשרת": ""
}
הערה
צוות הפיתוח של Firezone מסתמך על ניתוח מוצר כדי להפוך את Firezone לטוב יותר עבור כולם. השארת טלמטריה מופעלת היא התרומה החשובה ביותר שתוכל לתרום לפיתוח של Firezone. עם זאת, אנו מבינים שלחלק מהמשתמשים יש דרישות פרטיות או אבטחה גבוהות יותר והם מעדיפים להשבית את הטלמטריה לחלוטין. אם זה אתה, המשך לקרוא.
טלמטריה מופעלת כברירת מחדל. כדי להשבית לחלוטין את הטלמטריה של המוצר, הגדר את אפשרות התצורה הבאה ל-false ב-/etc/firezone/firezone.rb והפעל את sudo firezone-ctl reconfigure כדי לאסוף את השינויים.
בְּרִירַת מֶחדָל['אזור אש']['טלמטריה']['מופעל'] = שקר
זה ישבית לחלוטין את כל הטלמטריה של המוצר.
Hailbytes
9511 Queens Guard Ct.
לורל, MD 20723
טלפון: (732) 771-9995
דוא"ל: info@hailbytes.com