Hailbytes VPN cu documentația Firezone Firewall

Cuprins

Să începem!

Aici sunt furnizate instrucțiuni pas cu pas pentru implementarea Hailbytes VPN cu Firezone GUI. 

Administrare: Configurarea instanței de server este direct legată de această parte.

Ghiduri de utilizare: documente utile care vă pot învăța cum să utilizați Firezone și să rezolvați problemele tipice. După ce serverul a fost implementat cu succes, consultați această secțiune.

Ghiduri pentru configurații comune

Split Tunneling: Utilizați VPN-ul pentru a trimite trafic numai către anumite intervale de IP.

Lista albă: setați adresa IP statică a unui server VPN pentru a utiliza lista albă.

Tuneluri inverse: creați tuneluri între mai mulți colegi folosind tuneluri inverse.

Beneficiați de asistență

Suntem încântați să vă ajutăm dacă aveți nevoie de asistență la instalarea, personalizarea sau utilizarea Hailbytes VPN.

Autentificare

Înainte ca utilizatorii să poată produce sau descărca fișiere de configurare a dispozitivului, Firezone poate fi configurat pentru a necesita autentificare. De asemenea, este posibil ca utilizatorii să fie nevoiți să se reautentifice periodic pentru a-și menține conexiunea VPN activă.

Deși metoda implicită de conectare a Firezone este e-mailul local și parola, aceasta poate fi, de asemenea, integrată cu orice furnizor de identitate standardizat OpenID Connect (OIDC). Utilizatorii se pot conecta acum la Firezone folosind acreditările Okta, Google, Azure AD sau furnizorul de identitate privat.

 

Integrați un furnizor OIDC generic

Parametrii de configurare necesari Firezone pentru a permite SSO folosind un furnizor OIDC sunt prezentați în exemplul de mai jos. La /etc/firezone/firezone.rb, puteți găsi fișierul de configurare. Rulați firezone-ctl reconfigure și firezone-ctl restart pentru a actualiza aplicația și a avea efect asupra modificărilor.

 

# Acesta este un exemplu de utilizare a Google și Okta ca furnizor de identitate SSO.

# Mai multe configurații OIDC pot fi adăugate la aceeași instanță Firezone.

 

# Firezone poate dezactiva VPN-ul unui utilizator dacă a fost detectată vreo eroare la încercare

# pentru a-și reîmprospăta access_token-ul. Este verificat că funcționează pentru Google, Okta și

# Azure SSO și este utilizat pentru a deconecta automat VPN-ul unui utilizator dacă este eliminat

# de la furnizorul OIDC. Lăsați această opțiune dezactivată dacă furnizorul dvs. OIDC

# are probleme la reîmprospătarea jetoanelor de acces, deoarece ar putea întrerupe în mod neașteptat a

# sesiune VPN a utilizatorului.

implicit['firezone']['authentication']['disable_vpn_on_oidc_error'] = fals

 

implicit['firezone']['authentication']['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: „cod”,

    domeniul de aplicare: „profil de e-mail openid”,

    etichetă: „Google”

  },

  okta: {

    discovery_document_uri: „https:// /.cunoscută/configurație-openid”,

    client_id: „ ”,

    client_secret: „ ”,

    redirect_uri: „https://instance-id.yourfirezone.com/auth/oidc/okta/callback/”,

    response_type: „cod”,

    domeniul de aplicare: „profil de e-mail openid offline_access”,

    etichetă: „Okta”

  }

}



