Hailbytes VPN з дакументацыяй па брандмаўэры Firezone

Змест

Пачатак працы

Тут прадстаўлены пакрокавыя інструкцыі па разгортванні Hailbytes VPN з графічным інтэрфейсам Firezone. 

Адміністратар: наладжванне асобніка сервера непасрэдна звязана з гэтай часткай.

Кіраўніцтва карыстальніка: карысныя дакументы, якія могуць навучыць вас карыстацца 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.

# Да аднаго асобніка Firezone можна дадаць некалькі канфігурацый OIDC.

 

# Firezone можа адключыць VPN карыстальніка, калі пры спробе выяўлена памылка

#, каб абнавіць іх access_token. Праверана, што гэта працуе для Google, Okta і

# Azure SSO і выкарыстоўваецца для аўтаматычнага адключэння VPN карыстальніка ў выпадку яго выдалення

# ад пастаўшчыка OIDC. Пакіньце гэта адключаным, калі ваш пастаўшчык OIDC

# мае праблемы з абнаўленнем токенаў доступу, бо гэта можа нечакана перапыніць a

Сеанс VPN # карыстальніка.

па змаўчанні['firezone']['authentication']['disable_vpn_on_oidc_error'] = false

 

па змаўчанні['firezone']['аўтэнтыфікацыя']['oidc'] = {

  Google: {

    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: «код»,

    вобласць: «адкрыты профіль электроннай пошты»,

    пазнака: «Google»

  },

  актава: {

    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: «адкрыты профіль электроннай пошты offline_access»,

    этыкетка: «Окта»

  }

}



