Hailbytes VPN cù Firezone Firewall Documentation

Table di cuntinutu

prènniri passé

Istruzzioni passu per passu per implementà Hailbytes VPN cù Firezone GUI sò furnite quì. 

Amministrazione: L'installazione di l'istanza di u servitore hè direttamente ligata à sta parte.

User Guides: Documenti utili chì ponu insignà cumu utilizà Firezone è risolve i prublemi tipici. Dopu chì u servitore hè statu implementatu cù successu, riferite à sta sezione.

Guides per cunfigurazioni cumuni

Split Tunneling: Aduprate a VPN per mandà u trafficu solu à intervalli IP specifichi.

Whitelisting: Definite l'indirizzu IP staticu di un servitore VPN per utilizà a lista bianca.

Tunnel inversi: Crea tunnel trà parechji pari utilizendu tunnel inversi.

Get Support

Semu piacè di aiutà vi se avete bisognu di assistenza per installà, persunalizà o utilizendu Hailbytes VPN.

prucedimentu

Prima chì l'utilizatori ponu pruduce o scaricate i fugliali di cunfigurazione di u dispositivu, Firezone pò esse cunfiguratu per dumandà l'autentificazione. L'utilizatori puderanu ancu avè bisognu di ri-autentificà periodicamente per mantene a so cunnessione VPN attiva.

Ancu se u metudu di login predeterminatu di Firezone hè un email locale è password, pò ancu esse integratu cù qualsiasi fornitore d'identità OpenID Connect (OIDC) standardizatu. L'utilizatori sò avà capaci di accede à Firezone utilizendu i so credenziali Okta, Google, Azure AD, o un fornitore d'identità privatu.

 

Integrate Un Fornitore OIDC Generic

I paràmetri di cunfigurazione necessarii da Firezone per permette SSO cù un fornitore OIDC sò mostrati in l'esempiu sottu. In /etc/firezone/firezone.rb, pudete truvà u schedariu di cunfigurazione. Eseguite firezone-ctl reconfigure è firezone-ctl restart per aghjurnà l'applicazione è piglià l'effettu di i cambiamenti.

 

# Questu hè un esempiu chì usa Google è Okta cum'è un fornitore di identità SSO.

# Diversi cunfigurazioni OIDC ponu esse aghjuntu à a stessa istanza Firezone.

 

# Firezone pò disattivà a VPN di un utilizatore s'ellu ci hè un errore rilevatu à pruvà

# per rinfriscà u so access_token. Questu hè verificatu per travaglià per Google, Okta è

# Azure SSO è hè aduprata per disconnect automaticamente a VPN di un utilizatore si sò sguassati

# da u fornitore OIDC. Lasciate questu disabilitatu se u vostru fornitore OIDC

# hà prublemi per rinfriscà i tokens d'accessu perchè puderia interrompe inaspettatamente a

# sessione VPN di l'utilizatore.

default ['firezone']['authentication']['disable_vpn_on_oidc_error'] = false

 

default ['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: "codice",

    scope: "profile email openid",

    etichetta: "Google"

  },

  okta: {

    discovery_document_uri: "https:// /.cunnisciuta/configurazione-openid”,

    client_id: " ",

    client_secret: " ",

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

    response_type: "codice",

    scope: "openid prufilu email offline_access",

    etichetta: "Okta"

  }

}



I seguenti paràmetri di cunfigurazione sò necessarii per l'integrazione:

  1. discovery_document_uri: U URI di cunfigurazione di u fornitore OpenID Connect chì restituisce un documentu JSON utilizatu per custruisce e richieste successive à stu fornitore OIDC.
  2. client_id: L'ID cliente di l'applicazione.
  3. client_secret: U sicretu di u cliente di l'applicazione.
  4. redirect_uri: Instruisce à u fornitore OIDC induve reindirizzà dopu l'autentificazione. Questu deve esse u vostru Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (per esempiu https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Set à codice.
  6. scopu: Scopi OIDC per ottene da u vostru fornitore OIDC. Questu deve esse stabilitu per openid email profile o openid email profile offline_access secondu u fornitore.
  7. etichetta: U testu di l'etichetta di u buttone chì si vede nantu à a vostra pantalla di login Firezone.

URL belli

Per ogni fornitore OIDC hè creatu un URL bellu currispundente per reindirizzà à l'URL di login di u fornitore cunfiguratu. Per l'esempiu di cunfigurazione OIDC sopra, l'URL sò:

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

Istruzzioni per a configurazione di Firezone cù fornitori d'identità populari

I fornitori avemu a documentazione per:

  • Google
  • Okta
  • Azure Active Directory
  • Un login
  • Autentificazione Locale

 

Se u vostru fornitore di identità hà un connettore OIDC genericu è ùn hè micca listatu sopra, andate à a so documentazione per infurmazione nantu à cumu ricuperà i paràmetri di cunfigurazione necessarii.

Mantene una Re-Authentication Regular

U paràmetru sottu paràmetri / sicurità pò esse cambiatu per esse bisognu di ri-autentificazione periodica. Questu pò esse usatu per rinfurzà u requisitu chì l'utilizatori entranu in Firezone in modu regulare per cuntinuà a so sessione VPN.

A durata di a sessione pò esse cunfigurata per esse trà una ora è novanta ghjorni. Fixendu questu in Mai, pudete attivà e sessioni VPN in ogni mumentu. Questu hè u standard.

Ri-autentificazione

Un utilizatore deve finisce a so sessione VPN è accede à u portale Firezone per ri-autentificà una sessione VPN scaduta (URL specificata durante a implementazione).

Pudete ri-autentificà a vostra sessione seguendu l'istruzzioni precise di u cliente truvate quì.

 

Status di a cunnessione VPN

A colonna di a tavola di Cunnessione VPN di a pagina di l'Utenti mostra u statu di cunnessione di l'utilizatore. Eccu i stati di cunnessione:

ENABLED - A cunnessione hè attivata.

DISABLED - A cunnessione hè disattivata da un amministratore o fallimentu di rinfrescante OIDC.

SCADUTA - A cunnessione hè disattivata per via di a scadenza di l'autentificazione o un utilizatore ùn hà micca firmatu per a prima volta.

Google

Per mezu di u connettore generale OIDC, Firezone permette Single Sign-On (SSO) cù Google Workspace è Cloud Identity. Questa guida vi mostrarà cumu uttene i paràmetri di cunfigurazione elencati quì sottu, chì sò necessarii per l'integrazione:

  1. discovery_document_uri: U URI di cunfigurazione di u fornitore OpenID Connect chì restituisce un documentu JSON utilizatu per custruisce e richieste successive à stu fornitore OIDC.
  2. client_id: L'ID cliente di l'applicazione.
  3. client_secret: U sicretu di u cliente di l'applicazione.
  4. redirect_uri: Instruisce à u fornitore OIDC induve reindirizzà dopu l'autentificazione. Questu deve esse u vostru Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (per esempiu https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Set à codice.
  6. scopu: Scopi OIDC per ottene da u vostru fornitore OIDC. Questu deve esse stabilitu à u prufilu di e-mail openid per furnisce Firezone cù l'email di l'utilizatore in e rivendicazioni restituite.
  7. etichetta: U testu di l'etichetta di u buttone chì si vede nantu à a vostra pantalla di login Firezone.

Ottene i paràmetri di cunfigurazione

1. OAuth Config ScreenEnseñanza

Se questa hè a prima volta chì crea un novu ID di cliente OAuth, vi sarà dumandatu di cunfigurà una pantalla di cunsensu.

* Selezziunate Internu per u tipu d'utilizatore. Questu assicura solu i cunti chì appartenenu à l'utilizatori in a vostra Google Workspace Organization ponu creà cunfigurazioni di u dispositivu. NON selezziunà Esternu, salvu chè vo vulete attivà qualcunu cù un contu Google validu per creà cunfigurazione di u dispositivu.

 