Următoarele setări de configurare sunt necesare pentru integrare:

  1. discovery_document_uri: The URI de configurare a furnizorului OpenID Connect care returnează un document JSON folosit pentru a construi cereri ulterioare către acest furnizor OIDC.
  2. client_id: ID-ul de client al aplicației.
  3. client_secret: Secretul client al aplicației.
  4. redirect_uri: indică furnizorului OIDC unde să redirecționeze după autentificare. Acesta ar trebui să fie Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (de ex. https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Setați la cod.
  6. domeniul de aplicare: domenii OIDC pentru a obține de la furnizorul dvs. OIDC. Acesta ar trebui setat la profil de e-mail openid sau profil de e-mail openid offline_access, în funcție de furnizor.
  7. etichetă: textul etichetei butonului care apare pe ecranul de conectare la Firezone.

URL-uri frumoase

Pentru fiecare furnizor OIDC este creată o adresă URL destul de corespunzătoare pentru redirecționarea către adresa URL de conectare a furnizorului configurat. Pentru exemplul de configurare OIDC de mai sus, adresele URL sunt:

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

Instrucțiuni pentru configurarea Firezone cu furnizori de identitate populari

Furnizorii avem documentație pentru:

  • Google
  • Okta
  • Directory Active Azure
  • Onelogin
  • Autentificare locală

 

Dacă furnizorul dvs. de identitate are un conector OIDC generic și nu este listat mai sus, vă rugăm să accesați documentația sa pentru informații despre cum să preluați setările de configurare necesare.

Mențineți o re-autentificare regulată

Setarea din setări/securitate poate fi modificată pentru a necesita o reautentificare periodică. Aceasta poate fi folosită pentru a impune cerința ca utilizatorii să intre în Firezone în mod regulat pentru a-și continua sesiunea VPN.

Durata sesiunii poate fi configurată să fie între o oră și nouăzeci de zile. Setând acest lucru la Niciodată, puteți activa oricând sesiunile VPN. Acesta este standardul.

Re-autentificare

Un utilizator trebuie să își încheie sesiunea VPN și să se conecteze la portalul Firezone pentru a re-autentifica o sesiune VPN expirată (URL specificat în timpul implementării).

Vă puteți re-autentifica sesiunea urmând instrucțiunile precise ale clientului găsite aici.

 

Starea conexiunii VPN

Coloana tabelului Conexiune VPN a paginii Utilizatori afișează starea conexiunii unui utilizator. Acestea sunt stările de conectare:

ACTIVAT – Conexiunea este activată.

DEZACTIVAT – Conexiunea este dezactivată de un administrator sau de o eroare de reîmprospătare OIDC.

EXPIRAT – Conexiunea este dezactivată din cauza expirării autentificării sau un utilizator nu s-a conectat pentru prima dată.

Google

Prin conectorul general OIDC, Firezone activează Single Sign-On (SSO) cu Google Workspace și Cloud Identity. Acest ghid vă va arăta cum să obțineți parametrii de configurare enumerați mai jos, care sunt necesari pentru integrare:

  1. discovery_document_uri: The URI de configurare a furnizorului OpenID Connect care returnează un document JSON folosit pentru a construi cereri ulterioare către acest furnizor OIDC.
  2. client_id: ID-ul de client al aplicației.
  3. client_secret: Secretul client al aplicației.
  4. redirect_uri: indică furnizorului OIDC unde să redirecționeze după autentificare. Acesta ar trebui să fie Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (de ex. https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Setați la cod.
  6. domeniul de aplicare: domenii OIDC pentru a obține de la furnizorul dvs. OIDC. Acesta ar trebui setat la profilul de e-mail openid pentru a furniza Firezone e-mailul utilizatorului în revendicările returnate.
  7. etichetă: textul etichetei butonului care apare pe ecranul de conectare la Firezone.

Obțineți setări de configurare

1. Ecranul de configurare OAuth

Dacă este prima dată când creați un nou ID de client OAuth, vi se va cere să configurați un ecran de consimțământ.

*Selectați Intern pentru tipul de utilizator. Acest lucru vă asigură că numai conturile aparținând utilizatorilor din organizația dvs. Google Workspace pot crea configurații pentru dispozitiv. NU selectați Extern decât dacă doriți să permiteți oricui cu un Cont Google valid să creeze configurații pentru dispozitiv.

 

Pe ecranul de informații despre aplicație:

  1. Numele aplicației: Firezone
  2. Sigla aplicației: Sigla Firezone (salvează linkul ca).
  3. Pagina principală a aplicației: adresa URL a instanței dvs. Firezone.
  4. Domenii autorizate: domeniul de nivel superior al instanței dvs. Firezone.

 

 

2. Creați ID-uri de client OAuth

Această secțiune se bazează pe documentația Google despre configurarea OAuth 2.0.

Accesați Google Cloud Console Pagina de acreditări pagina, faceți clic pe + Creați acreditări și selectați ID client OAuth.

Pe ecranul de creare a ID-ului clientului OAuth:

  1. Setați Tip aplicație la Aplicație web
  2. Adăugați-vă Firezone EXTERNAL_URL + /auth/oidc/google/callback/ (de ex. https://instance-id.yourfirezone.com/auth/oidc/google/callback/) ca intrare la URI-uri de redirecționare autorizate.

 

După crearea ID-ului de client OAuth, vi se va da un ID de client și un secret de client. Acestea vor fi utilizate împreună cu URI-ul de redirecționare în pasul următor.

Integrarea Firezone

Editati /etc/firezone/firezone.rb pentru a include opțiunile de mai jos:

 

# Utilizarea Google ca furnizor de identitate SSO

implicit['firezone']['authentication']['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: „cod”,

    domeniul de aplicare: „profil de e-mail openid”,

    etichetă: „Google”

  }

}

 

Rulați firezone-ctl reconfigure și firezone-ctl restart pentru a actualiza aplicația. Ar trebui să vedeți acum un buton Conectați-vă cu Google la adresa URL Firezone rădăcină.

Okta

Firezone folosește conectorul generic OIDC pentru a facilita Single Sign-On (SSO) cu Okta. Acest tutorial vă va arăta cum să obțineți parametrii de configurare enumerați mai jos, care sunt necesari pentru integrare:

  1. discovery_document_uri: The URI de configurare a furnizorului OpenID Connect care returnează un document JSON folosit pentru a construi cereri ulterioare către acest furnizor OIDC.
  2. client_id: ID-ul de client al aplicației.
  3. client_secret: Secretul client al aplicației.
  4. redirect_uri: indică furnizorului OIDC unde să redirecționeze după autentificare. Acesta ar trebui să fie Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (de exemplu https://instance-id.yourfirezone.com/auth/oidc/okta/callback/).
  5. response_type: Setați la cod.
  6. domeniul de aplicare: domenii OIDC pentru a obține de la furnizorul dvs. OIDC. Acesta ar trebui să fie setat la profilul de e-mail openid offline_access pentru a oferi Firezone e-mailul utilizatorului în revendicările returnate.
  7. etichetă: textul etichetei butonului care apare pe ecranul de conectare la Firezone.

 

Integrați aplicația Okta

Această secțiune a ghidului se bazează pe documentația lui Okta.

În Consola de administrare, accesați Aplicații > Aplicații și faceți clic pe Creare integrare a aplicației. Setați metoda de conectare la OICD – OpenID Connect și Tipul aplicației la Aplicație web.

Configurați aceste setări:

  1. Numele aplicației: Firezone
  2. Sigla aplicației: Sigla Firezone (salvează linkul ca).
  3. Tip de acordare: bifați caseta Refresh Token. Acest lucru asigură sincronizarea Firezone cu furnizorul de identitate și accesul VPN este încheiat odată ce utilizatorul este eliminat.
  4. URI de redirecționare de conectare: adăugați URL-ul dvs. EXTERNAL_Firezone + /auth/oidc/okta/callback/ (de exemplu https://instance-id.yourfirezone.com/auth/oidc/okta/callback/) ca intrare la URI-uri de redirecționare autorizate .
  5. Teme: Limitați-vă la grupurile pe care doriți să le oferiți acces la instanța dvs. Firezone.

Odată ce setările sunt salvate, vi se va da un ID de client, Client Secret și Okta Domain. Aceste 3 valori vor fi folosite la Pasul 2 pentru a configura Firezone.

Integrați Firezone

Editati /etc/firezone/firezone.rb pentru a include opțiunile de mai jos. Ta discovery_document_url va fi /.configurație-cunoscută/openid atasat la sfarsitul tau okta_domain.

 

# Utilizarea Okta ca furnizor de identitate SSO

implicit['firezone']['authentication']['oidc'] = {

  okta: {

    discovery_document_uri: „https:// /.cunoscută/configurație-openid”,

    client_id: „ ”,

    client_secret: „ ”,

    redirect_uri: „https://instance-id.yourfirezone.com/auth/oidc/okta/callback/”,

    response_type: „cod”,

    domeniul de aplicare: „profil de e-mail openid offline_access”,

    etichetă: „Okta”

  }

}

 

Rulați firezone-ctl reconfigure și firezone-ctl restart pentru a actualiza aplicația. Acum ar trebui să vedeți un buton Conectați-vă cu Okta la adresa URL Firezone rădăcină.

 

Restricționați accesul la anumiți utilizatori

Utilizatorii care pot accesa aplicația Firezone pot fi restricționați de Okta. Accesați pagina Atribuții din Firezone App Integration din Consola de administrare Okta pentru a realiza acest lucru.

Directory Active Azure

Prin conectorul generic OIDC, Firezone activează Single Sign-On (SSO) cu Azure Active Directory. Acest manual vă va arăta cum să obțineți parametrii de configurare enumerați mai jos, care sunt necesari pentru integrare:

  1. discovery_document_uri: The URI de configurare a furnizorului OpenID Connect care returnează un document JSON folosit pentru a construi cereri ulterioare către acest furnizor OIDC.
  2. client_id: ID-ul de client al aplicației.
  3. client_secret: Secretul client al aplicației.
  4. redirect_uri: indică furnizorului OIDC unde să redirecționeze după autentificare. Acesta ar trebui să fie Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (de exemplu https://instance-id.yourfirezone.com/auth/oidc/azure/callback/).
  5. response_type: Setați la cod.
  6. domeniul de aplicare: domenii OIDC pentru a obține de la furnizorul dvs. OIDC. Acesta ar trebui să fie setat la profilul de e-mail openid offline_access pentru a oferi Firezone e-mailul utilizatorului în revendicările returnate.
  7. etichetă: textul etichetei butonului care apare pe ecranul de conectare la Firezone.

Obțineți setări de configurare

Acest ghid este extras din Documente Azure Active Directory.

 

Accesați pagina Azure Active Directory a portalului Azure. Alegeți opțiunea de meniu Gestionare, selectați Înregistrare nouă, apoi înregistrați-vă furnizând informațiile de mai jos:

  1. Nume: Firezone
  2. Tipuri de cont acceptate: (numai directorul implicit – chiriaș unic)
  3. URI de redirecționare: acesta ar trebui să fie firezone dvs. EXTERNAL_URL + /auth/oidc/azure/callback/ (de exemplu https://instance-id.yourfirezone.com/auth/oidc/azure/callback/). Asigurați-vă că includeți slash-ul final. Aceasta va fi valoarea redirect_uri.

 

După înregistrare, deschideți vizualizarea de detalii a aplicației și copiați ID aplicație (client).. Aceasta va fi valoarea client_id. Apoi, deschideți meniul de puncte finale pentru a prelua Document de metadate OpenID Connect. Aceasta va fi valoarea discovery_document_uri.

 

Creați un nou secret de client făcând clic pe opțiunea Certificate și secrete din meniul Gestionare. Copiați secretul clientului; valoarea secretă a clientului va fi aceasta.

 

În cele din urmă, selectați linkul de permisiuni API din meniul Gestionați, faceți clic Adăugați o permisiuneȘi selectați Microsoft Graph. adăuga e-mail, deschis, acces_offline și profil la permisiunile necesare.

Integrarea Firezone

Editati /etc/firezone/firezone.rb pentru a include opțiunile de mai jos:

 

# Utilizarea Azure Active Directory ca furnizor de identitate SSO

implicit['firezone']['authentication']['oidc'] = {

  azur: {

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

    client_id: „ ”,

    client_secret: „ ”,

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

    response_type: „cod”,

    domeniul de aplicare: „profil de e-mail openid offline_access”,

    etichetă: „Azure”

  }

}

 

Rulați firezone-ctl reconfigure și firezone-ctl restart pentru a actualiza aplicația. Acum ar trebui să vedeți un buton Conectați-vă cu Azure la adresa URL Firezone rădăcină.

Cum să: restricționați accesul la anumiți membri

Azure AD le permite administratorilor să limiteze accesul la aplicații la un anumit grup de utilizatori din cadrul companiei dvs. Mai multe informații despre cum să faceți acest lucru pot fi găsite în documentația Microsoft.

Administra

  • Configurare
  • Gestionați instalarea
  • Actualizare
  • Depanarea
  • Considerații de securitate
  • Rularea interogări SQL

Configurare

Chef Omnibus este folosit de Firezone pentru a gestiona sarcini, inclusiv ambalarea lansării, supravegherea proceselor, gestionarea jurnalelor și multe altele.

Codul Ruby alcătuiește fișierul de configurare principal, care se află la /etc/firezone/firezone.rb. Repornirea sudo firezone-ctl reconfigure după efectuarea modificărilor acestui fișier îl face pe Chef să recunoască modificările și să le aplice sistemului de operare curent.

Consultați referința fișierului de configurare pentru o listă completă a variabilelor de configurare și descrierile acestora.

Gestionați instalarea

Instanța dvs. Firezone poate fi gestionată prin intermediul firezone-ctl comandă, după cum se arată mai jos. Cele mai multe subcomenzi necesită prefixare cu sudo.

 

root@demo:~# firezone-ctl

omnibus-ctl: comandă (subcomandă)

Comenzi generale:

  curăța

    Șterge *toate* datele Firezone și începe de la zero.

  create-or-reset-admin

    Resetează parola administratorului cu e-mailul specificat în mod implicit['firezone']['admin_email'] sau creează un nou administrator dacă acel e-mail nu există.

  ajutor

    Tipăriți acest mesaj de ajutor.

  reconfigura

    Reconfigurați aplicația.

  resetare-rețea

    Resetează nftables, interfața WireGuard și tabelul de rutare la valorile implicite Firezone.

  show-config

    Afișați configurația care ar fi generată de reconfigure.

  teardown-network

    Elimină interfața WireGuard și tabelul firezone nftables.

  forta-cert-reinnoire

    Forțați reînnoirea certificatului acum, chiar dacă nu a expirat.

  stop-cert-reinnoire

    Elimină cronjob care reînnoiește certificatele.

  dezinstalare

    Omorâți toate procesele și dezinstalați supervizorul de proces (datele vor fi păstrate).

  versiune

    Afișează versiunea curentă a Firezone

Comenzi de management al serviciului:

  graţios-ucide

    Încercați o oprire grațioasă, apoi SIGKILL întregul grup de procese.

  hup

    Trimiteți serviciile un HUP.

  int

    Trimiteți serviciile un INT.

  ucide

    Trimite servicii un KILL.

  dată

    Porniți serviciile dacă nu sunt disponibile. Nu le reporniți dacă se opresc.

  reîncepe

    Opriți serviciile dacă rulează, apoi porniți-le din nou.

  lista de servicii

    Listați toate serviciile (serviciile activate apar cu *.)

  Începe

    Porniți serviciile dacă nu sunt disponibile și reporniți-le dacă se opresc.

  Starea

    Arată starea tuturor serviciilor.

  opri

    Opriți serviciile și nu le reporniți.

  coadă

    Urmăriți jurnalele de servicii ale tuturor serviciilor activate.

  durată

    Trimiteți serviciilor un TERM.

  usr1

    Trimiteți serviciile un USR1.

  usr2

    Trimiteți serviciile un USR2.

Actualizare

Toate sesiunile VPN trebuie să fie încheiate înainte de a actualiza Firezone, care necesită și închiderea interfeței de utilizare web. În cazul în care ceva nu merge bine în timpul upgrade-ului, vă recomandăm să rezervați o oră pentru întreținere.

 

Pentru a îmbunătăți Firezone, luați următoarele acțiuni:

  1. Actualizați pachetul Firezone utilizând instalarea cu o singură comandă: sudo -E bash -c „$(curl -fsSL https://github.com/firezone/firezone/raw/master/scripts/install.sh)”
  2. Rulați firezone-ctl reconfigure pentru a prelua noile modificări.
  3. Rulați firezone-ctl restart pentru a reporni serviciile.

Dacă apar probleme, vă rugăm să ne anunțați până trimiterea unui bilet de asistență.

Actualizați de la <0.5.0 la >=0.5.0

Există câteva modificări nerespective și modificări de configurare în 0.5.0 care trebuie abordate. Aflați mai multe mai jos.

Solicitările grupate Nginx non_ssl_port (HTTP) au fost eliminate

Nginx nu mai acceptă parametrii portului SSL forțat și non-SSL începând cu versiunea 0.5.0. Deoarece Firezone are nevoie de SSL pentru a funcționa, vă recomandăm să eliminați pachetul de servicii Nginx setând implicit['firezone']['nginx']['enabled'] = false și direcționând proxy-ul invers către aplicația Phoenix pe portul 13000 (în mod implicit ).

Suport protocol ACME

0.5.0 introduce suport pentru protocolul ACME pentru reînnoirea automată a certificatelor SSL cu serviciul Nginx inclus. Pentru a permite,

  • Asigurați-vă că implicit['firezone']['external_url'] conține un FQDN valid care se rezolvă la adresa IP publică a serverului dvs.
  • Asigurați-vă că portul 80/tcp este accesibil
  • Activați suportul pentru protocolul ACME cu implicit['firezone']['ssl']['acme']['enabled'] = true în fișierul dvs. de configurare.

Destinații suprapuse cu regulile de ieșire

Posibilitatea de a adăuga reguli cu destinații duplicate a dispărut în Firezone 0.5.0. Scriptul nostru de migrare va recunoaște automat aceste situații în timpul unui upgrade la 0.5.0 și va păstra doar regulile a căror destinație include cealaltă regulă. Nu trebuie să faci nimic dacă este în regulă.

În caz contrar, înainte de a face upgrade, vă sfătuim să vă schimbați setul de reguli pentru a scăpa de aceste situații.

Preconfigurarea Okta și Google SSO

Firezone 0.5.0 elimină suportul pentru configurația Okta și Google SSO de stil vechi în favoarea noii configurații, mai flexibile, bazate pe OIDC. 

Dacă aveți vreo configurație în cheile implicite['firezone']['authentication']['okta'] sau implicit['firezone']['authentication']['google'], trebuie să le migrați la OIDC configurație bazată pe baza ghidului de mai jos.

Configurație Google OAuth existentă

Eliminați aceste linii care conțin vechile configurații OAuth Google din fișierul dvs. de configurare situat la /etc/firezone/firezone.rb

 

implicit['firezone']['autentificare']['google']['activat']

implicit['firezone']['authentication']['google']['client_id']

implicit['firezone']['authentication']['google']['client_secret']

implicit['firezone']['authentication']['google']['redirect_uri']

 

Apoi, configurați Google ca furnizor OIDC urmând procedurile de aici.

(Oferă instrucțiuni pentru link)<<<<<<<<<<<<<<<<<

 

Configurați OAuth Google existent 

Eliminați aceste linii care conțin vechile configurații Okta OAuth din fișierul dvs. de configurare aflat la /etc/firezone/firezone.rb

 

implicit['firezone']['autentificare']['okta']['activat']

implicit['firezone']['authentication']['okta']['client_id']

implicit['firezone']['authentication']['okta']['client_secret']

Implicit['firezone']['autentificare']['okta']['site']

 

Apoi, configurați Okta ca furnizor OIDC urmând procedurile de aici.

Actualizați de la 0.3.x la >= 0.3.16

În funcție de configurația și versiunea dvs. curentă, urmați instrucțiunile de mai jos:

Dacă aveți deja o integrare OIDC:

Pentru unii furnizori OIDC, upgrade-ul la >= 0.3.16 necesită obținerea unui token de reîmprospătare pentru domeniul de acces offline. Făcând acest lucru, se asigură că Firezone se actualizează cu furnizorul de identitate și că conexiunea VPN este oprită după ștergerea unui utilizator. Iterațiile anterioare ale Firezone nu aveau această caracteristică. În unele cazuri, utilizatorii care sunt șterși de la furnizorul dvs. de identitate pot fi în continuare conectați la un VPN.

Este necesar să includeți accesul offline în parametrul domeniului de aplicare al configurației dvs. OIDC pentru furnizorii OIDC care acceptă domeniul de aplicare al accesului offline. Firezone-ctl reconfigure trebuie executată pentru a aplica modificări la fișierul de configurare Firezone, care se află la /etc/firezone/firezone.rb.

Pentru utilizatorii care au fost autentificați de furnizorul dvs. OIDC, veți vedea antetul Conexiuni OIDC în pagina de detalii utilizator a interfeței de utilizare web, dacă Firezone poate prelua cu succes jetonul de reîmprospătare.

Dacă acest lucru nu funcționează, va trebui să ștergeți aplicația OAuth existentă și să repetați pașii de configurare OIDC pentru creați o nouă integrare a aplicației .

Am o integrare OAuth existentă

Înainte de 0.3.11, Firezone folosea furnizori OAuth2 preconfigurați. 

Urmează instrucțiunile aici pentru a migra la OIDC.

Nu am integrat un furnizor de identitate

Nici o actiune necesara. 

Puteți urma instrucțiunile aici pentru a activa SSO printr-un furnizor OIDC.

Actualizați de la 0.3.1 la >= 0.3.2

În locul său, default['firezone']['external url'] a înlocuit opțiunea de configurare default['firezone']['fqdn']. 

Setați acest lucru la adresa URL a portalului dvs. online Firezone, care este accesibil publicului larg. Acesta va fi implicit https:// plus FQDN-ul serverului dvs. dacă este lăsat nedefinit.

Fișierul de configurare se află la /etc/firezone/firezone.rb. Consultați referința fișierului de configurare pentru o listă completă a variabilelor de configurare și descrierile acestora.

Faceți upgrade de la 0.2.x la 0.3.x

Firezone nu mai păstrează cheile private ale dispozitivului pe serverul Firezone începând cu versiunea 0.3.0. 

Interfața de utilizare web Firezone nu vă va permite să descărcați din nou sau să vedeți aceste configurații, dar orice dispozitive existente ar trebui să continue să funcționeze așa cum este.

Faceți upgrade de la 0.1.x la 0.2.x

Dacă faceți upgrade de la Firezone 0.1.x, există câteva modificări ale fișierului de configurare care trebuie abordate manual. 

Pentru a face modificările necesare fișierului /etc/firezone/firezone.rb, executați comenzile de mai jos ca root.

 

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

sed -i „s/\['activat'\]/\['activat'\]/” /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

reconfigurează firezone-ctl

reporniți firezone-ctl

Depanare

Verificarea jurnalelor Firezone este un prim pas înțelept pentru orice probleme care pot apărea.

Rulați sudo firezone-ctl tail pentru a vedea jurnalele Firezone.

Depanarea problemelor de conectivitate

Majoritatea problemelor de conectivitate cu Firezone sunt cauzate de regulile iptables sau nftables incompatibile. Trebuie să vă asigurați că orice reguli pe care le aveți în vigoare nu intră în conflict cu regulile Firezone.

Conexiunea la internet scade când tunelul este activ

Asigurați-vă că lanțul FORWARD permite pachete de la clienții dvs. WireGuard către locațiile pe care doriți să le lăsați să treacă prin Firezone dacă conectivitatea dvs. la Internet se deteriorează de fiecare dată când activați tunelul WireGuard.

 

Acest lucru se poate realiza dacă utilizați ufw, asigurându-vă că politica implicită de rutare este permisă:

 

ubuntu@fz:~$ sudo ufw default allow routed

Politica implicită de direcționare a fost schimbată în „permite”

(asigurați-vă că vă actualizați regulile în consecință)

 

A Wow starea unui server Firezone tipic ar putea arăta astfel:

 

ubuntu@fz:~$ sudo ufw status verbose

Stare: activ

Înregistrare: activată (scăzută)

Implicit: deny (incoming), allow (outgoing), allow (direcționat)

Profiluri noi: săriți

 

La Acțiune De la

— —— —-

22/tcp PERMITERE PENTRU Oriunde

80/tcp PERMITERE PENTRU Oriunde

443/tcp PERMITERE PENTRU Oriunde

51820/udp PERMITĂ IN Oriunde

22/tcp (v6) PERMITĂȚI oriunde (v6)

80/tcp (v6) PERMITĂȚI oriunde (v6)

443/tcp (v6) PERMITERE Oriunde (v6)

51820/udp (v6) PERMITERE Oriunde (v6)

Considerații de securitate

Vă sfătuim să limitați accesul la interfața web pentru implementări de producție extrem de sensibile și critice, așa cum este explicat mai jos.

Servicii și porturi

 

serviciu

Port implicit

Ascultați Adresa

Descriere

nginx

80, 443

toate

Port HTTP(S) public pentru administrarea Firezone și pentru facilitarea autentificării.

Garda de sârmă

51820

toate

Port WireGuard public utilizat pentru sesiunile VPN. (UDP)

postgresql

15432

127.0.0.1

Port doar local utilizat pentru serverul Postgresql inclus.

Fenix

13000

127.0.0.1

Port doar local utilizat de serverul de aplicații Elixir din amonte.

Implementări de producție

Vă sfătuim să vă gândiți să restricționați accesul la interfața de utilizare web a Firezone expusă public (porturile implicite 443/tcp și 80/tcp) și, în schimb, să utilizați tunelul WireGuard pentru a gestiona Firezone pentru implementări de producție și publice, unde un singur administrator va fi responsabil. de creare și distribuire a configurațiilor dispozitivelor către utilizatorii finali.

 

De exemplu, dacă un administrator a creat o configurație a dispozitivului și a creat un tunel cu adresa locală WireGuard 10.3.2.2, următoarea configurație ufw ar permite administratorului să acceseze interfața web Firezone pe interfața wg-firezone a serverului folosind 10.3.2.1 implicit. adresa tunelului:

 

root@demo:~# ufw status verbose

Stare: activ

Înregistrare: activată (scăzută)

Implicit: deny (incoming), allow (outgoing), allow (direcționat)

Profiluri noi: săriți

 

La Acțiune De la

— —— —-

22/tcp PERMITERE PENTRU Oriunde

51820/udp PERMITĂ IN Oriunde

Oriunde PERMITERE ÎN 10.3.2.2

22/tcp (v6) PERMITĂȚI oriunde (v6)

51820/udp (v6) PERMITERE Oriunde (v6)

Asta ar pleca doar 22 / tcp expus pentru acces SSH pentru a gestiona serverul (opțional) și 51820/udp expuse pentru a stabili tuneluri WireGuard.

Rulați interogări SQL

Firezone include un server Postgresql și potrivire psql utilitar care poate fi folosit din shell-ul local astfel:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d firezone \

  -h localhost \

  -p 15432 \

  -c „SQL_STATEMENT”

 

Acest lucru poate fi util în scopuri de depanare.

 

Sarcini comune:

 

  • Listarea tuturor utilizatorilor
  • Listarea tuturor dispozitivelor
  • Schimbarea rolului unui utilizator
  • Copierea de rezervă a bazei de date



Listarea tuturor utilizatorilor:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d firezone \

  -h localhost \

  -p 15432 \

  -c „SELECT * FROM users;”



Listarea tuturor dispozitivelor:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d firezone \

  -h localhost \

  -p 15432 \

  -c „SELECT * FROM devices;”



Schimbați un rol de utilizator:

 

Setați rolul la „admin” sau „neprivilegiat”:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d firezone \

  -h localhost \

  -p 15432 \

  -c „UPDATE users SET role = 'admin' WHERE email = 'user@example.com';”



Copiere de rezervă a bazei de date:

 

În plus, este inclus programul pg dump, care poate fi folosit pentru a face copii de rezervă regulate ale bazei de date. Executați următorul cod pentru a descărca o copie a bazei de date în formatul obișnuit de interogare SQL (înlocuiți /path/to/backup.sql cu locația în care ar trebui creat fișierul SQL):

 

/opt/firezone/embedded/bin/pg_dump \

  -U firezone \

  -d firezone \

  -h localhost \

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

Ghiduri de utilizare

  • Adăugați utilizatori
  • Adăugați dispozitive
  • Reguli de ieșire
  • Instrucțiuni pentru client
  • Split Tunnel VPN
  • Tunel invers 
  • Gateway NAT

Adăugați utilizatori

După ce Firezone a fost implementat cu succes, trebuie să adăugați utilizatori pentru a le oferi acces la rețeaua dvs. Interfața de utilizare web este utilizată pentru a face acest lucru.

 

UI web


Selectând butonul „Adăugați utilizator” de sub /users, puteți adăuga un utilizator. Vi se va cere să furnizați utilizatorului o adresă de e-mail și o parolă. Pentru a permite accesul automat utilizatorilor din organizația dvs., Firezone poate, de asemenea, să interfațeze și să se sincronizeze cu un furnizor de identitate. Mai multe detalii sunt disponibile în Autentifica. < Adăugați un link pentru autentificare

Adăugați dispozitive

Vă sfătuim să solicitați utilizatorilor să își creeze propriile configurații de dispozitiv, astfel încât cheia privată să fie vizibilă numai pentru ei. Utilizatorii își pot genera propriile configurații de dispozitiv urmând instrucțiunile de pe Instrucțiuni pentru client pagină.

 

Se generează configurația dispozitivului de administrare

Toate configurațiile dispozitivelor utilizatorului pot fi create de administratorii Firezone. Pe pagina de profil de utilizator situată la /users, selectați opțiunea „Adăugați dispozitiv” pentru a realiza acest lucru.

 

[Inserați captură de ecran]

 

Puteți e-mail utilizatorului fișierul de configurare WireGuard după crearea profilului dispozitivului.

 

Utilizatorii și dispozitivele sunt conectate. Pentru mai multe detalii despre cum să adăugați un utilizator, consultați Adăugați utilizatori.

Reguli de ieșire

Prin utilizarea sistemului netfilter al nucleului, Firezone permite capacitățile de filtrare a ieșirii pentru a specifica pachetele DROP sau ACCEPT. În mod normal, întregul trafic este permis.

 

IPv4 și IPv6 CIDR și adresele IP sunt acceptate prin Allowlist și, respectiv, Denylist. Puteți alege să definiți o regulă pentru un utilizator atunci când o adăugați, care aplică regula tuturor dispozitivelor utilizatorului respectiv.

Instrucțiuni pentru client

Instalați și configurați

Pentru a stabili o conexiune VPN folosind clientul nativ WireGuard, consultați acest ghid.

 

1. Instalați clientul nativ WireGuard

 

Clienții oficiali WireGuard localizați aici sunt compatibili cu Firezone:

 

MacOS

 

ferestre din

 

iOS

 

Android

 

Vizitați site-ul web oficial WireGuard la https://www.wireguard.com/install/ pentru sistemele OS care nu sunt menționate mai sus.

 

2. Descărcați fișierul de configurare a dispozitivului

 

Administratorul dvs. Firezone sau dvs. puteți genera fișierul de configurare a dispozitivului folosind portalul Firezone.

 

Accesați adresa URL furnizată de administratorul dvs. Firezone pentru a genera singur un fișier de configurare a dispozitivului. Firma dvs. va avea o adresă URL unică pentru aceasta; în acest caz, este https://instance-id.yourfirezone.com.

 

Conectați-vă la Firezone Okta SSO

 

[Inserați captură de ecran]

 

3. Adăugați configurația clientului

 

Importați fișierul.conf în clientul WireGuard deschizându-l. Prin răsucirea comutatorului Activare, puteți începe o sesiune VPN.

 

[Inserați captură de ecran]

Reautentificarea sesiunii

Urmați instrucțiunile de mai jos dacă administratorul de rețea a impus autentificarea recurentă pentru a vă menține conexiunea VPN activă. 



Ai nevoie:

 

Adresa URL a portalului Firezone: Solicitați conexiunea administratorului de rețea.

Administratorul dvs. de rețea ar trebui să poată oferi datele dvs. de conectare și parola. Site-ul Firezone vă va solicita să vă conectați utilizând serviciul de conectare unică pe care îl folosește angajatorul dvs. (cum ar fi Google sau Okta).

 

1. Opriți conexiunea VPN

 

[Inserați captură de ecran]

 

2. Autentificați-vă din nou 

Accesați adresa URL a portalului Firezone și conectați-vă utilizând acreditările pe care le-a furnizat administratorul de rețea. Dacă sunteți deja conectat, faceți clic pe butonul Reautentificare înainte de a vă conecta din nou.

 

[Inserați captură de ecran]

 

Pasul 3: Lansați o sesiune VPN

[Inserați captură de ecran]

Manager de rețea pentru Linux

Pentru a importa profilul de configurare WireGuard folosind Network Manager CLI pe dispozitivele Linux, urmați aceste instrucțiuni (nmcli).

NOTĂ

Dacă profilul are suportul IPv6 activat, încercarea de a importa fișierul de configurare folosind GUI Network Manager poate eșua cu următoarea eroare:

ipv6.method: metoda „auto” nu este acceptată pentru WireGuard

1. Instalați instrumentele WireGuard 

Este necesar să instalați utilitățile spațiului utilizator WireGuard. Acesta va fi un pachet numit wireguard sau wireguard-tools pentru distribuțiile Linux.

Pentru Ubuntu/Debian:

sudo apt install wireguard

Pentru a utiliza Fedora:

sudo dnf install wireguard-tools

Arch Linux:

sudo pacman -S wireguard-tools

Vizitați site-ul web oficial WireGuard la https://www.wireguard.com/install/ pentru distribuțiile care nu sunt menționate mai sus.

2. Descărcați configurația 

Fie administratorul Firezone, fie autogenerarea poate genera fișierul de configurare a dispozitivului folosind portalul Firezone.

Accesați adresa URL furnizată de administratorul dvs. Firezone pentru a genera singur un fișier de configurare a dispozitivului. Firma dvs. va avea o adresă URL unică pentru aceasta; în acest caz, este https://instance-id.yourfirezone.com.

[Inserați captură de ecran]

3. Importați setările

Importați fișierul de configurare furnizat folosind nmcli:

sudo nmcli tip de import fișier wireguard /path/to/configuration.conf

NOTĂ

Numele fișierului de configurare va corespunde conexiunii/interfeței WireGuard. După import, conexiunea poate fi redenumită dacă este necesar:

conexiune nmcli modifică [nume vechi] connection.id [nume nou]

4. Conectați sau deconectați

Prin linia de comandă, conectați-vă la VPN după cum urmează:

conexiune nmcli sus [nume VPN]

Pentru a vă deconecta:

conexiune nmcli jos [nume VPN]

Aplicația Network Manager aplicabilă poate fi utilizată și pentru a gestiona conexiunea dacă utilizați o interfață grafică.

Conexiune automată

Selectând „da” pentru opțiunea de conectare automată, conexiunea VPN poate fi configurată să se conecteze automat:

 

conexiune nmcli modifica conexiunea [nume VPN]. <<<<<<<<<<<<<<<<<<<<<<<

 

autoconectare da

 

Pentru a dezactiva conexiunea automată, setați-o înapoi la nu:

 

conexiune nmcli modifica conexiunea [nume VPN].

 

autoconectare nr

Faceți disponibilă autentificarea cu mai mulți factori

Pentru a activa MFA Accesați pagina /contul de utilizator/înregistrați mfa a portalului Firezone. Utilizați aplicația de autentificare pentru a scana codul QR după ce acesta a fost generat, apoi introduceți codul din șase cifre.

Contactați administratorul pentru a reseta informațiile de acces ale contului dvs. dacă pierdeți aplicația de autentificare.

Split Tunnel VPN

Acest tutorial vă va ghida prin procesul de configurare a funcției de tunel împărțit WireGuard cu Firezone, astfel încât numai traficul către anumite intervale de IP să fie redirecționat prin serverul VPN.

 

1. Configurați IP-urile permise 

Intervalele IP pentru care clientul va direcționa traficul de rețea sunt stabilite în câmpul IP-uri permise situat pe pagina /settings/default. Doar configurațiile de tunel WireGuard nou create produse de Firezone vor fi afectate de modificările aduse acestui câmp.

 

[Inserați captură de ecran]



Valoarea implicită este 0.0.0.0/0, ::/0, care direcționează tot traficul de rețea de la client la serverul VPN.

 

Exemple de valori din acest câmp includ:

 

0.0.0.0/0, ::/0 – tot traficul de rețea va fi direcționat către serverul VPN.

192.0.2.3/32 – numai traficul către o singură adresă IP va fi direcționat către serverul VPN.

3.5.140.0/22 ​​– numai traficul către IP-uri din intervalul 3.5.140.1 – 3.5.143.254 va fi direcționat către serverul VPN. În acest exemplu, a fost utilizat intervalul CIDR pentru regiunea AWS ap-northeast-2.



NOTĂ

Firezone selectează mai întâi interfața de ieșire asociată cu cea mai precisă rută atunci când determină unde să direcționeze un pachet.

 

2. Regenerați configurațiile WireGuard

Utilizatorii trebuie să regenereze fișierele de configurare și să le adauge la clientul lor nativ WireGuard pentru a actualiza dispozitivele utilizator existente cu noua configurație de tunel divizat.

 

Pentru instrucțiuni, consultați adăugați dispozitiv. <<<<<<<<<<< Adăugați link

Tunel invers

Acest manual va demonstra cum să conectați două dispozitive folosind Firezone ca releu. Un caz tipic de utilizare este acela de a permite unui administrator să acceseze un server, un container sau o mașină care este protejată de un NAT sau firewall.

 

Nod la Nod 

Această ilustrație arată un scenariu simplu în care Dispozitivele A și B construiesc un tunel.

 

[Inserați imaginea arhitecturală Firezone]

 

Începeți prin a crea Dispozitivul A și Dispozitivul B navigând la /users/[user_id]/new_device. În setările pentru fiecare dispozitiv, asigurați-vă că următorii parametri sunt setați la valorile enumerate mai jos. Puteți seta setările dispozitivului când creați configurația dispozitivului (consultați Adăugarea dispozitivelor). Dacă trebuie să actualizați setările pe un dispozitiv existent, puteți face acest lucru generând o nouă configurare a dispozitivului.

 

Rețineți că toate dispozitivele au o pagină /settings/defaults unde PersistentKeepalive poate fi configurat.

 

Dispozitivul A

 

AllowedIPs = 10.3.2.2/32

  Acesta este IP-ul sau intervalul de IP-uri ale dispozitivului B

PersistentKeepalive = 25

  Dacă dispozitivul se află în spatele unui NAT, acest lucru asigură că dispozitivul este capabil să mențină tunelul în viață și să continue să primească pachete de la interfața WireGuard. De obicei, o valoare de 25 este suficientă, dar poate fi necesar să scădeți această valoare în funcție de mediul dumneavoastră.



dispozitiv B

 

AllowedIPs = 10.3.2.3/32

Acesta este IP-ul sau intervalul de IP-uri ale dispozitivului A

PersistentKeepalive = 25

Caz de administrare - Unu la multe noduri

Acest exemplu arată o situație în care Dispozitivul A poate comunica cu Dispozitivele B prin D în ambele direcții. Această configurare poate reprezenta un inginer sau un administrator care accesează numeroase resurse (servere, containere sau mașini) prin diferite rețele.

 

[Diagrama arhitecturală]<<<<<<<<<<<<<<<<<<<<<<<<

 

Asigurați-vă că următoarele setări sunt făcute în setările fiecărui dispozitiv la valorile corespunzătoare. Când creați configurația dispozitivului, puteți specifica setările dispozitivului (consultați Adăugarea dispozitivelor). O nouă configurare a dispozitivului poate fi creată dacă setările de pe un dispozitiv existent trebuie actualizate.

 

Dispozitiv A (Nod Administrator)

 

IP-uri permise = 10.3.2.3/32, 10.3.2.4/32, 10.3.2.5/32 

    Acesta este IP-ul dispozitivelor de la B la D. IP-urile dispozitivelor B la D trebuie incluse în orice interval IP pe care alegeți să îl setați.

PersistentKeepalive = 25 

    Acest lucru garantează că dispozitivul poate menține tunelul și poate continua să primească pachete de la interfața WireGuard chiar dacă este protejat de un NAT. În cele mai multe cazuri, o valoare de 25 este adecvată, totuși, în funcție de mediul înconjurător, ar putea fi necesar să reduceți această cifră.

 

Dispozitivul B

 

  • AllowedIPs = 10.3.2.2/32: acesta este IP-ul sau intervalul de IP-uri ale dispozitivului A
  • PersistentKeepalive = 25

Dispozitivul C

 

  • AllowedIPs = 10.3.2.2/32: acesta este IP-ul sau intervalul de IP-uri ale dispozitivului A
  • PersistentKeepalive = 25

Dispozitivul D

 

  • AllowedIPs = 10.3.2.2/32: acesta este IP-ul sau intervalul de IP-uri ale dispozitivului A
  • PersistentKeepalive = 25

Gateway NAT

Pentru a oferi o singură IP statică de ieșire din care să curgă întregul trafic al echipei, Firezone poate fi utilizat ca gateway NAT. Aceste situații implică utilizarea frecventă a acestuia:

 

Interacțiuni de consultanță: Solicitați clientului dvs. să înscrie o singură adresă IP statică, mai degrabă decât IP-ul unic al dispozitivului fiecărui angajat.

Utilizarea unui proxy sau mascarea IP-ului sursă în scopuri de securitate sau confidențialitate.

 

Un exemplu simplu de limitare a accesului la o aplicație web auto-găzduită la un singur IP static inclus pe lista albă care rulează Firezone va fi demonstrat în această postare. În această ilustrație, Firezone și resursa protejată se află în diferite zone VPC.

 

Această soluție este folosită frecvent în locul gestionării unei liste albe de IP pentru numeroși utilizatori finali, ceea ce poate consuma mult timp pe măsură ce lista de acces se extinde.

Exemplu AWS

Obiectivul nostru este de a configura un server Firezone pe o instanță EC2 pentru a redirecționa traficul VPN către resursa restricționată. În acest caz, Firezone servește ca proxy de rețea sau gateway NAT pentru a oferi fiecărui dispozitiv conectat un IP public unic de ieșire.

 

1. Instalați serverul Firezone

În acest caz, o instanță EC2 numită tc2.micro are instalată o instanță Firezone. Pentru informații despre implementarea Firezone, accesați Ghidul de implementare. În legătură cu AWS, asigurați-vă că:

 

Grupul de securitate al instanței Firezone EC2 permite traficul de ieșire către adresa IP a resursei protejate.

Instanța Firezone vine cu un IP elastic. Traficul care este redirecționat prin instanța Firezone către destinații externe va avea aceasta ca adresă IP sursă. Adresa IP în cauză este 52.202.88.54.

 

[Inserați captură de ecran]<<<<<<<<<<<<<<<<<<<<<<<<<

 

2. Restricționați accesul la resursa care este protejată

O aplicație web auto-găzduită servește ca resursă protejată în acest caz. Aplicația web poate fi accesată numai prin solicitări venite de la adresa IP 52.202.88.54. În funcție de resursă, poate fi necesar să se permită traficul de intrare pe diferite porturi și tipuri de trafic. Acest lucru nu este tratat în acest manual.

 

[Inserați captură de ecran]<<<<<<<<<<<<<<<<<<<<<<<<<

 

Vă rugăm să spuneți terțului responsabil de resursa protejată că traficul de la IP-ul static definit la Pasul 1 trebuie să fie permis (în acest caz 52.202.88.54).

 

3. Utilizați serverul VPN pentru a direcționa traficul către resursa protejată

 

În mod implicit, tot traficul utilizatorului va trece prin serverul VPN și va veni de la IP-ul static care a fost configurat în Pasul 1 (în acest caz 52.202.88.54). Cu toate acestea, dacă tunelul divizat a fost activat, pot fi necesare setări pentru a vă asigura că IP-ul de destinație al resursei protejate este listat printre IP-urile permise.

Adăugați aici textul pentru titlu

Mai jos este prezentată o listă completă a opțiunilor de configurare disponibile în /etc/firezone/firezone.rb.



opțiune

descriere

valoare implicită

implicit['firezone']['external_url']

Adresa URL utilizată pentru a accesa portalul web al acestei instanțe Firezone.

„https://#{nod['fqdn'] || nod['nume gazdă']}”

implicit['firezone']['config_directory']

Director de nivel superior pentru configurarea Firezone.

/etc/firezone'

implicit['firezone']['install_directory']

Directorul de nivel superior în care să instalați Firezone.

/opt/firezone'

implicit['firezone']['app_directory']

Director de nivel superior pentru a instala aplicația web Firezone.

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

implicit['firezone']['log_directory']

Director de nivel superior pentru jurnalele Firezone.

/var/log/firezone'

implicit['firezone']['var_directory']

Director de nivel superior pentru fișierele de execuție Firezone.

/var/opt/firezone'

implicit['firezone']['utilizator']

Numele utilizatorului Linux neprivilegiat căruia îi vor aparține majoritatea serviciilor și fișierelor.

zona de foc'

implicit['firezone']['grup']

Numele grupului Linux căruia îi vor aparține majoritatea serviciilor și fișierelor.

zona de foc'

implicit['firezone']['admin_email']

Adresă de e-mail pentru utilizatorul Firezone inițial.

„firezone@localhost”

implicit['firezone']['max_devices_per_user']

Numărul maxim de dispozitive pe care le poate avea un utilizator.

10

implicit['firezone']['allow_unprivileged_device_management']

Permite utilizatorilor care nu sunt administratori să creeze și să șteargă dispozitive.

TRUE

implicit['firezone']['allow_unprivileged_device_configuration']

Permite utilizatorilor non-administratori să modifice configurațiile dispozitivului. Când este dezactivat, împiedică utilizatorii neprivilegiati să modifice toate câmpurile dispozitivului, cu excepția numelui și a descrierii.

TRUE

implicit['firezone']['egress_interface']

Numele interfeței de unde va ieși traficul tunelizat. Dacă nul, va fi utilizată interfața implicită de rută.

zero

implicit['firezone']['fips_enabled']

Activați sau dezactivați modul OpenSSL FIPs.

zero

implicit['firezone']['logging']['activat']

Activați sau dezactivați înregistrarea în Firezone. Setați la false pentru a dezactiva complet înregistrarea.

TRUE

implicit['întreprindere']['nume']

Nume folosit de cartea de bucate „întreprindere” a Bucătarului.

zona de foc'

implicit['firezone']['install_path']

Calea de instalare folosită de cartea de bucate „întreprindere” Chef. Ar trebui să fie setat la același lucru cu directorul_instalare de mai sus.

nod['firezone']['install_directory']

implicit['firezone']['sysvinit_id']

Un identificator folosit în /etc/inittab. Trebuie să fie o secvență unică de 1-4 caractere.

CINA'

implicit['firezone']['autentificare']['local']['activat']

Activați sau dezactivați autentificarea locală prin e-mail/parolă.

TRUE

implicit['firezone']['authentication']['auto_create_oidc_users']

Creați automat utilizatori care se conectează de la OIDC pentru prima dată. Dezactivați pentru a permite numai utilizatorilor existenți să se conecteze prin OIDC.

TRUE

implicit['firezone']['authentication']['disable_vpn_on_oidc_error']

Dezactivați VPN-ul unui utilizator dacă este detectată o eroare în încercarea de a-și reîmprospăta indicativul OIDC.

FALS

implicit['firezone']['autentificare']['oidc']

Config OpenID Connect, în formatul de {“provider” => [config…]} – Vezi Documentația OpenIDConnect pentru exemple de configurare.

{}

implicit['firezone']['nginx']['activat']

Activați sau dezactivați serverul nginx inclus.

TRUE

implicit['firezone']['nginx']['ssl_port']

Port de ascultare HTTPS.

443

implicit['firezone']['nginx']['director']

Director pentru stocarea configurației gazdei virtuale nginx legate de Firezone.

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

implicit['firezone']['nginx']['log_directory']

Director pentru a stoca fișierele jurnal nginx legate de Firezone.

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

implicit['firezone']['nginx']['log_rotation']['file_maxbytes']

Dimensiunea fișierului la care să rotiți fișierele jurnal Nginx.

104857600

implicit['firezone']['nginx']['log_rotation']['num_to_keep']

Numărul de fișiere jurnal Firezone nginx de păstrat înainte de a le arunca.

10

implicit['firezone']['nginx']['log_x_forwarded_for']

Dacă să înregistrați antetul Firezone nginx x-forwarded-for.

TRUE

implicit['firezone']['nginx']['hsts_header']['activat']

Activați sau dezactivați HSTS.

TRUE

implicit['firezone']['nginx']['hsts_header']['include_subdomains']

Activați sau dezactivați includeSubDomains pentru antetul HSTS.

TRUE

implicit['firezone']['nginx']['hsts_header']['max_age']

Vârsta maximă pentru antetul HSTS.

31536000

implicit['firezone']['nginx']['redirect_to_canonical']

Dacă se redirecționează adresele URL către FQDN-ul canonic specificat mai sus

FALS

implicit['firezone']['nginx']['cache']['activat']

Activați sau dezactivați memoria cache nginx Firezone.

FALS

implicit['firezone']['nginx']['cache']['director']

Director pentru cache-ul Firezone nginx.

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

implicit['firezone']['nginx']['utilizator']

Utilizator Firezone nginx.

nod['firezone']['utilizator']

implicit['firezone']['nginx']['grup']

Grupul Firezone nginx.

nod['firezone']['grup']

implicit['firezone']['nginx']['dir']

Director de configurare nginx de nivel superior.

nod['firezone']['nginx']['director']

implicit['firezone']['nginx']['log_dir']

Directorul de jurnal nginx de nivel superior.

nod['firezone']['nginx']['log_directory']

implicit['firezone']['nginx']['pid']

Locație pentru fișierul pid nginx.

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

implicit['firezone']['nginx']['daemon_disable']

Dezactivați modul demon nginx, astfel încât să îl putem monitoriza.

TRUE

implicit['firezone']['nginx']['gzip']

Activați sau dezactivați compresia nginx gzip.

pe'

implicit['firezone']['nginx']['gzip_static']

Activați sau dezactivați compresia nginx gzip pentru fișierele statice.

oprit'

implicit['firezone']['nginx']['gzip_http_version']

Versiunea HTTP de utilizat pentru difuzarea fișierelor statice.

1.0 '

implicit['firezone']['nginx']['gzip_comp_level']

nivelul de compresie nginx gzip.

2 '

implicit['firezone']['nginx']['gzip_proxied']

Activează sau dezactivează gzipping-ul răspunsurilor pentru cererile proxy, în funcție de cerere și răspuns.

orice'

implicit['firezone']['nginx']['gzip_vary']

Activează sau dezactivează inserarea antetului de răspuns „Vary: Accept-Encoding”.

oprit'

implicit['firezone']['nginx']['gzip_buffers']

Setează numărul și dimensiunea bufferelor utilizate pentru a comprima un răspuns. Dacă nul, se folosește implicit nginx.

zero

implicit['firezone']['nginx']['gzip_types']

Tipuri MIME pentru a activa compresia gzip.

['text/plain', 'text/css','application/x-javascript', 'text/xml', 'application/xml', 'application/rss+xml', 'application/atom+xml', ' text/javascript', 'application/javascript', 'application/json']

implicit['firezone']['nginx']['gzip_min_length']

Lungimea minimă a fișierului pentru a activa compresia gzip a fișierului.

1000

implicit['firezone']['nginx']['gzip_disable']

Potrivire agent utilizator pentru a dezactiva compresia gzip pentru.

MSIE [1-6]\.'

implicit['firezone']['nginx']['keepalive']

Activează memoria cache pentru conectarea la serverele din amonte.

pe'

implicit['firezone']['nginx']['keepalive_timeout']

Timeout în secunde pentru conexiunea keepalive la serverele din amonte.

65

implicit['firezone']['nginx']['worker_processes']

Numărul de procese de lucru nginx.

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

implicit['firezone']['nginx']['worker_connections']

Numărul maxim de conexiuni simultane care pot fi deschise de un proces de lucru.

1024

implicit['firezone']['nginx']['worker_rlimit_nofile']

Modifică limita numărului maxim de fișiere deschise pentru procesele de lucru. Folosește nginx implicit dacă nul.

zero

implicit['firezone']['nginx']['multi_accept']

Dacă lucrătorii ar trebui să accepte o conexiune la un moment dat sau mai multe.

TRUE

implicit['firezone']['nginx']['eveniment']

Specifică metoda de procesare a conexiunii de utilizat în contextul evenimentelor nginx.

epoll'

implicit['firezone']['nginx']['server_tokens']

Activează sau dezactivează emiterea versiunii nginx pe paginile de eroare și în câmpul antet de răspuns „Server”.

zero

implicit['firezone']['nginx']['server_names_hash_bucket_size']

Setează dimensiunea compartimentului pentru tabelele hash de nume de server.

64

implicit['firezone']['nginx']['sendfile']

Activează sau dezactivează utilizarea sendfile() al lui nginx.

pe'

implicit['firezone']['nginx']['access_log_options']

Setează opțiunile de jurnal de acces nginx.

zero

implicit['firezone']['nginx']['error_log_options']

Setează opțiunile de jurnal de erori nginx.

zero

implicit['firezone']['nginx']['disable_access_log']

Dezactivează jurnalul de acces nginx.

FALS

implicit['firezone']['nginx']['types_hash_max_size']

nginx tipuri hash dimensiune maximă.

2048

implicit['firezone']['nginx']['types_hash_bucket_size']

dimensiunea găleții hash tipuri nginx.

64

implicit['firezone']['nginx']['proxy_read_timeout']

timeout de citire proxy nginx. Setați la zero pentru a utiliza implicit nginx.

zero

implicit['firezone']['nginx']['client_body_buffer_size']

dimensiunea bufferului corpului clientului nginx. Setați la zero pentru a utiliza implicit nginx.

zero

implicit['firezone']['nginx']['client_max_body_size']

Dimensiunea maximă a corpului clientului nginx.

250 m'

implicit['firezone']['nginx']['default']['module']

Specificați module suplimentare nginx.

[]

implicit['firezone']['nginx']['enable_rate_limiting']

Activați sau dezactivați limitarea ratei nginx.

TRUE

implicit['firezone']['nginx']['rate_limiting_zone_name']

Numele zonei de limitare a ratei Nginx.

zona de foc'

implicit['firezone']['nginx']['rate_limiting_backoff']

Rata Nginx limitează retragerea.

10 m'

implicit['firezone']['nginx']['rate_limit']

Limită de rată Nginx.

10r/s'

implicit['firezone']['nginx']['ipv6']

Permiteți lui nginx să asculte solicitările HTTP pentru IPv6 în plus față de IPv4.

TRUE

implicit['firezone']['postgresql']['activat']

Activați sau dezactivați pachetul Postgresql. Setați la false și completați opțiunile bazei de date de mai jos pentru a utiliza propria instanță Postgresql.

TRUE

implicit['firezone']['postgresql']['nume utilizator']

Nume de utilizator pentru Postgresql.

nod['firezone']['utilizator']

implicit['firezone']['postgresql']['data_directory']

Directorul de date Postgresql.

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

implicit['firezone']['postgresql']['log_directory']

Directorul de jurnal Postgresql.

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

implicit['firezone']['postgresql']['log_rotation']['file_maxbytes']

Dimensiunea maximă a fișierului jurnal Postgresql înainte de a fi rotit.

104857600

implicit['firezone']['postgresql']['log_rotation']['num_to_keep']

Numărul de fișiere jurnal Postgresql de păstrat.

10

implicit['firezone']['postgresql']['checkpoint_completion_target']

Ținta de finalizare a punctului de control Postgresql.

0.5

implicit['firezone']['postgresql']['checkpoint_segments']

Numărul de segmente de punct de control Postgresql.

3

implicit['firezone']['postgresql']['checkpoint_timeout']

Timeout pentru punctul de control Postgresql.

5 minute'

implicit['firezone']['postgresql']['checkpoint_warning']

Timpul de avertizare al punctului de control Postgresql în secunde.

anii 30

implicit['firezone']['postgresql']['effective_cache_size']

Dimensiunea efectivă a memoriei cache Postgresql.

128 MB'

implicit['firezone']['postgresql']['listen_address']

Adresă de ascultare Postgresql.

127.0.0.1 '

implicit['firezone']['postgresql']['max_connections']

Conexiuni Postgresql max.

350

implicit['firezone']['postgresql']['md5_auth_cidr_addresses']

CIDR-urile Postgresql pentru a permite autentificarea md5.

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

implicit['firezone']['postgresql']['port']

Port de ascultare Postgresql.

15432

implicit['firezone']['postgresql']['shared_buffers']

Dimensiunea bufferelor partajate Postgresql.

„#{(nod['memorie']['total'].to_i / 4) / 1024}MB”

implicit['firezone']['postgresql']['shmmax']

Postgresql shmmax în octeți.

17179869184

implicit['firezone']['postgresql']['shmall']

Postgresql shmall în octeți.

4194304

implicit['firezone']['postgresql']['work_mem']

Dimensiunea memoriei de lucru Postgresql.

8 MB'

implicit['firezone']['bază de date']['utilizator']

Specifică numele de utilizator pe care îl va folosi Firezone pentru a se conecta la DB.

nod['firezone']['postgresql']['nume utilizator']

implicit['firezone']['bază de date']['parolă']

Dacă utilizați o DB externă, specifică parola pe care Firezone o va folosi pentru a se conecta la DB.

schimba-ma'

implicit['firezone']['bază de date']['nume']

Baza de date pe care o va folosi Firezone. Va fi creat dacă nu există.

zona de foc'

implicit['firezone']['bază de date']['gazdă']

Gazda bazei de date la care se va conecta Firezone.

node['firezone']['postgresql']['listen_address']

implicit['firezone']['bază de date']['port']

Portul bazei de date la care se va conecta Firezone.

nod['firezone']['postgresql']['port']

implicit['firezone']['bază de date']['pool']

Dimensiunea pool-ului de baze de date va folosi Firezone.

[10, Etc.nprocesoare].max

implicit['firezone']['bază de date']['ssl']

Dacă să vă conectați la baza de date prin SSL.

FALS

implicit['firezone']['bază de date']['ssl_opts']

Hash de opțiuni de trimis la opțiunea :ssl_opts atunci când vă conectați prin SSL. Vedea Documentația Ecto.Adapters.Postgres.

{}

implicit['firezone']['bază de date']['parametri']

Hash de parametri de trimis la opțiunea :parameters atunci când vă conectați la baza de date. Vedea Documentația Ecto.Adapters.Postgres.

{}

implicit['firezone']['bază de date']['extensii']

Extensii de baze de date de activat.

{ 'plpgsql' => adevărat, 'pg_trgm' => adevărat }

implicit['firezone']['phoenix']['activat']

Activați sau dezactivați aplicația web Firezone.

TRUE

implicit['firezone']['phoenix']['listen_address']

Adresa de ascultare a aplicației web Firezone. Aceasta va fi adresa de ascultare în amonte pe care nginx o oferă proxy.

127.0.0.1 '

implicit['firezone']['phoenix']['port']

Port de ascultare a aplicației web Firezone. Acesta va fi portul din amonte pe care nginx îl folosește.

13000

implicit['firezone']['phoenix']['log_directory']

Directorul de jurnal al aplicației web Firezone.

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

implicit['firezone']['phoenix']['log_rotation']['file_maxbytes']

Dimensiunea fișierului jurnal al aplicației web Firezone.

104857600

implicit['firezone']['phoenix']['log_rotation']['num_to_keep']

Numărul de fișiere jurnal ale aplicației web Firezone de păstrat.

10

implicit['firezone']['phoenix']['crash_detection']['activat']

Activați sau dezactivați oprirea aplicației web Firezone atunci când este detectată o blocare.

TRUE

implicit['firezone']['phoenix']['external_trusted_proxies']

Lista proxy-urilor inverse de încredere formatate ca o matrice de IP-uri și/sau CIDR.

[]

implicit['firezone']['phoenix']['private_clients']

Lista clienților HTTP de rețea privată, formatată într-o matrice de IP-uri și/sau CIDR.

[]

implicit['firezone']['wireguard']['activat']

Activați sau dezactivați gestionarea WireGuard combinată.

TRUE

implicit['firezone']['wireguard']['log_directory']

Director de jurnal pentru gestionarea WireGuard combinată.

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

implicit['firezone']['wireguard']['log_rotation']['file_maxbytes']

Dimensiunea maximă a fișierului jurnal WireGuard.

104857600

implicit['firezone']['wireguard']['log_rotation']['num_to_keep']

Numărul de fișiere jurnal WireGuard de păstrat.

10

implicit['firezone']['wireguard']['nume_interfață']

Numele interfeței WireGuard. Modificarea acestui parametru poate cauza o pierdere temporară a conectivității VPN.

wg-firezone'

implicit['firezone']['wireguard']['port']

Port de ascultare WireGuard.

51820

implicit['firezone']['wireguard']['mtu']

MTU de interfață WireGuard pentru acest server și pentru configurațiile dispozitivului.

1280

implicit['firezone']['wireguard']['endpoint']

WireGuard Endpoint de utilizat pentru generarea configurațiilor dispozitivului. Dacă nul, este implicit adresa IP publică a serverului.

zero

implicit['firezone']['wireguard']['dns']

WireGuard DNS de utilizat pentru configurațiile generate de dispozitiv.

1.1.1.1, 1.0.0.1′

implicit['firezone']['wireguard']['allowed_ips']

WireGuard AllowedIPs de utilizat pentru configurațiile dispozitivelor generate.

0.0.0.0/0, ::/0′

implicit['firezone']['wireguard']['persistent_keepalive']

Setarea implicită PersistentKeepalive pentru configurațiile dispozitivelor generate. O valoare de 0 dezactivează.

0

implicit['firezone']['wireguard']['ipv4']['activat']

Activați sau dezactivați IPv4 pentru rețeaua WireGuard.

TRUE

implicit['firezone']['wireguard']['ipv4']['masquerade']

Activați sau dezactivați mascarada pentru pachetele care părăsesc tunelul IPv4.

TRUE

implicit['firezone']['wireguard']['ipv4']['rețea']

Pool de adrese IPv4 de rețea WireGuard.

10.3.2.0 / 24 ′

implicit['firezone']['wireguard']['ipv4']['adresa']

Adresa IPv4 a interfeței WireGuard. Trebuie să fie în grupul de adrese WireGuard.

10.3.2.1 '

implicit['firezone']['wireguard']['ipv6']['activat']

Activați sau dezactivați IPv6 pentru rețeaua WireGuard.

TRUE

implicit['firezone']['wireguard']['ipv6']['masquerade']

Activați sau dezactivați mascarada pentru pachetele care părăsesc tunelul IPv6.

TRUE

implicit['firezone']['wireguard']['ipv6']['rețea']

Pool de adrese IPv6 de rețea WireGuard.

fd00::3:2:0/120′

implicit['firezone']['wireguard']['ipv6']['adresa']

Adresa IPv6 a interfeței WireGuard. Trebuie să fie în grupul de adrese IPv6.

fd00::3:2:1′

implicit['firezone']['runit']['svlogd_bin']

Runit svlogd bin locație.

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

implicit['firezone']['ssl']['director']

Director SSL pentru stocarea certificatelor generate.

/var/opt/firezone/ssl'

implicit['firezone']['ssl']['email_address']

Adresă de e-mail de utilizat pentru certificatele autosemnate și notificările de reînnoire a protocolului ACME.

tu@example.com'

implicit['firezone']['ssl']['acme']['activat']

Activați ACME pentru furnizarea automată de certificat SSL. Dezactivați acest lucru pentru a împiedica Nginx să asculte pe portul 80. Vedeți aici pentru mai multe instrucțiuni.

FALS

implicit['firezone']['ssl']['acme']['server']

Server ACME de utilizat pentru emiterea/reînnoirea certificatului. Poate fi oricare server acme.sh valid

letsencrypt

implicit['firezone']['ssl']['acme']['keylength']

Specificați tipul și lungimea cheii pentru certificatele SSL. Vedea aici

ec-256

implicit['firezone']['ssl']['certificat']

Calea către fișierul de certificat pentru FQDN. Ignoră setarea ACME de mai sus, dacă este specificată. Dacă atât ACME, cât și acesta sunt zero, va fi generat un certificat autosemnat.

zero

implicit['firezone']['ssl']['certificate_key']

Calea către fișierul de certificat.

zero

implicit['firezone']['ssl']['ssl_dhparam']

nginx ssl dh_param.

zero

implicit['firezone']['ssl']['country_name']

Numele țării pentru certificatul autosemnat.

NE'

implicit['firezone']['ssl']['state_name']

Numele de stat pentru certificatul autosemnat.

CA '

implicit['firezone']['ssl']['locality_name']

Numele localității pentru certificatul autosemnat.

San Francisco'

implicit['firezone']['ssl']['company_name']

Numele companiei certificat autosemnat.

Compania mea'

implicit['firezone']['ssl']['organizational_unit_name']

Numele unității organizaționale pentru certificatul autosemnat.

Operațiuni'

implicit['firezone']['ssl']['cifre']

Cifruri SSL pentru utilizare de către 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’

implicit['firezone']['ssl']['fips_ciphers']

Cifruri SSL pentru modul FIP.

FIPS@STRENGTH:!aNULL:!eNULL'

implicit['firezone']['ssl']['protocoale']

Protocoale TLS de utilizat.

TLSv1 TLSv1.1 TLSv1.2′

implicit['firezone']['ssl']['session_cache']

Cache de sesiune SSL.

shared:SSL:4m'

implicit['firezone']['ssl']['session_timeout']

Sesiunea SSL expiră.

5 m'

implicit['firezone']['robots_allow']

roboții nginx permit.

/ '

implicit['firezone']['robots_disallow']

roboții nginx nu permit.

zero

implicit['firezone']['outbound_email']['de la']

E-mail de ieșire de la adresă.

zero

implicit['firezone']['outbound_email']['furnizor']

Furnizor de servicii de e-mail de ieșire.

zero

implicit['firezone']['outbound_email']['configs']

Configurații furnizorului de e-mail de ieșire.

vezi omnibus/carti de bucate/firezone/attributes/default.rb

implicit['firezone']['telemetrie']['activat']

Activați sau dezactivați telemetria anonimizată a produsului.

TRUE

implicit['firezone']['connectivity_checks']['activat']

Activați sau dezactivați serviciul de verificare a conectivității Firezone.

TRUE

implicit['firezone']['connectivity_checks']['interval']

Interval între verificările de conectivitate în secunde.

3_600



________________________________________________________________

 

Locații de fișiere și directoare

 

Aici veți găsi o listă de fișiere și directoare legate de o instalare tipică Firezone. Acestea se pot schimba în funcție de modificările aduse fișierului de configurare.



cale

descriere

/var/opt/firezone

Director de nivel superior care conține date și configurație generată pentru serviciile incluse Firezone.

/opt/firezone

Director de nivel superior care conține biblioteci construite, binare și fișiere de rulare necesare Firezone.

/usr/bin/firezone-ctl

utilitar firezone-ctl pentru gestionarea instalării Firezone.

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

fișierul unitar systemd pentru pornirea procesului de supraveghere Firezone runsvdir.

/etc/firezone

Fișiere de configurare Firezone.



__________________________________________________________

 

Șabloane de firewall

 

Această pagină a fost goală în documente

 

_____________________________________________________________

 

Șablon firewall Nftables

 

Următorul șablon de firewall nftables poate fi utilizat pentru a securiza serverul care rulează Firezone. Șablonul face unele presupuneri; poate fi necesar să ajustați regulile pentru a se potrivi cazului dvs. de utilizare:

  • Interfața WireGuard se numește wg-firezone. Dacă acest lucru nu este corect, modificați variabila DEV_WIREGUARD pentru a se potrivi cu opțiunea de configurare implicită ['firezone']['wireguard']['interface_name'].
  • Portul pe care îl ascultă WireGuard este 51820. Dacă nu utilizați portul implicit, modificați variabila WIREGUARD_PORT.
  • Doar următorul trafic de intrare va fi permis către server:
    • SSH (port TCP 22)
    • HTTP (port TCP 80)
    • HTTPS (port TCP 443)
    • WireGuard (port UDP WIREGUARD_PORT)
    • UDP traceroute (portul UDP 33434-33524, rata limitată la 500/secundă)
    • ICMP și ICMPv6 (rata de răspunsuri ping/ping limitată la 2000/secundă)
  • Doar următorul trafic de ieșire va fi permis de pe server:
    • DNS (UDP și portul TCP 53)
    • HTTP (port TCP 80)
    • NTP (port UDP 123)
    • HTTPS (port TCP 443)
    • Trimitere SMTP (port TCP 587)
    • UDP traceroute (portul UDP 33434-33524, rata limitată la 500/secundă)
  • Traficul nepotrivit va fi înregistrat. Regulile utilizate pentru înregistrare sunt separate de regulile de eliminare a traficului și sunt limitate la rata. Eliminarea regulilor relevante de înregistrare nu va afecta traficul.

Reguli gestionate Firezone

Firezone își configurează propriile reguli nftables pentru a permite/respinge traficul către destinațiile configurate în interfața web și pentru a gestiona NAT de ieșire pentru traficul clienților.

Aplicarea șablonului de firewall de mai jos pe un server care rulează deja (nu la momentul pornirii) va duce la ștergerea regulilor Firezone. Acest lucru poate avea implicații de securitate.

Pentru a rezolva acest lucru, reporniți serviciul Phoenix:

firezone-ctl reporniți Phoenix

Șablon de bază pentru firewall

#!/usr/sbin/nft -f

 

## Ștergeți/ștergeți toate regulile existente

set de reguli de culoare

 

############################### VARIABILE ################# ###############

## Numele interfeței Internet/WAN

definiți DEV_WAN = eth0

 

## Numele interfeței WireGuard

definiți DEV_WIREGUARD = wg-firezone

 

## Port de ascultare WireGuard

definiți WIREGUARD_PORT = 51820

############################# VARIABILELE SFÂRȘIT ################# ############

 

# Tabelul principal de filtrare a familiei inet

tabel inet filter {

 

 # Reguli pentru traficul redirecționat

 # Acest lanț este procesat înaintea lanțului înainte Firezone

 lanț înainte {

   tip filtru cârlig înainte filtru prioritar – 5; acceptați politica

 }

 

 # Reguli pentru traficul de intrare

 intrare în lanț {

   tip filtru cârlig intrare filtru prioritar; scăderea politicii

 

   ## Permite traficul de intrare către interfața de loopback

   daca asa \

     Accept \

     comentariu „Permiteți tot traficul din interfața de loopback”

 

   ## Permite stabilirea și conexiunile aferente

   stare ct stabilită, legată de \

     Accept \

     comentariu „Permiteți conexiuni stabilite/conexe”

 

   ## Permiteți traficul WireGuard de intrare

   dacă este $DEV_WAN udp dport $WIREGUARD_PORT \

     tejghea \

     Accept \

     comentariu „Permiteți traficul WireGuard de intrare”

 

   ## Înregistrați și plasați noi pachete TCP non-SYN

   steaguri tcp != stare syn ct nou \

     rata limită 100/minut explozie 150 pachete \

     prefix de jurnal „IN – Nou !SYN: „ \

     comentariu „Înregistrare limită de viteză pentru conexiunile noi care nu au setat steag-ul SYN TCP”

   steaguri tcp != stare syn ct nou \

     tejghea \

     cădere brusca \

     comentariu „Renunțați la conexiuni noi care nu au setat steag-ul SYN TCP”

 

   ## Înregistrați și plasați pachetele TCP cu un semnalizator fin/syn nevalid

   steaguri tcp & (fin|syn) == (fin|syn) \

     rata limită 100/minut explozie 150 pachete \

     prefix de jurnal „IN – TCP FIN|SIN: „ \

     comentariu „Înregistrare limită de viteză pentru pachetele TCP cu steag fin/syn nevalid setat”

   steaguri tcp & (fin|syn) == (fin|syn) \

     tejghea \

     cădere brusca \

     comentariu „Renunțați la pachetele TCP cu un semnalizare fin/syn nevalidă”

 

   ## Înregistrați și plasați pachetele TCP cu semnalul syn/rst nevalid

   steaguri tcp & (syn|rst) == (syn|rst) \

     rata limită 100/minut explozie 150 pachete \

     prefix de jurnal „IN – TCP SYN|RST:” \

     comentariu „Înregistrare limită de viteză pentru pachetele TCP cu semnalizare syn/rst nevalidă”

   steaguri tcp & (syn|rst) == (syn|rst) \

     tejghea \

     cădere brusca \

     comentariu „Renunțați la pachetele TCP cu semnalul syn/rst invalid setat”

 

   ## Înregistrează-te și aruncă steaguri TCP nevalide

   steaguri tcp & (fin|syn|rst|psh|ack|urg) < (fin) \

     rata limită 100/minut explozie 150 pachete \

     prefix de jurnal „IN – FIN:” \

     comentariu „Înregistrare limita ratei pentru semnalizatoarele TCP nevalide (fin|syn|rst|psh|ack|urg) < (fin)”

   steaguri tcp & (fin|syn|rst|psh|ack|urg) < (fin) \

     tejghea \

     cădere brusca \

     comentariu „Aruncă pachetele TCP cu steaguri (fin|syn|rst|psh|ack|urg) < (fin)”

 

   ## Înregistrează-te și aruncă steaguri TCP nevalide

   steaguri tcp & (fin|syn|rst|psh|ack|urg) == (fin|psh|urg) \

     rata limită 100/minut explozie 150 pachete \

     prefix de jurnal „IN – FIN|PSH|URG:” \

     comentariu „Înregistrare limita ratei pentru semnalizatoarele TCP nevalide (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)”

   steaguri tcp & (fin|syn|rst|psh|ack|urg) == (fin|psh|urg) \

     tejghea \

     cădere brusca \

     comentariu „Aruncă pachetele TCP cu steaguri (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)”

 

   ## Eliminați traficul cu starea de conexiune nevalidă

   stare ct nevalidă \

     rata limită 100/minut explozie 150 pachete \

     jurnalul semnalează toate prefixele „IN – Invalid: „ \

     comentariu „Înregistrare pentru limita de rată pentru trafic cu stare de conexiune nevalidă”

   stare ct nevalidă \

     tejghea \

     cădere brusca \

     comentariu „Renunțați la trafic cu starea de conexiune nevalidă”

 

   ## Permite răspunsuri ping/ping IPv4, dar limitează rata la 2000 PPS

   ip protocol icmp tip icmp { ecou-reply, echo-request } \

     rata limită 2000/al doilea \

     tejghea \

     Accept \

     comentariu „Permite ecou IPv4 de intrare (ping) limitat la 2000 PPS”

 

   ## Permite toate celelalte IPv4 ICMP de intrare

   ip protocol icmp \

     tejghea \

     Accept \

     comentariu „Permiteți toate celelalte IPv4 ICMP”

 

   ## Permite răspunsuri ping/ping IPv6, dar limitează rata la 2000 PPS

   tip icmpv6 { ecou-reply, ecou-request } \

     rata limită 2000/al doilea \

     tejghea \

     Accept \

     comentariu „Permite ecou IPv6 de intrare (ping) limitat la 2000 PPS”

 

   ## Permite toate celelalte IPv6 ICMP de intrare

   meta l4proto { icmpv6 } \

     tejghea \

     Accept \

     comentariu „Permiteți toate celelalte IPv6 ICMP”

 

   ## Permiteți porturi UDP traceroute de intrare, dar limitați la 500 PPS

   udp dport 33434-33524 \

     rata limită 500/al doilea \

     tejghea \

     Accept \

     comentariu „Permiteți traseul UDP de intrare limitat la 500 PPS”

 

   ## Permite SSH de intrare

   tcp dport ssh stare ct nou \

     tejghea \

     Accept \

     comentariu „Permiteți conexiuni SSH de intrare”

 

   ## Permite HTTP de intrare și HTTPS

   tcp dport { http, https } stare ct nou \

     tejghea \

     Accept \

     comentariu „Permiteți conexiunile HTTP și HTTPS de intrare”

 

   ## Înregistrați orice trafic fără egal, dar limitați rata de înregistrare la maximum 60 de mesaje/minut

   ## Politica implicită va fi aplicată traficului nepotrivit

   rata limită 60/minut explozie 100 pachete \

     prefix de jurnal „IN – Drop:” \

     comentariu „Înregistrați orice trafic fără egal”

 

   ## Numărați traficul de neegalat

   tejghea \

     comentariu „Numărați orice trafic de neegalat”

 }

 

 # Reguli pentru traficul de ieșire

 ieșire în lanț {

   tip filtru cârlig ieșire filtru prioritar; scăderea politicii

 

   ## Permite trafic de ieșire către interfața de loopback

   oif lo \

     Accept \

     comentariu „Permiteți tot traficul către interfața de loopback”

 

   ## Permite stabilirea și conexiunile aferente

   stare ct stabilită, legată de \

     tejghea \

     Accept \

     comentariu „Permiteți conexiuni stabilite/conexe”

 

   ## Permiteți traficul WireGuard de ieșire înainte de a întrerupe conexiunile cu stare proastă

   oif $DEV_WAN sport udp $WIREGUARD_PORT \

     tejghea \

     Accept \

     comentariu „Permiteți traficul de ieșire WireGuard”

 

   ## Eliminați traficul cu starea de conexiune nevalidă

   stare ct nevalidă \

     rata limită 100/minut explozie 150 pachete \

     jurnalul semnalează toate prefixele „OUT – Invalid: „ \

     comentariu „Înregistrare pentru limita de rată pentru trafic cu stare de conexiune nevalidă”

   stare ct nevalidă \

     tejghea \

     cădere brusca \

     comentariu „Renunțați la trafic cu starea de conexiune nevalidă”

 

   ## Permite toate celelalte ICMP IPv4 de ieșire

   ip protocol icmp \

     tejghea \

     Accept \

     comentariu „Permiteți toate tipurile ICMP IPv4”

 

   ## Permite toate celelalte ICMP IPv6 de ieșire

   meta l4proto { icmpv6 } \

     tejghea \

     Accept \

     comentariu „Permiteți toate tipurile ICMP IPv6”

 

   ## Permiteți porturi UDP de ieșire traceroute, dar limitați la 500 PPS

   udp dport 33434-33524 \

     rata limită 500/al doilea \

     tejghea \

     Accept \

     comentariu „Permiteți traseul UDP de ieșire limitat la 500 PPS”

 

   ## Permite conexiuni HTTP și HTTPS de ieșire

   tcp dport { http, https } stare ct nou \

     tejghea \

     Accept \

     comentariu „Permiteți conexiuni HTTP și HTTPS de ieșire”

 

   ## Permite trimiterea SMTP de ieșire

   tcp dport trimitere ct stare nou \

     tejghea \

     Accept \

     comentariu „Permiteți trimiterea SMTP de ieșire”

 

   ## Permite solicitări DNS de ieșire

   udp dport 53 \

     tejghea \

     Accept \

     comentariu „Permiteți solicitările DNS UDP de ieșire”

   tcp dport 53 \

     tejghea \

     Accept \

     comentariu „Permite solicitări TCP DNS de ieșire”

 

   ## Permite solicitări NTP de ieșire

   udp dport 123 \

     tejghea \

     Accept \

     comentariu „Permiteți cereri NTP de ieșire”

 

   ## Înregistrați orice trafic fără egal, dar limitați rata de înregistrare la maximum 60 de mesaje/minut

   ## Politica implicită va fi aplicată traficului nepotrivit

   rata limită 60/minut explozie 100 pachete \

     prefix de jurnal „OUT – Drop:” \

     comentariu „Înregistrați orice trafic fără egal”

 

   ## Numărați traficul de neegalat

   tejghea \

     comentariu „Numărați orice trafic de neegalat”

 }

 

}

 

# Tabelul principal de filtrare NAT

table inet nat {

 

 # Reguli pentru pre-rutarea traficului NAT

 preroutare în lanț {

   tip nat hook prerouting priority dstnat; acceptați politica

 }

 

 # Reguli pentru traficul NAT post-rutare

 # Acest tabel este procesat înaintea lanțului de post-routare Firezone

 postrouting în lanț {

   tip nat hook postrouting priority srcnat – 5; acceptați politica

 }

 

}

Folosire

Firewall-ul ar trebui să fie stocat în locația relevantă pentru distribuția Linux care rulează. Pentru Debian/Ubuntu acesta este /etc/nftables.conf și pentru RHEL este /etc/sysconfig/nftables.conf.

nftables.service va trebui configurat pentru a porni la pornire (dacă nu este deja) setat:

systemctl enable nftables.service

Dacă faceți modificări la șablonul firewall, sintaxa poate fi validată prin rularea comenzii de verificare:

nft -f /path/to/nftables.conf -c

Asigurați-vă că validați firewall-ul funcționează așa cum vă așteptați, deoarece anumite caracteristici nftables pot să nu fie disponibile, în funcție de versiunea care rulează pe server.



_______________________________________________________________



Telemetrie

 

Acest document prezintă o prezentare generală a telemetriei pe care Firezone o colectează de la instanța dvs. auto-găzduită și cum să o dezactivați.

De ce Firezone colectează telemetrie

Zona de incendiu se bazează pe telemetrie pentru a ne prioritiza foaia de parcurs și a optimiza resursele de inginerie pe care le avem pentru a face Firezone mai bun pentru toată lumea.

Telemetria pe care o colectăm își propune să răspundă la următoarele întrebări:

  • Câte persoane instalează, folosesc și nu mai folosesc Firezone?
  • Ce caracteristici sunt cele mai valoroase și care nu au nicio utilitate?
  • Ce funcționalitate necesită cele mai multe îmbunătățiri?
  • Când ceva se sparge, de ce s-a rupt și cum putem preveni să se întâmple în viitor?

Cum colectăm telemetria

Există trei locuri principale în care telemetria este colectată în Firezone:

  1. Telemetria pachetului. Include evenimente precum instalarea, dezinstalarea și upgrade-ul.
  2. Telemetria CLI din comenzile firezone-ctl.
  3. Telemetria produsului asociată cu portalul Web.

În fiecare dintre aceste trei contexte, surprindem cantitatea minimă de date necesară pentru a răspunde la întrebările din secțiunea de mai sus.

E-mailurile administratorilor sunt colectate numai dacă vă înscrieți în mod explicit pentru actualizările produselor. În caz contrar, informațiile de identificare personală sunt nu colectate.

Firezone stochează telemetria într-o instanță auto-găzduită de PostHog care rulează într-un cluster Kubernetes privat, accesibil doar de echipa Firezone. Iată un exemplu de eveniment de telemetrie care este trimis de la instanța dvs. de Firezone către serverul nostru de telemetrie:

{

   „id”: “0182272d-0b88-0000-d419-7b9a413713f1”,

   "timestamp-ul": “2022-07-22T18:30:39.748000+00:00”,

   "eveniment": „fz_http_started”,

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

   „proprietăți”:{

       „$geoip_city_name”: „Ashburn”,

       „$geoip_continent_code”: "N / A",

       „$geoip_continent_name”: "America de Nord",

       „$geoip_country_code”: "S.U.A",

       „$geoip_country_name”: "Statele Unite",

       „$geoip_latitude”: 39.0469,

       „$geoip_longitudine”: -77.4903,

       „$geoip_postal_code”: "20149",

       „$geoip_subdivision_1_code”: „VA”,

       „$geoip_subdivision_1_name”: „Virginia”,

       „$geoip_time_zone”: „America/New_York”,

       „$ip”: "52.200.241.107",

       „$plugins_deferred”:[],

       „$plugins_failed”:[],

       „$plugins_succeeded”: [

           „GeoIP (3)”

       ],

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

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

       „kernel_version”: „Linux 5.13.0”,

       "versiune": "0.4.6"

   },

   „lanțul_elementelor”: ""

}

Cum se dezactivează telemetria

NOTĂ

Echipa de dezvoltare Firezone se bazează pe analiza produselor pentru a face Firezone mai bun pentru toată lumea. Lăsarea telemetriei activată este cea mai valoroasă contribuție pe care o puteți aduce la dezvoltarea Firezone. Acestea fiind spuse, înțelegem că unii utilizatori au cerințe mai mari de confidențialitate sau securitate și ar prefera să dezactiveze complet telemetria. Dacă ești tu, continuă să citești.

Telemetria este activată în mod implicit. Pentru a dezactiva complet telemetria produsului, setați următoarea opțiune de configurare la false în /etc/firezone/firezone.rb și rulați sudo firezone-ctl reconfigure pentru a prelua modificările.

Mod implicit["firezone"]['telemetrie']['activat'] = fals

Acest lucru va dezactiva complet telemetria produsului.