Hailbytes VPN с документация за защитната стена на Firezone

Съдържание

Първи стъпки

Тук са предоставени инструкции стъпка по стъпка за внедряване на Hailbytes VPN с Firezone GUI. 

Администриране: Настройката на екземпляра на сървъра е пряко свързана с тази част.

Ръководства за потребителя: Полезни документи, които могат да ви научат как да използвате Firezone и да решавате типични проблеми. След като сървърът е успешно внедрен, вижте този раздел.

Ръководства за общи конфигурации

Разделено тунелиране: Използвайте VPN, за да изпращате трафик само към определени IP диапазони.

Бели списъци: Задайте статичен IP адрес на VPN сървър, за да използвате бели списъци.

Обратни тунели: Създавайте тунели между няколко партньора, като използвате обратни тунели.

Получавам подкрепа

Имаме удоволствието да ви помогнем, ако имате нужда от помощ при инсталиране, персонализиране или използване на Hailbytes VPN.

заверка

Преди потребителите да могат да създават или изтеглят конфигурационни файлове на устройството, Firezone може да бъде конфигуриран да изисква удостоверяване. Потребителите също може да се наложи периодично да се удостоверяват повторно, за да запазят своята VPN връзка активна.

Въпреки че методът за влизане по подразбиране на Firezone е локален имейл и парола, той също може да бъде интегриран с всеки стандартизиран доставчик на идентичност OpenID Connect (OIDC). Потребителите вече могат да влизат във Firezone, използвайки своите идентификационни данни за Okta, Google, Azure AD или частен доставчик на самоличност.

 

Интегрирайте генеричен доставчик на OIDC

Конфигурационните параметри, необходими на Firezone за разрешаване на SSO с помощта на OIDC доставчик, са показани в примера по-долу. В /etc/firezone/firezone.rb можете да намерите конфигурационния файл. Стартирайте firezone-ctl reconfigure и firezone-ctl restart, за да актуализирате приложението и промените да влязат в сила.

 

# Това е пример с използване на Google и Okta като SSO доставчик на идентичност.

# Множество OIDC конфигурации могат да бъдат добавени към един и същ пример на Firezone.

 

# Firezone може да деактивира VPN на потребител, ако има открита грешка при опит

# за опресняване на техния access_token. Проверено е, че работи за Google, Okta и

# Azure SSO и се използва за автоматично прекъсване на връзката с VPN на потребителя, ако той бъде премахнат

# от доставчика на OIDC. Оставете това деактивирано, ако вашият OIDC доставчик

# има проблеми с опресняването на токените за достъп, тъй като може неочаквано да прекъсне a

VPN сесия на # потребител.

по подразбиране['firezone']['authentication']['disable_vpn_on_oidc_error'] = false

 

по подразбиране['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: „код“,

    обхват: „отворен имейл профил“,

    етикет: „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: „код“,

    обхват: „openid имейл профил offline_access“,

    етикет: “Окта”

  }

}



За интеграцията са необходими следните настройки на конфигурацията:

  1. discovery_document_uri: The URI за конфигурация на доставчик на OpenID Connect който връща JSON документ, използван за конструиране на последващи заявки към този доставчик на OIDC.
  2. client_id: Клиентският идентификатор на приложението.
  3. client_secret: Клиентската тайна на приложението.
  4. redirect_uri: Инструктира доставчика на OIDC къде да пренасочи след удостоверяване. Това трябва да е вашият Firezone EXTERNAL_URL + /auth/oidc/ /обратно повикване/ (напр. https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Задаване на код.
  6. обхват: OIDC обхвати да получите от вашия доставчик на OIDC. Това трябва да бъде зададено на openid имейл профил или 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
  • Окта
  • Azure Active Directory
  • Onelogin
  • Локално удостоверяване

 

Ако вашият доставчик на самоличност има общ OIDC конектор и не е в списъка по-горе, моля, отидете в неговата документация за информация как да извлечете необходимите настройки за конфигурация.

Поддържайте редовно повторно удостоверяване

Настройката под настройки/защита може да бъде променена, за да изисква периодично повторно удостоверяване. Това може да се използва за налагане на изискването потребителите да влизат редовно във Firezone, за да продължат своята VPN сесия.

Продължителността на сесията може да бъде конфигурирана да бъде между един час и деветдесет дни. Като зададете това на Никога, можете да активирате VPN сесии по всяко време. Това е стандартът.

Повторно удостоверяване

Потребителят трябва да прекрати своята VPN сесия и да влезе в портала на Firezone, за да удостовери отново изтекла VPN сесия (URL адрес, посочен по време на внедряването).

Можете да удостоверите повторно сесията си, като следвате точните инструкции за клиента, намерени тук.

 

Състояние на VPN връзката

Колоната на таблицата VPN връзка на страницата Потребители показва състоянието на връзката на потребителя. Това са състоянията на връзката:

ENABLED – Връзката е разрешена.

ДЕАКТИВАН – Връзката е деактивирана от администратор или грешка при опресняване на OIDC.

ИЗТЕКЛО – Връзката е деактивирана поради изтичане на удостоверяването или потребителят не е влязъл за първи път.

Google

Чрез общия OIDC конектор Firezone позволява Single Sign-On (SSO) с Google Workspace и Cloud Identity. Това ръководство ще ви покаже как да получите конфигурационните параметри, изброени по-долу, които са необходими за интеграцията:

  1. discovery_document_uri: The URI за конфигурация на доставчик на OpenID Connect който връща JSON документ, използван за конструиране на последващи заявки към този доставчик на OIDC.
  2. client_id: Клиентският идентификатор на приложението.
  3. client_secret: Клиентската тайна на приложението.
  4. redirect_uri: Инструктира доставчика на OIDC къде да пренасочи след удостоверяване. Това трябва да е вашият Firezone EXTERNAL_URL + /auth/oidc/ /обратно повикване/ (напр. https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Задаване на код.
  6. обхват: OIDC обхвати да получите от вашия доставчик на OIDC. Това трябва да бъде настроено на openid имейл профил, за да предостави на Firezone имейла на потребителя във върнатите искове.
  7. етикет: Текстът на етикета на бутона, който се показва на екрана ви за вход във Firezone.

Получете настройки за конфигурация

1. Екран за конфигурация на OAuthâ € <

Ако това е първият път, когато създавате нов OAuth клиентски идентификатор, ще бъдете помолени да конфигурирате екран за съгласие.

*Изберете Вътрешен за тип потребител. Това гарантира, че само акаунти, принадлежащи на потребители във вашата организация в Google Workspace, могат да създават конфигурации на устройства. НЕ избирайте External, освен ако не искате да разрешите на всеки с валиден акаунт в 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/) като запис към Authorized redirect URI.

 

След като създадете клиентския идентификатор за OAuth, ще ви бъде даден клиентски идентификатор и клиентска тайна. Те ще бъдат използвани заедно с URI за пренасочване в следващата стъпка.

Интеграция на Firezone

редактирам /etc/firezone/firezone.rb за да включите опциите по-долу:

 

# Използване на Google като доставчик на SSO самоличност

по подразбиране['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: „код“,

    обхват: „отворен имейл профил“,

    етикет: „Google“

  }

}

 