Для інтэграцыі патрабуюцца наступныя параметры канфігурацыі:

  1. discovery_document_uri: The URI канфігурацыі правайдэра OpenID Connect які вяртае дакумент JSON, які выкарыстоўваецца для стварэння наступных запытаў да гэтага пастаўшчыка OIDC.
  2. client_id: Ідэнтыфікатар кліента прыкладання.
  3. client_secret: Сакрэт кліента прыкладання.
  4. redirect_uri: інструктуе пастаўшчыка OIDC, куды перанакіроўваць пасля аўтэнтыфікацыі. Гэта павінен быць ваш EXTERNAL_URL + /auth/oidc/ Firezone /зваротны выклік/ (напрыклад, https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: усталяваць код.
  6. вобласць прымянення: Вобласці OIDC атрымаць ад пастаўшчыка OIDC. У залежнасці ад пастаўшчыка павінен быць усталяваны профіль электроннай пошты openid або профіль электроннай пошты offline_access.
  7. этыкетка: Тэкст этыкеткі кнопкі, які паказваецца на вашым экране ўваходу ў Firezone.

Прыгожыя URL-адрасы

Для кожнага пастаўшчыка OIDC ствараецца адпаведны URL-адрас для перанакіравання на URL-адрас для ўваходу настроенага пастаўшчыка. Для прыкладу канфігурацыі OIDC вышэй URL-адрасы:

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

Інструкцыі па наладжванні Firezone з папулярнымі пастаўшчыкамі ідэнтыфікацыі

Пастаўшчыкі, для якіх у нас ёсць дакументацыя:

  • Google
  • Okta
  • Azure Active Directory
  • Onelogin
  • Лакальная аўтэнтыфікацыя

 

Калі ваш пастаўшчык ідэнтыфікацыі мае агульны злучальнік OIDC і не пазначаны ў спісе вышэй, перайдзіце да яго дакументацыі, каб атрымаць інфармацыю аб тым, як атрымаць неабходныя параметры канфігурацыі.

Падтрымлівайце рэгулярную паўторную аўтэнтыфікацыю

Параметр у раздзеле "Налады/бяспека" можна змяніць, каб патрабаваць перыядычнай паўторнай аўтэнтыфікацыі. Гэта можа быць выкарыстана для выканання патрабаванняў, каб карыстальнікі рэгулярна ўваходзілі ў Firezone, каб працягваць сеанс VPN.

Працягласць сеанса можа быць наладжана ад адной гадзіны да дзевяноста дзён. Усталяваўшы значэнне Ніколі, вы можаце ўключыць сеансы VPN у любы час. Гэта стандарт.

Паўторная аўтэнтыфікацыя

Карыстальнік павінен завяршыць сеанс VPN і ўвайсці на партал Firezone, каб паўторна прайсці аўтэнтыфікацыю пратэрмінаванага сеанса VPN (URL-адрас, указаны падчас разгортвання).

Вы можаце паўторна аўтэнтыфікаваць свой сеанс, прытрымліваючыся дакладных інструкцый кліента, якія можна знайсці тут.

 

Статус VPN-злучэння

Слупок табліцы VPN-злучэнняў старонкі "Карыстальнікі" адлюстроўвае стан злучэння карыстальніка. Вось статусы злучэння:

ENABLED – злучэнне ўключана.

АДКЛЮЧЭНА – злучэнне адключана адміністратарам або збоем абнаўлення OIDC.

ТЭРМІН ТЭРМІНУ МІНУЎ – Злучэнне адключана з-за заканчэння тэрміну аўтэнтыфікацыі або карыстальнік не ўвайшоў у першы раз.

Google

Праз агульны злучальнік OIDC Firezone забяспечвае адзіны ўваход (SSO) з Google Workspace і Cloud Identity. Гэта кіраўніцтва пакажа вам, як атрымаць пералічаныя ніжэй параметры канфігурацыі, неабходныя для інтэграцыі:

  1. discovery_document_uri: The URI канфігурацыі правайдэра OpenID Connect які вяртае дакумент JSON, які выкарыстоўваецца для стварэння наступных запытаў да гэтага пастаўшчыка OIDC.
  2. client_id: Ідэнтыфікатар кліента прыкладання.
  3. client_secret: Сакрэт кліента прыкладання.
  4. redirect_uri: інструктуе пастаўшчыка OIDC, куды перанакіроўваць пасля аўтэнтыфікацыі. Гэта павінен быць ваш EXTERNAL_URL + /auth/oidc/ Firezone /зваротны выклік/ (напрыклад, https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: усталяваць код.
  6. вобласць прымянення: Вобласці OIDC атрымаць ад пастаўшчыка OIDC. Для гэтага павінен быць усталяваны профіль электроннай пошты openid, каб Firezone паведамляў адрас электроннай пошты карыстальніка ў вернутых прэтэнзіях.
  7. этыкетка: Тэкст этыкеткі кнопкі, які паказваецца на вашым экране ўваходу ў Firezone.

Атрымайце налады канфігурацыі

1. Экран канфігурацыі OAuth

Калі вы ствараеце новы ідэнтыфікатар кліента OAuth у першы раз, вам будзе прапанавана наладзіць экран згоды.

*Абярыце Internal для тыпу карыстальніка. Гэта гарантуе, што толькі ўліковыя запісы, якія належаць карыстальнікам вашай арганізацыі Google Workspace, могуць ствараць канфігурацыі прылады. НЕ выбірайце Знешні, калі вы не жадаеце дазволіць каму-небудзь з сапраўдным уліковым запісам Google ствараць канфігурацыі прылады.

 

На экране інфармацыі пра праграму:

  1. Назва праграмы: Firezone
  2. Лагатып праграмы: Лагатып Firezone (захаваць спасылку як).
  3. Хатняя старонка прыкладання: URL вашага экземпляра Firezone.
  4. Аўтарызаваныя дамены: дамен верхняга ўзроўню вашага экземпляра Firezone.

 

 

2. Стварыце ідэнтыфікатары кліента OAuth

Гэты раздзел заснаваны на ўласнай дакументацыі Google па налада OAuth 2.0.

Наведайце Google Cloud Console Старонка ўліковых даных націсніце + Стварыць уліковыя дадзеныя і абярыце ідэнтыфікатар кліента OAuth.

На экране стварэння ідэнтыфікатара кліента OAuth:

  1. Усталюйце "Тып прыкладання" на "Вэб-прыкладанне".
  2. Дадайце свой Firezone EXTERNAL_URL + /auth/oidc/google/callback/ (напрыклад, https://instance-id.yourfirezone.com/auth/oidc/google/callback/) у якасці запісу ў Аўтарызаваныя URI перанакіравання.

 

Пасля стварэння ідэнтыфікатара кліента OAuth вы атрымаеце ідэнтыфікатар кліента і сакрэт кліента. Яны будуць выкарыстоўвацца разам з URI перанакіравання на наступным этапе.

Інтэграцыя Firezone

Рэдагаваць /etc/firezone/firezone.rb каб уключыць варыянты ніжэй:

 

# Выкарыстанне Google у якасці пастаўшчыка пасведчанняў SSO

па змаўчанні['firezone']['аўтэнтыфікацыя']['oidc'] = {

  Google: {

    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: «код»,

    вобласць: «адкрыты профіль электроннай пошты»,

    пазнака: «Google»

  }

}

 

Запусціце firezone-ctl reconfigure і firezone-ctl restart, каб абнавіць прыкладанне. Цяпер вы павінны ўбачыць кнопку «Увайсці з Google» у каранёвым URL-адрасе Firezone.

Okta

Firezone выкарыстоўвае агульны раз'ём OIDC для палягчэння адзінага ўваходу (SSO) з Okta. Гэты падручнік пакажа вам, як атрымаць пералічаныя ніжэй параметры канфігурацыі, неабходныя для інтэграцыі:

  1. discovery_document_uri: The URI канфігурацыі правайдэра OpenID Connect які вяртае дакумент JSON, які выкарыстоўваецца для стварэння наступных запытаў да гэтага пастаўшчыка OIDC.
  2. client_id: Ідэнтыфікатар кліента прыкладання.
  3. client_secret: Сакрэт кліента прыкладання.
  4. redirect_uri: інструктуе пастаўшчыка OIDC, куды перанакіроўваць пасля аўтэнтыфікацыі. Гэта павінен быць ваш EXTERNAL_URL + /auth/oidc/ Firezone /зваротны выклік/ (напрыклад, https://instance-id.yourfirezone.com/auth/oidc/okta/callback/).
  5. response_type: усталяваць код.
  6. вобласць прымянення: Вобласці OIDC атрымаць ад пастаўшчыка OIDC. Гэта павінна быць усталявана ў openid профілю электроннай пошты offline_access, каб падаць Firezone адрас электроннай пошты карыстальніка ў вернутых прэтэнзіях.
  7. этыкетка: Тэкст этыкеткі кнопкі, які паказваецца на вашым экране ўваходу ў Firezone.

 

Інтэграцыя праграмы Okta

Гэты раздзел кіраўніцтва заснаваны на Дакументацыя Okta.

У кансолі адміністратара перайдзіце ў раздзел «Прыкладанні > Прыкладанні» і націсніце «Стварыць інтэграцыю прыкладання». Усталюйце для метаду ўваходу OICD – OpenID Connect, а для тыпу прыкладання - вэб-прыкладанне.

Наладзьце гэтыя параметры:

  1. Назва праграмы: Firezone
  2. Лагатып праграмы: Лагатып Firezone (захаваць спасылку як).
  3. Тып гранта: пастаўце галачку ў полі «Абнавіць маркер». Гэта забяспечвае сінхранізацыю Firezone з пастаўшчыком ідэнтыфікацыі, а доступ да VPN спыняецца пасля выдалення карыстальніка.
  4. URI для перанакіравання ўваходу: дадайце свой Firezone EXTERNAL_URL + /auth/oidc/okta/callback/ (напрыклад, https://instance-id.yourfirezone.com/auth/oidc/okta/callback/) у якасці запісу да URI аўтарызаванага перанакіравання .
  5. Прызначэнні: абмяжуйцеся групамі, якім вы хочаце даць доступ да вашага асобніка Firezone.

Пасля захавання налад вы атрымаеце ідэнтыфікатар кліента, сакрэт кліента і дамен Okta. Гэтыя 3 значэнні будуць выкарыстоўвацца на этапе 2 для наладжвання Firezone.

Інтэграцыя Firezone

Рэдагаваць /etc/firezone/firezone.rb каб уключыць варыянты ніжэй. Ваша URL_адкрыцця_дакумента будзе /.well-known/openid-configuration далучаны да канца вашага okta_дамен.

 

# Выкарыстанне 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/”,

    response_type: «код»,

    scope: «адкрыты профіль электроннай пошты offline_access»,

    этыкетка: «Окта»

  }

}

 

Запусціце firezone-ctl reconfigure і firezone-ctl restart, каб абнавіць прыкладанне. Цяпер вы павінны ўбачыць кнопку «Увайсці з Okta» на каранёвым URL Firezone.

 

Абмежаваць доступ для пэўных карыстальнікаў

Карыстальнікі, якія маюць доступ да праграмы Firezone, могуць быць абмежаваныя Okta. Каб выканаць гэта, перайдзіце на старонку прызначэнняў інтэграцыі прыкладання Firezone вашай кансолі адміністратара Okta.

Azure Active Directory

Праз агульны злучальнік OIDC Firezone забяспечвае адзіны ўваход (SSO) з Azure Active Directory. Гэта кіраўніцтва пакажа вам, як атрымаць пералічаныя ніжэй параметры канфігурацыі, неабходныя для інтэграцыі:

  1. discovery_document_uri: The URI канфігурацыі правайдэра OpenID Connect які вяртае дакумент JSON, які выкарыстоўваецца для стварэння наступных запытаў да гэтага пастаўшчыка OIDC.
  2. client_id: Ідэнтыфікатар кліента прыкладання.
  3. client_secret: Сакрэт кліента прыкладання.
  4. redirect_uri: інструктуе пастаўшчыка OIDC, куды перанакіроўваць пасля аўтэнтыфікацыі. Гэта павінен быць ваш EXTERNAL_URL + /auth/oidc/ Firezone /зваротны выклік/ (напрыклад, https://instance-id.yourfirezone.com/auth/oidc/azure/callback/).
  5. response_type: усталяваць код.
  6. вобласць прымянення: Вобласці OIDC атрымаць ад пастаўшчыка OIDC. Гэта павінна быць усталявана ў openid профілю электроннай пошты offline_access, каб падаць Firezone адрас электроннай пошты карыстальніка ў вернутых прэтэнзіях.
  7. этыкетка: Тэкст этыкеткі кнопкі, які паказваецца на вашым экране ўваходу ў Firezone.

Атрымаць налады канфігурацыі

Гэта кіраўніцтва ўзята з Дакументы Azure Active Directory.

 

Перайдзіце на старонку Azure Active Directory партала Azure. Выберыце пункт меню «Кіраванне», абярыце «Новая рэгістрацыя», затым зарэгіструйцеся, указаўшы наступную інфармацыю:

  1. Назва: Firezone
  2. Тыпы ўліковых запісаў, якія падтрымліваюцца: (толькі каталог па змаўчанні - адзін арандатар)
  3. URI перанакіравання: гэта павінен быць ваш EXTERNAL_URL + /auth/oidc/azure/callback/ (напрыклад, https://instance-id.yourfirezone.com/auth/oidc/azure/callback/). Пераканайцеся, што вы ўключылі касую рысу ў канцы. Гэта будзе значэнне redirect_uri.

 

Пасля рэгістрацыі адкрыйце дэталёвы выгляд прыкладання і скапіруйце Ідэнтыфікатар прыкладання (кліента).. Гэта будзе значэнне client_id. Затым адкрыйце меню канчатковых кропак, каб атрымаць Дакумент метададзеных OpenID Connect. Гэта будзе значэнне discovery_document_uri.

 

Стварыце новы сакрэт кліента, націснуўшы опцыю Сертыфікаты і сакрэты ў меню Кіраванне. Скапіруйце сакрэт кліента; сакрэтнае значэнне кліента будзе такім.

 

Нарэшце, выберыце спасылку на дазволы API ў меню «Кіраванне», націсніце Дадайце дазволІ абярыце Microsoft Graph, дадаваць электронная пошта, опенід, аўтаномны_доступ і профіль да неабходных дазволаў.

Інтэграцыя Firezone

Рэдагаваць /etc/firezone/firezone.rb каб уключыць варыянты ніжэй:

 

# Выкарыстанне Azure Active Directory у якасці пастаўшчыка ідэнтыфікацый SSO

па змаўчанні['firezone']['аўтэнтыфікацыя']['oidc'] = {

  блакітны: {

    discovery_document_uri: “https://login.microsoftonline.com/ /v2.0/.well-known/openid-configuration”,

    client_id: “ »,

    client_secret: “ »,

    redirect_uri: “https://instance-id.yourfirezone.com/auth/oidc/azure/callback/”,

    response_type: «код»,

    scope: «адкрыты профіль электроннай пошты offline_access»,

    пазнака: «лазурны»

  }

}

 

Запусціце firezone-ctl reconfigure і firezone-ctl restart, каб абнавіць прыкладанне. Цяпер вы павінны ўбачыць кнопку «Увайсці з Azure» у каранёвым URL-адрасе Firezone.

Як: абмежаваць доступ да пэўных членаў

Azure AD дазваляе адміністратарам абмежаваць доступ да праграм для пэўнай групы карыстальнікаў у вашай кампаніі. Дадатковую інфармацыю аб тым, як гэта зрабіць, можна знайсці ў дакументацыі Microsoft.

Адміністратар

  • Канфігураваць
  • Кіраваць устаноўкай
  • мадэрнізацыя
  • Ліквідацыю
  • Меркаванні па бяспецы
  • Запуск SQL-запытаў

Канфігураваць

Chef Omnibus выкарыстоўваецца Firezone для кіравання задачамі, уключаючы выпуск упакоўкі, кантроль за працэсам, кіраванне часопісамі і многае іншае.

Код Ruby складае асноўны файл канфігурацыі, які знаходзіцца ў /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 па змаўчанні.

  паказаць-канфіг

    Паказаць канфігурацыю, якая будзе згенеравана пры паўторнай наладзе.

  разборка-сеткі

    Выдаляе інтэрфейс WireGuard і табліцу nftables firezone.

  force-cert-renewal

    Прымусовае абнаўленне сертыфіката зараз, нават калі яго тэрмін дзеяння не скончыўся.

  стоп-сертыфікат-аднаўленне

    Выдаляе cronjob, які абнаўляе сертыфікаты.

  выдаліць

    Закрыйце ўсе працэсы і выдаліце ​​кантралёр працэсаў (дадзеныя будуць захаваны).

  версія

    Паказаць бягучую версію Firezone

Каманды кіравання паслугамі:

  вытанчана-забіць

    Паспрабуйце вытанчана спыніцца, затым SIGKILL усю групу працэсаў.

  хап

    Адпраўце сэрвісам HUP.

  INT

    Адпраўце службам INT.

  забіваць

    Адпраўце службы ЗАБОЙ.

  адзін раз

    Запусціце службы, калі яны не працуюць. Не перазапускайце іх, калі яны спыняюцца.

  перазапуск

    Спыніце службы, калі яны працуюць, а затым запусціце іх зноў.

  спіс паслуг

    Пералічыце ўсе службы (уключаныя службы пазначаны *.)

  Пачатак

    Запусціце службы, калі яны не працуюць, і перазапусціце іх, калі яны спыніліся.

  статус

    Паказаць статус усіх паслуг.

  спыніць

    Спыніце службы і не перазапускайце іх.

  хвост

    Глядзіце часопісы абслугоўвання ўсіх уключаных службаў.

  тэрмін

    Дашліце паслугі ТЭРМІН.

  usr1

    Адпраўце сэрвісам USR1.

  usr2

    Адпраўце сэрвісам USR2.

мадэрнізацыя

Усе сеансы VPN павінны быць завершаны перад абнаўленнем Firezone, якое таксама патрабуе адключэння вэб-інтэрфейсу. У выпадку, калі нешта пойдзе не так падчас абнаўлення, мы раім вылучыць гадзіну на тэхнічнае абслугоўванне.

 

Каб палепшыць Firezone, выканайце наступныя дзеянні:

  1. Абнавіце пакет firezone з дапамогай усталявання адной камандай: sudo -E bash -c «$(curl -fsSL https://github.com/firezone/firezone/raw/master/scripts/install.sh)»
  2. Запусціце firezone-ctl reconfigure, каб забраць новыя змены.
  3. Запусціце firezone-ctl restart, каб перазапусціць службы.

Калі ўзнікнуць праблемы, паведаміце нам аб гэтым падаць заяўку ў службу падтрымкі.

Абнаўленне з <0.5.0 да >=0.5.0

У версіі 0.5.0 ёсць некалькі крыўдных змяненняў і мадыфікацый канфігурацыі, якія неабходна вырашыць. Даведайцеся больш ніжэй.

Пакетныя запыты Nginx non_ssl_port (HTTP) выдалены

Пачынаючы з версіі 0.5.0, Nginx больш не падтрымлівае параметры порта Force SSL і не-SSL. Паколькі для працы Firezone патрабуецца SSL, мы рэкамендуем выдаліць службу пакета Nginx, усталяваўшы па змаўчанні ['firezone']['nginx']['enabled'] = false і замест гэтага накіраваўшы зваротны проксі-сервер да праграмы Phoenix на порт 13000 (па змаўчанні ).

Падтрымка пратаколу ACME

0.5.0 прадстаўляе падтрымку пратаколу ACME для аўтаматычнага абнаўлення сертыфікатаў SSL з уключаным сэрвісам Nginx. Для таго, каб,

  • Пераканайцеся, што default['firezone']['external_url'] утрымлівае сапраўдны FQDN, які вырашае агульнадаступны IP-адрас вашага сервера.
  • Пераканайцеся, што порт 80/tcp даступны
  • Уключыце падтрымку пратаколу ACME з параметрам default['firezone']['ssl']['acme']['enabled'] = true у вашым канфігурацыйным файле.

Пункты прызначэння правіла выхаду, якія перакрываюцца

У Firezone 0.5.0 знікла магчымасць дадаваць правілы з дублікатамі пунктаў прызначэння. Наш скрыпт міграцыі аўтаматычна распазнае гэтыя сітуацыі падчас абнаўлення да 0.5.0 і захавае толькі тыя правілы, чый пункт прызначэння ўключае іншае правіла. Вам нічога не трэба рабіць, калі гэта нармальна.

У адваротным выпадку перад абнаўленнем мы раім змяніць набор правілаў, каб пазбавіцца ад такіх сітуацый.

Папярэдняя налада Okta і Google SSO

Firezone 0.5.0 выдаляе падтрымку старой канфігурацыі Okta і Google SSO на карысць новай, больш гнуткай канфігурацыі на аснове OIDC. 

Калі ў вас ёсць якія-небудзь канфігурацыі пад ключамі па змаўчанні['firezone']['authentication']['okta'] або па змаўчанні['firezone']['authentication']['google'], вам трэба перанесці іх у наш OIDC на аснове канфігурацыі з дапамогай кіраўніцтва ніжэй.

Існуючая канфігурацыя Google OAuth

Выдаліце ​​гэтыя радкі, якія змяшчаюць старыя канфігурацыі Google OAuth, з вашага файла канфігурацыі, размешчанага ў /etc/firezone/firezone.rb

 

па змаўчанні['firezone']['authentication']['google']['enabled']

па змаўчанні ['firezone']['аўтэнтыфікацыя']['google']['client_id']

па змаўчанні['firezone']['аўтэнтыфікацыя']['google']['client_secret']

па змаўчанні ['firezone']['аўтэнтыфікацыя']['google']['redirect_uri']

 

Затым наладзьце Google у якасці пастаўшчыка OIDC, выконваючы прыведзеныя тут працэдуры.

(Падайце інструкцыі па спасылцы)<<<<<<<<<<<<<<<<<

 

Наладзьце існуючы Google OAuth 

Выдаліце ​​гэтыя радкі, якія змяшчаюць старыя канфігурацыі Okta OAuth, з вашага файла канфігурацыі, які знаходзіцца па адрасе /etc/firezone/firezone.rb

 

па змаўчанні['firezone']['authentication']['okta']['enabled']

па змаўчанні['firezone']['аўтэнтыфікацыя']['okta']['client_id']

па змаўчанні['firezone']['аўтэнтыфікацыя']['okta']['client_secret']

Па змаўчанні['firezone']['authentication']['okta']['site']

 

Затым наладзьце Okta ў якасці пастаўшчыка OIDC, прытрымліваючыся прыведзеных тут працэдур.

Абнаўленне з 0.3.x да >= 0.3.16

У залежнасці ад бягучай налады і версіі прытрымлівайцеся наступных інструкцый:

Калі ў вас ужо ёсць інтэграцыя OIDC:

Для некаторых пастаўшчыкоў OIDC абнаўленне да >= 0.3.16 патрабуе атрымання маркера абнаўлення для вобласці пазасеткавага доступу. Робячы гэта, гарантуецца, што Firezone абнаўляецца з правайдэрам ідэнтыфікацыі і што злучэнне VPN адключаецца пасля выдалення карыстальніка. Ранейшыя ітэрацыі Firezone не мелі гэтай функцыі. У некаторых выпадках карыстальнікі, выдаленыя з вашага правайдэра ідэнтыфікацыйнай інфармацыі, усё яшчэ могуць быць падлучаныя да VPN.

Неабходна ўключыць пазасеткавы доступ у параметр аб'ёму канфігурацыі OIDC для пастаўшчыкоў OIDC, якія падтрымліваюць аб'ём пазасеткавага доступу. Firezone-ctl reconfigure неабходна выканаць, каб прымяніць змены да файла канфігурацыі Firezone, які знаходзіцца ў /etc/firezone/firezone.rb.

Для карыстальнікаў, якія прайшлі аўтэнтыфікацыю вашым пастаўшчыком OIDC, вы ўбачыце загаловак OIDC Connections на старонцы звестак пра карыстальніка вэб-інтэрфейсу, калі Firezone зможа паспяхова атрымаць токен абнаўлення.

Калі гэта не спрацуе, вам трэба будзе выдаліць існуючую праграму OAuth і паўтарыць крокі наладкі OIDC, каб стварыць новую інтэграцыю прыкладання .

У мяне ёсць інтэграцыя OAuth

Да 0.3.11 Firezone выкарыстоўваў папярэдне сканфігураваныя пастаўшчыкі OAuth2. 

Выконвайце інструкцыі тут для пераходу на OIDC.

Я не інтэграваў пастаўшчыка пасведчанняў

Ніякіх дзеянняў не патрабуецца. 

Вы можаце прытрымлівацца інструкцый тут каб уключыць SSO праз пастаўшчыка OIDC.

Абнаўленне з 0.3.1 да >= 0.3.2

На яго месцы default['firezone']['external url'] замяніў параметр канфігурацыі default['firezone']['fqdn']. 

Усталюйце для гэтага URL-адрас інтэрнэт-партала Firezone, які даступны для шырокай грамадскасці. Па змаўчанні будзе https:// плюс FQDN вашага сервера, калі не вызначаны.

Файл канфігурацыі знаходзіцца ў /etc/firezone/firezone.rb. Поўны спіс зменных канфігурацыі і іх апісанне глядзіце ў спасылцы на файл канфігурацыі.

Абнаўленне з 0.2.x да 0.3.x

Пачынаючы з версіі 0.3.0, Firezone больш не захоўвае прыватныя ключы прылады на серверы Firezone. 

Вэб-інтэрфейс Firezone не дазволіць вам паўторна спампоўваць або бачыць гэтыя канфігурацыі, але ўсе існуючыя прылады павінны працягваць працаваць як ёсць.

Абнаўленне з 0.1.x да 0.2.x

Калі вы абнаўляецеся з Firezone 0.1.x, ёсць некалькі змяненняў файла канфігурацыі, якія трэба ўнесці ўручную. 

Каб унесці неабходныя змены ў ваш файл /etc/firezone/firezone.rb, выканайце наступныя каманды ад імя root.

 

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

sed -i “s/\['уключыць'\]/\['уключана'\]/” /etc/firezone/firezone.rb

рэха “default['firezone']['connectivity_checks']['enabled'] = true” >> /etc/firezone/firezone.rb

рэха “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 ДАЗВОЛІЦЬ У любым месцы

80/tcp ДАЗВОЛІЦЬ У любым месцы

443/tcp ДАЗВОЛІЦЬ У любым месцы

51820/udp ДАЗВОЛІЦЬ У любым месцы

22/tcp (v6) ДАЗВОЛІЦЬ У любым месцы (v6)

80/tcp (v6) ДАЗВОЛІЦЬ У любым месцы (v6)

443/tcp (v6) ДАЗВОЛІЦЬ У любым месцы (v6)

51820/udp (v6) ДАЗВОЛІЦЬ У любым месцы (v6)

Меркаванні па бяспецы

Мы рэкамендуем абмежаваць доступ да вэб-інтэрфейсу для надзвычай адчувальных і крытычна важных вытворчых разгортванняў, як тлумачыцца ніжэй.

Паслугі і парты

 

абслугоўванне

Порт па змаўчанні

Слухаць адрас

Апісанне

Nginx

80, 443

усё

Публічны порт HTTP(S) для адміністравання Firezone і палягчэння аўтэнтыфікацыі.

Драцяная ахова

51820

усё

Публічны порт WireGuard, які выкарыстоўваецца для сеансаў VPN. (UDP)

postgresql

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 ДАЗВОЛІЦЬ У любым месцы

51820/udp ДАЗВОЛІЦЬ У любым месцы

У любым месцы ДАЗВОЛІЦЬ 10.3.2.2

22/tcp (v6) ДАЗВОЛІЦЬ У любым месцы (v6)

51820/udp (v6) ДАЗВОЛІЦЬ У любым месцы (v6)

Гэта пакіне толькі 22/tcp адкрыты для SSH доступу для кіравання серверам (неабавязкова), і 51820/адп выстаўлены для стварэння тунэляў WireGuard.

Запуск SQL-запытаў

Firezone звязвае сервер Postgresql і адпаведнасць PSQL утыліта, якую можна выкарыстоўваць з лакальнай абалонкі так:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d firezone \

  -h лакальны хост \

  -p 15432 \

  -c «SQL_STATEMENT»

 

Гэта можа быць карысна для адладкі.

 

Агульныя задачы:

 

  • Пералік усіх карыстальнікаў
  • Пералік усіх прылад
  • Змена ролі карыстальніка
  • Рэзервовае капіраванне базы дадзеных



Пералік усіх карыстальнікаў:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d firezone \

  -h лакальны хост \

  -p 15432 \

  -c «ВЫБРАЦЬ * АД карыстальнікаў;»



Пералік усіх прылад:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d firezone \

  -h лакальны хост \

  -p 15432 \

  -c «ВЫБРАЦЬ * З прылад;»



Змяніць ролю карыстальніка:

 

Усталюйце ролю «адміністратар» або «непрывілеяваны»:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d firezone \

  -h лакальны хост \

  -p 15432 \

  -c «АБНАЎЛЕННЕ карыстальнікаў SET role = 'admin' WHERE email = 'user@example.com';”



Рэзервовае капіраванне базы дадзеных:

 

Акрамя таго, уключана праграма pg dump, якая можа выкарыстоўвацца для рэгулярнага стварэння рэзервовых копій базы дадзеных. Выканайце наступны код, каб зрабіць дамп копіі базы дадзеных у агульным фармаце запыту SQL (замяніце /path/to/backup.sql месцам, дзе павінен быць створаны файл SQL):

 

/opt/firezone/embedded/bin/pg_dump \

  -U firezone \

  -d firezone \

  -h лакальны хост \

  -p 15432 > /шлях/да/backup.sql

кіраўніцтва карыстальніка

  • даданне карыстальнікаў
  • Дадаць прылады
  • Правілы выхаду
  • Інструкцыі кліента
  • Раздзелены тунэль VPN
  • Зваротны тунэль 
  • Шлюз NAT

даданне карыстальнікаў

Пасля паспяховага разгортвання Firezone вы павінны дадаць карыстальнікаў, каб забяспечыць ім доступ да вашай сеткі. Для гэтага выкарыстоўваецца вэб-інтэрфейс.

 

Web UI


Выбраўшы кнопку «Дадаць карыстальніка» ў /users, вы можаце дадаць карыстальніка. Ад вас спатрэбіцца даць карыстальніку адрас электроннай пошты і пароль. Каб аўтаматычна дазволіць доступ карыстальнікам у вашай арганізацыі, Firezone таксама можа ўзаемадзейнічаць і сінхранізавацца з пастаўшчыком пасведчанняў. Больш падрабязная інфармацыя даступная ў Пасведчыць сапраўднасць. < Дадаць спасылку на Аўтэнтыфікацыю

Дадаць прылады

Мы рэкамендуем запытаць, каб карыстальнікі стваралі ўласныя канфігурацыі прылад, каб прыватны ключ быў бачны толькі ім. Карыстальнікі могуць ствараць свае ўласныя канфігурацыі прылад, вынікаючы інструкцыям на Інструкцыі кліента старонка.

 

Стварэнне канфігурацыі прылады адміністратара

Усе канфігурацыі прылад карыстальніка могуць быць створаны адміністратарамі Firezone. На старонцы профілю карыстальніка, размешчанай у /users, выберыце опцыю «Дадаць прыладу», каб зрабіць гэта.

 

[Уставіць скрыншот]

 

Вы можаце адправіць карыстальніку файл канфігурацыі WireGuard па электроннай пошце пасля стварэння профілю прылады.

 

Карыстальнікі і прылады звязаны. Для атрымання дадатковай інфармацыі аб тым, як дадаць карыстальніка, гл даданне карыстальнікаў.

Правілы выхаду

Дзякуючы выкарыстанню сістэмы netfilter ядра, Firezone дае магчымасць фільтрацыі на выхадзе для ўказання пакетаў DROP або ACCEPT. Увесь рух звычайна дазволены.

 

IPv4 і IPv6 CIDR і IP-адрасы падтрымліваюцца праз белы спіс і дэнілісты адпаведна. Пры даданні вы можаце выбраць вобласць дзеяння правіла для карыстальніка, што прымяняе правіла да ўсіх прылад гэтага карыстальніка.

Інструкцыі кліента

Ўстаноўка і настройка

Каб усталяваць VPN-злучэнне з выкарыстаннем уласнага кліента WireGuard, звярніцеся да гэтага кіраўніцтва.

 

1. Усталюйце ўласны кліент WireGuard

 

Афіцыйныя кліенты WireGuard, размешчаныя тут, сумяшчальныя з Firezone:

 

MacOS

 

Windows

 

IOS

 

Android

 

Наведайце афіцыйны сайт WireGuard па адрасе https://www.wireguard.com/install/ для аперацыйных сістэм, не згаданых вышэй.

 

2. Спампуйце файл канфігурацыі прылады

 

Ваш адміністратар Firezone або вы можаце стварыць файл канфігурацыі прылады з дапамогай партала Firezone.

 

Каб самастойна стварыць файл канфігурацыі прылады, перайдзіце па URL-адрасе, які даў ваш адміністратар Firezone. Ваша фірма будзе мець унікальны URL для гэтага; у дадзеным выпадку гэта https://instance-id.yourfirezone.com.

 

Увайдзіце ў Firezone Okta SSO

 

[Уставіць скрыншот]

 

3. Дадайце канфігурацыю кліента

 

Імпартуйце файл.conf у кліент WireGuard, адкрыўшы яго. Пераключыўшы пераключальнік Activate, вы можаце пачаць сеанс VPN.

 

[Уставіць скрыншот]

Паўторная аўтэнтыфікацыя сесіі

Выконвайце інструкцыі ніжэй, калі ваш сеткавы адміністратар дазволіў перыядычную аўтэнтыфікацыю, каб ваша VPN-злучэнне было актыўным. 



Вам трэба:

 

URL-адрас партала Firezone: звярніцеся да адміністратара сеткі для падлучэння.

Ваш сеткавы адміністратар павінен мець магчымасць прапанаваць ваш лагін і пароль. Сайт Firezone прапануе вам увайсці з дапамогай службы адзінага ўваходу, якую выкарыстоўвае ваш працадаўца (напрыклад, Google або Okta).

 

1. Адключыце VPN-злучэнне

 

[Уставіць скрыншот]

 

2. Прайдзіце аўтэнтыфікацыю яшчэ раз 

Перайдзіце па URL-адрасе партала Firezone і ўвайдзіце, выкарыстоўваючы ўліковыя дадзеныя, прадастаўленыя адміністратарам сеткі. Калі вы ўжо ўвайшлі ў сістэму, націсніце кнопку Паўторная аўтэнтыфікацыя перад паўторным уваходам.

 

[Уставіць скрыншот]

 

Крок 3: Запусціце сеанс VPN

[Уставіць скрыншот]

Сеткавы менеджэр для Linux

Каб імпартаваць профіль канфігурацыі WireGuard з дапамогай CLI Network Manager на прыладах Linux, выканайце наступныя інструкцыі (nmcli).

НАТАТКА

Калі ў профілі ўключана падтрымка IPv6, спроба імпартаваць файл канфігурацыі з дапамогай графічнага інтэрфейсу Network Manager можа скончыцца няўдачай з наступнай памылкай:

ipv6.method: метад «auto» не падтрымліваецца для WireGuard

1. Усталюйце інструменты WireGuard 

Неабходна ўсталяваць утыліты карыстацкай прасторы WireGuard. Гэта будзе пакет пад назвай wireguard або wireguard-tools для дыстрыбутываў Linux.

Для Ubuntu/Debian:

sudo apt усталяваць wireguard

Каб выкарыстоўваць Fedora:

sudo dnf усталяваць wireguard-tools

Arch Linux:

sudo pacman -S wireguard-інструменты

Наведайце афіцыйны вэб-сайт WireGuard па адрасе https://www.wireguard.com/install/, каб даведацца пра дыстрыбутывы, якія не згаданы вышэй.

2. Спампуйце канфігурацыю 

Альбо ваш адміністратар Firezone, альбо самагенерацыя можа стварыць файл канфігурацыі прылады з дапамогай партала Firezone.

Каб самастойна стварыць файл канфігурацыі прылады, перайдзіце па URL-адрасе, які даў ваш адміністратар Firezone. Ваша фірма будзе мець унікальны URL для гэтага; у дадзеным выпадку гэта https://instance-id.yourfirezone.com.

[Уставіць скрыншот]

3. Імпарт налад

Імпартуйце пастаўлены файл канфігурацыі з дапамогай nmcli:

Sudo nmcli тып імпарту злучэння wireguard файл /path/to/configuration.conf

НАТАТКА

Імя файла канфігурацыі будзе адпавядаць злучэнню/інтэрфейсу WireGuard. Пасля імпарту злучэнне пры неабходнасці можна перайменаваць:

злучэнне nmcli змяніць [старое імя] connection.id [новае імя]

4. Падключыце або адключыце

З дапамогай каманднага радка падключыцеся да VPN наступным чынам:

падключэнне nmcli [імя vpn]

Каб адключыць:

злучэнне nmcli не працуе [імя vpn]

Адпаведны аплет Network Manager таксама можна выкарыстоўваць для кіравання злучэннем пры выкарыстанні графічнага інтэрфейсу карыстальніка.

Аўтаматычнае падключэнне

Выбраўшы «так» для опцыі аўтаматычнага злучэння, злучэнне VPN можна наладзіць на аўтаматычнае падключэнне:

 

злучэнне nmcli змяніць злучэнне [імя vpn]. <<<<<<<<<<<<<<<<<<<<<<<

 

аўтападключэнне так

 

Каб адключыць аўтаматычнае злучэнне, вярніце яго на не:

 

злучэнне nmcli змяніць злучэнне [імя vpn].

 

аўтазлучэнне №

Зрабіць даступнай шматфактарную аўтэнтыфікацыю

Каб актываваць MFA, перайдзіце на старонку /user account/register mfa партала Firezone. Выкарыстоўвайце праграму аўтэнтыфікацыі, каб адсканіраваць QR-код пасля таго, як ён быў згенераваны, затым увядзіце шасцізначны код.

Звярніцеся да адміністратара, каб скінуць інфармацыю доступу да ўліковага запісу, калі вы страцілі праграму аўтэнтыфікацыі.

Раздзелены тунэль VPN

Гэты падручнік правядзе вас праз працэс наладжвання функцыі падзеленага тунэлявання WireGuard з дапамогай Firezone, каб праз сервер VPN накіроўваўся толькі трафік у пэўныя дыяпазоны IP.

 

1. Наладзьце дазволеныя IP 

Дыяпазоны IP-адрасоў, для якіх кліент будзе накіроўваць сеткавы трафік, указаны ў полі Дазволеныя IP-адрасы, размешчаным на старонцы /settings/default. Змены ў гэтым полі закрануць толькі нядаўна створаныя канфігурацыі тунэляў WireGuard, створаныя Firezone.

 

[Уставіць скрыншот]



Значэнне па змаўчанні - 0.0.0.0/0, ::/0, якое накіроўвае ўвесь сеткавы трафік ад кліента да сервера VPN.

 

Прыклады значэнняў у гэтым полі:

 

0.0.0.0/0, ::/0 – увесь сеткавы трафік будзе накіроўвацца на сервер VPN.

192.0.2.3/32 – толькі трафік на адзін IP-адрас будзе накіроўвацца на сервер VPN.

3.5.140.0/22 ​​– на сервер VPN будзе накіроўвацца толькі трафік да IP-адрасоў у дыяпазоне 3.5.140.1 – 3.5.143.254. У гэтым прыкладзе быў выкарыстаны дыяпазон CIDR для рэгіёну ap-northeast-2 AWS.



НАТАТКА

Firezone спачатку выбірае выхадны інтэрфейс, звязаны з найбольш дакладным маршрутам, калі вызначае, куды накіраваць пакет.

 

2. Аднавіце канфігурацыі WireGuard

Карыстальнікі павінны аднавіць файлы канфігурацыі і дадаць іх у свой родны кліент WireGuard, каб абнавіць існуючыя карыстальніцкія прылады новай канфігурацыяй падзеленага тунэля.

 

Інструкцыі гл дадаць прыладу. <<<<<<<<<<< Дадаць спасылку

Зваротны тунэль

Гэта кіраўніцтва прадэманструе, як злучыць дзве прылады з дапамогай Firezone у якасці рэле. Адным з тыповых варыянтаў выкарыстання з'яўляецца прадастаўленне адміністратару доступу да сервера, кантэйнера або машыны, якія абаронены NAT або брандмаўэрам.

 

Ад вузла да вузла 

На гэтай ілюстрацыі паказаны просты сцэнар, у якім прылады A і B будуюць тунэль.

 

[Уставіць архітэктурны малюнак firezone]

 

Пачніце са стварэння прылад A і B, перайшоўшы ў /users/[user_id]/new_device. У наладах кожнай прылады пераканайцеся, што для наступных параметраў устаноўлены значэнні, пералічаныя ніжэй. Вы можаце задаць параметры прылады пры стварэнні канфігурацыі прылады (гл. Даданне прылад). Калі вам трэба абнавіць налады існуючай прылады, вы можаце зрабіць гэта, стварыўшы новую канфігурацыю прылады.

 

Звярніце ўвагу, што ўсе прылады маюць старонку /settings/defaults, дзе можна наладзіць PersistentKeepalive.

 

Прылада А

 

Дазволеныя IP = 10.3.2.2/32

  Гэта IP-адрас або дыяпазон IP-адрасоў прылады B

PersistentKeepalive = 25

  Калі прылада знаходзіцца за NAT, гэта гарантуе, што прылада зможа падтрымліваць тунэль і працягваць атрымліваць пакеты з інтэрфейсу WireGuard. Звычайна дастаткова значэння 25, але вам можа спатрэбіцца паменшыць гэта значэнне ў залежнасці ад вашага асяроддзя.



B прылада

 

Дазволеныя 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 з'яўляецца дастатковым, аднак у залежнасці ад вашага атачэння вам можа спатрэбіцца знізіць гэты паказчык.

 

Прылада В.

 

  • AllowedIPs = 10.3.2.2/32: гэта IP або дыяпазон IP-адрасоў прылады A
  • PersistentKeepalive = 25

Прылада С

 

  • AllowedIPs = 10.3.2.2/32: гэта IP або дыяпазон IP-адрасоў прылады A
  • PersistentKeepalive = 25

Прылада Д

 

  • AllowedIPs = 10.3.2.2/32: гэта IP або дыяпазон IP-адрасоў прылады A
  • PersistentKeepalive = 25

Шлюз NAT

Каб прапанаваць адзіны статычны выходны IP для ўсяго трафіку вашай каманды, Firezone можна выкарыстоўваць у якасці шлюза NAT. Гэтыя сітуацыі звязаны з яго частым ужываннем:

 

Кансультацыйныя ўзаемадзеянні: Запытайце, каб ваш кліент у белы спіс уключыў адзін статычны IP-адрас, а не унікальны IP-адрас прылады кожнага супрацоўніка.

Выкарыстанне проксі-сервера або маскіроўка зыходнага IP у мэтах бяспекі або прыватнасці.

 

У гэтай публікацыі будзе прадэманстраваны просты прыклад абмежавання доступу да ўласнага вэб-прыкладання да аднаго статычнага IP-адраса ў белым спісе, на якім працуе Firezone. На гэтай ілюстрацыі Firezone і абаронены рэсурс знаходзяцца ў розных зонах VPC.

 

Гэтае рашэнне часта выкарыстоўваецца замест кіравання белым спісам IP для шматлікіх канчатковых карыстальнікаў, што можа заняць шмат часу па меры пашырэння спісу доступу.

Прыклад AWS

Наша мэта - наладзіць сервер Firezone на асобніку EC2 для перанакіравання трафіку VPN на абмежаваны рэсурс. У гэтым выпадку Firezone выступае ў якасці сеткавага проксі-сервера або шлюза NAT, каб даць кожнай падлучанай прыладзе унікальны агульнадаступны выходны IP.

 

1. Усталюйце сервер Firezone

У гэтым выпадку асобнік EC2 пад назвай tc2.micro мае ўсталяваны асобнік Firezone. Для атрымання інфармацыі аб разгортванні Firezone перайдзіце да Кіраўніцтва па разгортванні. У дачыненні да AWS будзьце ўпэўненыя:

 

Група бяспекі асобніка Firezone EC2 дазваляе выходны трафік на IP-адрас абароненага рэсурсу.

Асобнік Firezone пастаўляецца з эластычным IP. Трафік, які перанакіроўваецца праз экзэмпляр Firezone знешнім пунктам прызначэння, будзе мець гэты IP-адрас крыніцы. Разгляданы IP-адрас 52.202.88.54.

 

[Уставіць скрыншот]<<<<<<<<<<<<<<<<<<<<<<<<<

 

2. Абмежаваць доступ да рэсурсу, які абараняецца

У якасці абароненага рэсурсу ў гэтым выпадку выступае ўласнае вэб-прыкладанне. Доступ да вэб-праграмы можна атрымаць толькі па запытах, якія паступаюць з IP-адраса 52.202.88.54. У залежнасці ад рэсурсу можа спатрэбіцца дазволіць уваходны трафік праз розныя парты і тыпы трафіку. Гэта не разглядаецца ў гэтым кіраўніцтве.

 

[Уставіць скрыншот]<<<<<<<<<<<<<<<<<<<<<<<<<

 

Калі ласка, паведаміце трэцяй асобе, якая адказвае за абаронены рэсурс, што трафік са статычнага IP, вызначанага на этапе 1, павінен быць дазволены (у дадзеным выпадку 52.202.88.54).

 

3. Выкарыстоўвайце сервер VPN для накіравання трафіку на абаронены рэсурс

 

Па змаўчанні ўвесь карыстальніцкі трафік будзе праходзіць праз сервер VPN са статычнага IP-адраса, які быў настроены на этапе 1 (у дадзеным выпадку 52.202.88.54). Аднак, калі было ўключана падзеленае тунэляванне, могуць спатрэбіцца налады, каб упэўніцца, што IP-адрас прызначэння абароненага рэсурсу ўнесены ў спіс Дазволеных IP-адрасоў.

Дадайце сюды загаловак

Ніжэй прыведзены поўны спіс опцый канфігурацыі, даступных у /etc/firezone/firezone.rb.



варыянт

апісанне

значэнне па змаўчанні

па змаўчанні['firezone']['external_url']

URL-адрас, які выкарыстоўваецца для доступу да вэб-партала гэтага экземпляра Firezone.

“https://#{node['fqdn'] || вузел['імя хаста']}”

па змаўчанні['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'

па змаўчанні['firezone']['group']

Назва групы Linux, да якой будуць належаць большасць сэрвісаў і файлаў.

Firezone'

па змаўчанні['firezone']['admin_email']

Адрас электроннай пошты для першапачатковага карыстальніка Firezone.

«firezone@localhost»

па змаўчанні['firezone']['max_devices_per_user']

Максімальная колькасць прылад, якія можа мець карыстальнік.

10

па змаўчанні['firezone']['allow_unprivileged_device_management']

Дазваляе карыстальнікам без правоў адміністратара ствараць і выдаляць прылады.

TRUE,

па змаўчанні['firezone']['allow_unprivileged_device_configuration']

Дазваляе карыстальнікам, якія не з'яўляюцца адміністратарамі, змяняць канфігурацыі прылады. Калі адключана, забараняе непрывілеяваным карыстальнікам змяняць усе палі прылады, акрамя імя і апісання.

TRUE,

па змаўчанні['firezone']['egress_interface']

Назва інтэрфейсу, праз які будзе выходзіць тунэляваны трафік. Калі нуль, будзе выкарыстоўвацца стандартны інтэрфейс маршруту.

нуль

па змаўчанні['firezone']['fips_enabled']

Уключыце або выключыце рэжым FIP OpenSSL.

нуль

па змаўчанні ['firezone']['рэгістрацыя']['ўключана']

Уключыце або адключыце вядзенне журналаў праз Firezone. Усталюйце значэнне false, каб цалкам адключыць вядзенне журналаў.

TRUE,

па змаўчанні['прадпрыемства']['імя']

Назва, якая выкарыстоўваецца ў паваранай кнізе Chef 'Enterprise'.

Firezone'

па змаўчанні['firezone']['install_path']

Шлях усталявання, які выкарыстоўваецца кулінарнай кнігай Chef 'Enterprise'. Павінна быць усталявана тое самае, што і install_directory вышэй.

вузел['firezone']['каталог_усталявання']

па змаўчанні['firezone']['sysvinit_id']

Ідэнтыфікатар, які выкарыстоўваецца ў /etc/inittab. Павінна быць унікальная паслядоўнасць з 1-4 сімвалаў.

SUP'

па змаўчанні['firezone']['аўтэнтыфікацыя']['лакальны']['ўключана']

Уключыць або адключыць лакальную аўтэнтыфікацыю электроннай пошты/пароля.

TRUE,

па змаўчанні ['firezone']['аўтэнтыфікацыя']['auto_create_oidc_users']

Аўтаматычна ствараць карыстальнікаў, якія ўваходзяць з OIDC у першы раз. Адключыце, каб дазволіць толькі існуючым карыстальнікам уваходзіць праз OIDC.

TRUE,

па змаўчанні ['firezone']['аўтэнтыфікацыя']['disable_vpn_on_oidc_error']

Адключыце VPN карыстальніка, калі выяўлена памылка пры спробе абнавіць токен OIDC.

ХЛУСНЯ

па змаўчанні['firezone']['аўтэнтыфікацыя']['oidc']

Канфігурацыя OpenID Connect у фармаце {“правайдэр” => [канфігурацыя…]} – гл. Дакументацыя OpenIDConnect для прыкладаў канфігурацыі.

{}

па змаўчанні ['firezone']['nginx']['уключана']

Уключыце або адключыце ўключаны сервер nginx.

TRUE,

па змаўчанні['firezone']['nginx']['ssl_port']

Порт праслухоўвання HTTPS.

443

па змаўчанні['firezone']['nginx']['каталог']

Каталог для захоўвання канфігурацыі віртуальнага хаста nginx, звязанай з Firezone.

“#{node['firezone']['var_directory']}/nginx/etc”

па змаўчанні['firezone']['nginx']['log_directory']

Каталог для захоўвання файлаў журналаў nginx, звязаных з Firezone.

“#{node['firezone']['log_directory']}/nginx”

па змаўчанні['firezone']['nginx']['log_rotation']['file_maxbytes']

Памер файла, пры якім трэба круціць файлы журналаў Nginx.

104857600

па змаўчанні['firezone']['nginx']['log_rotation']['num_to_keep']

Колькасць файлаў журналаў Firezone nginx, якія трэба захаваць перад выдаленнем.

10

па змаўчанні['firezone']['nginx']['log_x_forwarded_for']

Ці трэба рэгістраваць загаловак Firezone nginx x-forwarded-for.

TRUE,

па змаўчанні['firezone']['nginx']['hsts_header']['enabled']

Уключэнне ці адключэнне HSTS.

TRUE,

па змаўчанні['firezone']['nginx']['hsts_header']['include_subdomains']

Уключыць або адключыць includeSubDomains для загалоўка HSTS.

TRUE,

па змаўчанні['firezone']['nginx']['hsts_header']['max_age']

Максімальны ўзрост для загалоўка HSTS.

31536000

па змаўчанні['firezone']['nginx']['redirect_to_canonical']

Ці перанакіроўваць URL-адрасы на кананічнае FQDN, указанае вышэй

ХЛУСНЯ

па змаўчанні['firezone']['nginx']['cache']['enabled']

Уключыце або адключыце кэш Firezone nginx.

ХЛУСНЯ

па змаўчанні['firezone']['nginx']['cache']['directory']

Каталог для кэша Firezone nginx.

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

па змаўчанні['firezone']['nginx']['user']

Карыстальнік firezone nginx.

вузел['firezone']['user']

па змаўчанні['firezone']['nginx']['group']

Група nginx firezone.

вузел['firezone']['group']

па змаўчанні['firezone']['nginx']['dir']

Каталог канфігурацыі nginx верхняга ўзроўню.

вузел['firezone']['nginx']['каталог']

па змаўчанні['firezone']['nginx']['log_dir']

Каталог часопісаў nginx верхняга ўзроўню.

вузел['firezone']['nginx']['log_directory']

па змаўчанні['firezone']['nginx']['pid']

Размяшчэнне файла pid nginx.

“#{вузел['firezone']['nginx']['каталог']}/nginx.pid”

па змаўчанні['firezone']['nginx']['daemon_disable']

Адключыце рэжым дэмана nginx, каб мы маглі сачыць за ім.

TRUE,

па змаўчанні ['firezone']['nginx']['gzip']

Уключэнне або выключэнне сціску nginx gzip.

на'

па змаўчанні['firezone']['nginx']['gzip_static']

Уключыце або выключыце сцісканне nginx gzip для статычных файлаў.

выключаны

па змаўчанні['firezone']['nginx']['gzip_http_version']

Версія HTTP для абслугоўвання статычных файлаў.

1.0 '

па змаўчанні['firezone']['nginx']['gzip_comp_level']

Узровень сціску nginx gzip.

2 '

па змаўчанні['firezone']['nginx']['gzip_proxied']

Уключае або выключае gzipping адказаў для проксі-запытаў у залежнасці ад запыту і адказу.

любы'

па змаўчанні['firezone']['nginx']['gzip_vary']

Уключае або выключае ўстаўку загалоўка адказу «Vary: Accept-Encoding».

выключаны

па змаўчанні['firezone']['nginx']['gzip_buffers']

Задае колькасць і памер буфераў, якія выкарыстоўваюцца для сціску адказу. Калі нуль, выкарыстоўваецца nginx па змаўчанні.

нуль

па змаўчанні['firezone']['nginx']['gzip_types']

Тыпы MIME для ўключэння сціску gzip.

['text/plain', 'text/css','application/x-javascript', 'text/xml', 'application/xml', 'application/rss+xml', 'application/atom+xml', ' тэкст/javascript', 'прыкладанне/javascript', 'прыкладанне/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.

node['cpu'] && node['cpu']['total'] ? node['cpu']['total'] : 1

па змаўчанні['firezone']['nginx']['worker_connections']

Максімальная колькасць адначасовых злучэнняў, якія можа адкрыць працоўны працэс.

1024

па змаўчанні['firezone']['nginx']['worker_rlimit_nofile']

Змяняе ліміт на максімальную колькасць адкрытых файлаў для працоўных працэсаў. Выкарыстоўвае nginx па змаўчанні, калі нуль.

нуль

па змаўчанні['firezone']['nginx']['multi_accept']

Ці павінны работнікі прымаць адно злучэнне за раз або некалькі.

TRUE,

па змаўчанні['firezone']['nginx']['event']

Вызначае метад апрацоўкі злучэння для выкарыстання ў кантэксце падзей nginx.

epoll'

па змаўчанні['firezone']['nginx']['server_tokens']

Уключае або адключае выдачу версіі nginx на старонках памылак і ў полі загалоўка адказу «Сервер».

нуль

па змаўчанні['firezone']['nginx']['server_names_hash_bucket_size']

Задае памер сегмента для хэш-табліц імёнаў сервера.

64

па змаўчанні['firezone']['nginx']['sendfile']

Уключае або адключае выкарыстанне sendfile() nginx.

на'

па змаўчанні['firezone']['nginx']['access_log_options']

Задае параметры журнала доступу nginx.

нуль

па змаўчанні['firezone']['nginx']['error_log_options']

Задае параметры журнала памылак nginx.

нуль

па змаўчанні['firezone']['nginx']['disable_access_log']

Адключае журнал доступу nginx.

ХЛУСНЯ

па змаўчанні['firezone']['nginx']['types_hash_max_size']

Максімальны памер хэша тыпаў nginx.

2048

па змаўчанні['firezone']['nginx']['types_hash_bucket_size']

nginx тыпы памер хэша.

64

па змаўчанні['firezone']['nginx']['proxy_read_timeout']

Тайм-аўт чытання проксі nginx. Усталюйце нуль, каб выкарыстоўваць nginx па змаўчанні.

нуль

па змаўчанні['firezone']['nginx']['client_body_buffer_size']

памер буфера цела кліента nginx. Усталюйце нуль, каб выкарыстоўваць nginx па змаўчанні.

нуль

па змаўчанні['firezone']['nginx']['client_max_body_size']

Максімальны памер цела кліента nginx.

250 м'

па змаўчанні['firezone']['nginx']['па змаўчанні']['модулі']

Укажыце дадатковыя модулі nginx.

[]

па змаўчанні['firezone']['nginx']['enable_rate_limiting']

Уключыць або адключыць абмежаванне хуткасці nginx.

TRUE,

па змаўчанні['firezone']['nginx']['rate_limiting_zone_name']

Назва зоны абмежавання хуткасці Nginx.

Firezone'

па змаўчанні['firezone']['nginx']['rate_limiting_backoff']

Абмежаванне хуткасці Nginx.

10 м'

па змаўчанні['firezone']['nginx']['rate_limit']

Ліміт хуткасці Nginx.

10р/с'

па змаўчанні['firezone']['nginx']['ipv6']

Дазволіць nginx праслухоўваць запыты HTTP для IPv6 у дадатак да IPv4.

TRUE,

па змаўчанні['firezone']['postgresql']['уключана']

Уключыце або адключыце пакет Postgresql. Усталюйце значэнне false і запоўніце параметры базы дадзеных ніжэй, каб выкарыстоўваць свой уласны асобнік Postgresql.

TRUE,

па змаўчанні['firezone']['postgresql']['імя карыстальніка']

Імя карыстальніка для Postgresql.

вузел['firezone']['user']

па змаўчанні['firezone']['postgresql']['каталог_даных']

Каталог дадзеных Postgresql.

“#{node['firezone']['var_directory']}/postgresql/13.3/data”

па змаўчанні['firezone']['postgresql']['log_directory']

Каталог часопісаў Postgresql.

“#{node['firezone']['log_directory']}/postgresql”

па змаўчанні['firezone']['postgresql']['log_rotation']['file_maxbytes']

Максімальны памер файла журнала Postgresql перад паваротам.

104857600

па змаўчанні['firezone']['postgresql']['log_rotation']['num_to_keep']

Колькасць файлаў журналаў Postgresql, якія трэба захаваць.

10

па змаўчанні['firezone']['postgresql']['checkpoint_completion_target']

Мэта завяршэння кантрольнай кропкі Postgresql.

0.5

па змаўчанні['firezone']['postgresql']['checkpoint_segments']

Колькасць сегментаў кантрольнай кропкі Postgresql.

3

па змаўчанні['firezone']['postgresql']['checkpoint_timeout']

Тайм-аўт кантрольнай кропкі Postgresql.

5 хвілін

па змаўчанні['firezone']['postgresql']['checkpoint_warning']

Час папярэджання пра кантрольную кропку Postgresql у секундах.

30-я гады

па змаўчанні['firezone']['postgresql']['effective_cache_size']

Эфектыўны памер кэша Postgresql.

128 МБ'

па змаўчанні['firezone']['postgresql']['listen_address']

Адрас праслухоўвання Postgresql.

127.0.0.1 '

па змаўчанні['firezone']['postgresql']['max_connections']

Postgresql максімум злучэнняў.

350

па змаўчанні['firezone']['postgresql']['md5_auth_cidr_addresses']

Postgresql CIDR, каб дазволіць аўтэнтыфікацыю md5.

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

па змаўчанні['firezone']['postgresql']['port']

Порт праслухоўвання Postgresql.

15432

па змаўчанні['firezone']['postgresql']['shared_buffers']

Памер агульных буфераў Postgresql.

“#{(node['memory']['total'].to_i / 4) / 1024}MB”

па змаўчанні['firezone']['postgresql']['shmmax']

Postgresql shmmax у байтах.

17179869184

па змаўчанні ['firezone']['postgresql']['shmall']

Postgresql shmall у байтах.

4194304

па змаўчанні['firezone']['postgresql']['work_mem']

Памер працоўнай памяці Postgresql.

8 МБ'

па змаўчанні['firezone']['база даных']['карыстальнік']

Вызначае імя карыстальніка, якое Firezone будзе выкарыстоўваць для падлучэння да БД.

вузел['firezone']['postgresql']['імя карыстальніка']

па змаўчанні['firezone']['база даных']['пароль']

Пры выкарыстанні знешняй БД вызначае пароль, які Firezone будзе выкарыстоўваць для падлучэння да БД.

змяні мяне'

па змаўчанні['firezone']['база даных']['імя']

База даных, якую будзе выкарыстоўваць Firezone. Будзе створаны, калі яго не існуе.

Firezone'

па змаўчанні['firezone']['database']['host']

Хост базы даных, да якога будзе падключацца Firezone.

вузел['firezone']['postgresql']['listen_address']

па змаўчанні['firezone']['база даных']['порт']

Порт базы даных, да якога будзе падключацца Firezone.

вузел['firezone']['postgresql']['порт']

па змаўчанні['firezone']['база даных']['пул']

Памер пула базы даных будзе выкарыстоўваць Firezone.

[10, Etc.nprocessors].макс

па змаўчанні ['firezone']['база даных']['ssl']

Ці падключацца да базы дадзеных праз SSL.

ХЛУСНЯ

па змаўчанні ['firezone']['база даных']['ssl_opts']

Хэш параметраў для адпраўкі ў опцыю :ssl_opts пры падключэнні праз SSL. Глядзіце Дакументацыя Ecto.Adapters.Postgres.

{}

па змаўчанні['firezone']['база даных']['параметры']

Хэш параметраў для адпраўкі ў параметр :parameters пры падключэнні да базы дадзеных. Глядзіце Дакументацыя Ecto.Adapters.Postgres.

{}

па змаўчанні['firezone']['база даных']['пашырэнні']

Пашырэнні базы даных для ўключэння.

{ 'plpgsql' => праўда, 'pg_trgm' => праўда }

па змаўчанні['firezone']['phoenix']['enabled']

Уключыце або адключыце вэб-прыкладанне Firezone.

TRUE,

па змаўчанні['firezone']['phoenix']['listen_address']

Адрас праслухоўвання вэб-праграмы Firezone. Гэта будзе адрас праслухоўвання ўверх, які nginx праксіруе.

127.0.0.1 '

па змаўчанні['firezone']['phoenix']['port']

Порт праслухоўвання вэб-праграмы Firezone. Гэта будзе выхадны порт, які Nginx праксіруе.

13000

па змаўчанні['firezone']['phoenix']['log_directory']

Каталог часопісаў вэб-праграм Firezone.

“#{вузел['firezone']['log_directory']}/фенікс”

па змаўчанні['firezone']['phoenix']['log_rotation']['file_maxbytes']

Памер файла журнала вэб-прыкладання Firezone.

104857600

па змаўчанні['firezone']['phoenix']['log_rotation']['num_to_keep']

Колькасць файлаў часопісаў вэб-праграм Firezone, якія трэба захоўваць.

10

па змаўчанні['firezone']['phoenix']['crash_detection']['enabled']

Уключыць або адключыць адключэнне вэб-праграмы Firezone пры выяўленні збою.

TRUE,

па змаўчанні['firezone']['phoenix']['external_trusted_proxies']

Спіс давераных зваротных проксі, адфарматаваны ў выглядзе масіва IP-адрасоў і/або CIDR.

[]

па змаўчанні['firezone']['phoenix']['private_clients']

Спіс HTTP-кліентаў прыватнай сеткі, адфарматаваны ў выглядзе масіва IP-адрасоў і/або CIDR.

[]

па змаўчанні['firezone']['wireguard']['enabled']

Уключыце або адключыце камплектнае кіраванне WireGuard.

TRUE,

па змаўчанні['firezone']['wireguard']['log_directory']

Каталог часопісаў для камплектнага кіравання WireGuard.

“#{node['firezone']['log_directory']}/wireguard”

па змаўчанні['firezone']['wireguard']['log_rotation']['file_maxbytes']

Максімальны памер файла часопіса WireGuard.

104857600

па змаўчанні['firezone']['wireguard']['log_rotation']['num_to_keep']

Колькасць файлаў часопісаў WireGuard, якія трэба захоўваць.

10

па змаўчанні['firezone']['wireguard']['interface_name']

Назва інтэрфейсу WireGuard. Змена гэтага параметра можа прывесці да часовай страты злучэння VPN.

wg-firezone'

па змаўчанні['firezone']['wireguard']['port']

Порт праслухоўвання WireGuard.

51820

па змаўчанні['firezone']['wireguard']['mtu']

MTU інтэрфейсу WireGuard для гэтага сервера і для канфігурацый прылад.

1280

па змаўчанні['firezone']['wireguard']['endpoint']

Канчатковая кропка WireGuard для стварэння канфігурацый прылады. Калі нуль, па змаўчанні выкарыстоўваецца публічны IP-адрас сервера.

нуль

па змаўчанні['firezone']['wireguard']['dns']

WireGuard DNS для выкарыстання згенераваных канфігурацый прылад.

1.1.1.1, 1.0.0.1 футаў

па змаўчанні['firezone']['wireguard']['allowed_ips']

WireGuard AllowedIPs выкарыстоўваць для згенераваных канфігурацый прылад.

0.0.0.0/0, ::/0′

па змаўчанні['firezone']['wireguard']['persistent_keepalive']

Налада PersistentKeepalive па змаўчанні для згенераваных канфігурацый прылад. Значэнне 0 адключае.

0

па змаўчанні['firezone']['wireguard']['ipv4']['enabled']

Уключыце або выключыце IPv4 для сеткі WireGuard.

TRUE,

па змаўчанні['firezone']['wireguard']['ipv4']['masquerade']

Уключыць або адключыць маскарад для пакетаў, якія пакідаюць тунэль IPv4.

TRUE,

па змаўчанні['firezone']['wireguard']['ipv4']['сетка']

Пул сеткавых адрасоў WireGuard IPv4.

10.3.2.0/24 ′

па змаўчанні['firezone']['wireguard']['ipv4']['address']

Адрас IPv4 інтэрфейсу WireGuard. Павінен знаходзіцца ў пуле адрасоў WireGuard.

10.3.2.1 '

па змаўчанні['firezone']['wireguard']['ipv6']['enabled']

Уключыце або выключыце IPv6 для сеткі WireGuard.

TRUE,

па змаўчанні['firezone']['wireguard']['ipv6']['masquerade']

Уключыць або адключыць маскарад для пакетаў, якія пакідаюць тунэль IPv6.

TRUE,

па змаўчанні['firezone']['wireguard']['ipv6']['сетка']

Пул сеткавых адрасоў WireGuard IPv6.

fd00::3:2:0/120′

па змаўчанні['firezone']['wireguard']['ipv6']['address']

Адрас 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']['enabled']

Уключыце ACME для аўтаматычнай падрыхтоўкі сертыфіката SSL. Адключыце гэта, каб Nginx не праслухоўваў порт 80. Гл тут для атрымання дадатковых інструкцый.

ХЛУСНЯ

па змаўчанні['firezone']['ssl']['acme']['server']

Сервер ACME для выдачы/абнаўлення сертыфіката. Можа быць любым сапраўдны сервер acme.sh

letsencrypt

па змаўчанні['firezone']['ssl']['acme']['keylength']

Укажыце тып і даўжыню ключа для сертыфікатаў SSL. Глядзіце тут

эк-256

па змаўчанні['firezone']['ssl']['сертыфікат']

Шлях да файла сертыфіката для вашага FQDN. Перавызначае наладу ACME вышэй, калі яна вызначана. Калі і ACME, і гэта роўныя нулю, будзе створаны самазавераны сертыфікат.

нуль

па змаўчанні['firezone']['ssl']['certificate_key']

Шлях да файла сертыфіката.

нуль

па змаўчанні['firezone']['ssl']['ssl_dhparam']

nginx ssl dh_param.

нуль

па змаўчанні['firezone']['ssl']['назва_краіны']

Назва краіны для самазаверанага сертыфіката.

ЗША'

па змаўчанні['firezone']['ssl']['state_name']

Назва штата для самазаверанага сертыфіката.

CA '

па змаўчанні['firezone']['ssl']['назва_населенага пункта']

Назва населенага пункта для самазаверанага сертыфіката.

Сан-Францыска

па змаўчанні['firezone']['ssl']['назва_кампаніі']

Самазавераны сертыфікат назвы кампаніі.

мая кампанія

па змаўчанні['firezone']['ssl']['імя_арганізацыйнага_падраздзялення']

Назва арганізацыйнага падраздзялення для самазаверанага сертыфіката.

аперацыі'

па змаўчанні['firezone']['ssl']['ciphers']

Шыфры SSL для выкарыстання ў nginx.

ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA’

па змаўчанні['firezone']['ssl']['fips_ciphers']

Шыфры SSL для рэжыму FIP.

FIPS@STRENGTH:!aNULL:!eNULL'

па змаўчанні['firezone']['ssl']['пратаколы']

Пратаколы TLS для выкарыстання.

TLSv1 TLSv1.1 TLSv1.2′

па змаўчанні['firezone']['ssl']['session_cache']

Кэш сесіі SSL.

абагулены:SSL:4m'

па змаўчанні['firezone']['ssl']['session_timeout']

Тайм-аўт сеанса SSL.

5 м'

па змаўчанні['firezone']['robots_allow']

Робаты nginx дазваляюць.

/ '

па змаўчанні['firezone']['robots_disallow']

Робаты nginx забараніць.

нуль

па змаўчанні['firezone']['outbound_email']['from']

Выходная электронная пошта з адраса.

нуль

па змаўчанні['firezone']['outbound_email']['provider']

Пастаўшчык паслуг выходнай электроннай пошты.

нуль

па змаўчанні['firezone']['outbound_email']['configs']

Канфігурацыі правайдэра выходнай электроннай пошты.

гл. omnibus/cookbooks/firezone/attributes/default.rb

па змаўчанні['firezone']['тэлеметрыя']['ўключана']

Уключыце або выключыце ананімную тэлеметрыю прадукту.

TRUE,

па змаўчанні['firezone']['connectivity_checks']['enabled']

Уключыце або адключыце службу праверкі падключэння Firezone.

TRUE,

па змаўчанні['firezone']['connectivity_checks']['interval']

Інтэрвал паміж праверкамі падключэння ў секундах.

3_600



________________________________________________________________

 

Размяшчэнне файлаў і каталогаў

 

Тут вы знойдзеце спіс файлаў і каталогаў, звязаных з звычайнай устаноўкай Firezone. Яны могуць змяняцца ў залежнасці ад змяненняў у файле канфігурацыі.



шлях

апісанне

/var/opt/firezone

Каталог верхняга ўзроўню, які змяшчае даныя і згенераваную канфігурацыю для пакетных службаў Firezone.

/opt/firezone

Каталог верхняга ўзроўню, які змяшчае ўбудаваныя бібліятэкі, двайковыя файлы і файлы часу выканання, неабходныя Firezone.

/usr/bin/firezone-ctl

Утыліта firezone-ctl для кіравання ўсталяваннем Firezone.

/etc/systemd/system/firezone-runsvdir-start.service

файл блока systemd для запуску працэсу супервізора runsvdir Firezone.

/etc/firezone

Файлы канфігурацыі firezone.



__________________________________________________________

 

Шаблоны брандмаўэра

 

Гэта старонка была пустая ў дакументах

 

_____________________________________________________________

 

Шаблон брандмаўэра Nftables

 

Наступны шаблон брандмаўэра nftables можна выкарыстоўваць для абароны сервера, на якім працуе Firezone. Шаблон робіць некаторыя здагадкі; вам можа спатрэбіцца наладзіць правілы ў адпаведнасці з вашым варыянтам выкарыстання:

  • Інтэрфейс WireGuard называецца wg-firezone. Калі гэта няправільна, змяніце зменную DEV_WIREGUARD, каб яна адпавядала параметру канфігурацыі ['firezone']['wireguard']['interface_name'] па змаўчанні.
  • Порт, які праслухоўвае WireGuard, - 51820. Калі вы не выкарыстоўваеце порт па змаўчанні, змяніце зменную WIREGUARD_PORT.
  • На сервер будзе дазволены толькі наступны ўваходны трафік:
    • SSH (порт TCP 22)
    • HTTP (порт TCP 80)
    • HTTPS (порт TCP 443)
    • WireGuard (порт UDP WIREGUARD_PORT)
    • Трасіроўка UDP (порт UDP 33434-33524, хуткасць абмежавана 500/секунду)
    • ICMP і ICMPv6 (частата адказаў ping/ping абмежавана 2000/с)
  • З сервера будзе дазволены толькі наступны выходны трафік:
    • DNS (UDP і TCP порт 53)
    • HTTP (порт TCP 80)
    • NTP (порт UDP 123)
    • HTTPS (порт TCP 443)
    • Адпраўка SMTP (порт TCP 587)
    • Трасіроўка UDP (порт UDP 33434-33524, хуткасць абмежавана 500/секунду)
  • Неадпаведны трафік будзе рэгістравацца. Правілы, якія выкарыстоўваюцца для вядзення часопіса, аддзяляюцца ад правілаў паніжэння трафіку і маюць абмежаванне па хуткасці. Выдаленне адпаведных правілаў запісу не паўплывае на трафік.

Кіраваныя правілы Firezone

Firezone наладжвае ўласныя правілы nftables, каб дазваляць/адхіляць трафік да месцаў прызначэння, наладжаных у вэб-інтэрфейсе, і апрацоўваць выходны NAT для кліенцкага трафіку.

Прымяненне прыведзенага ніжэй шаблону брандмаўэра на ўжо запушчаным серверы (не падчас загрузкі) прывядзе да выдалення правілаў Firezone. Гэта можа мець наступствы для бяспекі.

Каб абыйсці гэта, перазапусціце службу Phoenix:

firezone-ctl перазапусціць phoenix

Базавы шаблон брандмаўэра

#!/usr/sbin/nft -f

 

## Ачысціць/ачысціць усе існуючыя правілы

набор правілаў прамывання

 

################################# ЗМЕННЫЯ ################## ################

## Імя інтэрфейсу Інтэрнэт/WAN

вызначыць DEV_WAN = eth0

 

## Назва інтэрфейсу WireGuard

вызначыць DEV_WIREGUARD = wg-firezone

 

## Порт праслухоўвання WireGuard

вызначыць WIREGUARD_PORT = 51820

############################### КАНЕЦ ЗМЕННЫХ ################### ############

 

# Галоўная табліца фільтрацыі сем'яў inet

табліца inet фільтр {

 

 # Правілы пераадрасаванага трафіку

 # Гэты ланцужок апрацоўваецца перад прамым ланцужком Firezone

 ланцуг наперад {

   тып фільтра кручок наперад прыярытэтны фільтр – 5; палітыка прыняць

 }

 

 # Правілы ўваходнага трафіку

 ланцужок уводу {

   тып фільтра крук ўваходны фільтр прыярытэту; падзенне палітыкі

 

   ## Дазволіць уваходны трафік на інтэрфейс замыкання

   iif lo \

     прыняць \

     каментаваць «Дазволіць увесь трафік з інтэрфейсу зваротнай замыкання»

 

   ## Дазволіць устаноўленыя і звязаныя злучэнні

   стан усталяваны,звязаны \

     прыняць \

     каментаваць «Дазволіць устаноўленыя/звязаныя сувязі»

 

   ## Дазволіць уваходны трафік WireGuard

   iif $DEV_WAN udp dport $WIREGUARD_PORT \

     лічыльнік \

     прыняць \

     каментаваць «Дазволіць уваходны трафік WireGuard»

 

   ## Рэгіструйце і выдаляйце новыя TCP-пакеты, не звязаныя з SYN

   tcp flags != syn ct стан новы \

     лімітавая стаўка 100/хвілінны выбух 150 пакеты \

     прыстаўка часопіса «IN – Новы !SYN:» \

     каментаваць «Запіс абмежавання хуткасці для новых злучэнняў, якія не маюць усталяваны сцяг SYN TCP»

   tcp flags != syn ct стан новы \

     лічыльнік \

     падзенне \

     каментаваць «Адкіньце новыя злучэнні, для якіх не ўстаноўлены сцяг SYN TCP»

 

   ## Рэгіструйце і выдаляйце TCP-пакеты з усталяваным няправільным сцягам fin/syn

   сцягі tcp & (fin|syn) == (fin|syn) \

     лімітавая стаўка 100/хвілінны выбух 150 пакеты \

     прыстаўка часопіса «IN – TCP FIN|SIN:» \

     каментаваць «Запіс абмежавання хуткасці для TCP-пакетаў з усталяваным няправільным сцягам fin/syn»

   сцягі tcp & (fin|syn) == (fin|syn) \

     лічыльнік \

     падзенне \

     каментаваць «Выдаліць TCP-пакеты з усталяваным няправільным сцягам fin/syn»

 

   ## Рэгіструйце і выдаляйце TCP-пакеты з усталяваным няправільным сцягам syn/rst

   сцягі tcp & (syn|rst) == (syn|rst) \

     лімітавая стаўка 100/хвілінны выбух 150 пакеты \

     прыстаўка часопіса «IN – TCP SYN|RST:» \

     каментаваць «Ліміт ліміту хуткасці для TCP-пакетаў з няправільным усталяваным сцягам syn/rst»

   сцягі tcp & (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 \

     лічыльнік \

     падзенне \

     каментаваць «Скідаць трафік з няправільным станам злучэння»

 

   ## Дазволіць адказы ping/ping IPv4, але абмежаваць хуткасць да 2000 PPS

   ip пратакол icmp тып icmp { рэха-адказ, рэха-запыт } \

     лімітавая стаўка 2000/другое \

     лічыльнік \

     прыняць \

     каментаваць «Дазволіць уваходнае рэха IPv4 (ping) абмежавана 2000 PPS»

 

   ## Дазволіць усе іншыя ўваходныя IPv4 ICMP

   ip пратакол icmp \

     лічыльнік \

     прыняць \

     каментаваць «Дазволіць усе іншыя ICMP IPv4»

 

   ## Дазволіць адказы ping/ping IPv6, але абмежаваць хуткасць да 2000 PPS

   тып icmpv6 { рэха-адказ, рэха-запыт } \

     лімітавая стаўка 2000/другое \

     лічыльнік \

     прыняць \

     каментаваць «Дазволіць уваходнае рэха IPv6 (ping) абмежавана 2000 PPS»

 

   ## Дазволіць усе іншыя ўваходныя IPv6 ICMP

   мета l4proto { icmpv6 } \

     лічыльнік \

     прыняць \

     каментаваць «Дазволіць усе іншыя ICMP IPv6»

 

   ## Дазволіць ўваходныя UDP-парты traceroute, але абмежаваць 500 PPS

   udp dport 33434-33524 \

     лімітавая стаўка 500/другое \

     лічыльнік \

     прыняць \

     каментаваць «Дазволіць уваходную трасіроўку UDP з абмежаваннем 500 PPS»

 

   ## Дазволіць уваходны SSH

   dport TCP SSH ct стан новы \

     лічыльнік \

     прыняць \

     каментаваць «Дазволіць ўваходныя злучэнні SSH»

 

   ## Дазволіць уваходны HTTP і HTTPS

   tcp dport {http, https} ct стан новы \

     лічыльнік \

     прыняць \

     каментаваць «Дазволіць ўваходныя злучэнні HTTP і HTTPS»

 

   ## Рэгіструйце любы непараўнальны трафік, але абмяжоўвайце запіс да 60 паведамленняў у хвіліну

   ## Палітыка па змаўчанні будзе прымяняцца да непараўнальнага трафіку

   лімітавая стаўка 60/хвілінны выбух 100 пакеты \

     прыстаўка часопіса «IN – падзенне:» \

     каментаваць «Запісвайце любы неадпаведны трафік»

 

   ## Падлічыце непараўнальны трафік

   лічыльнік \

     каментаваць «Падлічыце любы непараўнальны трафік»

 }

 

 # Правілы выхаднога трафіку

 выхад ланцужка {

   тып фільтра крук фільтр выхаднога прыярытэту; падзенне палітыкі

 

   ## Дазволіць выходны трафік на інтэрфейс замыкання

   ой, вось \

     прыняць \

     каментаваць «Дазволіць увесь трафік на інтэрфейс замыкання»

 

   ## Дазволіць устаноўленыя і звязаныя злучэнні

   стан усталяваны,звязаны \

     лічыльнік \

     прыняць \

     каментаваць «Дазволіць устаноўленыя/звязаныя сувязі»

 

   ## Дазволіць выходны трафік WireGuard перад разрывам злучэнняў з дрэнным станам

   ойф $DEV_WAN udp спорт $WIREGUARD_PORT \

     лічыльнік \

     прыняць \

     каментаваць «Дазволіць выходны трафік WireGuard»

 

   ## Падзенне трафіку з няправільным станам злучэння

   несапраўдны стан ct \

     лімітавая стаўка 100/хвілінны выбух 150 пакеты \

     часопіс пазначае ўсе прэфіксы «ВЫХОД — несапраўдны:» \

     каментаваць «Запіс ліміту хуткасці для трафіку з няправільным станам злучэння»

   несапраўдны стан ct \

     лічыльнік \

     падзенне \

     каментаваць «Скідаць трафік з няправільным станам злучэння»

 

   ## Дазволіць усе іншыя выходныя IPv4 ICMP

   ip пратакол icmp \

     лічыльнік \

     прыняць \

     каментаваць «Дазволіць усе тыпы IPv4 ICMP»

 

   ## Дазволіць усе іншыя выходныя IPv6 ICMP

   мета l4proto { icmpv6 } \

     лічыльнік \

     прыняць \

     каментаваць «Дазволіць усе тыпы IPv6 ICMP»

 

   ## Дазволіць выхадныя UDP-парты traceroute, але абмежаваць 500 PPS

   udp dport 33434-33524 \

     лімітавая стаўка 500/другое \

     лічыльнік \

     прыняць \

     каментаваць «Дазволіць выходную трасіроўку UDP з абмежаваннем 500 PPS»

 

   ## Дазволіць выходныя злучэнні HTTP і HTTPS

   tcp dport {http, https} ct стан новы \

     лічыльнік \

     прыняць \

     каментаваць «Дазволіць выходныя злучэнні HTTP і HTTPS»

 

   ## Дазволіць выходную адпраўку SMTP

   tcp dport прадстаўленне ct стан новы \

     лічыльнік \

     прыняць \

     каментаваць «Дазволіць адпраўку выходнага SMTP»

 

   ## Дазволіць выходныя запыты DNS

   udp dport 53 \

     лічыльнік \

     прыняць \

     каментаваць «Дазволіць выходныя запыты UDP DNS»

   dport TCP 53 \

     лічыльнік \

     прыняць \

     каментаваць «Дазволіць выходныя запыты TCP DNS»

 

   ## Дазволіць выходныя запыты NTP

   udp dport 123 \

     лічыльнік \

     прыняць \

     каментаваць «Дазволіць выходныя запыты NTP»

 

   ## Рэгіструйце любы непараўнальны трафік, але абмяжоўвайце запіс да 60 паведамленняў у хвіліну

   ## Палітыка па змаўчанні будзе прымяняцца да непараўнальнага трафіку

   лімітавая стаўка 60/хвілінны выбух 100 пакеты \

     прыстаўка часопіса "ВЫХОД - Адкіньце:" \

     каментаваць «Запісвайце любы неадпаведны трафік»

 

   ## Падлічыце непараўнальны трафік

   лічыльнік \

     каментаваць «Падлічыце любы непараўнальны трафік»

 }

 

}

 

# Асноўная табліца фільтрацыі NAT

табліца inet nat {

 

 # Правілы для папярэдняй маршрутызацыі трафіку NAT

 папярэдняя маршрутызацыя ланцуга {

   тып nat хук prerouting прыярытэт dstnat; палітыка прыняць

 }

 

 # Правілы для пост-маршрутызацыі трафіку NAT

 # Гэтая табліца апрацоўваецца перад ланцужком пост-маршрутызацыі Firezone

 ланцуговая пастройка {

   тып nat хук postrouting прыярытэт srcnat – 5; палітыка прыняць

 }

 

}

Выкарыстанне

Брандмаўэр павінен захоўвацца ў адпаведным месцы для запушчанага дыстрыбутыва Linux. Для Debian/Ubuntu гэта /etc/nftables.conf, а для RHEL гэта /etc/sysconfig/nftables.conf.

nftables.service трэба будзе наладзіць для запуску пры загрузцы (калі яшчэ не) усталяваць:

systemctl уключыць nftables.service

Пры ўнясенні змяненняў у шаблон брандмаўэра сінтаксіс можна праверыць, выканаўшы каманду праверкі:

nft -f /шлях/да/nftables.conf -c

Пераканайцеся, што брандмаўэр працуе належным чынам, бо некаторыя функцыі nftables могуць быць недаступныя ў залежнасці ад версіі, запушчанай на серверы.



_______________________________________________________________



Тэлеметрыя

 

У гэтым дакуменце прадстаўлены агляд тэлеметрыі, якую Firezone збірае з вашага асобніка, які размяшчаецца самастойна, і спосабы яе адключэння.

Чаму Firezone збірае тэлеметрыю

Пажарная зона абапіраецца па тэлеметрыі, каб расставіць прыярытэты ў нашай дарожнай карце і аптымізаваць інжынерныя рэсурсы, якія ў нас ёсць, каб зрабіць Firezone лепшым для ўсіх.

Тэлеметрыя, якую мы збіраем, мае на мэце адказаць на наступныя пытанні:

  • Колькі людзей усталёўваюць, выкарыстоўваюць і спыняюць выкарыстанне Firezone?
  • Якія асаблівасці найбольш каштоўныя, а якія бескарысныя?
  • Якая функцыя патрабуе большага паляпшэння?
  • Калі нешта ламаецца, чаму яно зламалася і як мы можам прадухіліць гэта ў будучыні?

Як мы збіраем тэлеметрыю

У Firezone ёсць тры асноўныя месцы збору тэлеметрыі:

  1. Пакетная тэлеметрыя. Уключае такія падзеі, як усталяванне, выдаленне і абнаўленне.
  2. Тэлеметрыя CLI з каманд firezone-ctl.
  3. Тэлеметрыя прадукту, звязаная з вэб-парталам.

У кожным з гэтых трох кантэкстаў мы збіраем мінімальную колькасць даных, неабходных для адказу на пытанні ў раздзеле вышэй.

Электронныя лісты адміністратараў збіраюцца толькі ў тым выпадку, калі вы відавочна пагадзіліся на абнаўленні прадуктаў. У адваротным выпадку інфармацыя, якая дазваляе ідэнтыфікаваць асобу ніколі сабраны.

Firezone захоўвае тэлеметрыю ва ўласным асобніку PostHog, які працуе ў прыватным кластары Kubernetes, даступны толькі камандзе Firezone. Вось прыклад падзеі тэлеметрыі, якая адпраўляецца з вашага асобніка Firezone на наш сервер тэлеметрыі:

{

   «ідэнтыфікатар»: “0182272d-0b88-0000-d419-7b9a413713f1”,

   «метка часу»: “2022-07-22T18:30:39.748000+00:00”,

   «падзея»: «fz_http_пачаты»,

   «адрозны_ідэнтыфікатар»: “1ec2e794-1c3e-43fc-a78f-1db6d1a37f54”,

   «ўласцівасці»:{

       «$geoip_city_name»: «Эшберн»,

       «$geoip_continent_code»: «Не»,

       «$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»: «ВА»,

       «$geoip_subdivision_1_name»: «Вірджынія»,

       «$geoip_time_zone»: “Амэрыка/Нью_Ёрк”,

       «$IP»: "52.200.241.107",

       «$plugins_deferred»: []

       «$plugins_failed»: []

       «$plugins_succeeded»: [

           «GeoIP (3)»

       ],

       «адрозны_ідэнтыфікатар»: “1zc2e794-1c3e-43fc-a78f-1db6d1a37f54”,

       «fqdn»: «awsdemo.firezone.dev»,

       «версія_ядра»: «Linux 5.13.0»,

       «версія»: "0.4.6"

   },

   «ланцужок_элементаў»: ""

}

Як адключыць тэлеметрыю

НАТАТКА

Каманда распрацоўшчыкаў Firezone абапіраецца па аналітыцы прадуктаў, каб зрабіць Firezone лепшым для ўсіх. Пакінуць тэлеметрыю ўключанай - гэта самы каштоўны ўклад, які вы можаце зрабіць у развіццё Firezone. Тым не менш, мы разумеем, што некаторыя карыстальнікі маюць больш высокія патрабаванні да канфідэнцыяльнасці або бяспекі і аддаюць перавагу цалкам адключыць тэлеметрыю. Калі гэта вы, працягвайце чытаць.

Тэлеметрыя ўключана па змаўчанні. Каб цалкам адключыць тэлеметрыю прадукту, усталюйце для наступнай опцыі канфігурацыі значэнне false у /etc/firezone/firezone.rb і запусціце sudo firezone-ctl reconfigure, каб захапіць змены.

па змаўчанні [пажарная зона]["тэлеметрыя"]["уключаны"] = ілжывы

Гэта цалкам адключыць усю тэлеметрыю прадукту.