Nantu à u screnu di l'infurmazioni di l'App:

  1. Nome di l'app: Firezone
  2. Logo App: Logo Firezone (salvà u ligame cum'è).
  3. Pagina iniziale di l'applicazione: l'URL di a vostra istanza Firezone.
  4. Duminii autorizati: u duminiu di primu livellu di a vostra istanza Firezone.

 

 

2. Crea OAuth Client IDEnseñanza

Questa sezione hè basatu annantu à a documentazione di Google stallà OAuth 2.0.

Visita a Google Cloud Console Pagina di credenziali pagina, cliccate + Crea credenziali è selezziunate ID client OAuth.

In u screnu di creazione di l'ID di cliente OAuth:

  1. Definite Tipu di Applicazione à Applicazione Web
  2. Aghjunghjite u vostru Firezone EXTERNAL_URL + /auth/oidc/google/callback/ (per esempiu https://instance-id.yourfirezone.com/auth/oidc/google/callback/) cum'è una entrata à l'URI di redirezzione Autorizzati.

 

Dopu avè creatu l'ID di u cliente OAuth, vi sarà datu un ID Cliente è Client Secret. Quessi seranu usati inseme cù l'URI di redirezzione in u prossimu passu.

Integrazione Firezone

Cancia /etc/firezone/firezone.rb per include l'opzioni quì sottu:

 

# Utilizendu Google cum'è fornitore di identità SSO

default ['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: "codice",

    scope: "profile email openid",

    etichetta: "Google"

  }

}

 

Eseguite firezone-ctl reconfigure è firezone-ctl restart per aghjurnà l'applicazione. Avete avà vede un buttone Sign in with Google à l'URL di Firezone root.

Okta

Firezone usa u connettore OIDC genericu per facilità a Single Sign-On (SSO) cù Okta. Stu tutorialu vi mostrarà cumu uttene i paràmetri di cunfigurazione elencati quì sottu, chì sò necessarii per l'integrazione:

  1. discovery_document_uri: U URI di cunfigurazione di u fornitore OpenID Connect chì restituisce un documentu JSON utilizatu per custruisce e richieste successive à stu fornitore OIDC.
  2. client_id: L'ID cliente di l'applicazione.
  3. client_secret: U sicretu di u cliente di l'applicazione.
  4. redirect_uri: Instruisce à u fornitore OIDC induve reindirizzà dopu l'autentificazione. Questu deve esse u vostru Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (per esempiu https://instance-id.yourfirezone.com/auth/oidc/okta/callback/).
  5. response_type: Set à codice.
  6. scopu: Scopi OIDC per ottene da u vostru fornitore OIDC. Questu deve esse cunfiguratu per openid e-mail profile offline_access per furnisce Firezone cù l'email di l'utilizatore in e rivendicazioni restituite.
  7. etichetta: U testu di l'etichetta di u buttone chì si vede nantu à a vostra pantalla di login Firezone.

 

Integra l'App Okta

Questa sezione di a guida hè basatu annantu à A documentazione di Okta.

In l'Admin Console, andate à Applicazioni> Applicazioni è cliccate Crea Integrazione App. Impostate u metudu di Sign-in à OICD - OpenID Connect è u tipu d'Applicazione à l'applicazione Web.

Configurate sti paràmetri:

  1. Nome di l'app: Firezone
  2. Logo App: Logo Firezone (salvà u ligame cum'è).
  3. Grant Type: Verificate a casella Refresh Token. Questu assicura Firezone si sincronizza cù u fornitore d'identità è l'accessu VPN hè terminatu una volta chì l'utilizatore hè eliminatu.
  4. URI di reindirizzamentu di u login: aghjunghje u vostru Firezone EXTERNAL_URL + /auth/oidc/okta/callback/ (per esempiu https://instance-id.yourfirezone.com/auth/oidc/okta/callback/) cum'è una entrata à l'URI di redirezzione Autorizzati .
  5. Assignazioni: Limite à i gruppi chì vulete furnisce l'accessu à a vostra istanza Firezone.

Una volta chì i paràmetri sò salvati, vi sarà datu un ID Cliente, Client Secret, è Okta Domain. Questi valori 3 seranu usati in u Passu 2 per cunfigurà Firezone.

Integra Firezone

Cancia /etc/firezone/firezone.rb per include l'opzioni sottu. U vostru discovery_document_url serà /.cunnisciuta/configurazione-openid appiccicatu à a fine di u vostru okta_domain.

 

# Utilizendu Okta cum'è fornitore di identità SSO

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

  okta: {

    discovery_document_uri: "https:// /.cunnisciuta/configurazione-openid”,

    client_id: " ",

    client_secret: " ",

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

    response_type: "codice",

    scope: "openid prufilu email offline_access",

    etichetta: "Okta"

  }

}

 

Eseguite firezone-ctl reconfigure è firezone-ctl restart per aghjurnà l'applicazione. Avete avà vede un buttone Sign in with Okta à l'URL Firezone root.

 

Limite l'accessu à certi utilizatori

L'utilizatori chì ponu accede à l'app Firezone ponu esse limitati da Okta. Andate à a pagina di Assegnazioni di l'Integrazione di l'App Firezone di a vostra Okta Admin Console per fà questu.

Azure Active Directory

Per mezu di u connettore OIDC genericu, Firezone permette Single Sign-On (SSO) cù Azure Active Directory. Stu manuale vi mostrarà cumu uttene i paràmetri di cunfigurazione elencati quì sottu, chì sò necessarii per l'integrazione:

  1. discovery_document_uri: U URI di cunfigurazione di u fornitore OpenID Connect chì restituisce un documentu JSON utilizatu per custruisce e richieste successive à stu fornitore OIDC.
  2. client_id: L'ID cliente di l'applicazione.
  3. client_secret: U sicretu di u cliente di l'applicazione.
  4. redirect_uri: Instruisce à u fornitore OIDC induve reindirizzà dopu l'autentificazione. Questu deve esse u vostru Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (per esempiu https://instance-id.yourfirezone.com/auth/oidc/azure/callback/).
  5. response_type: Set à codice.
  6. scopu: Scopi OIDC per ottene da u vostru fornitore OIDC. Questu deve esse cunfiguratu per openid e-mail profile offline_access per furnisce Firezone cù l'email di l'utilizatore in e rivendicazioni restituite.
  7. etichetta: U testu di l'etichetta di u buttone chì si vede nantu à a vostra pantalla di login Firezone.

Get Settings Configuration

Sta guida hè trattu da u Azure Active Directory Docs.

 

Andà à a pagina Azure Active Directory di u portale Azure. Sceglite l'opzione di menu Manage, selezziunate New Registration, dopu registrate fornendu l'infurmazioni sottu:

  1. Nome: Firezone
  2. Tipi di cunti supportati: (solu annuariu predeterminatu - inquilino unicu)
  3. Redirect URI: Questu deve esse u vostru firezone EXTERNAL_URL + /auth/oidc/azure/callback/ (per esempiu https://instance-id.yourfirezone.com/auth/oidc/azure/callback/). Assicuratevi di include u slash finale. Questu serà u valore redirect_uri.

 

Dopu avè registratu, apre a vista di dettagli di l'applicazione è copià ID di l'applicazione (cliente).. Questu serà u valore client_id. Dopu, apre u menù endpoints per ritruvà u Documentu di metadata OpenID Connect. Questu serà u valore discovery_document_uri.

 

Crea un novu segretu di u cliente clicchendu l'opzione Certificati è secreti sottu u menù Manage. Copia u sicretu di u cliente; u valore secretu di u cliente serà questu.

 

Infine, selezziunate u ligame di permessi API sottu u menù Manage, cliccate Aghjunghjite un permessu, è selezziunate Microsoft Graph, Ajouter Sônia, openid, offline_access e Profile à i permessi richiesti.

Integrazione Firezone

Cancia /etc/firezone/firezone.rb per include l'opzioni quì sottu:

 

# Utilizendu Azure Active Directory cum'è fornitore di identità SSO

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

  azzurro: {

    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: "codice",

    scope: "openid prufilu email offline_access",

    etichetta: "Azure"

  }

}

 

Eseguite firezone-ctl reconfigure è firezone-ctl restart per aghjurnà l'applicazione. Avete avà vede un buttone Sign in with Azure à l'URL di Firezone root.

Cumu: Limità l'accessu à certi membri

Azure AD permette à l'amministratori di limità l'accessu di l'app à un gruppu specificu di utilizatori in a vostra cumpagnia. Più infurmazione nantu à cumu fà questu pò esse truvata in a documentazione di Microsoft.

Amministrà

  • cunfigurari
  • Gestisce a stallazione
  • aghjurnamentu
  • Solucchju
  • Cunsiderazioni di securità
  • Esecuzione di Queries SQL

cunfigurari

Chef Omnibus hè adupratu da Firezone per gestisce i travaglii cumpresi l'imballaggio di liberazione, a supervisione di u prucessu, a gestione di log, è più.

U codice Ruby custituisce u schedariu di cunfigurazione primariu, chì si trova in /etc/firezone/firezone.rb. Restarting sudo firezone-ctl reconfigure dopu avè fattu mudificazioni à stu schedariu face chì Chef ricunnosce i cambiamenti è applicà à u sistema operatore attuale.

Vede a riferenza di u schedariu di cunfigurazione per una lista cumpleta di variabili di cunfigurazione è e so descrizzioni.

Gestisce a stallazione

A vostra istanza Firezone pò esse gestita via u firezone-ctl cumanda, cum'è mostra sottu. A maiò parte di i subcumandamenti necessitanu prefissi cù sudo.

 

root@demo:~# firezone-ctl

omnibus-ctl: cumandamentu (sottocumandamentu)

Cumandamenti Generali:

  pulizziari

    Sguassate * tutti * i dati firezone, è cuminciate da zero.

  create-or-reset-admin

    Resetta a password per l'amministratore cù l'email specificata per difettu ['firezone']['admin_email'] o crea un novu amministratore se quellu email ùn esiste micca.

  aiutu

    Stampa stu missaghju d'aiutu.

  ricunfigurà

    Reconfigurate l'applicazione.

  reset-network

    Resetta nftables, l'interfaccia WireGuard è a tabella di routing torna à i valori predeterminati di Firezone.

  mostra-config

    Mostra a cunfigurazione chì seria generata da ricunfigurazione.

  teardown-network

    Elimina l'interfaccia WireGuard è a tavola firezone nftables.

  forza-cert-rinuvamentu

    Forza u rinnuvamentu di u certificatu avà ancu s'ellu ùn hè micca scadutu.

  stop-cert-rinnuvamentu

    Elimina cronjob chì rinnuvà i certificati.

  caccià

    Uccide tutti i prucessi è disinstalla u supervisore di u prucessu (i dati seranu cunservati).

  versione

    Mostra a versione attuale di Firezone

Comandi di gestione di serviziu:

  graziosu-uccisione

    Pruvate una fermata grazia, poi SIGKILL tuttu u gruppu di prucessu.

  hup

    Mandate i servizii un HUP.

  tram

    Mandate i servizii un INT.

  tumbà

    Mandate i servizii un KILL.

  una volta

    Cumincià i servizii s'ellu sò falati. Ùn li riavviate si fermanu.

  restituisce

    Ferma i servizii s'ellu sò in esecuzione, poi riavvia.

  lista di servizii

    Lista tutti i servizii (i servizii attivati ​​appariscenu cun *.)

  Partendu

    Cumincià i servizii s'ellu hè falatu, è ripigliate si fermanu.

  statutu

    Mostra u statutu di tutti i servizii.

  firmà

    Ferma i servizii, è ùn li riavvia micca.

  cuda

    Fighjate i logs di serviziu di tutti i servizii attivati.

  termine

    Mandate i servizii un TERM.

  usr1

    Mandate i servizii un USR1.

  usr2

    Mandate i servizii un USR2.

aghjurnamentu

Tutte e sessioni VPN deve esse terminate prima di aghjurnà Firezone, chì chjama ancu di chjude a Web UI. In l'eventu chì qualcosa va male durante l'aghjurnamentu, cunsigliemu di mette una ora per mantenimentu.

 

Per rinfurzà Firezone, pigliate e seguenti azzioni:

  1. Aghjurnate u pacchettu firezone usendu l'installazione di un cumandimu: sudo -E bash -c "$(curl -fsSL https://github.com/firezone/firezone/raw/master/scripts/install.sh)"
  2. Eseguite firezone-ctl reconfigure per piglià i novi cambiamenti.
  3. Esegui firezone-ctl restart per riavvia i servizii.

Se ci sò prublemi, fateci sapè da invià un bigliettu di supportu.

Avanzate da <0.5.0 à >=0.5.0

Ci hè uni pochi di cambiamenti di ruttura è mudificazioni di cunfigurazione in 0.5.0 chì deve esse indirizzatu. Scopri di più quì sottu.

I richieste di Nginx non_ssl_port (HTTP) bundle eliminate

Nginx ùn sustene più a forza SSL è i paràmetri di portu non-SSL da a versione 0.5.0. Perchè Firezone hà bisognu di SSL per travaglià, cunsigliemu di caccià u bundle di serviziu Nginx cunfittendu default ['firezone']['nginx']['enabled'] = false è dirigendu u vostru proxy inversu à l'app Phoenix nantu à u portu 13000 invece (per default). ).

Supportu di u Protocol ACME

0.5.0 introduce un supportu di protokollu ACME per rinnuvà automaticamente i certificati SSL cù u serviziu Nginx bundled. Per attivà,

  • Assicuratevi chì default ['firezone']['external_url'] cuntene un FQDN validu chì si risolve à l'indirizzu IP publicu di u vostru servitore.
  • Assicuratevi chì u portu 80/tcp hè accessibile
  • Attivà u supportu di u protocolu ACME cù default ['firezone']['ssl']['acme']['enabled'] = true in u vostru schedariu di cunfigurazione.

Destinazioni di regula di uscita sovrapposte

A pussibilità di aghjunghje regule cù destinazioni duplicate hè andata in Firezone 0.5.0. U nostru script di migrazione ricunnosce automaticamente queste situazioni durante un aghjurnamentu à 0.5.0 è mantene solu e regule chì a destinazione include l'altra regula. Ùn ci hè nunda chì avete bisognu di fà s'ellu hè bè.

Altrimenti, prima di aghjurnà, cunsigliemu di cambià u vostru regule per sguassà queste situazioni.

Preconfigurazione di Okta è Google SSO

Firezone 0.5.0 elimina u supportu per a cunfigurazione Okta è Google SSO di u vechju stile in favore di a nova cunfigurazione basata in OIDC più flessibile. 

Se tenete una cunfigurazione predeterminata ['firezone']['authentication']['okta'] o predefinita ['firezone']['authentication']['google'] chjavi, avete bisognu di migrà queste à u nostru OIDC. -cunfigurazione basatu cù a guida sottu.

Cunfigurazione Google OAuth esistente

Eliminate queste linee chì cuntenenu i vechji cunfigurazioni Google OAuth da u vostru schedariu di cunfigurazione situatu in /etc/firezone/firezone.rb

 

default ['firezone']['authentication']['google']['enabled']

default ['firezone']['authentication']['google']['client_id']

default ['firezone']['authentication']['google']['client_secret']

default ['firezone']['authentication']['google']['redirect_uri']

 

Dopu, cunfigurà Google cum'è un fornitore OIDC seguendu e prucedure quì.

(Fornite struzzioni di ligame) <<<<<<<<<<<<<<<<<

 

Configurate Google OAuth esistente 

Eliminate queste linee chì cuntenenu i vechji cunfigurazioni Okta OAuth da u vostru schedariu di cunfigurazione situatu à /etc/firezone/firezone.rb

 

default ['firezone']['authentication']['okta']['enabled']

default ['firezone']['authentication']['okta']['client_id']

default ['firezone']['authentication']['okta']['client_secret']

Default ['firezone']['authentication']['okta']['site']

 

Dopu, cunfigurà Okta cum'è un fornitore OIDC seguendu e prucedure quì.

Aghjurnate da 0.3.x à >= 0.3.16

Sicondu a vostra cunfigurazione attuale è a versione, aderite à l'indicazione sottu:

Se avete digià una integrazione OIDC:

Per certi fornituri OIDC, l'aghjurnamentu à>= 0.3.16 necessita di ottene un token di rinfrescante per u scopu di accessu offline. Fendu questu, hè assicuratu chì Firezone aghjurnà cù u fornitore d'identità è chì a cunnessione VPN hè chjusa dopu chì un utilizatore hè sguassatu. L'iterazioni precedenti di Firezone mancavanu di sta funzione. In certi casi, l'utilizatori chì sò sguassati da u vostru fornitore di identità pò ancu esse cunnessi à una VPN.

Hè necessariu include l'accessu offline in u paràmetru di u scopu di a vostra cunfigurazione OIDC per i fornituri OIDC chì supportanu u scopu di l'accessu offline. Firezone-ctl reconfigure deve esse eseguitu per applicà cambiamenti à u schedariu di cunfigurazione Firezone, chì si trova in /etc/firezone/firezone.rb.

Per l'utilizatori chì sò stati autentificati da u vostru fornitore OIDC, vi vede l'intestazione OIDC Connections in a pagina di dettagli di l'utilizatori di a UI web se Firezone hè capace di ricuperà bè u token di rinfrescante.

Se questu ùn funziona micca, avete bisognu di sguassà a vostra app OAuth esistente è ripetite i passi di cunfigurazione OIDC per crea una nova integrazione di l'app .

Aghju una integrazione OAuth esistente

Prima di 0.3.11, Firezone hà utilizatu fornitori OAuth2 pre-configurati. 

Seguitate l'istruzzioni ccà per migrà à OIDC.

Ùn aghju micca integratu un fornitore d'identità

Nisuna azione necessaria. 

Pudete seguità l'istruzzioni ccà per attivà SSO attraversu un fornitore OIDC.

Aghjurnate da 0.3.1 à >= 0.3.2

In u so locu, default ['firezone']['external url'] hà rimpiazzatu l'opzione di cunfigurazione default ['firezone']['fqdn']. 

Pone questu à l'URL di u vostru portale in linea Firezone chì hè accessibile à u publicu generale. Serà predeterminatu https:// plus u FQDN di u vostru servitore s'ellu ùn hè micca definitu.

U schedariu di cunfigurazione si trova in /etc/firezone/firezone.rb. Vede a riferenza di u schedariu di cunfigurazione per una lista cumpleta di variabili di cunfigurazione è e so descrizzioni.

Aghjurnate da 0.2.x à 0.3.x

Firezone ùn mantene più e chjave private di u dispositivu in u servitore Firezone da a versione 0.3.0. 

A Firezone Web UI ùn vi permetterà micca di scaricà o di vede queste cunfigurazioni, ma qualsiasi dispositi esistenti duveranu cuntinuà à funziunà cum'è.

Aghjurnate da 0.1.x à 0.2.x

Sè vo aghjurnà da Firezone 0.1.x, ci sò uni pochi cambiamenti di u schedariu di cunfigurazione chì deve esse indirizzatu manualmente. 

Per fà e mudificazioni necessarie à u vostru schedariu /etc/firezone/firezone.rb, eseguite i cumandamenti sottu cum'è 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 riconfigurate

firezone-ctl riavvia

Troubleshooting

Cuntrollà i logs Firezone hè un primu passu sàviu per qualsiasi prublemi chì ponu accade.

Eseguite sudo firezone-ctl tail per vede i logs Firezone.

Debugging Problemi di Connettività

A maiò parte di i prublemi di cunnessione cù Firezone sò purtati da regule iptables o nftables incompatibili. Avete da assicurà chì e regule chì avete in effetti ùn scontranu micca cù e regule di Firezone.

A cunnessione Internet cade quandu Tunnel hè attivu

Assicuratevi chì a catena FORWARD permette i pacchetti da i vostri clienti WireGuard à i lochi chì vulete lascià attraversu Firezone se a vostra cunnessione Internet si deteriora ogni volta chì attivate u vostru tunnel WireGuard.

 

Questu pò esse ottenutu sè vo aduprate ufw assicurendu chì a pulitica di routing predeterminata hè permessa:

 

ubuntu@fz:~$ sudo ufw default allow routed

A pulitica di rotta predeterminata hè cambiata in "permette"

(assicuratevi di aghjurnà e vostre regule in cunseguenza)

 

A ufw u statutu per un servitore Firezone tipicu pò esse cusì:

 

ubuntu@fz:~$ sudo ufw status verbose

Status: attivu

Logging: attivu (bassu)

Default: deny (entrante), permette (in uscita), permette (routed)

Profili novi: saltà

 

À Azzione Da

— —— —-

22/tcp ALLOW IN In ogni locu

80/tcp ALLOW IN In ogni locu

443/tcp ALLOW IN In ogni locu

51820/udp ALLOW IN In ogni locu

22/tcp (v6) PERMETTE in ogni locu (v6)

80/tcp (v6) PERMETTE in ogni locu (v6)

443/tcp (v6) PERMETTE IN Ovunque (v6)

51820/udp (v6) PERMETTI IN Ovunque (v6)

Cunsiderazioni di securità

Avemu cunsigliatu per limità l'accessu à l'interfaccia web per implementazioni di produzzione estremamente sensibili è di missione critica, cum'è spiegatu quì sottu.

Servizi è Porti

 

Service

Portu predefinitu

Ascolta l'indirizzu

Description

Nginx

80, 443

tuttu

Port HTTP (S) publicu per l'amministrazione di Firezone è facilità l'autentificazione.

Guardaghjolu

51820

tuttu

U portu publicu WireGuard utilizatu per e sessioni VPN. (UDP)

postgresql

15432

127.0.0.1

U portu solu locale utilizatu per u servitore Postgresql bundle.

Phoenix

13000

127.0.0.1

U portu solu locale utilizatu da u servitore di l'applicazioni elixir upstream.

Impiegazioni di pruduzzione

Vi cunsigliemu di pensà à limità l'accessu à l'UI web esposta publicamente di Firezone (per i porti predeterminati 443/tcp è 80/tcp) è invece di utilizà u tunnel WireGuard per gestisce Firezone per a pruduzzione è implementazioni in publicu induve un solu amministratore serà incaricatu. di creazione è distribuzione di cunfigurazioni di u dispositivu à l'utilizatori finali.

 

Per esempiu, se un amministratore hà creatu una cunfigurazione di u dispositivu è hà creatu un tunnel cù l'indirizzu WireGuard locale 10.3.2.2, a seguente cunfigurazione ufw permetterà à l'amministratore di accede à l'interfaccia web Firezone in l'interfaccia wg-firezone di u servitore utilizendu a 10.3.2.1 predeterminata. indirizzu di u tunnel:

 

root@demo:~# ufw status verbose

Status: attivu

Logging: attivu (bassu)

Default: deny (entrante), permette (in uscita), permette (routed)

Profili novi: saltà

 

À Azzione Da

— —— —-

22/tcp ALLOW IN In ogni locu

51820/udp ALLOW IN In ogni locu

In ogni locu ALLOW IN 10.3.2.2

22/tcp (v6) PERMETTE in ogni locu (v6)

51820/udp (v6) PERMETTI IN Ovunque (v6)

Questu lasciarà solu 22/tcp esposta per l'accessu SSH per gestisce u servitore (opcional), è 51820/udp esposti per stabilisce tunnel WireGuard.

Eseguite Queries SQL

Firezone include un servitore Postgresql è currispondente psql utilità chì pò esse usata da a cunchiglia lucale cusì:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d firezone \

  -h host local \

  -p 15432 \

  -c "SQL_STATEMENT"

 

Questu pò esse utile per scopi di debugging.

 

Compiti cumuni:

 

  • Elencu tutti l'utilizatori
  • Elencu tutti i dispositi
  • Cambia u rolu di l'utilizatore
  • Salvà a basa di dati



Elencu tutti l'utilizatori:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d firezone \

  -h host local \

  -p 15432 \

  -c "SELECT * FROM utilizatori;"



Elencu tutti i dispositi:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d firezone \

  -h host local \

  -p 15432 \

  -c "SELECT * FROM dispusitivi;"



Cambia un rolu d'utilizatore:

 

Pone u rolu à "admin" o "senza privilege":

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d firezone \

  -h host local \

  -p 15432 \

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



Salvà a basa di dati:

 

Inoltre, hè inclusu u prugramma pg dump, chì pò esse usatu per piglià copie di salvezza regulare di a basa di dati. Eseguite u codice seguente per dump una copia di a basa di dati in u formatu cumuni di dumanda SQL (sustituisci /path/to/backup.sql cù u locu induve u schedariu SQL deve esse creatu):

 

/opt/firezone/embedded/bin/pg_dump \

  -U firezone \

  -d firezone \

  -h host local \

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

Guides Qype

  • Aghjunghje Utenti
  • Aghjunghje Dispositivi
  • Reguli di uscita
  • Istruzzioni per i Clienti
  • Split Tunnel VPN
  • Tunnel inversu 
  • NAT Gateway

Aghjunghje Utenti

Dopu chì Firezone hè stata implementata cù successu, duvete aghjunghje l'utilizatori per furnisce l'accessu à a vostra reta. U Web UI hè utilizatu per fà questu.

 

UI Web


Selezziunendu u buttone "Add User" sottu / utilizatori, pudete aghjunghje un utilizatore. Vi sarà dumandatu à furnisce l'utilizatore cù un indirizzu email è una password. Per permette l'accessu à l'utilizatori in a vostra urganizazione automaticamente, Firezone pò ancu interfaccia è sincronizà cù un fornitore d'identità. Più dettagli sò dispunibili in Autentica. < Aggiungi un ligame per l'autenticazione

Aghjunghje Dispositivi

Avemu cunsigliatu per dumandà chì l'utilizatori creanu e so cunfigurazioni di u dispositivu in modu chì a chjave privata hè visibile solu per elli. L'utilizatori ponu generà a so propria cunfigurazione di u dispositivu seguendu e indicazioni nantu à u Istruzzioni per i Clienti pagina.

 

Generazione di cunfigurazione di u dispositivu amministratore

Tutte e cunfigurazioni di u dispositivu di l'utilizatori ponu esse create da l'amministratori di Firezone. In a pagina di u prufilu d'utilizatore situata in / utilizatori, selezziunate l'opzione "Add Device" per fà questu.

 

[Inserisci screenshot]

 

Pudete email à l'utilizatore u schedariu di cunfigurazione WireGuard dopu avè creatu u prufilu di u dispusitivu.

 

L'utilizatori è i dispositi sò ligati. Per più dettagli nantu à cumu aghjunghje un utilizatore, vede Aghjunghje Utenti.

Reguli di uscita

Per mezu di l'usu di u sistema di netfilter di u kernel, Firezone permette capacità di filtrazione di egressu per specificà i pacchetti DROP o ACCEPT. Tuttu u trafficu hè generalmente permessu.

 

I CIDR IPv4 è IPv6 è l'indirizzi IP sò supportati da l'Allowlist è Denylist, rispettivamente. Pudete sceglie di scopre una regula à un utilizatore quandu l'aghjunghje, chì applicà a regula à tutti i dispositi di quellu utilizatore.

Istruzzioni per i Clienti

Installa è cunfigurate

Per stabilisce una cunnessione VPN cù u cliente WireGuard nativu, riferite à sta guida.

 

1. Installa u cliente WireGuard nativu

 

I clienti WireGuard ufficiali situati quì sò compatibili Firezone:

 

MacOS

 

Windows

 

iOS

 

Android

 

Visita u situ web ufficiale di WireGuard à https://www.wireguard.com/install/ per i sistemi OS chì ùn sò micca citati sopra.

 

2. Download u schedariu di cunfigurazione dispusitivu

 

Sia u vostru amministratore Firezone o sè stessu pudete generà u schedariu di cunfigurazione di u dispositivu utilizendu u portale Firezone.

 

Visita l'URL chì u vostru amministratore Firezone hà furnitu per autogenerare un schedariu di cunfigurazione di u dispositivu. A vostra impresa avarà un URL unicu per questu; in questu casu, hè https://instance-id.yourfirezone.com.

 

Accedi à Firezone Okta SSO

 

[Inserisci screenshot]

 

3. Aghjunghjite a cunfigurazione di u cliente

 

Importa u schedariu.conf in u cliente WireGuard aprendu. Flipping the Activate switch, pudete inizià una sessione VPN.

 

[Inserisci screenshot]

Riautentificazione di sessione

Segui l'istruzzioni sottu se u vostru amministratore di a rete hà mandatu l'autentificazione recurrente per mantene a vostra cunnessione VPN attiva. 



Avete bisognu:

 

URL di u portale Firezone: dumandate u vostru amministratore di rete per a cunnessione.

U vostru amministratore di a rete deve esse capace di offre u vostru login è password. U situ Firezone vi invitarà à login cù u serviziu di sign-on unicu chì u vostru patronu usa (cum'è Google o Okta).

 

1. Turn off a cunnessione VPN

 

[Inserisci screenshot]

 

2. Autentificate dinò 

Andate à l'URL di u portale Firezone è accede cù e credenziali chì u vostru amministratore di a rete hà furnitu. Sè vo site digià firmatu, cliccate nant'à u buttone Reauthenticate prima di firmà torna.

 

[Inserisci screenshot]

 

Passu 3: Lanciari una sessione VPN

[Inserisci screenshot]

Manager di rete per Linux

Per impurtà u prufilu di cunfigurazione WireGuard utilizendu Network Manager CLI in i dispositi Linux, seguite queste struzzioni (nmcli).

DA

Se u prufilu hà u supportu IPv6 attivatu, pruvà à impurtà u schedariu di cunfigurazione utilizendu a GUI Network Manager pò falla cù l'errore seguente:

ipv6.method: u metudu "auto" ùn hè micca supportatu per WireGuard

1. Stallà u Tools WireGuard 

Hè necessariu installà l'utilità WireGuard userspace. Questu serà un pacchettu chjamatu wireguard o wireguard-tools per distribuzioni Linux.

Per Ubuntu/Debian:

sudo apt install wireguard

Per utilizà Fedora:

sudo dnf install wireguard-tools

Arch Linux:

sudo pacman -S wireguard-tools

Visita u situ web ufficiale di WireGuard à https://www.wireguard.com/install/ per distribuzioni chì ùn sò micca citati sopra.

2. Download cunfigurazione 

Sia u vostru amministratore Firezone o l'autogenerazione pò generà u schedariu di cunfigurazione di u dispositivu utilizendu u portale Firezone.

Visita l'URL chì u vostru amministratore Firezone hà furnitu per autogenerare un schedariu di cunfigurazione di u dispositivu. A vostra impresa avarà un URL unicu per questu; in questu casu, hè https://instance-id.yourfirezone.com.

[Inserisci screenshot]

3. Import settings

Importa u schedariu di cunfigurazione furnitu cù nmcli:

sudo nmcli connection tippu d'importazione wireguard file /path/to/configuration.conf

DA

U nome di u schedariu di cunfigurazione currisponde à a cunnessione / interfaccia WireGuard. Dopu l'importazione, a cunnessione pò esse rinominata se ne necessariu:

cunnessu nmcli mudificà [vechju nome] connection.id [nome novu]

4. Cunnette o disconnect

Via a linea di cummanda, cunnette à a VPN cum'è seguita:

cunnessione nmcli up [nome VPN]

Per disconnect:

cunnessione nmcli down [nome VPN]

L'applet Network Manager applicabile pò ancu esse aduprata per gestisce a cunnessione se si usa una GUI.

Cunnessione Auto

Selezziunate "sì" per l'opzione di autoconnect, a cunnessione VPN pò esse cunfigurata per cunnette automaticamente:

 

a cunnessione nmcli mudificà a cunnessione [nome VPN]. <<<<<<<<<<<<<<<<<<<<<<<

 

autoconnect sì

 

Per disattivà a cunnessione automatica, torna à no:

 

a cunnessione nmcli mudificà a cunnessione [nome VPN].

 

autoconnect no

Fate dispunibule l'autenticazione multifattore

Per attivà l'MFA Andate à u portale Firezone / account d'utilizatore / registratu pagina mfa. Aduprate a vostra app autentificatore per scansà u codice QR dopu chì hè statu generatu, dopu entre u codice di sei cifre.

Cuntattate u vostru amministratore per resettate l'infurmazioni d'accessu di u vostru contu se sbagliate a vostra app di autentificazione.

Split Tunnel VPN

Stu tutoriale vi guiderà à traversu u prucessu di cunfigurà a funzione di split tunneling di WireGuard cù Firezone in modu chì solu u trafficu à intervalli IP specifichi hè trasmessu attraversu u servitore VPN.

 

1. Configurate IPs permessi 

I intervalli IP per i quali u cliente indirizzerà u trafficu di a rete sò stabiliti in u campu IP permessi situatu in a pagina / settings / default. Solu i cunfigurazioni di u tunnel WireGuard appena creati da Firezone seranu affettati da cambiamenti in stu campu.

 

[Inserisci screenshot]



U valore predeterminatu hè 0.0.0.0/0, ::/0, chì indirizza tuttu u trafficu di a rete da u cliente à u servitore VPN.

 

Esempi di valori in questu campu include:

 

0.0.0.0/0, ::/0 - tuttu u trafficu di a rete serà instradatu à u servitore VPN.

192.0.2.3/32 - solu u trafficu à un unicu indirizzu IP serà indirizzatu à u servitore VPN.

3.5.140.0/22 ​​- solu u trafficu à l'IP in a gamma 3.5.140.1 - 3.5.143.254 serà indirizzatu à u servitore VPN. In questu esempiu, a gamma CIDR per a regione AWS ap-northeast-2 hè stata utilizata.



DA

Firezone selezziunate l'interfaccia di uscita assuciata cù a strada più precisa prima quandu determina induve indirizzà un pacchettu.

 

2. Regenerate cunfigurazioni WireGuard

L'utilizatori devenu rigenerate i fugliali di cunfigurazione è aghjunghje à u so cliente WireGuard nativu per aghjurnà i dispositi d'utilizatori esistenti cù a nova cunfigurazione di u tunnel split.

 

Per struzzioni, vede aghjunghje dispositivu. <<<<<<<<<<< Aggiungi ligame

Tunnel inversu

Stu manuale vi dimustrarà cumu ligà dui dispositi chì utilizanu Firezone cum'è relay. Un casu d'usu tipicu hè di permette à un amministratore di accede à un servitore, cuntainer, o macchina chì hè prutetta da un NAT o firewall.

 

Node à Node 

Questa illustrazione mostra un scenariu simplice in quale i Dispositivi A è B custruiscenu un tunnel.

 

[Inserite l'immagine architettonica di Firezone]

 

Accuminciate per creà u Dispositivu A è u Dispositivu B navigendu in /users/[user_id]/new_device. In i paràmetri per ogni dispusitivu, assicuratevi chì i seguenti paràmetri sò stabiliti à i valori elencati quì sottu. Pudete stabilisce i paràmetri di u dispositivu quandu creanu a cunfigurazione di u dispositivu (vede Add Devices). Sè avete bisognu di aghjurnà i paràmetri di un dispositivu esistente, pudete fà per generà una nova cunfigurazione di u dispositivu.

 

Nota chì tutti i dispositi anu una pagina / settings/defaults induve PersistentKeepalive pò esse cunfiguratu.

 

Dispositivu A

 

IP permessi = 10.3.2.2/32

  Questu hè l'IP o intervallu di IP di u Dispositivu B

PersistentKeepalive = 25

  Se u dispusitivu hè daretu à un NAT, questu assicura chì u dispositivu hè capace di mantene u tunelu vivu è cuntinueghja à riceve pacchetti da l'interfaccia WireGuard. Di solitu un valore di 25 hè abbastanza, ma pudete bisognu di diminuisce stu valore secondu u vostru ambiente.



B dispusitivu

 

IP permessi = 10.3.2.3/32

Questu hè l'IP o intervallu di IP di u Dispositivu A

PersistentKeepalive = 25

Admin Case - Unu à parechji Nodi

Questu esempiu mostra una situazione in quale u Dispositivu A pò cumunicà cù i Dispositivi B à D in e duie direzzione. Questa cunfigurazione pò rapprisintà un ingegnere o amministratore chì accede à numerosi risorse (servitori, cuntenituri o macchine) in diverse rete.

 

[Diagramma di l'architettura] <<<<<<<<<<<<<<<<<<<<<<<<<

 

Assicuratevi chì i seguenti paràmetri sò fatti in i paràmetri di ogni dispusitivu à i valori currispundenti. Quandu crea a cunfigurazione di u dispositivu, pudete specificà i paràmetri di u dispositivu (vede Add Devices). Una nova cunfigurazione di u dispositivu pò esse creata se i paràmetri di un dispositivu esistente deve esse aghjurnatu.

 

Dispositivu A (Node Administrator)

 

IP permessi = 10.3.2.3/32, 10.3.2.4/32, 10.3.2.5/32 

    Questu hè l'IP di i dispositi B à D. L'IP di i dispusitivi B à D deve esse inclusu in ogni intervallu IP chì sceglite di stabilisce.

PersistentKeepalive = 25 

    Questu guarantisci chì u dispusitivu pò mantene u tunelu è cuntinueghja à riceve pacchetti da l'interfaccia WireGuard ancu s'ellu hè prutettu da un NAT. In a maiò parte di i casi, un valore di 25 hè adattatu, ma sicondu u vostru circondu, pudete bisognu di calà sta figura.

 

Dispositivu B

 

  • AllowedIPs = 10.3.2.2/32: Questu hè l'IP o intervallu di IP di u Dispositivu A
  • PersistentKeepalive = 25

U dispusitivu C

 

  • AllowedIPs = 10.3.2.2/32: Questu hè l'IP o intervallu di IP di u Dispositivu A
  • PersistentKeepalive = 25

U dispusitivu D

 

  • AllowedIPs = 10.3.2.2/32: Questu hè l'IP o intervallu di IP di u Dispositivu A
  • PersistentKeepalive = 25

NAT Gateway

Per offre una sola IP di egressu statica per tuttu u trafficu di a vostra squadra per fluisce, Firezone pò esse aduprata cum'è una porta NAT. Queste situazioni implicanu u so usu frequente:

 

Cunsulting Engagements: Richiede chì i vostri clienti listessi un unicu indirizzu IP staticu piuttostu cà l'IP unicu di ogni impiigatu.

Utilizà un proxy o maschera l'IP fonte per scopi di sicurità o privacy.

 

Un esempiu simplice di limità l'accessu à una applicazione web self-hosted à una sola IP statica lista bianca chì esegue Firezone serà dimustratu in questu post. In questa illustrazione, Firezone è a risorsa prutetta sò in diverse spazii VPC.

 

Questa suluzione hè spessu usata in u locu di gestisce una lista bianca IP per numerosi utilizatori finali, chì pò esse di tempu chì a lista d'accessu si sviluppa.

Esempiu AWS

U nostru scopu hè di stallà un servitore Firezone in una istanza EC2 per redirige u trafficu VPN à a risorsa ristretta. In questu casu, Firezone serve cum'è un proxy di rete o una porta NAT per dà à ogni dispositivu cunnessu un IP di egressu publicu unicu.

 

1. Stallà u servore Firezone

In questu casu, una istanza EC2 chjamata tc2.micro hà una istanza Firezone installata nantu à questu. Per infurmazione nantu à l'implementazione di Firezone, andate à a Guida di implementazione. In relazione à AWS, assicuratevi:

 

U gruppu di sicurità di l'istanza Firezone EC2 permette u trafficu in uscita à l'indirizzu IP di a risorsa prutetta.

L'istanza Firezone vene cun un IP elasticu. U trafficu chì hè trasmessu attraversu l'istanza Firezone à destinazioni esterne averà questu cum'è u so indirizzu IP fonte. L'indirizzu IP in quistione hè 52.202.88.54.

 

[Inserisci screenshot]<<<<<<<<<<<<<<<<<<<<<<<<<

 

2. Limità l'accessu à a risorsa chì hè stata prutetta

Una applicazione web self-hosted serve com'è risorsa prutetta in questu casu. L'app web pò esse accede solu da e dumande chì venenu da l'indirizzu IP 52.202.88.54. Sicondu a risorsa, pò esse necessariu di permette u trafficu inbound in diversi porti è tipi di trafficu. Questu ùn hè micca cuparti in stu manuale.

 

[Inserisci screenshot]<<<<<<<<<<<<<<<<<<<<<<<<<

 

Per piacè dì à u terzu incaricatu di a risorsa prutetta chì u trafficu da l'IP statica definitu in u Passu 1 deve esse permessu (in questu casu 52.202.88.54).

 

3. Aduprate u servitore VPN per diretta u trafficu à a risorsa prutetta

 

Per automaticamente, tuttu u trafficu di l'utilizatori passà per u servitore VPN è vene da l'IP statica chì hè stata cunfigurata in u Passu 1 (in questu casu 52.202.88.54). Tuttavia, se u tunneling split hè statu attivatu, i paràmetri puderanu esse necessariu per assicurà chì l'IP di destinazione di a risorsa prutetta hè listata trà l'IP permessi.

Aghjunghjite u vostru Testu di Titulu quì

A mostra sottu hè una lista cumpleta di l'opzioni di cunfigurazione dispunibili in /etc/firezone/firezone.rb.



upzione

description

valore predefinitu

default ['firezone']['external_url']

URL utilizatu per accede à u portale web di questa istanza Firezone.

"https://#{node['fqdn'] || node ['hostname']}"

default ['firezone']['config_directory']

Directory di primu livellu per a cunfigurazione di Firezone.

/etc/firezone'

default ['firezone']['install_directory']

Directory di primu livellu per installà Firezone.

/ opt / firezone'

default ['firezone']['app_directory']

Directory di primu livellu per installà l'applicazione web Firezone.

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

default ['firezone']['log_directory']

Directory di primu livellu per i logs Firezone.

/var/log/firezone'

default ['firezone']['var_directory']

Directory di primu livellu per i fugliali di runtime Firezone.

/var/opt/firezone'

default ['firezone']['utente']

Nome di l'utilizatore Linux senza privilegiu chì a maiò parte di i servizii è i schedari apparteneranu.

zona di focu'

default ['firezone']['gruppu']

Nome di u gruppu Linux chì a maiò parte di i servizii è i schedari apparteneranu.

zona di focu'

default ['firezone']['admin_email']

Indirizzu email per l'utilizatore iniziale di Firezone.

"firezone@localhost"

default ['firezone']['max_devices_per_user']

U numeru massimu di dispusitivi chì un utilizatore pò avè.

10

default ['firezone']['allow_unprivileged_device_management']

Permette à l'utilizatori non-admin di creà è sguassà i dispositi.

CALDO

default ['firezone']['allow_unprivileged_device_configuration']

Permette à l'utilizatori chì ùn sò micca amministratori mudificà e cunfigurazioni di u dispositivu. Quandu hè disattivatu, impedisce à l'utilizatori senza privilegi di cambià tutti i campi di u dispositivu eccettu u nome è a descrizzione.

CALDO

default ['firezone']['egress_interface']

Nome di l'interfaccia induve u trafficu tunnellatu esce. Se nil, l'interfaccia di rotta predeterminata serà usata.

nil

default ['firezone']['fips_enabled']

Habilita o disattiveghjanu u modu OpenSSL FIPs.

nil

default ['firezone']['logging']['attivato']

Attivà o disattiveghjanu u login in Firezone. Pone à false per disattivà completamente a registrazione.

CALDO

default ['impresa']['nome']

Nome utilizatu da u libru di cucina di Chef "impresa".

zona di focu'

default ['firezone']['install_path']

Installa u percorsu utilizatu da u libru di cucina di Chef 'impresa'. Deve esse stabilitu à u listessu cum'è install_directory sopra.

node ['firezone']['directory_install']

default ['firezone']['sysvinit_id']

Un identificatore utilizatu in /etc/inittab. Deve esse una sequenza unica di 1-4 caratteri.

SUP'

default ['firezone']['authentication']['local']['enabled']

Attivà o disattivà l'autentificazione di e-mail / password locale.

CALDO

default ['firezone']['authentication']['auto_create_oidc_users']

Crea automaticamente l'utilizatori chì accedenu da OIDC per a prima volta. Disattivate per permette solu à l'utilizatori esistenti di firmà in via OIDC.

CALDO

default ['firezone']['authentication']['disable_vpn_on_oidc_error']

Disattivate a VPN di un utilizatore se un errore hè rilevatu chì prova di rinfriscà u so token OIDC.

In

default ['firezone']['autenticazione']['oidc']

OpenID Connect config, in u formatu di {"provider" => [config...]} - Vede Documentazione OpenIDConnect per esempi di cunfigurazione.

{}

default ['firezone']['nginx']['attivato']

Abilita o disattiveghjanu u servitore nginx bundled.

CALDO

default ['firezone']['nginx']['ssl_port']

Port d'ascolta HTTPS.

443

default ['firezone']['nginx']['directory']

Directory per almacenà a cunfigurazione di host virtuale nginx in Firezone.

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

default ['firezone']['nginx']['log_directory']

Directory per almacenà i fugliali di log nginx in Firezone.

"#{node ['firezone']['log_directory']}/nginx"

default ['firezone']['nginx']['log_rotation']['file_maxbytes']

Dimensione di u schedariu à quale rotà i schedarii di log Nginx.

104857600

default ['firezone']['nginx']['log_rotation']['num_to_keep']

Numero di fugliali di log Firezone nginx da mantene prima di scartà.

10

default ['firezone']['nginx']['log_x_forwarded_for']

Sia registrà Firezone nginx x-forwarded-for header.

CALDO

default ['firezone']['nginx']['hsts_header']['enabled']

Attivà o disattivà HSTS.

CALDO

default ['firezone']['nginx']['hsts_header']['include_subdomains']

Abilita o disattiveghja include SubDomains per l'intestazione HSTS.

CALDO

default ['firezone']['nginx']['hsts_header']['max_age']

Età massima per l'intestazione HSTS.

31536000

default ['firezone']['nginx']['redirect_to_canonical']

Sia per reindirizzà l'URL à u FQDN canonicu specificatu sopra

In

default ['firezone']['nginx']['cache']['enabled']

Attivà o disattivà a cache nginx Firezone.

In

default ['firezone']['nginx']['cache']['directory']

Directory per Firezone nginx cache.

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

default ['firezone']['nginx']['utente']

L'utilizatore di Firezone nginx.

node ['firezone']['utente']

default ['firezone']['nginx']['gruppu']

U gruppu Firezone nginx.

node ['firezone']['gruppu']

default ['firezone']['nginx']['dir']

Directory di cunfigurazione nginx di primu livellu.

node ['firezone']['nginx']['directory']

default ['firezone']['nginx']['log_dir']

U cartulare di log nginx di primu livellu.

node ['firezone']['nginx']['log_directory']

default ['firezone']['nginx']['pid']

Locu per u file pid nginx.

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

default ['firezone']['nginx']['daemon_disable']

Disattivate u modu daemon nginx per pudè monitorà invece.

CALDO

default ['firezone']['nginx']['gzip']

Attiva o disattiva a compressione nginx gzip.

nantu à

default ['firezone']['nginx']['gzip_static']

Attiva o disattiva a compressione nginx gzip per i fugliali statici.

off'

default ['firezone']['nginx']['gzip_http_version']

Versione HTTP da aduprà per serve i schedari statici.

1.0 '

default ['firezone']['nginx']['gzip_comp_level']

Livellu di compressione nginx gzip.

2 '

default ['firezone']['nginx']['gzip_proxied']

Abilita o disattiva gzipping di risposte per e dumande proxy secondu a dumanda è a risposta.

qualunque'

default ['firezone']['nginx']['gzip_vary']

Abilita o disattiva l'inserimentu di l'intestazione di risposta "Vary: Accept-Encoding".

off'

default ['firezone']['nginx']['gzip_buffers']

Stabilisce u numeru è a dimensione di i buffer utilizati per cumpressà una risposta. Se nil, nginx default hè utilizatu.

nil

default ['firezone']['nginx']['gzip_types']

Tipi MIME per attivà a cumpressione gzip per.

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

default ['firezone']['nginx']['gzip_min_length']

Lunghezza minima di u schedariu per attivà a cumpressione gzip di u fugliale per.

1000

default ['firezone']['nginx']['gzip_disable']

Utenti-agent matcher per disattivà a cumpressione gzip per.

MSIE [1-6]\.'

default ['firezone']['nginx']['keepalive']

Attiva a cache per a cunnessione à i servitori upstream.

nantu à

default ['firezone']['nginx']['keepalive_timeout']

Timeout in seconde per a cunnessione keepalive à i servitori upstream.

65

default ['firezone']['nginx']['worker_processes']

Numaru di prucessi di travagliu nginx.

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

default ['firezone']['nginx']['worker_connections']

Max numaru di cunnessione simultanea chì pò esse apertu da un prucessu di travagliu.

1024

default ['firezone']['nginx']['worker_rlimit_nofile']

Cambia u limitu di u numeru massimu di schedari aperti per i prucessi di travagliu. Utiliza nginx predeterminatu se nil.

nil

default ['firezone']['nginx']['multi_accept']

Sia i travagliadori duveranu accettà una cunnessione à volta o parechje.

CALDO

default ['firezone']['nginx']['avvenimentu']

Specifica u metudu di trasfurmazioni di cunnessione à aduprà in u cuntestu di l'avvenimenti nginx.

epollu'

default ['firezone']['nginx']['server_tokens']

Abilita o disattiva l'emissione di a versione nginx in e pagine d'errore è in u campu di l'intestazione di risposta "Server".

nil

default ['firezone']['nginx']['server_names_hash_bucket_size']

Stabilisce a dimensione di u bucket per i nomi di i servitori hash tables.

64

default ['firezone']['nginx']['sendfile']

Abilita o disattiva l'usu di u sendfile di nginx ().

nantu à

default ['firezone']['nginx']['access_log_options']

Stabilisce l'opzioni di log di accessu nginx.

nil

default ['firezone']['nginx']['error_log_options']

Stabilisce l'opzioni di log di errore nginx.

nil

default ['firezone']['nginx']['disable_access_log']

Disabilita u log di accessu nginx.

In

default ['firezone']['nginx']['types_hash_max_size']

nginx tippi hash max size.

2048

default ['firezone']['nginx']['types_hash_bucket_size']

nginx tippi hash bucket size.

64

default ['firezone']['nginx']['proxy_read_timeout']

nginx proxy read timeout. Set à nil per utilizà nginx default.

nil

default ['firezone']['nginx']['client_body_buffer_size']

dimensione di u buffer di u corpu di u cliente nginx. Set à nil per utilizà nginx default.

nil

default ['firezone']['nginx']['client_max_body_size']

dimensione massima di u corpu di u cliente nginx.

250 m'

default ['firezone']['nginx']['default']['modules']

Specificate moduli nginx supplementari.

[]

default ['firezone']['nginx']['enable_rate_limiting']

Attivà o disattivà a limitazione di a tarifa nginx.

CALDO

default ['firezone']['nginx']['rate_limiting_zone_name']

Nome di zona di limitazione di a tarifa Nginx.

zona di focu'

default ['firezone']['nginx']['rate_limiting_backoff']

A tarifa Nginx limita u backoff.

10 m'

default ['firezone']['nginx']['rate_limit']

Limite di tariffu Nginx.

10r/s'

default ['firezone']['nginx']['ipv6']

Permette à nginx à sente e richieste HTTP per IPv6 in più di IPv4.

CALDO

default ['firezone']['postgresql']['attivato']

Attivà o disattivà Postgresql bundled. Pone à false è compie l'opzioni di basa di dati sottu per utilizà a vostra propria istanza Postgresql.

CALDO

default ['firezone']['postgresql']['username']

Nome d'utilizatore per Postgresql.

node ['firezone']['utente']

default ['firezone']['postgresql']['data_directory']

Repertorio di dati Postgresql.

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

default ['firezone']['postgresql']['log_directory']

Repertorio di log Postgresql.

"#{node['firezone']['log_directory']}/postgresql"

default ['firezone']['postgresql']['log_rotation']['file_maxbytes']

A dimensione massima di u schedariu di log Postgresql prima chì sia rotatu.

104857600

default ['firezone']['postgresql']['log_rotation']['num_to_keep']

Numero di schedarii di log Postgresql da mantene.

10

default ['firezone']['postgresql']['checkpoint_completion_target']

Obiettivu di cumpletamentu di u puntu di cuntrollu Postgresql.

0.5

default ['firezone']['postgresql']['checkpoint_segments']

Numero di segmenti di punti di cuntrollu Postgresql.

3

default ['firezone']['postgresql']['checkpoint_timeout']

Timeout di u puntu di cuntrollu Postgresql.

5 minuti

default ['firezone']['postgresql']['checkpoint_warning']

Tempu di avvisu di u puntu di cuntrollu Postgresql in seconde.

30'

default ['firezone']['postgresql']['effective_cache_size']

Dimensione di cache efficace Postgresql.

128 MB'

default ['firezone']['postgresql']['listen_address']

Indirizzu d'ascoltu Postgresql.

127.0.0.1 '

default ['firezone']['postgresql']['max_connections']

Connessioni max Postgresql.

350

default ['firezone']['postgresql']['md5_auth_cidr_addresses']

Postgresql CIDR per permette l'auth md5.

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

default ['firezone']['postgresql']['port']

Port d'ascolta Postgresql.

15432

default ['firezone']['postgresql']['shared_buffers']

Postgresql sparte buffer size.

"#{(node['memoria']['totale'].to_i / 4) / 1024}MB"

default ['firezone']['postgresql']['shmmax']

Postgresql shmmax in bytes.

17179869184

default ['firezone']['postgresql']['shmall']

Postgresql shmall in bytes.

4194304

default ['firezone']['postgresql']['work_mem']

Dimensione di memoria di travagliu Postgresql.

8 MB'

default ['firezone']['database']['user']

Specifica u nome d'utilizatore Firezone aduprà per cunnette à a DB.

node ['firezone']['postgresql']['username']

default ['firezone']['database']['password']

Se utilizate una DB esterna, specifica a password chì Firezone utilizerà per cunnette à a DB.

cambiami'

default ['firezone']['database']['name']

Database chì Firezone aduprà. Serà creatu s'ellu ùn esiste micca.

zona di focu'

default ['firezone']['database']['host']

L'ospite di basa di dati chì Firezone hà da cunnette.

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

default ['firezone']['database']['port']

U portu di basa di dati chì Firezone hà da cunnette.

node ['firezone']['postgresql']['port']

default ['firezone']['database']['pool']

A dimensione di a piscina di basa di dati Firezone utilizerà.

[10, Etc.nprocessors].max

default ['firezone']['database']['ssl']

Sia per cunnette à a basa di dati nantu à SSL.

In

default ['firezone']['database']['ssl_opts']

Hash d'opzioni per mandà à l'opzione :ssl_opts quandu si cunnetta nantu à SSL. Vede Documentazione Ecto.Adapters.Postgres.

{}

default ['firezone']['database']['parametri']

Hash di paràmetri per mandà à l'opzione :parameters quandu si cunnetta à a basa di dati. Vede Documentazione Ecto.Adapters.Postgres.

{}

default ['firezone']['database']['extensions']

Estensioni di basa di dati per attivà.

{ 'plpgsql' => vera, 'pg_trgm' => vera }

default ['firezone']['phoenix']['attivatu']

Attivà o disattivà l'applicazione web Firezone.

CALDO

default ['firezone']['phoenix']['listen_address']

L'indirizzu d'ascoltu di l'applicazione web Firezone. Questu serà l'indirizzu d'ascolta upstream chì nginx proxy.

127.0.0.1 '

default ['firezone']['phoenix']['port']

Port d'ascoltu di l'applicazione web Firezone. Questu serà u portu upstream chì nginx proxy.

13000

default ['firezone']['phoenix']['log_directory']

Directory di log di l'applicazioni web Firezone.

"#{node ['firezone']['log_directory']}/phoenix"

default ['firezone']['phoenix']['log_rotation']['file_maxbytes']

Dimensione di u schedariu di log di l'applicazione web Firezone.

104857600

default ['firezone']['phoenix']['log_rotation']['num_to_keep']

Numero di schedarii di log di l'applicazioni web Firezone da mantene.

10

default ['firezone']['phoenix']['crash_detection']['attivato']

Abilita o disattiveghjanu a caduta di l'applicazione web Firezone quandu un crash hè rilevatu.

CALDO

default ['firezone']['phoenix']['external_trusted_proxies']

Lista di proxy inversi di fiducia furmatu cum'è Array di IP è / o CIDR.

[]

default ['firezone']['phoenix']['private_clients']

Lista di i clienti HTTP di a rete privata, furmatu un Array di IP è / o CIDR.

[]

default ['firezone']['wireguard']['attivato']

Abilita o disattiveghjanu a gestione WireGuard bundled.

CALDO

default ['firezone']['wireguard']['log_directory']

L'annuariu di log per a gestione WireGuard bundle.

"#{node['firezone']['log_directory']}/wireguard"

default ['firezone']['wireguard']['log_rotation']['file_maxbytes']

Dimensione massima di u file di log WireGuard.

104857600

default ['firezone']['wireguard']['log_rotation']['num_to_keep']

Numero di schedarii di log WireGuard da mantene.

10

default ['firezone']['wireguard']['interface_name']

Nome di l'interfaccia WireGuard. Cambia stu paràmetru pò causà una perdita temporale in a cunnessione VPN.

wg-firezone'

default ['firezone']['wireguard']['port']

Port d'ascolta WireGuard.

51820

default ['firezone']['wireguard']['mtu']

Interfaccia WireGuard MTU per stu servitore è per e cunfigurazioni di u dispositivu.

1280

default ['firezone']['wireguard']['endpoint']

WireGuard Endpoint da aduprà per generà cunfigurazioni di u dispositivu. Se nil, predeterminatu à l'indirizzu IP publicu di u servitore.

nil

default ['firezone']['wireguard']['dns']

WireGuard DNS da aduprà per cunfigurazioni di u dispositivu generatu.

1.1.1.1, 1.0.0.1′

default ['firezone']['wireguard']['allowed_ips']

WireGuard AllowedIPs da aduprà per cunfigurazioni di u dispositivu generatu.

0.0.0.0/0, ::/0′

default ['firezone']['wireguard']['persistent_keepalive']

Configurazione PersistentKeepalive predeterminata per e cunfigurazioni di u dispositivu generatu. Un valore di 0 disattiva.

0

default ['firezone']['wireguard']['ipv4']['enabled']

Habilita o disattivà IPv4 per a rete WireGuard.

CALDO

default ['firezone']['wireguard']['ipv4']['masquerade']

Abilita o disattiveghjanu a mascherata per i pacchetti chì abbandunanu u tunnel IPv4.

CALDO

default ['firezone']['wireguard']['ipv4']['network']

Pool di indirizzi IPv4 di a rete WireGuard.

10.3.2.0/24 ′

default ['firezone']['wireguard']['ipv4']['indirizzu']

Indirizzu IPv4 di l'interfaccia WireGuard. Deve esse in u pool di indirizzu WireGuard.

10.3.2.1 '

default ['firezone']['wireguard']['ipv6']['enabled']

Habilita o disattivà IPv6 per a rete WireGuard.

CALDO

default ['firezone']['wireguard']['ipv6']['masquerade']

Abilita o disattiveghjanu a mascherata per i pacchetti chì abbandunanu u tunnel IPv6.

CALDO

default ['firezone']['wireguard']['ipv6']['network']

Pool di indirizzi IPv6 di a rete WireGuard.

fd00::3:2:0/120′

default ['firezone']['wireguard']['ipv6']['indirizzu']

Indirizzu IPv6 di l'interfaccia WireGuard. Deve esse in u pool di indirizzu IPv6.

fd00::3:2:1′

default ['firezone']['runit']['svlogd_bin']

Runit svlogd bin locu.

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

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

Directory SSL per almacenà i certificati generati.

/var/opt/firezone/ssl'

default ['firezone']['ssl']['email_address']

Indirizzu email da aduprà per i certificati autofirmati è avvisi di rinnuvamentu di u protocolu ACME.

tu@esempiu.com'

default ['firezone']['ssl']['acme']['enabled']

Abilita ACME per l'approvvigionamentu automaticu di certificati SSL. Disable this to prevent Nginx from listening on port 80. See ccà per più struzzioni.

In

default ['firezone']['ssl']['acme']['server']

Servitore ACME da aduprà per l'emissione / rinnuvamentu di certificati. Pò esse qualsiasi servitore acme.sh validu

lasciaencrypt

default ['firezone']['ssl']['acme']['keylength']

Specificate u tipu di chjave è a durata per i certificati SSL. Vede ccà

ec-256

default ['firezone']['ssl']['certificato']

Percorsu à u schedariu di certificatu per u vostru FQDN. Ignora l'impostazione ACME sopra se specificata. Se l'ACME è questu sò nil, un certificatu autofirmatu serà generatu.

nil

default ['firezone']['ssl']['certificate_key']

Percorsu à u schedariu di certificatu.

nil

default ['firezone']['ssl']['ssl_dhparam']

nginx ssl dh_param.

nil

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

Nome di paese per u certificatu autofirmatu.

US'

default ['firezone']['ssl']['state_name']

Nome statale per u certificatu autofirmatu.

CA '

default ['firezone']['ssl']['locality_name']

Nome di a località per u certificatu autofirmatu.

San Francisco

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

Nome di l'impresa certificatu autofirmatu.

a mo cumpagnia '

default ['firezone']['ssl']['organizational_unit_name']

Nome di unità organizzativa per u certificatu autofirmatu.

Operazioni '

default ['firezone']['ssl']['ciphers']

Cifraturi SSL per nginx à aduprà.

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

default ['firezone']['ssl']['fips_ciphers']

Cifrature SSL per u modu FIP.

FIPS@STRENGTH:!aNULL:!eNULL'

default ['firezone']['ssl']['protokolli']

Protokolli TLS à aduprà.

TLSv1 TLSv1.1 TLSv1.2′

default ['firezone']['ssl']['session_cache']

Cache di sessione SSL.

spartutu:SSL:4m'

default ['firezone']['ssl']['session_timeout']

Timeout di sessione SSL.

5 m'

default ['firezone']['robots_allow']

i robots nginx permettenu.

/'

default ['firezone']['robots_disallow']

nginx robots disallow.

nil

default ['firezone']['outbound_email']['da']

E-mail in uscita da l'indirizzu.

nil

default ['firezone']['outbound_email']['provider']

Fornitore di serviziu di e-mail in uscita.

nil

default ['firezone']['outbound_email']['configs']

Configurazione di u fornitore di e-mail in uscita.

vede omnibus/cookbooks/firezone/attributes/default.rb

default ['firezone']['telemetria']['attivata']

Attivà o disattiveghjanu a telemetria di u produttu anonimatu.

CALDO

default ['firezone']['connectivity_checks']['enabled']

Attivà o disattivà u serviziu di cuntrollu di cunnessione Firezone.

CALDO

default ['firezone']['connectivity_checks']['interval']

Intervallu trà i cuntrolli di cunnessione in seconde.

3_600



________________________________________________________________

 

Locazioni di File è Directory

 

Quì truverete una lista di schedarii è cartulari ligati à una installazione tipica di Firezone. Questi puderanu cambià sicondu i cambiamenti à u vostru schedariu di cunfigurazione.



strada

description

/var/opt/firezone

Directory di primu livellu chì cuntene dati è cunfigurazione generata per i servizii di Firezone bundled.

/ opt / firezone

Directory di primu livellu chì cuntene biblioteche custruitu, binari è file runtime necessarii da Firezone.

/usr/bin/firezone-ctl

utilità firezone-ctl per gestisce a vostra installazione Firezone.

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

systemd file unit per inizià u prucessu di supervisore runsvdir Firezone.

/etc/firezone

File di cunfigurazione Firezone.



__________________________________________________________

 

Templates di firewall

 

Questa pagina era viota in documenti

 

_____________________________________________________________

 

Template Firewall Nftables

 

U seguente mudellu di firewall nftables pò esse usatu per assicurà u servitore chì esegue Firezone. U mudellu face alcune supposizioni; Pudete bisognu di aghjustà e regule per adattà à u vostru casu d'usu:

  • L'interfaccia WireGuard hè chjamata wg-firezone. Se questu ùn hè micca currettu, cambia a variabile DEV_WIREGUARD per currisponde à l'opzione di cunfigurazione predeterminata ['firezone']['wireguard']['interface_name'].
  • U portu WireGuard hè à sente hè 51820. Se ùn site micca usu di u portu predeterminatu, cambia a variabile WIREGUARD_PORT.
  • Solu u trafficu entrante seguente serà permessu à u servitore:
    • SSH (portu TCP 22)
    • HTTP (portu TCP 80)
    • HTTPS (portu TCP 443)
    • WireGuard (portu UDP WIREGUARD_PORT)
    • UDP traceroute (portu UDP 33434-33524, tariffa limitata à 500/second)
    • ICMP è ICMPv6 (tassu di risposte ping / ping limitatu à 2000 / secondu)
  • Solu u seguente trafficu in uscita serà permessu da u servitore:
    • DNS (portu UDP è TCP 53)
    • HTTP (portu TCP 80)
    • NTP (portu UDP 123)
    • HTTPS (portu TCP 443)
    • Trasmissione SMTP (portu TCP 587)
    • UDP traceroute (portu UDP 33434-33524, tariffa limitata à 500/second)
  • U trafficu senza pari serà registratu. E regule usate per u logu sò siparati da e regule per abbandunà u trafficu è sò limitati à a tarifa. L'eliminazione di e regule di logu pertinenti ùn affetterà micca u trafficu.

Regoli gestiti da FirezoneEnseñanza

Firezone configura e so regule nftables per permette / rifiutà u trafficu à destinazioni cunfigurate in l'interfaccia web è per trattà NAT in uscita per u trafficu di u cliente.

L'applicazione di u mudellu di firewall sottu à un servitore chì hè digià in esecuzione (micca à u mumentu di l'iniziu) hà da esse sbulicatu e regule Firezone. Questu pò avè implicazioni di sicurezza.

Per travaglià intornu à questu, riavvia u serviziu Phoenix:

firezone-ctl riavvia phoenix

Template Firewall di basaEnseñanza

#!/usr/sbin/nft -f

 

## Sguassate / sguassate tutte e regule esistenti

règule di flush

 

################################ VARIABILI ################# ###############

## Nome di l'interfaccia Internet/WAN

definisce DEV_WAN = eth0

 

## Nome di l'interfaccia WireGuard

definisce DEV_WIREGUARD = wg-firezone

 

## Portu d'ascoltu WireGuard

definisce WIREGUARD_PORT = 51820

############################## FINE VARIABILI ################## ############

 

# Tavola di filtrazione di a famiglia principale inet

filtru inet table {

 

 # Regoli per u trafficu trasmessu

 # Questa catena hè trattata prima di a catena in avanti Firezone

 catena in avanti {

   filtru di tipu ganciu in avanti filtru di priorità - 5; a pulitica accetta

 }

 

 # Regoli per u trafficu di input

 input di catena {

   tipu filtru ganciu input filtru priurità; caduta di pulitica

 

   ## Permette u trafficu in entrata à l'interfaccia di loopback

   se lo \

     accettà \

     u cumentu "Permette tuttu u trafficu da l'interfaccia di loopback"

 

   ## Permette stabilite è cunnessione cunnesse

   ct statu stabilitu, in relazione \

     accettà \

     u cumentu "Permette e cunnessione stabilite / cunnesse"

 

   ## Permette u trafficu WireGuard in entrata

   iif $DEV_WAN udp dport $WIREGUARD_PORT \

     contatore \

     accettà \

     u cumentu "Permette u trafficu WireGuard in entrata"

 

   ## Registrate è lasciate novi pacchetti TCP non-SYN

   tcp flags != syn ct state new \

     tariffa limite 100/minute burst 150 pacchetti \

     prefissu di log "IN - Novu !SYN: " \

     u cumentu "Logging limite di tariffa per e novi cunnessione chì ùn anu micca a bandiera SYN TCP set"

   tcp flags != syn ct state new \

     contatore \

     goccia \

     u cumentu "Lasciate e novi cunnessione chì ùn anu micca a bandiera SYN TCP set"

 

   ## Registrate è sguassate i pacchetti TCP cun set di bandiera fin/syn invalidu

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

     tariffa limite 100/minute burst 150 pacchetti \

     prefissu di log "IN - TCP FIN | SIN: " \

     u cumentu "Logging limite di tariffa per i pacchetti TCP cù un set di bandiera fin/syn invalidu"

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

     contatore \

     goccia \

     u cumentu "Lasciate i pacchetti TCP cù un set di bandiera fin/syn invalidu"

 

   ## Registrate è sguassate i pacchetti TCP cù un set di bandiera syn/rst invalidu

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

     tariffa limite 100/minute burst 150 pacchetti \

     prefissu di log "IN - TCP SYN|RST:" \

     u cumentu "Logging limite di tariffa per i pacchetti TCP cù un set di bandiera syn/rst invalidu"

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

     contatore \

     goccia \

     u cumentu "Lasciate i pacchetti TCP cù un set di bandiera syn/rst invalidu"

 

   ## Registrate è lasciate bandiere TCP invalide

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

     tariffa limite 100/minute burst 150 pacchetti \

     prefissu di log "IN - FIN:" \

     u cumentu "Logging limite di tariffa per flag TCP non validi (fin|syn|rst|psh|ack|urg) < (fin)"

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

     contatore \

     goccia \

     u cumentu "Eliminate i pacchetti TCP cù flags (fin|syn|rst|psh|ack|urg) < (fin)"

 

   ## Registrate è lasciate bandiere TCP invalide

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

     tariffa limite 100/minute burst 150 pacchetti \

     prefissu di log "IN - FIN | PSH | URG:" \

     u cumentu "Logging limite di tariffa per flag TCP non validi (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)"

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

     contatore \

     goccia \

     u cumentu "Lasciate i pacchetti TCP cù bandiere (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)"

 

   ## Elimina u trafficu cù un statu di cunnessione invalidu

   ct state invalidu \

     tariffa limite 100/minute burst 150 pacchetti \

     log flags all prefix "IN - Invalidu: " \

     u cumentu "Logging limite di tariffa per u trafficu cù un statu di cunnessione invalidu"

   ct state invalidu \

     contatore \

     goccia \

     u cumentu "Catà u trafficu cù u statu di cunnessione invalidu"

 

   ## Permette risposte ping / ping IPv4 ma limite di tariffa à 2000 PPS

   ip protocol icmp icmp type { ecu-risposta, echo-request } \

     tariffa limite 2000/sicondu \

     contatore \

     accettà \

     u cumentu "Permette l'ecu IPv4 in entrata (ping) limitatu à 2000 PPS"

 

   ## Permette tutti l'altri ICMP IPv4 in entrata

   ip protocolu icmp \

     contatore \

     accettà \

     u cumentu "Permette tutti l'altri IPv4 ICMP"

 

   ## Permette risposte ping / ping IPv6 ma limite di tariffa à 2000 PPS

   icmpv6 tipu { ecu-risposta, echo-request } \

     tariffa limite 2000/sicondu \

     contatore \

     accettà \

     u cumentu "Permette l'ecu IPv6 in entrata (ping) limitatu à 2000 PPS"

 

   ## Permette tutti l'altri ICMP IPv6 in entrata

   meta l4proto {icmpv6} \

     contatore \

     accettà \

     u cumentu "Permette tutti l'altri IPv6 ICMP"

 

   ## Permette i porti UDP traceroute in entrata ma limite à 500 PPS

   udp dport 33434-33524 \

     tariffa limite 500/sicondu \

     contatore \

     accettà \

     u cumentu "Permette u traceroute UDP in entrata limitatu à 500 PPS"

 

   ## Permette SSH in entrata

   tcp dport ssh ct statu novu \

     contatore \

     accettà \

     u cumentu "Permette a cunnessione SSH in entrata"

 

   ## Permette HTTP in entrata è HTTPS

   tcp dport { http, https } ct state new \

     contatore \

     accettà \

     u cumentu "Permette e cunnessione HTTP è HTTPS in entrata"

 

   ## Registrate qualsiasi trafficu ineguagliatu, ma u ritmu limite di registrazione à un massimu di 60 missaghji / minutu

   ## A pulitica predeterminata serà applicata à u trafficu senza pari

   tariffa limite 60/minute burst 100 pacchetti \

     prefissu di log "IN - Drop: " \

     u cumentu "Registrate ogni trafficu senza pari"

 

   ## Cunta u trafficu senza pari

   contatore \

     u cumentu "Conta ogni trafficu senza pari"

 }

 

 # Regoli per u trafficu di output

 output di catena {

   tipu di filtru ganciu filtru priurità di output; caduta di pulitica

 

   ## Permette u trafficu in uscita à l'interfaccia di loopback

   oif lo \

     accettà \

     u cumentu "Permette tuttu u trafficu à l'interfaccia di loopback"

 

   ## Permette stabilite è cunnessione cunnesse

   ct statu stabilitu, in relazione \

     contatore \

     accettà \

     u cumentu "Permette e cunnessione stabilite / cunnesse"

 

   ## Permette u trafficu WireGuard in uscita prima di abbandunà e cunnessione cù u cattivu statu

   oif $DEV_WAN udp sport $WIREGUARD_PORT \

     contatore \

     accettà \

     u cumentu "Permette u trafficu in uscita di WireGuard"

 

   ## Elimina u trafficu cù un statu di cunnessione invalidu

   ct state invalidu \

     tariffa limite 100/minute burst 150 pacchetti \

     log flags all prefix "OUT - Invalidu:" \

     u cumentu "Logging limite di tariffa per u trafficu cù un statu di cunnessione invalidu"

   ct state invalidu \

     contatore \

     goccia \

     u cumentu "Catà u trafficu cù u statu di cunnessione invalidu"

 

   ## Permette tutti l'altri ICMP IPv4 in uscita

   ip protocolu icmp \

     contatore \

     accettà \

     u cumentu "Permette tutti i tipi ICMP IPv4"

 

   ## Permette tutti l'altri ICMP IPv6 in uscita

   meta l4proto {icmpv6} \

     contatore \

     accettà \

     u cumentu "Permette tutti i tipi ICMP IPv6"

 

   ## Permette i porti UDP traceroute in uscita ma limite à 500 PPS

   udp dport 33434-33524 \

     tariffa limite 500/sicondu \

     contatore \

     accettà \

     u cumentu "Permette u traceroute UDP in uscita limitatu à 500 PPS"

 

   ## Permette e cunnessione HTTP è HTTPS in uscita

   tcp dport { http, https } ct state new \

     contatore \

     accettà \

     u cumentu "Permette e cunnessione HTTP è HTTPS in uscita"

 

   ## Permette a sottumissione SMTP in uscita

   tcp dport submission ct state new \

     contatore \

     accettà \

     u cumentu "Permette a presentazione SMTP in uscita"

 

   ## Permette e dumande DNS in uscita

   udp dport 53 \

     contatore \

     accettà \

     u cumentu "Permette e richieste DNS UDP in uscita"

   tcp dport 53 \

     contatore \

     accettà \

     u cumentu "Permette e richieste TCP DNS in uscita"

 

   ## Permette e richieste NTP in uscita

   udp dport 123 \

     contatore \

     accettà \

     u cumentu "Permette e richieste NTP in uscita"

 

   ## Registrate qualsiasi trafficu ineguagliatu, ma u ritmu limite di registrazione à un massimu di 60 missaghji / minutu

   ## A pulitica predeterminata serà applicata à u trafficu senza pari

   tariffa limite 60/minute burst 100 pacchetti \

     prefissu di log "OUT - Drop:" \

     u cumentu "Registrate ogni trafficu senza pari"

 

   ## Cunta u trafficu senza pari

   contatore \

     u cumentu "Conta ogni trafficu senza pari"

 }

 

}

 

# Tavola di filtrazione NAT principale

table inet nat {

 

 # Regoli per u pre-routing di u trafficu NAT

 prerouting di a catena {

   type nat hook prerouting priorità dstnat; a pulitica accetta

 }

 

 # Regoli per u trafficu NAT post-routing

 # Questa tavola hè trattata prima di a catena di post-routing Firezone

 catena postrouting {

   tipu nat hook postrouting priorità srcnat - 5; a pulitica accetta

 }

 

}

Lingua latinaEnseñanza

U firewall deve esse guardatu in u locu pertinente per a distribuzione Linux chì hè in esecuzione. Per Debian/Ubuntu questu hè /etc/nftables.conf è per RHEL questu hè /etc/sysconfig/nftables.conf.

nftables.service hà da esse cunfiguratu per inizià à u boot (se micca digià) stabilitu:

systemctl attivà nftables.service

Se fate qualsiasi mudificazione à u mudellu di firewall, a sintassi pò esse validata eseguendu u cumandamentu di verificazione:

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

Assicuratevi di cunvalidà i travaglii di firewall cum'è previstu, postu chì certe funzioni di nftables pò esse micca dispunibili secondu a liberazione in esecuzione in u servitore.



_______________________________________________________________



Telemetru

 

Stu documentu presenta una panoramica di a telemetria Firezone raccoglie da a vostra istanza self-hosted è cumu disattivà lu.

Perchè Firezone raccoglie a telemetriaEnseñanza

zona di focu confia nantu à a telemetria per priorità a nostra strada di strada è ottimisimu e risorse di l'ingegneria chì avemu da fà Firezone megliu per tutti.

A telemetria chì cullemu hà u scopu di risponde à e seguenti dumande:

  • Quante persone installanu, usanu è cessanu di utilizà Firezone?
  • Chì funziunalità sò più preziosi, è quali ùn vedenu micca usu ?
  • Chì funziunalità hà bisognu di più migliurà?
  • Quandu qualcosa si rompe, perchè s'hè rottu, è cumu pudemu impedisce chì succede in u futuru?

Cumu cullemu a telemetriaEnseñanza

Ci sò trè lochi principali induve a telemetria hè recullata in Firezone:

  1. Pacchettu di telemetria. Include avvenimenti cum'è installà, disinstalla è aghjurnà.
  2. Telemetria CLI da cumandamenti firezone-ctl.
  3. Telemetria di u produttu assuciata cù u portale Web.

In ognuna di sti trè cuntesti, catturamu a quantità minima di dati necessariu per risponde à e dumande in a sezione sopra.

L'e-mail di l'amministratore sò raccolti solu s'è vo accettate esplicitamente l'aghjurnamenti di u produttu. Altrimenti, l'infurmazioni persunali identificabili sò mai racolta.

Firezone guarda a telemetria in una istanza self-hosted di PostHog in esecuzione in un cluster Kubernetes privatu, accessibile solu da a squadra Firezone. Eccu un esempiu di un avvenimentu di telemetria chì hè mandatu da a vostra istanza di Firezone à u nostru servitore di telemetria:

{

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

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

   "avvenimentu": "fz_http_started",

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

   "proprietà":{

       "$ geoip_city_name": "Ashburn",

       "$geoip_continent_code": "NA",

       "$ geoip_continent_name": "America di u Nordu",

       "$geoip_country_code": "US",

       "$ geoip_country_name": "Stati Uniti",

       "$geoip_latitude": 39.0469,

       "$geoip_longitude": -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",

       "versione_kernel": "linux 5.13.0",

       "versione": "0.4.6"

   },

   "catena_elementi": "" "

}

Cumu disattivà a telemetriaEnseñanza

DA

A squadra di sviluppu di Firezone confia nantu à l'analisi di u produttu per fà Firezone megliu per tutti. Lascià a telemetria attivata hè a cuntribuzione più preziosa chì pudete fà à u sviluppu di Firezone. Dice questu, avemu capitu chì alcuni utilizatori anu esigenze più elevate di privacy o di sicurità è preferimu disattivà a telemetria in tuttu. Sè vo site, cuntinueghja à leghje.

A telemetria hè attivata per difettu. Per disattivà cumplettamente a telemetria di u produttu, stabilisce a seguente opzione di cunfigurazione false in /etc/firezone/firezone.rb è eseguite sudo firezone-ctl reconfigure per piglià i cambiamenti.

default ['firezone']['telemetria']['attivatu']= sbagliate

Chì hà da disattivà cumplettamente tutta a telemetria di u produttu.