Стартирайте firezone-ctl reconfigure и firezone-ctl рестартирайте, за да актуализирате приложението. Сега трябва да видите бутон Вход с Google в основния URL адрес на Firezone.

Окта

Firezone използва общия OIDC конектор, за да улесни единичното влизане (SSO) с Okta. Този урок ще ви покаже как да получите конфигурационните параметри, изброени по-долу, които са необходими за интеграцията:

  1. discovery_document_uri: The URI за конфигурация на доставчик на OpenID Connect който връща JSON документ, използван за конструиране на последващи заявки към този доставчик на OIDC.
  2. client_id: Клиентският идентификатор на приложението.
  3. client_secret: Клиентската тайна на приложението.
  4. redirect_uri: Инструктира доставчика на OIDC къде да пренасочи след удостоверяване. Това трябва да е вашият Firezone EXTERNAL_URL + /auth/oidc/ /обратно повикване/ (напр. 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 ще бъде /.добре позната/openid-конфигурация добавен в края на вашия okta_domain.

 

# Използване на Okta като SSO доставчик на самоличност

по подразбиране['firezone']['authentication']['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: „код“,

    обхват: „openid имейл профил offline_access“,

    етикет: “Окта”

  }

}

 

Стартирайте firezone-ctl reconfigure и firezone-ctl рестартирайте, за да актуализирате приложението. Сега трябва да видите бутон Вход с Okta в основния URL адрес на Firezone.

 

Ограничете достъпа до определени потребители

Потребителите, които имат достъп до приложението Firezone, могат да бъдат ограничени от Okta. Отидете на страницата Задания на вашата Okta Admin Console на Firezone App Integration, за да постигнете това.

Azure Active Directory

Чрез генеричния OIDC конектор Firezone позволява Single Sign-On (SSO) с Azure Active Directory. Това ръководство ще ви покаже как да получите конфигурационните параметри, изброени по-долу, които са необходими за интеграцията:

  1. discovery_document_uri: The URI за конфигурация на доставчик на OpenID Connect който връща JSON документ, използван за конструиране на последващи заявки към този доставчик на OIDC.
  2. client_id: Клиентският идентификатор на приложението.
  3. client_secret: Клиентската тайна на приложението.
  4. redirect_uri: Инструктира доставчика на OIDC къде да пренасочи след удостоверяване. Това трябва да е вашият Firezone EXTERNAL_URL + /auth/oidc/ /обратно повикване/ (напр. 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 на firezone + /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']['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: „код“,

    обхват: „openid имейл профил offline_access“,

    етикет: "лазур"

  }

}

 

Стартирайте firezone-ctl reconfigure и firezone-ctl рестартирайте, за да актуализирате приложението. Сега трябва да видите бутон Вход с Azure в основния URL адрес на Firezone.

Как да: Ограничете достъпа до определени членове

Azure AD позволява на администраторите да ограничат достъпа до приложението до конкретна група потребители във вашата компания. Повече информация как да направите това можете да намерите в документацията на Microsoft.

Прилагайте

  • Определен
  • Управление на инсталацията
  • Upgrade
  • Отстраняване на неизправности
  • Съображения за сигурност
  • Изпълнение на 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.

  шоу-конфигурация

    Покажете конфигурацията, която ще бъде генерирана от reconfigure.

  teardown-мрежа

    Премахва интерфейса на WireGuard и таблицата nftables на firezone.

  force-cert-renewal

    Принудително подновяване на сертификата сега дори и да не е изтекъл.

  стоп-подновяване на сертификат

    Премахва cronjob, който подновява сертификати.

  деинсталирате

    Убийте всички процеси и деинсталирайте супервайзора на процеси (данните ще бъдат запазени).

  версия

    Показване на текущата версия на Firezone

Команди за управление на услугата:

  грациозно-убивам

    Опитайте за грациозно спиране, след което SIGKILL цялата група процеси.

  хъп

    Изпратете на услугите HUP.

  Int

    Изпратете на услугите INT.

  убие

    Изпратете услугите на УБИЙСТВО.

  веднъж

    Стартирайте услугите, ако не работят. Не ги рестартирайте, ако спрат.

  рестартиране

    Спрете услугите, ако работят, след което ги стартирайте отново.

  сервизен списък

    Избройте всички услуги (активираните услуги се показват с *.)

  Начало

    Стартирайте услугите, ако не работят, и ги рестартирайте, ако спрат.

  статус

    Показване на състоянието на всички услуги.

  Спри се

    Спрете услугите и не ги рестартирайте.

  опашка

    Гледайте регистрационните файлове на всички активирани услуги.

  термин

    Изпратете услугите СРОК.

  usr1

    Изпратете на услугите USR1.

  usr2

    Изпратете на услугите USR2.

Upgrade

Всички 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) заявки са премахнати

Nginx вече не поддържа параметрите за принудителен SSL и не-SSL порт от версия 0.5.0. Тъй като Firezone се нуждае от SSL, за да работи, съветваме ви да премахнете пакетната услуга Nginx, като зададете default['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']['authentication']['google']['client_id']

по подразбиране['firezone']['authentication']['google']['client_secret']

по подразбиране['firezone']['authentication']['google']['redirect_uri']

 

След това конфигурирайте Google като доставчик на OIDC, като следвате процедурите тук.

(Осигурете инструкции за връзка)<<<<<<<<<<<<<<<<

 

Конфигуриране на съществуващ Google OAuth 

Премахнете тези редове, съдържащи старите Okta OAuth конфигурации от вашия конфигурационен файл, намиращ се на /etc/firezone/firezone.rb

 

по подразбиране['firezone']['authentication']['okta']['enabled']

по подразбиране['firezone']['authentication']['okta']['client_id']

по подразбиране['firezone']['authentication']['okta']['client_secret']

По подразбиране['firezone']['authentication']['okta']['site']

 

След това конфигурирайте Okta като доставчик на OIDC, като следвате процедурите тук.

Надстройте от 0.3.x до >= 0.3.16

В зависимост от текущата ви настройка и версия, придържайте се към указанията по-долу:

Ако вече имате OIDC интеграция:

За някои доставчици на OIDC, надграждането до >= 0.3.16 налага получаването на токен за опресняване за обхвата на офлайн достъп. Правейки това, се гарантира, че Firezone се актуализира с доставчика на идентичност и че VPN връзката се изключва след изтриване на потребител. По-ранните итерации на Firezone нямаха тази функция. В някои случаи потребителите, които са изтрити от вашия доставчик на идентичност, може все още да са свързани към VPN.

Необходимо е да включите офлайн достъп в параметъра за обхват на вашата OIDC конфигурация за OIDC доставчици, които поддържат обхвата за офлайн достъп. Firezone-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

Firezone вече не съхранява частни ключове на устройството на сървъра на Firezone от версия 0.3.0. 

Уеб интерфейсът на Firezone няма да ви позволи да изтеглите отново или да видите тези конфигурации, но всички съществуващи устройства трябва да продължат да работят както са.

Надстройте от 0.1.x до 0.2.x

Ако надграждате от Firezone 0.1.x, има няколко промени в конфигурационния файл, които трябва да бъдат адресирани ръчно. 

За да направите необходимите промени във вашия файл /etc/firezone/firezone.rb, изпълнете командите по-долу като root.

 

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

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

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 status verbose

Статус: активен

Регистриране: включено (ниско)

По подразбиране: отказ (входящи), разрешаване (изходящи), разрешаване (маршрутизирани)

Нови профили: пропуснете

 

Към действие от

— —— —-

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

all

Публичен HTTP(S) порт за администриране на Firezone и улесняване на удостоверяването.

Тел предпазител

51820

all

Публичен порт на 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/udp изложени, за да се установят WireGuard тунели.

Изпълнете SQL заявки

Firezone обединява Postgresql сървър и съвпадение psql помощна програма, която може да се използва от локалната обвивка така:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d пожарна зона \

  -h локален хост \

  -p 15432 \

  -c “SQL_STATEMENT”

 

Това може да бъде полезно за целите на отстраняването на грешки.

 

Общи задачи:

 

  • Изброяване на всички потребители
  • Изброяване на всички устройства
  • Промяна на ролята на потребител
  • Архивиране на базата данни



Изброяване на всички потребители:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d пожарна зона \

  -h локален хост \

  -p 15432 \

  -c „ИЗБЕРЕТЕ * ОТ потребители;“



Изброяване на всички устройства:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d пожарна зона \

  -h локален хост \

  -p 15432 \

  -c „ИЗБЕРЕТЕ * ОТ устройства;“



Промяна на потребителска роля:

 

Задайте ролята на „администратор“ или „непривилегирован“:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d пожарна зона \

  -h локален хост \

  -p 15432 \

  -c „АКТУАЛИЗИРАНЕ на потребители SET роля = 'admin' WHERE имейл = 'user@example.com';”



Архивиране на базата данни:

 

Освен това е включена програмата pg dump, която може да се използва за редовно архивиране на базата данни. Изпълнете следния код, за да изхвърлите копие на базата данни в общия формат на SQL заявка (заменете /path/to/backup.sql с местоположението, където трябва да бъде създаден SQL файлът):

 

/opt/firezone/embedded/bin/pg_dump \

  -U firezone \

  -d пожарна зона \

  -h локален хост \

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

Ръководства за потребителя

  • Добавяне на потребители
  • Добавяне на устройства
  • Правила за излизане
  • Инструкции за клиента
  • Разделен тунелен VPN
  • Обратен тунел 
  • NAT шлюз

Добавяне на потребители

След успешното внедряване на Firezone трябва да добавите потребители, за да им предоставите достъп до вашата мрежа. За това се използва уеб интерфейсът.

 

Уеб интерфейс


Като изберете бутона „Добавяне на потребител“ под /users, можете да добавите потребител. Ще трябва да предоставите на потребителя имейл адрес и парола. За да позволи автоматично достъп на потребителите във вашата организация, Firezone може също да взаимодейства и синхронизира с доставчик на идентичност. Повече подробности са налични в Автентичността. < Добавете връзка към Authenticate

Добавяне на устройства

Препоръчваме да поискате потребителите да създават свои собствени конфигурации на устройства, така че частният ключ да е видим само за тях. Потребителите могат да генерират свои собствени конфигурации на устройства, като следват указанията на Инструкции за клиента страница.

 

Генериране на конфигурация на администраторско устройство

Всички конфигурации на потребителски устройства могат да бъдат създадени от администраторите на 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, като го отворите. Като завъртите превключвателя Активиране, можете да стартирате VPN сесия.

 

[Вмъкнете екранна снимка]

Повторно удостоверяване на сесията

Следвайте инструкциите по-долу, ако вашият мрежов администратор е упълномощил повтарящо се удостоверяване, за да поддържа вашата VPN връзка активна. 



Имате нужда от:

 

URL адрес на портала на Firezone: Попитайте вашия мрежов администратор за връзката.

Вашият мрежов администратор трябва да може да предложи вашето потребителско име и парола. Сайтът Firezone ще ви подкани да влезете, като използвате услугата за единично влизане, която вашият работодател използва (като Google или Okta).

 

1. Изключете VPN връзката

 

[Вмъкнете екранна снимка]

 

2. Удостоверете се отново 

Отидете на URL адреса на портала Firezone и влезте с идентификационните данни, предоставени от вашия мрежов администратор. Ако вече сте влезли, щракнете върху бутона Повторно удостоверяване, преди да влезете отново.

 

[Вмъкнете екранна снимка]

 

Стъпка 3: Стартирайте VPN сесия

[Вмъкнете екранна снимка]

Мрежов мениджър за Linux

За да импортирате конфигурационния профил на WireGuard с CLI на Network Manager на устройства с Linux, следвайте тези инструкции (nmcli).

ЗАБЕЛЕЖКА

Ако профилът има активирана IPv6 поддръжка, опитът за импортиране на конфигурационния файл с помощта на GUI на 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 може също да се използва за управление на връзката, ако се използва GUI.

Автоматична връзка

Като изберете „да“ за опцията за автоматично свързване, VPN връзката може да бъде конфигурирана да се свързва автоматично:

 

nmcli връзка модифицира [vpn име] връзка. <<<<<<<<<<<<<<<<<<<<<<<

 

автоматично свързване да

 

За да деактивирате автоматичната връзка, върнете я на не:

 

nmcli връзка модифицира [vpn име] връзка.

 

автоматично свързване №

Направете налично многофакторно удостоверяване

За да активирате MFA Отидете на страницата /user account/register mfa на портала Firezone. Използвайте вашето приложение за удостоверяване, за да сканирате QR кода, след като е бил генериран, след което въведете шестцифрения код.

Свържете се с администратора си, за да нулирате информацията за достъп до вашия акаунт, ако изгубите приложението си за удостоверяване.

Разделен тунелен VPN

Този урок ще ви преведе през процеса на настройка на функцията за разделно тунелиране на WireGuard с Firezone, така че само трафикът към определени IP диапазони да се препраща през VPN сървъра.

 

1. Конфигурирайте разрешените IP адреси 

IP обхватите, за които клиентът ще насочва мрежовия трафик, са посочени в полето Разрешени IP адреси, намиращо се на страницата /settings/default. Само новосъздадените WireGuard тунелни конфигурации, произведени от Firezone, ще бъдат засегнати от промените в това поле.

 

[Вмъкнете екранна снимка]



Стойността по подразбиране е 0.0.0.0/0, ::/0, която насочва целия мрежов трафик от клиента към VPN сървъра.

 

Примери за стойности в това поле включват:

 

0.0.0.0/0, ::/0 – целият мрежов трафик ще бъде насочен към VPN сървъра.

192.0.2.3/32 – само трафикът към един IP адрес ще бъде насочен към VPN сървъра.

3.5.140.0/22 ​​– само трафик към IP адреси в диапазона 3.5.140.1 – 3.5.143.254 ще бъде насочен към VPN сървъра. В този пример беше използван обхватът на CIDR за региона 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 е достатъчна, но може да се наложи да намалите тази стойност в зависимост от вашата среда.



Б устройство

 

Разрешени IP адреси = 10.3.2.3/32

Това е IP адресът или диапазонът от IP адреси на Устройство A

PersistentKeepalive = 25

Административен случай - един към много възли

Този пример показва ситуация, в която устройство A може да комуникира с устройства B до D и в двете посоки. Тази настройка може да представлява инженер или администратор, който има достъп до множество ресурси (сървъри, контейнери или машини) в различни мрежи.

 

[Архитектурна схема]<<<<<<<<<<<<<<<<<<<<<<<<

 

Уверете се, че следните настройки са направени в настройките на всяко устройство до съответните стойности. Когато създавате конфигурацията на устройството, можете да зададете настройки на устройството (вижте Добавяне на устройства). Може да се създаде нова конфигурация на устройство, ако настройките на съществуващо устройство трябва да се актуализират.

 

Устройство A (администраторски възел)

 

Разрешени 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

Устройство D

 

  • AllowedIPs = 10.3.2.2/32: Това е IP адресът или диапазонът от IP адреси на Устройство A
  • PersistentKeepalive = 25

NAT шлюз

За да предложи единичен, статичен изходящ IP за целия трафик на вашия екип, който да изтича, Firezone може да се използва като NAT шлюз. Тези ситуации включват честото му използване:

 

Консултантски ангажименти: Поискайте от вашия клиент да постави в белия списък единичен статичен IP адрес, а не уникалния IP адрес на устройството на всеки служител.

Използване на прокси или маскиране на вашия изходен IP за целите на сигурността или поверителността.

 

В тази публикация ще бъде демонстриран прост пример за ограничаване на достъпа до самостоятелно хоствано уеб приложение до един статичен IP адрес в белия списък, работещ с Firezone. В тази илюстрация Firezone и защитеният ресурс са в различни VPC области.

 

Това решение често се използва вместо управление на IP бял списък за множество крайни потребители, което може да отнеме много време, тъй като списъкът за достъп се разширява.

Пример за AWS

Нашата цел е да настроим Firezone сървър на екземпляр EC2 за пренасочване на VPN трафик към ограничения ресурс. В този случай Firezone служи като мрежов прокси или NAT шлюз, за ​​да даде на всяко свързано устройство уникален публичен изходящ IP.

 

1. Инсталирайте сървъра Firezone

В този случай екземпляр на EC2, наречен tc2.micro, има инсталиран екземпляр на Firezone. За информация относно внедряването на Firezone отидете в Ръководството за внедряване. Във връзка с AWS, бъдете сигурни:

 

Групата за сигурност на екземпляра Firezone EC2 разрешава изходящ трафик към IP адреса на защитения ресурс.

Екземплярът Firezone идва с еластичен IP. Трафикът, който се препраща през екземпляра на Firezone към външни дестинации, ще има това като IP адрес на източника. Въпросният IP адрес е 52.202.88.54.

 

[Вмъкнете екранна снимка]<<<<<<<<<<<<<<<<<<<<<<<<<

 

2. Ограничете достъпа до ресурса, който се защитава

Самостоятелно хоствано уеб приложение служи като защитен ресурс в този случай. Уеб приложението може да бъде достъпно само чрез заявки, идващи от IP адрес 52.202.88.54. В зависимост от ресурса може да е необходимо да се разреши входящ трафик на различни портове и типове трафик. Това не е описано в това ръководство.

 

[Вмъкнете екранна снимка]<<<<<<<<<<<<<<<<<<<<<<<<<

 

Моля, кажете на третата страна, която отговаря за защитения ресурс, че трафикът от статичния IP адрес, дефиниран в Стъпка 1, трябва да бъде разрешен (в този случай 52.202.88.54).

 

3. Използвайте VPN сървъра, за да насочите трафика към защитения ресурс

 

По подразбиране целият потребителски трафик ще преминава през VPN сървъра и ще идва от статичния IP, който е конфигуриран в Стъпка 1 (в този случай 52.202.88.54). Въпреки това, ако разделното тунелиране е разрешено, може да са необходими настройки, за да се уверите, че целевият IP адрес на защитения ресурс е посочен сред разрешените IP адреси.

Добавете текста на заглавието тук

По-долу е показан пълен списък на опциите за конфигурация, налични в /etc/firezone/firezone.rb.



опция

описание

стойност по подразбиране

по подразбиране['firezone']['external_url']

URL адрес, използван за достъп до уеб портала на този екземпляр на Firezone.

„https://#{node['fqdn'] || възел['име на хост']}”

по подразбиране ['firezone']['config_directory']

Директория от най-високо ниво за конфигурация на Firezone.

/etc/firezone'

по подразбиране['firezone']['install_directory']

Директория от най-високо ниво, в която да инсталирате Firezone.

/opt/firezone'

по подразбиране['firezone']['app_directory']

Директория от най-високо ниво за инсталиране на уеб приложението Firezone.

„#{node['firezone']['install_directory']}/embedded/service/firezone”

по подразбиране['firezone']['log_directory']

Директория от най-високо ниво за регистрационни файлове на Firezone.

/var/log/firezone'

по подразбиране['firezone']['var_directory']

Директория от най-високо ниво за файлове за изпълнение на Firezone.

/var/opt/firezone'

по подразбиране ['firezone']['user']

Име на непривилегирован потребител на Linux, на който ще принадлежат повечето услуги и файлове.

пожарна зона'

по подразбиране ['firezone']['group']

Име на Linux групата, към която ще принадлежат повечето услуги и файлове.

пожарна зона'

по подразбиране ['firezone']['admin_email']

Имейл адрес за първоначалния потребител на Firezone.

„firezone@localhost“

по подразбиране['firezone']['max_devices_per_user']

Максимален брой устройства, които потребителят може да има.

10

по подразбиране['firezone']['allow_unprivileged_device_management']

Позволява на потребители без администратори да създават и изтриват устройства.

TRUE

по подразбиране['firezone']['allow_unprivileged_device_configuration']

Позволява на потребители, които не са администратори, да променят конфигурациите на устройството. Когато е деактивирано, не позволява на непривилегированите потребители да променят всички полета на устройството с изключение на име и описание.

TRUE

по подразбиране['firezone']['egress_interface']

Име на интерфейс, откъдето ще излиза тунелираният трафик. Ако е нула, ще се използва интерфейсът на маршрута по подразбиране.

нула

по подразбиране ['firezone']['fips_enabled']

Активирайте или деактивирайте режима OpenSSL FIPs.

нула

по подразбиране['firezone']['logging']['enabled']

Активирайте или деактивирайте регистриране в Firezone. Задайте false, за да деактивирате изцяло регистрирането.

TRUE

по подразбиране ['предприятие']['име']

Името, използвано от готварската книга „Enterprise“ на Chef.

пожарна зона'

по подразбиране ['firezone']['install_path']

Инсталационният път, използван от готварската книга на Chef 'enterprise'. Трябва да се настрои на същото като install_directory по-горе.

възел ['firezone']['install_directory']

по подразбиране ['firezone']['sysvinit_id']

Идентификатор, използван в /etc/inittab. Трябва да е уникална последователност от 1-4 знака.

SUP'

по подразбиране['firezone']['authentication']['local']['enabled']

Активиране или деактивиране на локално удостоверяване на имейл/парола.

TRUE

по подразбиране['firezone']['authentication']['auto_create_oidc_users']

Автоматично създаване на потребители, влизащи от OIDC за първи път. Деактивирайте, за да разрешите само на съществуващи потребители да влизат чрез OIDC.

TRUE

по подразбиране['firezone']['authentication']['disable_vpn_on_oidc_error']

Деактивирайте VPN на потребител, ако бъде открита грешка при опит за обновяване на техния OIDC токен.

FALSE

по подразбиране['firezone']['authentication']['oidc']

Конфигурация на OpenID Connect, във формат {“доставчик” => [конфигурация…]} – вижте Документация на OpenIDConnect за примери за конфигурация.

{}

по подразбиране['firezone']['nginx']['enabled']

Активирайте или деактивирайте пакетния nginx сървър.

TRUE

по подразбиране ['firezone']['nginx']['ssl_port']

Порт за слушане на HTTPS.

443

по подразбиране ['firezone']['nginx']['директория']

Директория за съхраняване на свързаната с Firezone конфигурация на nginx виртуален хост.

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

по подразбиране ['firezone']['nginx']['log_directory']

Директория за съхраняване на свързани с Firezone nginx лог файлове.

„#{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, посочено по-горе

FALSE

по подразбиране['firezone']['nginx']['cache']['enabled']

Активирайте или деактивирайте кеша на Firezone nginx.

FALSE

по подразбиране['firezone']['nginx']['cache']['directory']

Директория за Firezone nginx кеш.

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

по подразбиране ['firezone']['nginx']['user']

Потребител на Firezone nginx.

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

по подразбиране ['firezone']['nginx']['group']

Firezone nginx група.

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

по подразбиране ['firezone']['nginx']['dir']

Конфигурационна директория на nginx от най-високо ниво.

възел ['firezone']['nginx']['директория']

по подразбиране ['firezone']['nginx']['log_dir']

nginx log директория от най-високо ниво.

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

по подразбиране ['firezone']['nginx']['pid']

Местоположение за nginx pid файла.

„#{node['firezone']['nginx']['directory']}/nginx.pid”

по подразбиране ['firezone']['nginx']['daemon_disable']

Деактивирайте режима на демон на nginx, за да можем да го наблюдаваме вместо това.

TRUE

по подразбиране ['firezone']['nginx']['gzip']

Включете или изключете gzip компресията на nginx.

На'

по подразбиране ['firezone']['nginx']['gzip_static']

Включете или изключете gzip компресията на nginx за статични файлове.

изключено

по подразбиране['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.

възел['cpu'] && възел['cpu']['общо']? възел['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.

FALSE

по подразбиране['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']['nginx']['rate_limiting_backoff']

Отстъпка за ограничаване на скоростта на Nginx.

10 м'

по подразбиране['firezone']['nginx']['rate_limit']

Ограничение на скоростта на Nginx.

10r/s'

по подразбиране ['firezone']['nginx']['ipv6']

Разрешете на nginx да слуша за HTTP заявки за IPv6 в допълнение към IPv4.

TRUE

по подразбиране['firezone']['postgresql']['enabled']

Активирайте или деактивирайте пакетния Postgresql. Задайте false и попълнете опциите на базата данни по-долу, за да използвате свой собствен екземпляр на Postgresql.

TRUE

по подразбиране['firezone']['postgresql']['username']

Потребителско име за Postgresql.

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

по подразбиране ['firezone']['postgresql']['data_directory']

Postgresql директория с данни.

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

по подразбиране ['firezone']['postgresql']['log_directory']

Postgresql регистрационна директория.

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

по подразбиране ['firezone']['postgresql']['log_rotation']['file_maxbytes']

Максимален размер на регистрационния файл на Postgresql, преди да бъде завъртян.

104857600

по подразбиране['firezone']['postgresql']['log_rotation']['num_to_keep']

Брой регистрационни файлове на Postgresql, които да се пазят.

10

по подразбиране ['firezone']['postgresql']['checkpoint_completion_target']

Цел за завършване на контролна точка на Postgresql.

0.5

по подразбиране ['firezone']['postgresql']['checkpoint_segments']

Брой сегменти на контролна точка на Postgresql.

3

по подразбиране['firezone']['postgresql']['checkpoint_timeout']

Време за изчакване на контролната точка на Postgresql.

5 минути'

по подразбиране['firezone']['postgresql']['checkpoint_warning']

Време за предупреждение за контролна точка на Postgresql в секунди.

30-те

по подразбиране ['firezone']['postgresql']['effective_cache_size']

Postgresql ефективен размер на кеша.

128MB'

по подразбиране ['firezone']['postgresql']['listen_address']

Адрес за слушане на Postgresql.

127.0.0.1 "

по подразбиране['firezone']['postgresql']['max_connections']

Postgresql максимални връзки.

350

по подразбиране ['firezone']['postgresql']['md5_auth_cidr_addresses']

Postgresql CIDRs за разрешаване на md5 удостоверяване.

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

по подразбиране ['firezone']['postgresql']['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.

8MB'

по подразбиране['firezone']['database']['user']

Указва потребителското име, което Firezone ще използва за свързване към DB.

възел ['firezone']['postgresql']['потребителско име']

по подразбиране['firezone']['database']['password']

Ако използвате външна DB, указва паролата, която Firezone ще използва за свързване с DB.

да ме промени'

по подразбиране['firezone']['database']['name']

База данни, която Firezone ще използва. Ще бъде създаден, ако не съществува.

пожарна зона'

по подразбиране['firezone']['database']['host']

Хост на база данни, към който Firezone ще се свърже.

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

по подразбиране['firezone']['database']['port']

Порт на базата данни, към който ще се свърже Firezone.

възел ['firezone']['postgresql']['port']

по подразбиране['firezone']['database']['pool']

Размер на пула на базата данни, който Firezone ще използва.

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

по подразбиране ['firezone']['database']['ssl']

Дали да се свърже с базата данни през SSL.

FALSE

по подразбиране['firezone']['database']['ssl_opts']

Хеш от опции за изпращане към опцията :ssl_opts при свързване през SSL. Вижте Ecto.Adapters.Postgres документация.

{}

по подразбиране ['firezone']['база данни']['параметри']

Хеш на параметри за изпращане към опцията :parameters при свързване към базата данни. Вижте Ecto.Adapters.Postgres документация.

{}

по подразбиране['firezone']['database']['extensions']

Разширения за база данни за активиране.

{ '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.

„#{node['firezone']['log_directory']}/phoenix”

по подразбиране ['firezone']['phoenix']['log_rotation']['file_maxbytes']

Размер на регистрационния файл на уеб приложението Firezone.

104857600

по подразбиране['firezone']['phoenix']['log_rotation']['num_to_keep']

Брой регистрационни файлове на уеб приложението на Firezone, които да се пазят.

10

по подразбиране['firezone']['phoenix']['crash_detection']['enabled']

Активирайте или деактивирайте премахването на уеб приложението Firezone, когато бъде открит срив.

TRUE

по подразбиране['firezone']['phoenix']['external_trusted_proxies']

Списък с доверени обратни проксита, форматиран като масив от IP адреси и/или CIDR.

[]

по подразбиране['firezone']['phoenix']['private_clients']

Списък на частни мрежови HTTP клиенти, форматирани като масив от IP адреси и/или CIDR.

[]

по подразбиране['firezone']['wireguard']['enabled']

Активирайте или деактивирайте пакетното управление на WireGuard.

TRUE

по подразбиране['firezone']['wireguard']['log_directory']

Регистрационна директория за пакетно управление на WireGuard.

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

по подразбиране['firezone']['wireguard']['log_rotation']['file_maxbytes']

Максимален размер на регистрационния файл на WireGuard.

104857600

по подразбиране['firezone']['wireguard']['log_rotation']['num_to_keep']

Брой регистрационни файлове на WireGuard, които да се пазят.

10

по подразбиране['firezone']['wireguard']['interface_name']

Име на интерфейса на WireGuard. Промяната на този параметър може да причини временна загуба на VPN свързаност.

wg-firezone'

по подразбиране ['firezone']['wireguard']['port']

Порт за слушане на WireGuard.

51820

по подразбиране ['firezone']['wireguard']['mtu']

WireGuard интерфейс MTU за този сървър и за конфигурации на устройства.

1280

по подразбиране['firezone']['wireguard']['endpoint']

WireGuard Endpoint за използване за генериране на конфигурации на устройства. Ако е нула, по подразбиране се използва публичният IP адрес на сървъра.

нула

по подразбиране ['firezone']['wireguard']['dns']

WireGuard DNS за използване за генерирани конфигурации на устройства.

1.1.1.1, 1.0.0.1′

по подразбиране ['firezone']['wireguard']['allowed_ips']

WireGuard AllowedIPs за използване за генерирани конфигурации на устройства.

0.0.0.0/0, ::/0′

по подразбиране ['firezone']['wireguard']['persistent_keepalive']

Настройка по подразбиране PersistentKeepalive за генерирани конфигурации на устройства. Стойност 0 деактивира.

0

по подразбиране['firezone']['wireguard']['ipv4']['enabled']

Активирайте или деактивирайте IPv4 за WireGuard мрежа.

TRUE

по подразбиране['firezone']['wireguard']['ipv4']['masquerade']

Активиране или деактивиране на маскарад за пакети, напускащи IPv4 тунела.

TRUE

по подразбиране['firezone']['wireguard']['ipv4']['network']

Мрежов IPv4 адресен пул на WireGuard.

10.3.2.0/24 ′

по подразбиране['firezone']['wireguard']['ipv4']['address']

IPv4 адрес на интерфейса на WireGuard. Трябва да е в адресния пул на WireGuard.

10.3.2.1 "

по подразбиране['firezone']['wireguard']['ipv6']['enabled']

Активирайте или деактивирайте IPv6 за WireGuard мрежа.

TRUE

по подразбиране['firezone']['wireguard']['ipv6']['masquerade']

Активиране или деактивиране на маскарад за пакети, напускащи IPv6 тунела.

TRUE

по подразбиране['firezone']['wireguard']['ipv6']['network']

Мрежов IPv6 адресен пул на WireGuard.

fd00::3:2:0/120′

по подразбиране['firezone']['wireguard']['ipv6']['address']

IPv6 адрес на интерфейса на WireGuard. Трябва да е в IPv6 адресния пул.

fd00::3:2:1′

по подразбиране ['firezone']['runit']['svlogd_bin']

Runit svlogd bin местоположение.

„#{node['firezone']['install_directory']}/embedded/bin/svlogd”

default['firezone']['ssl']['directory']

SSL директория за съхраняване на генерирани сертификати.

/var/opt/firezone/ssl'

по подразбиране['firezone']['ssl']['email_address']

Имейл адрес за използване за самоподписани сертификати и известия за подновяване на протокол ACME.

you@example.com'

по подразбиране['firezone']['ssl']['acme']['enabled']

Активирайте ACME за автоматично осигуряване на SSL сертификат. Деактивирайте това, за да попречите на Nginx да слуша на порт 80. Вижте тук за повече инструкции.

FALSE

по подразбиране ['firezone']['ssl']['acme']['server']

ACME сървър, който да се използва за издаване/подновяване на сертификат. Може да бъде всеки валиден acme.sh сървър

letsencrypt

по подразбиране ['firezone']['ssl']['acme']['keylength']

Посочете типа и дължината на ключа за SSL сертификати. Вижте тук

EC-256

по подразбиране ['firezone']['ssl']['сертификат']

Път до файла със сертификат за вашето FQDN. Заменя настройката на ACME по-горе, ако е посочена. Ако и ACME, и това са нула, ще се генерира самоподписан сертификат.

нула

по подразбиране ['firezone']['ssl']['certificate_key']

Път до файла със сертификата.

нула

по подразбиране ['firezone']['ssl']['ssl_dhparam']

nginx ssl dh_param.

нула

default['firezone']['ssl']['country_name']

Име на държава за самоподписан сертификат.

НАС'

по подразбиране['firezone']['ssl']['state_name']

Име на държавата за самоподписан сертификат.

CA '

по подразбиране['firezone']['ssl']['locality_name']

Име на населено място за самоподписан сертификат.

Сан Франциско'

default['firezone']['ssl']['company_name']

Самоподписан сертификат за име на фирма.

моята компания'

по подразбиране['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’

по подразбиране ['firezone']['ssl']['fips_ciphers']

SSL шифри за FIPs режим.

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']['telemetry']['enabled']

Активиране или деактивиране на анонимна продуктова телеметрия.

TRUE

по подразбиране['firezone']['connectivity_checks']['enabled']

Активирайте или деактивирайте услугата Firezone за проверка на свързаността.

TRUE

по подразбиране['firezone']['connectivity_checks']['interval']

Интервал между проверките за свързаност в секунди.

3_600



________________________________________________________________

 

Местоположения на файлове и директории

 

Тук ще намерите списък с файлове и директории, свързани с типична инсталация на Firezone. Те могат да се променят в зависимост от промените във вашия конфигурационен файл.



път

описание

/var/opt/firezone

Директория от най-високо ниво, съдържаща данни и генерирана конфигурация за пакетни услуги на Firezone.

/opt/firezone

Директория от най-високо ниво, съдържаща вградени библиотеки, двоични файлове и файлове за изпълнение, необходими на Firezone.

/usr/bin/firezone-ctl

помощна програма firezone-ctl за управление на вашата инсталация на Firezone.

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

systemd единица файл за стартиране на процеса на надзора на Firezone runsvdir.

/etc/firezone

Конфигурационни файлове на Firezone.



__________________________________________________________

 

Шаблони за защитна стена

 

Тази страница беше празна в документите

 

_____________________________________________________________

 

Шаблон за защитна стена на Nftables

 

Следният шаблон за защитна стена nftables може да се използва за защита на сървъра, работещ с Firezone. Шаблонът прави някои предположения; може да се наложи да коригирате правилата, за да отговарят на вашия случай на употреба:

  • Интерфейсът на WireGuard се нарича wg-firezone. Ако това не е правилно, променете променливата DEV_WIREGUARD, за да съответства на опцията за конфигурация по подразбиране['firezone']['wireguard']['interface_name'].
  • Портът, който WireGuard слуша, е 51820. Ако не използвате порта по подразбиране, променете променливата WIREGUARD_PORT.
  • Само следният входящ трафик ще бъде разрешен към сървъра:
    • SSH (TCP порт 22)
    • HTTP (TCP порт 80)
    • HTTPS (TCP порт 443)
    • WireGuard (UDP порт WIREGUARD_PORT)
    • UDP traceroute (UDP порт 33434-33524, скоростта е ограничена до 500/секунда)
    • ICMP и ICMPv6 (честота на ping/ping отговори е ограничена до 2000/секунда)
  • Само следният изходящ трафик ще бъде разрешен от сървъра:
    • DNS (UDP и TCP порт 53)
    • HTTP (TCP порт 80)
    • NTP (UDP порт 123)
    • HTTPS (TCP порт 443)
    • SMTP подаване (TCP порт 587)
    • UDP traceroute (UDP порт 33434-33524, скоростта е ограничена до 500/секунда)
  • Несъответстващият трафик ще бъде регистриран. Правилата, използвани за регистриране, са отделени от правилата за намаляване на трафика и са ограничени по скорост. Премахването на съответните правила за регистриране няма да засегне трафика.

Правила, управлявани от Firezoneâ € <

Firezone конфигурира свои собствени правила за nftables, за да разрешава/отхвърля трафик към дестинации, конфигурирани в уеб интерфейса, и да обработва изходящ NAT за клиентски трафик.

Прилагането на шаблона за защитна стена по-долу върху вече работещ сървър (не по време на зареждане) ще доведе до изчистване на правилата на Firezone. Това може да има последици за сигурността.

За да заобиколите това, рестартирайте услугата Phoenix:

firezone-ctl рестартирайте phoenix

Основен шаблон за защитна стенаâ € <

#!/usr/sbin/nft -f

 

## Изчистване/изтриване на всички съществуващи правила

набор от правила за промиване

 

################################# ПРОМЕНЛИВИ ################## ################

## Име на интернет/WAN интерфейс

дефинирайте DEV_WAN = eth0

 

## Име на интерфейса на WireGuard

дефинирайте DEV_WIREGUARD = wg-firezone

 

## Порт за слушане на WireGuard

дефинирайте WIREGUARD_PORT = 51820

############################## КРАЙ НА ПРОМЕНЛИВИТЕ ################### ############

 

# Основна таблица за филтриране на семейството на интернет

маса инет филтър {

 

 # Правила за пренасочен трафик

 # Тази верига се обработва преди препращащата верига на Firezone

 верига напред {

   тип филтър кука напред приоритетен филтър – 5; политика приемам

 }

 

 # Правила за входен трафик

 верига вход {

   тип филтър кука входен приоритет филтър; спад на политиката

 

   ## Разрешаване на входящ трафик към интерфейс за обратна връзка

   iif lo \

     приемам \

     коментар „Разрешаване на целия трафик от интерфейс за обратна връзка“

 

   ## Разрешаване на установени и свързани връзки

   ct състояние установено, свързано \

     приемам \

     коментар „Разрешаване на установени/свързани връзки“

 

   ## Разрешаване на входящ WireGuard трафик

   iif $DEV_WAN udp dport $WIREGUARD_PORT \

     брояч \

     приемам \

     коментар „Разрешаване на входящ WireGuard трафик“

 

   ## Регистрирайте и пуснете нови TCP не-SYN пакети

   tcp флагове != syn ct състояние ново \

     лимитна ставка 100/минута залп 150 пакети \

     регистрационен префикс „IN – Нов !SYN:“ \

     коментар „Регистриране на ограничение на скоростта за нови връзки, които нямат зададен флаг SYN TCP“

   tcp флагове != 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 флагове & (fin|syn|rst|psh|ack|urg) < (fin) \

     лимитна ставка 100/минута залп 150 пакети \

     регистрационен префикс „IN – FIN:“ \

     коментар „Регистриране на ограничение на скоростта за невалидни TCP флагове (fin|syn|rst|psh|ack|urg) < (fin)“

   tcp флагове & (fin|syn|rst|psh|ack|urg) < (fin) \

     брояч \

     изпускайте \

     коментар „Премахване на TCP пакети с флагове (fin|syn|rst|psh|ack|urg) < (fin)“

 

   ## Регистриране и премахване на невалидни TCP флагове

   tcp флагове & (fin|syn|rst|psh|ack|urg) == (fin|psh|urg) \

     лимитна ставка 100/минута залп 150 пакети \

     регистрационен префикс „IN – FIN|PSH|URG:“ \

     коментар „Регистриране на ограничение на скоростта за невалидни TCP флагове (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)“

   tcp флагове & (fin|syn|rst|psh|ack|urg) == (fin|psh|urg) \

     брояч \

     изпускайте \

     коментар „Премахване на TCP пакети с флагове (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)“

 

   ## Прекъснете трафика с невалидно състояние на връзката

   невалидно състояние на ct \

     лимитна ставка 100/минута залп 150 пакети \

     log флагове всички префикси „IN – Невалидно:“ \

     коментар „Регистриране на ограничение на скоростта за трафик с невалидно състояние на връзка“

   невалидно състояние на ct \

     брояч \

     изпускайте \

     коментар „Прекъсване на трафика с невалидно състояние на връзка“

 

   ## Разрешете IPv4 ping/ping отговори, но ограничение на скоростта до 2000 PPS

   ip протокол icmp icmp тип {ехо-отговор, ехо-заявка} \

     лимитна ставка 2000/втора \

     брояч \

     приемам \

     коментар „Разрешаване на входящо IPv4 ехо (ping) ограничено до 2000 PPS“

 

   ## Разрешете всички други входящи IPv4 ICMP

   ip протокол icmp \

     брояч \

     приемам \

     коментар „Разрешаване на всички други IPv4 ICMP“

 

   ## Разрешете IPv6 ping/ping отговори, но ограничение на скоростта до 2000 PPS

   icmpv6 тип {ехо-отговор, ехо-заявка} \

     лимитна ставка 2000/втора \

     брояч \

     приемам \

     коментар „Разрешаване на входящо IPv6 ехо (ping) ограничено до 2000 PPS“

 

   ## Разрешете всички други входящи IPv6 ICMP

   мета l4proto { icmpv6 } \

     брояч \

     приемам \

     коментар „Разрешаване на всички други IPv6 ICMP“

 

   ## Разрешаване на входящи UDP портове за проследяване, но ограничение до 500 PPS

   udp dport 33434-33524 \

     лимитна ставка 500/втора \

     брояч \

     приемам \

     коментар „Разрешаване на входяща UDP трасировка, ограничена до 500 PPS“

 

   ## Разрешете входящ SSH

   tcp dport SSH ct състояние ново \

     брояч \

     приемам \

     коментар „Разрешаване на входящи SSH връзки“

 

   ## Разрешете входящ HTTP и HTTPS

   tcp dport { http, https } ct състояние ново \

     брояч \

     приемам \

     коментар „Разрешаване на входящи HTTP и HTTPS връзки“

 

   ## Регистрирайте всеки несравним трафик, но ограничавайте регистрирането до максимум 60 съобщения/минута

   ## Политиката по подразбиране ще бъде приложена към несравним трафик

   лимитна ставка 60/минута залп 100 пакети \

     регистрационен префикс „IN – Drop:“ \

     коментар „Регистрирайте всеки несравним трафик“

 

   ## Пребройте несравнимия трафик

   брояч \

     коментар „Преброяване на несравнимия трафик“

 }

 

 # Правила за изходящ трафик

 верижен изход {

   тип филтър кука филтър за приоритет на изхода; спад на политиката

 

   ## Разрешаване на изходящ трафик към интерфейс за обратна връзка

   ооо \

     приемам \

     коментар „Разрешаване на целия трафик към интерфейс за обратна връзка“

 

   ## Разрешаване на установени и свързани връзки

   ct състояние установено, свързано \

     брояч \

     приемам \

     коментар „Разрешаване на установени/свързани връзки“

 

   ## Разрешете изходящия WireGuard трафик, преди да прекъснете връзките с лошо състояние

   да $DEV_WAN udp спорт $WIREGUARD_PORT \

     брояч \

     приемам \

     коментар „Разрешаване на изходящ трафик на WireGuard“

 

   ## Прекъснете трафика с невалидно състояние на връзката

   невалидно състояние на ct \

     лимитна ставка 100/минута залп 150 пакети \

     log флагове всички префикси „OUT – Невалиден:“ \

     коментар „Регистриране на ограничение на скоростта за трафик с невалидно състояние на връзка“

   невалидно състояние на ct \

     брояч \

     изпускайте \

     коментар „Прекъсване на трафика с невалидно състояние на връзка“

 

   ## Разрешете всички други изходящи IPv4 ICMP

   ip протокол icmp \

     брояч \

     приемам \

     коментар „Разрешаване на всички типове IPv4 ICMP“

 

   ## Разрешете всички други изходящи IPv6 ICMP

   мета l4proto { icmpv6 } \

     брояч \

     приемам \

     коментар „Разрешаване на всички типове IPv6 ICMP“

 

   ## Разрешаване на UDP портове за изходящо проследяване, но ограничение до 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 заявки“

   tcp dport 53 \

     брояч \

     приемам \

     коментар „Разрешаване на изходящи TCP DNS заявки“

 

   ## Разрешаване на изходящи NTP заявки

   udp dport 123 \

     брояч \

     приемам \

     коментар „Разрешаване на изходящи NTP заявки“

 

   ## Регистрирайте всеки несравним трафик, но ограничавайте регистрирането до максимум 60 съобщения/минута

   ## Политиката по подразбиране ще бъде приложена към несравним трафик

   лимитна ставка 60/минута залп 100 пакети \

     регистрационен префикс „ИЗХОД – Изпускане:“ \

     коментар „Регистрирайте всеки несравним трафик“

 

   ## Пребройте несравнимия трафик

   брояч \

     коментар „Преброяване на несравнимия трафик“

 }

 

}

 

# Основна таблица за филтриране на NAT

таблица inet nat {

 

 # Правила за предварително маршрутизиране на NAT трафик

 верига предварително насочване {

   тип nat кука предварително маршрутизиране приоритет 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 /path/to/nftables.conf -c

Не забравяйте да потвърдите, че защитната стена работи според очакванията, тъй като някои функции на nftables може да не са налични в зависимост от версията, изпълнявана на сървъра.



_______________________________________________________________



телеметрия

 

Този документ представя общ преглед на телеметрията, която Firezone събира от вашия самостоятелно хостван екземпляр и как да го деактивирате.

Защо Firezone събира телеметрияâ € <

Пожарна зона разчита върху телеметрията, за да дадем приоритет на нашата пътна карта и да оптимизираме инженерните ресурси, с които разполагаме, за да направим Firezone по-добър за всички.

Телеметрията, която събираме, цели да отговори на следните въпроси:

  • Колко хора инсталират, използват и спират да използват Firezone?
  • Кои функции са най-ценни и кои не виждат никаква полза?
  • Коя функционалност се нуждае от най-много подобрения?
  • Когато нещо се счупи, защо се счупи и как можем да предотвратим това да се случи в бъдеще?

Как събираме телеметрияâ € <

Има три основни места, където се събира телеметрия във Firezone:

  1. Пакетна телеметрия. Включва събития като инсталиране, деинсталиране и надграждане.
  2. CLI телеметрия от firezone-ctl команди.
  3. Продуктова телеметрия, свързана с уеб портала.

Във всеки от тези три контекста ние събираме минималното количество данни, необходими за отговор на въпросите в раздела по-горе.

Имейлите на администраторите се събират само ако изрично се включите за актуализации на продукта. В противен случай информацията, разкриваща самоличността, е никога събран.

Firezone съхранява телеметрия в самостоятелно хостван екземпляр на PostHog, работещ в частен клъстер на Kubernetes, достъпен само от екипа на Firezone. Ето пример за телеметрично събитие, което се изпраща от вашето копие на Firezone до нашия телеметричен сървър:

{

   "Документ за самоличност": “0182272d-0b88-0000-d419-7b9a413713f1”,

   „клеймо за време“: “2022-07-22T18:30:39.748000+00:00”,

   "събитие": „fz_http_started“,

   „distinct_id“: “1ec2e794-1c3e-43fc-a78f-1db6d1a37f54”,

   "Имоти"{

       „$geoip_city_name“: „Ашбърн“,

       “$geoip_continent_code”: „НЕ“,

       „$geoip_continent_name“: "Северна Америка",

       “$geoip_country_code”: "НАС",

       „$geoip_country_name“: "Съединени щати",

       „$geoip_latitude“: 39.0469,

       „$geoip_longitude“: -77.4903,

       “$geoip_postal_code”: "20149",

       „$geoip_subdivision_1_code“: „VA“,

       „$geoip_subdivision_1_name“: „Вирджиния“,

       “$geoip_time_zone”: „Америка/Ню_Йорк“,

       „$ip“: "52.200.241.107",

       „$plugins_deferred“: []

       „$plugins_failed“: []

       „$plugins_succeeded“: [

           „GeoIP (3)“

       ],

       „distinct_id“: “1zc2e794-1c3e-43fc-a78f-1db6d1a37f54”,

       „fqdn“: „awsdemo.firezone.dev“,

       „version_kernel“: „linux 5.13.0“,

       „версия“: "0.4.6"

   },

   „elements_chain“: ""

}

Как да деактивирате телеметриятаâ € <

ЗАБЕЛЕЖКА

Екипът за разработка на Firezone разчита върху продуктовия анализ, за ​​да направим Firezone по-добър за всички. Оставянето на активирана телеметрия е най-ценният принос, който можете да направите за развитието на Firezone. Въпреки това разбираме, че някои потребители имат по-високи изисквания за поверителност или сигурност и биха предпочели да деактивират изцяло телеметрията. Ако това сте вие, продължете да четете.

Телеметрията е активирана по подразбиране. За да деактивирате напълно телеметрията на продукта, задайте следната конфигурационна опция на false в /etc/firezone/firezone.rb и изпълнете sudo firezone-ctl reconfigure, за да вземете промените.

по подразбиране['firezone']["телеметрия"]["разрешено"] = фалшив

Това напълно ще деактивира цялата телеметрия на продукта.