Hailbytes VPN med Firezone Firewall-dokumentation

Innehållsförteckning

Kom igång

Steg-för-steg-instruktioner för att distribuera Hailbytes VPN med Firezone GUI finns här. 

Administrera: Att ställa in serverinstansen är direkt relaterad till denna del.

Användarhandböcker: Användbara dokument som kan lära dig hur du använder Firezone och löser typiska problem. När servern har distribuerats, se det här avsnittet.

Guider för vanliga konfigurationer

Split tunneling: Använd VPN för att bara skicka trafik till specifika IP-intervall.

Vitlistning: Ställ in en VPN-servers statiska IP-adress för att använda vitlista.

Omvända tunnlar: Skapa tunnlar mellan flera kamrater med omvända tunnlar.

Få stöd

Vi hjälper dig gärna om du behöver hjälp med att installera, anpassa eller använda Hailbytes VPN.

Autentisering

Innan användare kan skapa eller ladda ner enhetskonfigurationsfiler kan Firezone konfigureras för att kräva autentisering. Användare kan också behöva autentisera sig med jämna mellanrum för att hålla sin VPN-anslutning aktiv.

Även om Firezones standardinloggningsmetod är lokal e-post och lösenord, kan den också integreras med vilken standardiserad OpenID Connect (OIDC) identitetsleverantör som helst. Användare kan nu logga in på Firezone med sina uppgifter från Okta, Google, Azure AD eller privata identitetsleverantörer.

 

Integrera en generisk OIDC-leverantör

Konfigurationsparametrarna som behövs av Firezone för att tillåta SSO med en OIDC-leverantör visas i exemplet nedan. På /etc/firezone/firezone.rb kan du hitta konfigurationsfilen. Kör firezone-ctl reconfigure och firezone-ctl restart för att uppdatera programmet och träda i kraft ändringar.

 

# Det här är ett exempel som använder Google och Okta som SSO-identitetsleverantör.

# Flera OIDC-konfigurationer kan läggas till i samma Firezone-instans.

 

# Firezone kan inaktivera en användares VPN om det upptäcks något fel när du försöker

# för att uppdatera deras access_token. Detta är verifierat att det fungerar för Google, Okta och

# Azure SSO och används för att automatiskt koppla bort en användares VPN om de tas bort

# från OIDC-leverantören. Lämna detta inaktiverat om din OIDC-leverantör

# har problem med att uppdatera åtkomsttokens eftersom det oväntat kan avbryta en

# användares VPN-session.

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

 

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

  Google: {

    discovery_document_uri: "https://accounts.google.com/.well-known/openid-configuration",

    Klient ID: " ”,

    client_secret: " ”,

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

    response_type: "kod",

    scope: "openid e-postprofil",

    etikett: "Google"

  },

  okta: {

    discovery_document_uri: "https:// /.välkänd/openid-konfiguration”,

    Klient ID: " ”,

    client_secret: " ”,

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

    response_type: "kod",

    scope: "openid email profile offline_access",

    etikett: "Okta"

  }

}



Följande konfigurationsinställningar krävs för integrationen:

  1. discovery_document_uri: Den OpenID Connect-leverantörens konfigurations-URI som returnerar ett JSON-dokument som används för att skapa efterföljande förfrågningar till denna OIDC-leverantör.
  2. client_id: Applikationens klient-ID.
  3. client_secret: Applikationens klienthemlighet.
  4. redirect_uri: Instruerar OIDC-leverantör vart den ska omdirigera efter autentisering. Detta bör vara din Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (t.ex. https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Ställ in på kod.
  6. omfattning: OIDC omfattningar att få från din OIDC-leverantör. Detta bör ställas in på openid e-postprofil eller openid e-postprofil offline_access beroende på leverantör.
  7. etikett: Knappetikettstexten som visas på din Firezone-inloggningsskärm.

Vackra webbadresser

För varje OIDC-leverantör skapas en motsvarande snygg URL för omdirigering till den konfigurerade leverantörens inloggnings-URL. För exemplet OIDC-konfiguration ovan är webbadresserna:

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

Instruktioner för Firezone-installation med populära identitetsleverantörer

Leverantörer vi har dokumentation för:

  • Google
  • Okta
  • Azure Active Directory
  • Onelogin
  • Lokal autentisering

 

Om din identitetsleverantör har en generisk OIDC-anslutning och inte finns med i listan ovan, gå till deras dokumentation för information om hur du hämtar de nödvändiga konfigurationsinställningarna.

Upprätthåll regelbunden återautentisering

Inställningen under inställningar/säkerhet kan ändras för att kräva periodisk återautentisering. Detta kan användas för att upprätthålla kravet att användare går in i Firezone regelbundet för att fortsätta sin VPN-session.

Sessionslängden kan konfigureras till att vara mellan en timme och nittio dagar. Genom att ställa in detta på Aldrig kan du aktivera VPN-sessioner när som helst. Detta är standarden.

Återautentisering

En användare måste avsluta sin VPN-session och logga in på Firezone-portalen för att autentisera en utgången VPN-session (URL specificerad under driftsättning).

Du kan autentisera din session igen genom att följa de exakta klientinstruktionerna som finns här.

 

Status för VPN-anslutning

Användarsidans VPN-anslutningstabellkolumn visar en användares anslutningsstatus. Dessa är anslutningsstatusarna:

ENABLED – Anslutningen är aktiverad.

INAKTIVERAD – Anslutningen har inaktiverats av ett administratörs- eller OIDC-uppdateringsfel.

UTGÅTT – Anslutningen är inaktiverad på grund av att autentiseringen löper ut eller att en användare inte har loggat in för första gången.

Google

Genom den allmänna OIDC-anslutningen möjliggör Firezone Single Sign-On (SSO) med Google Workspace och Cloud Identity. Den här guiden visar dig hur du får de konfigurationsparametrar som anges nedan, som är nödvändiga för integrationen:

  1. discovery_document_uri: Den OpenID Connect-leverantörens konfigurations-URI som returnerar ett JSON-dokument som används för att skapa efterföljande förfrågningar till denna OIDC-leverantör.
  2. client_id: Applikationens klient-ID.
  3. client_secret: Applikationens klienthemlighet.
  4. redirect_uri: Instruerar OIDC-leverantör vart den ska omdirigera efter autentisering. Detta bör vara din Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (t.ex. https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Ställ in på kod.
  6. omfattning: OIDC omfattningar att få från din OIDC-leverantör. Denna bör ställas in på openid e-postprofil för att förse Firezone med användarens e-post i de returnerade anspråken.
  7. etikett: Knappetikettstexten som visas på din Firezone-inloggningsskärm.

Skaffa konfigurationsinställningar

1. OAuth-konfigurationsskärmâ € <

Om det är första gången du skapar ett nytt OAuth-klient-ID kommer du att bli ombedd att konfigurera en samtyckesskärm.

*Välj Intern för användartyp. Detta säkerställer att endast konton som tillhör användare i din Google Workspace-organisation kan skapa enhetskonfigurationer. Välj INTE Extern om du inte vill göra det möjligt för någon med ett giltigt Google-konto att skapa enhetskonfigurationer.

 

På appinformationsskärmen:

  1. Appens namn: Firezone
  2. Appens logotyp: Firezone logotyp (Spara länk som).
  3. Appens hemsida: URL:en till din Firezone-instans.
  4. Auktoriserade domäner: toppdomänen för din Firezone-instans.

 

 

2. Skapa OAuth-klient-ID:nâ € <

Detta avsnitt är baserat på Googles egen dokumentation om konfigurera OAuth 2.0.

Besök Google Cloud Console Inloggningssida klickar du på + Skapa inloggningsuppgifter och väljer OAuth-klient-ID.

På skärmen för att skapa OAuth-klient-ID:

  1. Ställ in applikationstyp till webbapplikation
  2. Lägg till din Firezone EXTERNAL_URL + /auth/oidc/google/callback/ (t.ex. https://instance-id.yourfirezone.com/auth/oidc/google/callback/) som en post till auktoriserade omdirigerings-URI:er.

 

När du har skapat OAuth-klient-ID:t får du ett klient-ID och klienthemlighet. Dessa kommer att användas tillsammans med omdirigerings-URI i nästa steg.

Firezone integration

Redigera /etc/firezone/firezone.rb för att inkludera alternativen nedan:

 

# Använder Google som SSO-identitetsleverantör

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

  Google: {

    discovery_document_uri: "https://accounts.google.com/.well-known/openid-configuration",

    Klient ID: " ”,

    client_secret: " ”,

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

    response_type: "kod",

    scope: "openid e-postprofil",

    etikett: "Google"

  }

}

 

Kör firezone-ctl reconfigure och firezone-ctl restart för att uppdatera programmet. Du bör nu se en Logga in med Google-knapp vid Firezone-rotadressen.

Okta

Firezone använder den generiska OIDC-kontakten för att underlätta Single Sign-On (SSO) med Okta. Denna handledning visar dig hur du får de konfigurationsparametrar som anges nedan, som är nödvändiga för integrationen:

  1. discovery_document_uri: Den OpenID Connect-leverantörens konfigurations-URI som returnerar ett JSON-dokument som används för att skapa efterföljande förfrågningar till denna OIDC-leverantör.
  2. client_id: Applikationens klient-ID.
  3. client_secret: Applikationens klienthemlighet.
  4. redirect_uri: Instruerar OIDC-leverantör vart den ska omdirigera efter autentisering. Detta bör vara din Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (t.ex. https://instance-id.yourfirezone.com/auth/oidc/okta/callback/).
  5. response_type: Ställ in på kod.
  6. omfattning: OIDC omfattningar att få från din OIDC-leverantör. Detta bör ställas in på openid e-postprofil offline_access för att förse Firezone med användarens e-post i de returnerade anspråken.
  7. etikett: Knappetikettstexten som visas på din Firezone-inloggningsskärm.

 

Integrera Okta App

Detta avsnitt av guiden bygger på Oktas dokumentation.

I administratörskonsolen, gå till Applikationer > Applikationer och klicka på Skapa appintegration. Ställ in inloggningsmetod till OICD – OpenID Connect och applikationstyp till webbapplikation.

Konfigurera dessa inställningar:

  1. Appens namn: Firezone
  2. Appens logotyp: Firezone logotyp (Spara länk som).
  3. Grant Type: Markera rutan Refresh Token. Detta säkerställer att Firezone synkroniserar med identitetsleverantören och att VPN-åtkomst avslutas när användaren tas bort.
  4. Omdirigerings-URI för inloggning: Lägg till din Firezone EXTERNAL_URL + /auth/oidc/okta/callback/ (t.ex. https://instance-id.yourfirezone.com/auth/oidc/okta/callback/) som en post till auktoriserade omdirigerings-URI:er .
  5. Uppgifter: Begränsa till de grupper du vill ge åtkomst till din Firezone-instans.

När inställningarna har sparats kommer du att få ett klient-ID, klienthemlighet och Okta Domain. Dessa 3 värden kommer att användas i steg 2 för att konfigurera Firezone.

Integrera Firezone

Redigera /etc/firezone/firezone.rb för att inkludera alternativen nedan. Din discovery_document_url kommer vara /.välkänd/openid-konfiguration läggs till i slutet av din okta_domän.

 

# Använder Okta som SSO-identitetsleverantör

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

  okta: {

    discovery_document_uri: "https:// /.välkänd/openid-konfiguration”,

    Klient ID: " ”,

    client_secret: " ”,

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

    response_type: "kod",

    scope: "openid email profile offline_access",

    etikett: "Okta"

  }

}

 

Kör firezone-ctl reconfigure och firezone-ctl restart för att uppdatera programmet. Du bör nu se en Logga in med Okta-knapp vid root-URL-adressen för Firezone.

 

Begränsa åtkomst till vissa användare

De användare som kan komma åt Firezone-appen kan begränsas av Okta. Gå till Okta Admin Consoles Firezone App Integration's Assignments-sida för att göra detta.

Azure Active Directory

Genom den generiska OIDC-anslutningen möjliggör Firezone Single Sign-On (SSO) med Azure Active Directory. Den här manualen kommer att visa dig hur du får de konfigurationsparametrar som anges nedan, som är nödvändiga för integrationen:

  1. discovery_document_uri: Den OpenID Connect-leverantörens konfigurations-URI som returnerar ett JSON-dokument som används för att skapa efterföljande förfrågningar till denna OIDC-leverantör.
  2. client_id: Applikationens klient-ID.
  3. client_secret: Applikationens klienthemlighet.
  4. redirect_uri: Instruerar OIDC-leverantör vart den ska omdirigera efter autentisering. Detta bör vara din Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (t.ex. https://instance-id.yourfirezone.com/auth/oidc/azure/callback/).
  5. response_type: Ställ in på kod.
  6. omfattning: OIDC omfattningar att få från din OIDC-leverantör. Detta bör ställas in på openid e-postprofil offline_access för att förse Firezone med användarens e-post i de returnerade anspråken.
  7. etikett: Knappetikettstexten som visas på din Firezone-inloggningsskärm.

Hämta konfigurationsinställningar

Denna guide är hämtad från Azure Active Directory Docs.

 

Gå till Azure-portalens Azure Active Directory-sida. Välj menyalternativet Hantera, välj Ny registrering och registrera dig sedan genom att ange informationen nedan:

  1. Namn: Firezone
  2. Kontotyper som stöds: (endast standardkatalog – enskild hyresgäst)
  3. Omdirigera URI: Detta bör vara din brandzon EXTERNAL_URL + /auth/oidc/azure/callback/ (t.ex. https://instance-id.yourfirezone.com/auth/oidc/azure/callback/). Se till att du inkluderar det avslutande snedstrecket. Detta kommer att vara redirect_uri-värdet.

 

Efter registrering, öppna detaljvyn för applikationen och kopiera Program (klient) ID. Detta kommer att vara client_id-värdet. Öppna sedan ändpunktersmenyn för att hämta OpenID Connect-metadatadokument. Detta kommer att vara discovery_document_uri-värdet.

 

Skapa en ny klienthemlighet genom att klicka på alternativet Certifikat och hemligheter under menyn Hantera. Kopiera klienthemligheten; klientens hemliga värde kommer att vara detta.

 

Slutligen, välj länken API-behörigheter under menyn Hantera, klicka Lägg till en behörighet, och välj Microsoft Graph, lägga till e-mail, öppet, offline_access och profil till de nödvändiga behörigheterna.

Firezone integration

Redigera /etc/firezone/firezone.rb för att inkludera alternativen nedan:

 

# Använder Azure Active Directory som SSO-identitetsleverantör

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

  azurblå: {

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

    Klient ID: " ”,

    client_secret: " ”,

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

    response_type: "kod",

    scope: "openid email profile offline_access",

    etikett: "Azure"

  }

}

 

Kör firezone-ctl reconfigure och firezone-ctl restart för att uppdatera programmet. Du bör nu se en Logga in med Azure-knapp vid Firezone-rotadressen.

Hur man: Begränsar åtkomst till vissa medlemmar

Azure AD gör det möjligt för administratörer att begränsa appåtkomst till en specifik grupp användare inom ditt företag. Mer information om hur du gör detta finns i Microsofts dokumentation.

Administrera

  • Inställd
  • Hantera installationen
  • Uppgradera
  • felsöka
  • Säkerhetsöverväganden
  • Kör SQL-frågor

Inställd

Chef Omnibus används av Firezone för att hantera uppgifter inklusive releasepaketering, processövervakning, logghantering och mer.

Ruby-koden utgör den primära konfigurationsfilen, som finns på /etc/firezone/firezone.rb. Att starta om sudo firezone-ctl reconfigure efter att ha gjort ändringar i den här filen får Chef att känna igen ändringarna och tillämpa dem på det aktuella operativsystemet.

Se referensen till konfigurationsfilen för en komplett lista över konfigurationsvariabler och deras beskrivningar.

Hantera installationen

Din Firezone-instans kan hanteras via brandzon-ctl kommando, som visas nedan. De flesta underkommandon kräver prefix med sudo.

 

root@demo:~# firezone-ctl

omnibus-ctl: kommando (underkommando)

Allmänna kommandon:

  rengöra

    Ta bort *alla* brandzonsdata och börja om från början.

  skapa-eller-återställ-admin

    Återställer lösenordet för administratören med e-post som anges som standard['firezone']['admin_email'] eller skapar en ny admin om den e-postadressen inte finns.

  hjälpa

    Skriv ut det här hjälpmeddelandet.

  omkonfigurera

    Konfigurera om programmet.

  reset-nätverk

    Återställer nftables, WireGuard-gränssnittet och routingtabellen tillbaka till Firezone-standarderna.

  show-config

    Visa konfigurationen som skulle genereras av reconfigure.

  rivningsnätverk

    Tar bort WireGuard-gränssnitt och firezone nftables-tabell.

  force-cert-förnyelse

    Tvinga certifikatförnyelse nu även om det inte har löpt ut.

  stoppa-cert-förnyelse

    Tar bort cronjob som förnyar certifikat.

  avinstallera

    Döda alla processer och avinstallera processövervakaren (data kommer att bevaras).

  version

    Visa aktuell version av Firezone

Service Management-kommandon:

  graciös-döda

    Försök ett graciöst stopp och SIGKILL sedan hela processgruppen.

  hup

    Skicka tjänsterna en HUP.

  int

    Skicka tjänsterna en INT.

  döda

    Skicka tjänsterna en KILL.

  gång

    Starta tjänsterna om de är nere. Starta inte om dem om de slutar.

  omstart

    Stoppa tjänsterna om de körs och starta dem sedan igen.

  servicelista

    Lista alla tjänster (aktiverade tjänster visas med en *.)

  starta

    Starta tjänster om de är nere och starta om dem om de slutar.

  status

    Visa status för alla tjänster.

  stoppa

    Stoppa tjänsterna och starta inte om dem.

  svans

    Titta på serviceloggarna för alla aktiverade tjänster.

  termin

    Skicka tjänsterna en TERM.

  usr1

    Skicka en USR1 till tjänsterna.

  usr2

    Skicka en USR2 till tjänsterna.

Uppgradera

Alla VPN-sessioner måste avslutas innan Firezone uppgraderas, vilket också kräver att webbgränssnittet stängs av. I händelse av att något går fel under uppgraderingen rekommenderar vi att du avsätter en timme för underhåll.

 

För att förbättra Firezone, vidta följande åtgärder:

  1. Uppgradera firezone-paketet med enkommandoinstallationen: sudo -E bash -c "$(curl -fsSL https://github.com/firezone/firezone/raw/master/scripts/install.sh)"
  2. Kör firezone-ctl reconfigure för att hämta de nya ändringarna.
  3. Kör firezone-ctl restart för att starta om tjänster.

Om några problem uppstår, vänligen meddela oss senast skicka in en supportärende.

Uppgradera från <0.5.0 till >=0.5.0

Det finns några brytande ändringar och konfigurationsändringar i 0.5.0 som måste åtgärdas. Ta reda på mer nedan.

Bundlade Nginx non_ssl_port (HTTP)-förfrågningar togs bort

Nginx stöder inte längre parametrarna för force SSL och icke-SSL-portar från och med version 0.5.0. Eftersom Firezone behöver SSL för att fungera, rekommenderar vi att du tar bort paketet Nginx-tjänsten genom att ställa in standard['firezone']['nginx']['enabled'] = false och dirigera din omvänd proxy till Phoenix-appen på port 13000 istället (som standard) ).

ACME Protocol Support

0.5.0 introducerar ACME-protokollstöd för automatisk förnyelse av SSL-certifikat med den medföljande Nginx-tjänsten. Att möjliggöra,

  • Se till att standard['firezone']['external_url'] innehåller ett giltigt FQDN som löser till din servers offentliga IP-adress.
  • Se till att port 80/tcp är tillgänglig
  • Aktivera stöd för ACME-protokoll med standard['firezone']['ssl']['acme']['enabled'] = true i din konfigurationsfil.

Överlappande utgående regeldestinationer

Möjligheten att lägga till regler med dubbletter av destinationer är borta i Firezone 0.5.0. Vårt migreringsskript kommer automatiskt att känna igen dessa situationer under en uppgradering till 0.5.0 och bara behålla de regler vars destination inkluderar den andra regeln. Det finns inget du behöver göra om detta är okej.

Annars, innan du uppgraderar, rekommenderar vi att du ändrar din regeluppsättning för att bli av med dessa situationer.

Förkonfigurerar Okta och Google SSO

Firezone 0.5.0 tar bort stödet för den gamla Okta- och Google SSO-konfigurationen till förmån för den nya, mer flexibla OIDC-baserade konfigurationen. 

Om du har någon konfiguration under standardnycklarna['firezone']['authentication']['okta'] eller standard['firezone']['authentication']['google'] måste du migrera dessa till vår OIDC -baserad konfiguration med hjälp av guiden nedan.

Befintlig Google OAuth-konfiguration

Ta bort dessa rader som innehåller de gamla Google OAuth-konfigurationerna från din konfigurationsfil som finns på /etc/firezone/firezone.rb

 

default['firezone']['autentication']['google']['enabled']

default['firezone']['autentication']['google']['client_id']

default['firezone']['autentication']['google']['client_secret']

default['firezone']['autentication']['google']['redirect_uri']

 

Konfigurera sedan Google som en OIDC-leverantör genom att följa procedurerna här.

(Ge länkinstruktioner)<<<<<<<<<<<<<<<<

 

Konfigurera befintlig Google OAuth 

Ta bort dessa rader som innehåller de gamla Okta OAuth-konfigurationerna från din konfigurationsfil som finns på /etc/firezone/firezone.rb

 

default['firezone']['autentication']['okta']['enabled']

default['firezone']['autentication']['okta']['client_id']

default['firezone']['autentication']['okta']['client_secret']

Default['firezone']['autentication']['okta']['site']

 

Konfigurera sedan Okta som en OIDC-leverantör genom att följa procedurerna här.

Uppgradera från 0.3.x till >= 0.3.16

Beroende på din nuvarande konfiguration och version, följ anvisningarna nedan:

Om du redan har en OIDC-integration:

För vissa OIDC-leverantörer kräver uppgradering till >= 0.3.16 att man skaffar en uppdateringstoken för offlineåtkomstomfånget. Genom att göra detta ser man till att Firezone uppdaterar med identitetsleverantören och att VPN-anslutningen stängs av efter att en användare har raderats. Firezones tidigare iterationer saknade denna funktion. I vissa fall kan användare som raderas från din identitetsleverantör fortfarande vara anslutna till ett VPN.

Det är nödvändigt att inkludera offlineåtkomst i scope-parametern för din OIDC-konfiguration för OIDC-leverantörer som stöder offlineåtkomstomfånget. Firezone-ctl reconfigure måste köras för att kunna tillämpa ändringar på Firezone-konfigurationsfilen, som finns på /etc/firezone/firezone.rb.

För användare som har autentiserats av din OIDC-leverantör kommer du att se rubriken OIDC Connections på sidan med användarinformation i webbgränssnittet om Firezone lyckas hämta uppdateringstoken.

Om detta inte fungerar måste du ta bort din befintliga OAuth-app och upprepa OIDC-installationsstegen för att skapa en ny appintegration .

Jag har en befintlig OAuth-integration

Före 0.3.11 använde Firezone förkonfigurerade OAuth2-leverantörer. 

Följ instruktionerna här. att migrera till OIDC.

Jag har inte integrerat en identitetsleverantör

Ingen åtgärd krävs. 

Du kan följa instruktionerna här. för att aktivera SSO genom en OIDC-leverantör.

Uppgradera från 0.3.1 till >= 0.3.2

I dess ställe har standard['firezone']['extern url'] ersatt konfigurationsalternativet default['firezone']['fqdn']. 

Ställ in detta till URL:en till din Firezone onlineportal som är tillgänglig för allmänheten. Den kommer som standard till https:// plus FQDN för din server om den lämnas odefinierad.

Konfigurationsfilen finns på /etc/firezone/firezone.rb. Se referensen till konfigurationsfilen för en komplett lista över konfigurationsvariabler och deras beskrivningar.

Uppgradera från 0.2.x till 0.3.x

Firezone håller inte längre enhetens privata nycklar på Firezone-servern från och med version 0.3.0. 

Firezone Web UI tillåter dig inte att ladda ner eller se dessa konfigurationer igen, men alla befintliga enheter bör fortsätta att fungera som de är.

Uppgradera från 0.1.x till 0.2.x

Om du uppgraderar från Firezone 0.1.x finns det några ändringar i konfigurationsfilen som måste åtgärdas manuellt. 

För att göra de nödvändiga ändringarna i din /etc/firezone/firezone.rb-fil, kör kommandona nedan som 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'] = sant” >> /etc/firezone/firezone.rb

echo “default['firezone']['connectivity_checks']['interval'] = 3_600” >> /etc/firezone/firezone.rb

firezone-ctl omkonfigurera

firezone-ctl omstart

Felsökning

Att kontrollera Firezone-loggarna är ett klokt första steg för eventuella problem som kan uppstå.

Kör sudo firezone-ctl tail för att se Firezone-loggarna.

Felsökning av anslutningsproblem

Majoriteten av anslutningsproblem med Firezone orsakas av inkompatibla iptables eller nftables regler. Du måste se till att alla regler du har i kraft inte kolliderar med Firezone-reglerna.

Internetanslutningen avbryts när tunneln är aktiv

Se till att FORWARD-kedjan tillåter paket från dina WireGuard-klienter till de platser du vill släppa igenom Firezone om din Internetanslutning försämras varje gång du aktiverar din WireGuard-tunnel.

 

Detta kan uppnås om du använder ufw genom att se till att standardruttpolicyn tillåter:

 

ubuntu@fz:~$ sudo ufw standard tillåter dirigerad

Standardriktad policy har ändrats till "tillåt"

(var noga med att uppdatera dina regler därefter)

 

A ufw status för en typisk Firezone-server kan se ut så här:

 

ubuntu@fz:~$ sudo ufw status verbose

Status: aktiv

Inloggning: på (låg)

Standard: neka (inkommande), tillåt (utgående), tillåt (dirigerad)

Nya profiler: hoppa över

 

Till handling Från

— —— —-

22/tcp LÅTA IN var som helst

80/tcp LÅTA IN var som helst

443/tcp LÅT IN var som helst

51820/udp TILLÅT IN var som helst

22/tcp (v6) ALLOW IN Anywhere (v6)

80/tcp (v6) ALLOW IN Anywhere (v6)

443/tcp (v6) ALLOW IN Anywhere (v6)

51820/udp (v6) ALLOW IN Anywhere (v6)

Säkerhetsöverväganden

Vi rekommenderar att du begränsar åtkomsten till webbgränssnittet för extremt känsliga och verksamhetskritiska produktionsinstallationer, som förklaras nedan.

Tjänster och hamnar

 

Service

Standardport

Lyssna Adress

Beskrivning

nginx

80, 443

alla

Offentlig HTTP(S)-port för att administrera Firezone och underlätta autentisering.

Trådskydd

51820

alla

Offentlig WireGuard-port som används för VPN-sessioner. (UDP)

PostgreSQL

15432

127.0.0.1

Endast lokal port som används för medföljande Postgresql-server.

Phoenix

13000

127.0.0.1

Endast lokal port som används av uppströms elixir-appserver.

Produktionsinstallationer

Vi råder dig att tänka på att begränsa åtkomsten till Firezones offentligt exponerade webbgränssnitt (som standard portar 443/tcp och 80/tcp) och istället använda WireGuard-tunneln för att hantera Firezone för produktion och offentliga installationer där en enda administratör kommer att vara ansvarig att skapa och distribuera enhetskonfigurationer till slutanvändare.

 

Till exempel, om en administratör skapade en enhetskonfiguration och skapade en tunnel med den lokala WireGuard-adressen 10.3.2.2, skulle följande ufw-konfiguration göra det möjligt för administratören att komma åt Firezones webbgränssnitt på serverns wg-firezone-gränssnitt med standard 10.3.2.1 tunnel adress:

 

root@demo:~# ufw status verbose

Status: aktiv

Inloggning: på (låg)

Standard: neka (inkommande), tillåt (utgående), tillåt (dirigerad)

Nya profiler: hoppa över

 

Till handling Från

— —— —-

22/tcp LÅTA IN var som helst

51820/udp TILLÅT IN var som helst

Var som helst TILLÅT I 10.3.2.2

22/tcp (v6) ALLOW IN Anywhere (v6)

51820/udp (v6) ALLOW IN Anywhere (v6)

Detta skulle bara lämna 22/tcp exponerad för SSH-åtkomst för att hantera servern (valfritt), och 51820/udp exponerade för att etablera WireGuard-tunnlar.

Kör SQL-frågor

Firezone paketerar en Postgresql-server och matchar psql verktyg som kan användas från det lokala skalet så här:

 

/opt/firezone/embedded/bin/psql \

  -U brandzon \

  -d brandzon \

  -h localhost \

  -p 15432 \

  -c "SQL_STATEMENT"

 

Detta kan vara till hjälp för felsökningsändamål.

 

Vanliga uppgifter:

 

  • Listar alla användare
  • Listar alla enheter
  • Ändra en användares roll
  • Säkerhetskopiera databasen



Listar alla användare:

 

/opt/firezone/embedded/bin/psql \

  -U brandzon \

  -d brandzon \

  -h localhost \

  -p 15432 \

  -c "VÄLJ * FRÅN användare;"



Listar alla enheter:

 

/opt/firezone/embedded/bin/psql \

  -U brandzon \

  -d brandzon \

  -h localhost \

  -p 15432 \

  -c "VÄLJ * FRÅN enheter;"



Ändra en användarroll:

 

Ställ in rollen på "admin" eller "oprivilegierad":

 

/opt/firezone/embedded/bin/psql \

  -U brandzon \

  -d brandzon \

  -h localhost \

  -p 15432 \

  -c "UPPDATERA användare SET role = 'admin' WHERE email = 'user@example.com';"



Säkerhetskopiera databasen:

 

Dessutom ingår programmet pg dump, som kan användas för att ta regelbundna säkerhetskopior av databasen. Kör följande kod för att dumpa en kopia av databasen i det vanliga SQL-frågeformatet (ersätt /path/to/backup.sql med platsen där SQL-filen ska skapas):

 

/opt/firezone/embedded/bin/pg_dump \

  -U brandzon \

  -d brandzon \

  -h localhost \

  -p 15432 > /sökväg/till/backup.sql

Användarguider

  • Lägg till användare
  • Lägg till enheter
  • Utträdesregler
  • Kundens instruktioner
  • Split Tunnel VPN
  • Omvänd tunnel 
  • NAT Gateway

Lägg till användare

Efter att Firezone har implementerats måste du lägga till användare för att ge dem åtkomst till ditt nätverk. Webbgränssnittet används för att göra detta.

 

Webbgränssnitt


Genom att välja knappen "Lägg till användare" under /användare kan du lägga till en användare. Du kommer att behöva förse användaren med en e-postadress och ett lösenord. För att tillåta åtkomst till användare i din organisation automatiskt kan Firezone också gränssnitt och synkronisera med en identitetsleverantör. Mer information finns i autentisera. < Lägg till en länk till Autentisera

Lägg till enheter

Vi rekommenderar att du begär att användare skapar sina egna enhetskonfigurationer så att den privata nyckeln endast är synlig för dem. Användare kan skapa sina egna enhetskonfigurationer genom att följa anvisningarna på Kundens instruktioner sida.

 

Genererar administratörsenhetskonfiguration

Alla användarenhetskonfigurationer kan skapas av Firezone-administratörer. På användarprofilsidan som finns på /users, välj alternativet "Lägg till enhet" för att göra detta.

 

[Infoga skärmdump]

 

Du kan e-posta användaren WireGuard-konfigurationsfilen efter att ha skapat enhetsprofilen.

 

Användare och enheter är länkade. För ytterligare information om hur du lägger till en användare, se Lägg till användare.

Utträdesregler

Genom att använda kärnans nätfiltersystem möjliggör Firezone möjligheter för utgående filtrering för att specificera DROP- eller ACCEPT-paket. All trafik är normalt tillåten.

 

IPv4- och IPv6-CIDR:er och IP-adresser stöds via Tillåtelselistan respektive Denylistan. Du kan välja att omfånga en regel för en användare när du lägger till den, vilket tillämpar regeln på alla den användarens enheter.

Kundens instruktioner

Installera och konfigurera

För att upprätta en VPN-anslutning med den inbyggda WireGuard-klienten, se den här guiden.

 

1. Installera den inbyggda WireGuard-klienten

 

De officiella WireGuard-klienterna som finns här är Firezone-kompatibla:

 

MacOS

 

Windows

 

iOS

 

Android

 

Besök den officiella WireGuard-webbplatsen på https://www.wireguard.com/install/ för OS-system som inte nämns ovan.

 

2. Ladda ner enhetens konfigurationsfil

 

Antingen din Firezone-administratör eller du själv kan generera enhetens konfigurationsfil med hjälp av Firezone-portalen.

 

Besök webbadressen som din Firezone-administratör har angett för att självgenerera en enhetskonfigurationsfil. Ditt företag kommer att ha en unik URL för detta; i det här fallet är det https://instance-id.yourfirezone.com.

 

Logga in på Firezone Okta SSO

 

[Infoga skärmdump]

 

3. Lägg till klientens konfiguration

 

Importera filen.conf till WireGuard-klienten genom att öppna den. Genom att vända på knappen Aktivera kan du starta en VPN-session.

 

[Infoga skärmdump]

Session omautentisering

Följ instruktionerna nedan om din nätverksadministratör har beordrat återkommande autentisering för att hålla din VPN-anslutning aktiv. 



Du behöver:

 

Firezone-portalens URL: Fråga din nätverksadministratör om anslutningen.

Din nätverksadministratör bör kunna erbjuda ditt användarnamn och lösenord. Firezone-webbplatsen kommer att uppmana dig att logga in med den tjänst för enkel inloggning som din arbetsgivare använder (som Google eller Okta).

 

1. Stäng av VPN-anslutningen

 

[Infoga skärmdump]

 

2. Autentisera igen 

Gå till Firezone-portalens URL och logga in med de uppgifter som din nätverksadministratör har tillhandahållit. Om du redan är inloggad klickar du på knappen Autentisera igen innan du loggar in igen.

 

[Infoga skärmdump]

 

Steg 3: Starta en VPN-session

[Infoga skärmdump]

Nätverkshanterare för Linux

För att importera WireGuard-konfigurationsprofilen med Network Manager CLI på Linux-enheter, följ dessa instruktioner (nmcli).

ANMÄRKNINGAR

Om profilen har IPv6-stöd aktiverat kan ett försök att importera konfigurationsfilen med Network Manager GUI misslyckas med följande fel:

ipv6.method: metoden "auto" stöds inte för WireGuard

1. Installera WireGuard-verktygen 

Det är nödvändigt att installera WireGuards användarutrymmesverktyg. Detta kommer att vara ett paket som kallas wireguard eller wireguard-tools för Linux-distributioner.

För Ubuntu/Debian:

sudo apt installera wireguard

För att använda Fedora:

sudo dnf installera wireguard-verktyg

Arch Linux:

sudo pacman -S wireguard-verktyg

Besök den officiella WireGuard-webbplatsen på https://www.wireguard.com/install/ för distributioner som inte nämns ovan.

2. Ladda ner konfiguration 

Antingen din Firezone-administratör eller egengenerering kan generera enhetens konfigurationsfil med hjälp av Firezone-portalen.

Besök webbadressen som din Firezone-administratör har angett för att självgenerera en enhetskonfigurationsfil. Ditt företag kommer att ha en unik URL för detta; i det här fallet är det https://instance-id.yourfirezone.com.

[Infoga skärmdump]

3. Importera inställningar

Importera den medföljande konfigurationsfilen med nmcli:

sudo nmcli anslutning import typ wireguard fil /path/to/configuration.conf

ANMÄRKNINGAR

Namnet på konfigurationsfilen kommer att motsvara WireGuard-anslutningen/gränssnittet. Efter importen kan anslutningen byta namn vid behov:

nmcli-anslutning ändra [gammalt namn] connection.id [nytt namn]

4. Anslut eller koppla från

Via kommandoraden ansluter du till VPN enligt följande:

nmcli-anslutning [vpn-namn]

För att koppla bort:

nmcli-anslutning nere [vpn-namn]

Den tillämpliga Network Manager-appleten kan också användas för att hantera anslutningen om du använder ett GUI.

Automatisk anslutning

Genom att välja "ja" för autoanslutningsalternativet kan VPN-anslutningen konfigureras för att ansluta automatiskt:

 

nmcli-anslutning ändra [vpn-namn]-anslutning. <<<<<<<<<<<<<<<<<<<<<<

 

autoanslut ja

 

För att inaktivera den automatiska anslutningen ställer du tillbaka den till no:

 

nmcli-anslutning ändra [vpn-namn]-anslutning.

 

autoconnect nr

Gör multifaktorautentisering tillgänglig

För att aktivera MFA Gå till Firezone-portalens /användarkonto/register mfa-sida. Använd din autentiseringsapp för att skanna QR-koden efter att den har skapats och ange sedan den sexsiffriga koden.

Kontakta din administratör för att återställa ditt kontos åtkomstinformation om du tappar bort din autentiseringsapp.

Split Tunnel VPN

Denna handledning kommer att leda dig genom processen att ställa in WireGuards delade tunnelfunktion med Firezone så att endast trafik till specifika IP-intervall vidarebefordras via VPN-servern.

 

1. Konfigurera tillåtna IP-adresser 

IP-intervallen för vilka klienten kommer att dirigera nätverkstrafik anges i fältet Tillåtna IP-adresser på sidan /inställningar/standard. Endast de nyskapade WireGuard-tunnelkonfigurationerna som produceras av Firezone kommer att påverkas av ändringar i detta fält.

 

[Infoga skärmdump]



Standardvärdet är 0.0.0.0/0, ::/0, vilket dirigerar all nätverkstrafik från klienten till VPN-servern.

 

Exempel på värden i det här fältet inkluderar:

 

0.0.0.0/0, ::/0 – all nätverkstrafik kommer att dirigeras till VPN-servern.

192.0.2.3/32 – endast trafik till en enda IP-adress kommer att dirigeras till VPN-servern.

3.5.140.0/22 ​​– endast trafik till IP-adresser i intervallet 3.5.140.1 – 3.5.143.254 kommer att dirigeras till VPN-servern. I det här exemplet användes CIDR-intervallet för ap-northeast-2 AWS-regionen.



ANMÄRKNINGAR

Firezone väljer utträdesgränssnittet som är kopplat till den mest exakta rutten först när det bestäms vart ett paket ska dirigeras.

 

2. Återskapa WireGuard-konfigurationer

Användare måste återskapa konfigurationsfilerna och lägga till dem i sin inhemska WireGuard-klient för att uppdatera befintliga användarenheter med den nya delade tunnelkonfigurationen.

 

För instruktioner, se Lägg till enhet. <<<<<<<<<<< Lägg till länk

Omvänd tunnel

Denna manual kommer att visa hur man länkar två enheter med Firezone som ett relä. Ett typiskt användningsfall är att göra det möjligt för en administratör att komma åt en server, behållare eller maskin som är skyddad av en NAT eller brandvägg.

 

Nod till Nod 

Den här illustrationen visar ett enkelt scenario där enheterna A och B bygger en tunnel.

 

[Infoga brandzonens arkitektoniska bild]

 

Börja med att skapa Enhet A och Enhet B genom att navigera till /users/[user_id]/new_device. Se till att följande parametrar är inställda på värdena nedan i inställningarna för varje enhet. Du kan ställa in enhetsinställningar när du skapar enhetskonfigurationen (se Lägg till enheter). Om du behöver uppdatera inställningar på en befintlig enhet kan du göra det genom att skapa en ny enhetskonfiguration.

 

Observera att alla enheter har en /inställningar/defaults-sida där PersistentKeepalive kan konfigureras.

 

Enhet A

 

TillåtnaIPs = 10.3.2.2/32

  Detta är IP-adressen eller IP-intervallet för Enhet B

PersistentKeepalive = 25

  Om enheten är bakom en NAT säkerställer detta att enheten kan hålla tunneln vid liv och fortsätta att ta emot paket från WireGuard-gränssnittet. Vanligtvis är ett värde på 25 tillräckligt, men du kan behöva minska detta värde beroende på din miljö.



B-enhet

 

TillåtnaIPs = 10.3.2.3/32

Detta är IP-adressen eller IP-intervallet för Enhet A

PersistentKeepalive = 25

Administratörsfall - en till många noder

Detta exempel visar en situation där anordning A kan kommunicera med anordningar B till D i båda riktningarna. Denna inställning kan representera en ingenjör eller administratör som har åtkomst till många resurser (servrar, behållare eller maskiner) över olika nätverk.

 

[Arkitektoniskt diagram]<<<<<<<<<<<<<<<<<<<<<<<<

 

Se till att följande inställningar görs i varje enhets inställningar till motsvarande värden. När du skapar enhetskonfigurationen kan du ange enhetsinställningar (se Lägg till enheter). En ny enhetskonfiguration kan skapas om inställningarna på en befintlig enhet behöver uppdateras.

 

Enhet A (administratörsnod)

 

Tillåtna IP-adresser = 10.3.2.3/32, 10.3.2.4/32, 10.3.2.5/32 

    Detta är IP-adressen för enheterna B till D. IP-adresserna för enheterna B till D måste inkluderas i alla IP-intervall som du väljer att ställa in.

PersistentKeepalive = 25 

    Detta garanterar att enheten kan underhålla tunneln och fortsätta att ta emot paket från WireGuard-gränssnittet även om den är skyddad av en NAT. I de flesta fall är ett värde på 25 tillräckligt, men beroende på din omgivning kan du behöva sänka denna siffra.

 

Enhet B

 

  • Tillåtna IP:er = 10.3.2.2/32: Detta är IP:n eller IP-intervallet för Enhet A
  • PersistentKeepalive = 25

Enhet C

 

  • Tillåtna IP:er = 10.3.2.2/32: Detta är IP:n eller IP-intervallet för Enhet A
  • PersistentKeepalive = 25

Enhet D

 

  • Tillåtna IP:er = 10.3.2.2/32: Detta är IP:n eller IP-intervallet för Enhet A
  • PersistentKeepalive = 25

NAT Gateway

För att erbjuda en enda statisk utgående IP för all ditt teams trafik att flyta ut ur, kan Firezone användas som en NAT-gateway. Dessa situationer involverar dess frekventa användning:

 

Konsultuppdrag: Be att din kund vitlistar en enda statisk IP-adress istället för varje anställds unika enhets-IP.

Använda en proxy eller maskera din käll-IP för säkerhets- eller integritetsskäl.

 

Ett enkelt exempel på att begränsa åtkomsten till en webbapplikation med egen värd till en enda vitlistad statisk IP som kör Firezone kommer att visas i det här inlägget. I den här illustrationen finns Firezone och den skyddade resursen i olika VPC-områden.

 

Denna lösning används ofta i stället för att hantera en IP-vitlista för många slutanvändare, vilket kan vara tidskrävande när åtkomstlistan utökas.

AWS exempel

Vårt mål är att sätta upp en Firezone-server på en EC2-instans för att omdirigera VPN-trafik till den begränsade resursen. I det här fallet fungerar Firezone som en nätverksproxy eller NAT-gateway för att ge varje ansluten enhet en unik offentlig utgående IP.

 

1. Installera Firezone-servern

I det här fallet har en EC2-instans med namnet tc2.micro en Firezone-instans installerad på sig. För information om hur du distribuerar Firezone, gå till implementeringsguiden. I förhållande till AWS, var säker på:

 

Firezone EC2-instansens säkerhetsgrupp tillåter utgående trafik till den skyddade resursens IP-adress.

Firezone-instansen kommer med en elastisk IP. Trafik som vidarebefordras genom Firezone-instansen till externa destinationer kommer att ha detta som sin käll-IP-adress. IP-adressen i fråga är 52.202.88.54.

 

[Infoga skärmdump]<<<<<<<<<<<<<<<<<<<<<<<<

 

2. Begränsa åtkomsten till den resurs som skyddas

En webbapplikation som är värd för sig själv fungerar som den skyddade resursen i detta fall. Webbappen kan endast nås av förfrågningar som kommer från IP-adressen 52.202.88.54. Beroende på resurs kan det vara nödvändigt att tillåta inkommande trafik på olika hamnar och trafiktyper. Detta tas inte upp i denna manual.

 

[Infoga skärmdump]<<<<<<<<<<<<<<<<<<<<<<<<

 

Tala om för den tredje part som ansvarar för den skyddade resursen att trafik från den statiska IP som definieras i steg 1 måste tillåtas (i det här fallet 52.202.88.54).

 

3. Använd VPN-servern för att dirigera trafik till den skyddade resursen

 

Som standard kommer all användartrafik att gå via VPN-servern och komma från den statiska IP-adressen som konfigurerades i steg 1 (i det här fallet 52.202.88.54). Men om delad tunnling har aktiverats kan inställningar vara nödvändiga för att säkerställa att den skyddade resursens destinations-IP är listad bland de tillåtna IP-adresserna.

Lägg till din rubriktekst här

Nedan visas en komplett lista över de tillgängliga konfigurationsalternativen /etc/firezone/firezone.rb.



alternativ

beskrivning

standardvärde

default['firezone']['external_url']

URL som används för att komma åt webbportalen för denna Firezone-instans.

“https://#{nod['fqdn'] || nod['värdnamn']}”

default['firezone']['config_directory']

Katalog på toppnivå för Firezone-konfiguration.

/etc/firezone'

default['firezone']['install_directory']

Översta katalog att installera Firezone på.

/opt/firezone'

default['firezone']['app_directory']

Katalog på toppnivå för att installera Firezone-webbapplikationen.

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

default['firezone']['log_directory']

Katalog på toppnivå för Firezone-loggar.

/var/log/firezone'

default['firezone']['var_directory']

Katalog på toppnivå för Firezone runtime-filer.

/var/opt/firezone'

default['firezone']['user']

Namn på oprivilegierad Linux-användare de flesta tjänster och filer kommer att tillhöra.

eldzon'

default['brandzon']['grupp']

Namn på Linux-grupp de flesta tjänster och filer kommer att tillhöra.

eldzon'

default['firezone']['admin_email']

E-postadress för den första Firezone-användaren.

"firezone@localhost"

default['firezone']['max_devices_per_user']

Maximalt antal enheter en användare kan ha.

10

default['firezone']['allow_unprivileged_device_management']

Tillåter användare som inte är administratörer att skapa och ta bort enheter.

SANN

default['firezone']['allow_unprivileged_device_configuration']

Tillåter användare som inte är administratörer att ändra enhetskonfigurationer. När inaktiverad, förhindrar oprivilegierade användare från att ändra alla enhetsfält utom namn och beskrivning.

SANN

default['firezone']['egress_interface']

Gränssnittsnamn där tunnlad trafik kommer att lämnas. Om noll kommer standardruttgränssnittet att användas.

noll

default['firezone']['fips_enabled']

Aktivera eller inaktivera OpenSSL FIPs-läge.

noll

default['firezone']['logging']['enabled']

Aktivera eller inaktivera loggning över Firezone. Ställ in på false för att inaktivera loggning helt.

SANN

default['företag']['namn']

Namn som används av kockens "företagskokbok".

eldzon'

default['firezone']['install_path']

Installationssökväg som används av kokboken för kockens "företag". Bör ställas in på samma som installationskatalogen ovan.

nod['firezone']['install_directory']

default['firezone']['sysvinit_id']

En identifierare som används i /etc/inittab. Måste vara en unik sekvens på 1-4 tecken.

SUPERA'

default['firezone']['autentication']['local']['enabled']

Aktivera eller inaktivera lokal e-post-/lösenordsautentisering.

SANN

default['firezone']['autentication']['auto_create_oidc_users']

Skapa automatiskt användare som loggar in från OIDC för första gången. Inaktivera för att endast tillåta befintliga användare att logga in via OIDC.

SANN

default['firezone']['autentication']['disable_vpn_on_oidc_error']

Inaktivera en användares VPN om ett fel upptäcks vid försök att uppdatera deras OIDC-token.

FALSK

default['firezone']['autentication']['oidc']

OpenID Connect config, i formatet {“provider” => [config…]} – Se OpenIDConnect-dokumentation för konfigurationsexempel.

{}

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

Aktivera eller inaktivera den medföljande nginx-servern.

SANN

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

HTTPS lyssningsport.

443

default['firezone']['nginx']['katalog']

Katalog för att lagra Firezone-relaterad nginx virtuell värdkonfiguration.

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

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

Katalog för att lagra Firezone-relaterade nginx-loggfiler.

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

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

Filstorlek för att rotera Nginx-loggfiler.

104857600

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

Antal Firezone nginx-loggfiler att behålla innan de kasseras.

10

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

Om Firezone nginx x-forwarded-for header ska loggas.

SANN

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

Aktivera eller inaktivera HSTS.

SANN

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

Aktivera eller inaktivera includeSubDomains för HSTS-huvudet.

SANN

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

Max ålder för HSTS-huvudet.

31536000

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

Om webbadresser ska omdirigeras till det kanoniska FQDN som anges ovan

FALSK

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

Aktivera eller inaktivera Firezone nginx-cachen.

FALSK

default['firezone']['nginx']['cache']['katalog']

Katalog för Firezone nginx cache.

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

default['firezone']['nginx']['user']

Firezone nginx-användare.

nod['firezone']['user']

default['firezone']['nginx']['grupp']

Firezone nginx grupp.

nod['brandzon']['grupp']

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

nginx-konfigurationskatalog på toppnivå.

nod['firezone']['nginx']['katalog']

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

nginx-loggkatalog på toppnivå.

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

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

Plats för nginx pid-fil.

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

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

Inaktivera nginx-demonläget så att vi kan övervaka det istället.

SANN

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

Slå på eller av nginx gzip-komprimering.

på'

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

Slå på eller av nginx gzip-komprimering för statiska filer.

av'

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

HTTP-version att använda för att visa statiska filer.

1.0 '

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

nginx gzip komprimeringsnivå.

2 '

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

Aktiverar eller inaktiverar gzipping av svar för fullmaktsbegäranden beroende på begäran och svaret.

några'

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

Aktiverar eller inaktiverar infogning av svarshuvudet "Vary: Accept-Encoding".

av'

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

Ställer in antalet och storleken på buffertar som används för att komprimera ett svar. Om noll används nginx default.

noll

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

MIME-typer för att aktivera gzip-komprimering för.

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

Minsta fillängd för att aktivera fil-gzip-komprimering för.

1000

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

User-agent matcher att inaktivera gzip-komprimering för.

MSIE [1-6]\.'

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

Aktiverar cache för anslutning till uppströmsservrar.

på'

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

Timeout i sekunder för keepalive-anslutning till uppströmsservrar.

65

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

Antal nginx-arbetarprocesser.

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

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

Max antal samtidiga anslutningar som kan öppnas av en arbetsprocess.

1024

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

Ändrar gränsen för det maximala antalet öppna filer för arbetsprocesser. Använder nginx default om noll.

noll

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

Om arbetare ska acceptera en anslutning i taget eller flera.

SANN

default['firezone']['nginx']['event']

Anger anslutningsbearbetningsmetoden som ska användas i nginx-händelser.

epoll'

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

Aktiverar eller inaktiverar sändande nginx-version på felsidor och i svarsrubrikfältet "Server".

noll

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

Ställer in hinkstorleken för servernamnens hashtabeller.

64

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

Aktiverar eller inaktiverar användningen av nginx's sendfile().

på'

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

Ställer in alternativ för nginx-åtkomstlogg.

noll

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

Ställer in alternativ för nginx-fellogg.

noll

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

Inaktiverar nginx-åtkomstlogg.

FALSK

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

nginx typer hash max storlek.

2048

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

nginx-typer hash-hinkstorlek.

64

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

nginx proxy läs timeout. Ställ in på noll för att använda nginx standard.

noll

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

nginx klientkroppsbuffertstorlek. Ställ in på noll för att använda nginx standard.

noll

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

nginx klient max kroppsstorlek.

250 m'

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

Ange ytterligare nginx-moduler.

[]

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

Aktivera eller inaktivera nginx-hastighetsbegränsning.

SANN

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

Namn på Nginx hastighetsbegränsande zon.

eldzon'

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

Nginx hastighetsbegränsande backoff.

10 m'

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

Nginx hastighetsgräns.

10r/s'

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

Tillåt nginx att lyssna efter HTTP-förfrågningar för IPv6 utöver IPv4.

SANN

default['firezone']['postgresql']['enabled']

Aktivera eller inaktivera medföljande Postgresql. Ställ in på false och fyll i databasalternativen nedan för att använda din egen Postgresql-instans.

SANN

default['firezone']['postgresql']['användarnamn']

Användarnamn för Postgresql.

nod['firezone']['user']

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

Postgresql datakatalog.

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

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

Postgresql loggkatalog.

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

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

Postgresql-loggfilens maximala storlek innan den roteras.

104857600

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

Antal Postgresql-loggfiler att behålla.

10

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

Mål för slutförande av Postgresql checkpoint.

0.5

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

Antal Postgresql-kontrollpunktsegment.

3

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

Postgresql checkpoint timeout.

5 min'

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

Postgresql checkpoint varningstid i sekunder.

30-tal

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

Postgresql effektiv cachestorlek.

128MB'

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

Postgresql lyssna adress.

127.0.0.1 '

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

Postgresql max-anslutningar.

350

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

Postgresql CIDR:er för att tillåta md5 auth.

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

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

Postgresql lyssna port.

15432

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

Postgresql delade buffertar storlek.

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

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

Postgresql shmmax i byte.

17179869184

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

Postgresql shmall i byte.

4194304

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

Postgresql arbetsminnesstorlek.

8MB'

default['firezone']['databas']['user']

Anger användarnamnet Firezone kommer att använda för att ansluta till databasen.

node['firezone']['postgresql']['användarnamn']

default['firezone']['databas']['lösenord']

Om du använder en extern DB, anger lösenordet Firezone kommer att använda för att ansluta till DB.

ändra mig'

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

Databas som Firezone kommer att använda. Kommer att skapas om det inte finns.

eldzon'

default['firezone']['databas']['host']

Databasvärd som Firezone kommer att ansluta till.

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

default['firezone']['databas']['port']

Databasport som Firezone kommer att ansluta till.

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

default['firezone']['databas']['pool']

Databaspoolstorlek Firezone kommer att använda.

[10, Etc.nprocessorer].max

default['firezone']['databas']['ssl']

Om man ska ansluta till databasen över SSL.

FALSK

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

Hash av alternativ att skicka till alternativet :ssl_opts när du ansluter över SSL. Ser Ecto.Adapters.Postgres dokumentation.

{}

default['firezone']['databas']['parametrar']

Hash av parametrar att skicka till alternativet :parameters när du ansluter till databasen. Ser Ecto.Adapters.Postgres dokumentation.

{}

default['firezone']['databas']['extensions']

Databastillägg för att aktivera.

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

default['firezone']['phoenix']['enabled']

Aktivera eller inaktivera Firezone-webbapplikationen.

SANN

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

Firezone webbapplikation lyssna adress. Detta kommer att vara uppströmslyssningsadressen som nginx proxar.

127.0.0.1 '

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

Firezone webbapplikation lyssna port. Detta kommer att vara uppströmsporten som nginx proxyservrar.

13000

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

Firezone webbapplikationsloggkatalog.

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

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

Firezone-webbapplikationsloggfilstorlek.

104857600

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

Antal Firezone-webbapplikationsloggfiler att behålla.

10

default['firezone']['phoenix']['crash_detection']['enabled']

Aktivera eller inaktivera nedläggning av Firezone-webbapplikationen när en krasch upptäcks.

SANN

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

Lista över betrodda omvända proxyservrar formaterade som en matris med IP:er och/eller CIDR:er.

[]

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

Lista över privata nätverks-HTTP-klienter, formaterad en uppsättning IP-adresser och/eller CIDR:er.

[]

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

Aktivera eller inaktivera paketerad WireGuard-hantering.

SANN

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

Loggkatalog för medföljande WireGuard-hantering.

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

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

WireGuard loggfil max storlek.

104857600

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

Antal WireGuard-loggfiler att behålla.

10

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

WireGuard-gränssnittsnamn. Att ändra denna parameter kan orsaka en tillfällig förlust av VPN-anslutning.

wg-firezone'

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

WireGuard lyssningsport.

51820

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

WireGuard-gränssnitt MTU för denna server och för enhetskonfigurationer.

1280

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

WireGuard Endpoint att använda för att generera enhetskonfigurationer. Om noll, används som standard serverns offentliga IP-adress.

noll

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

WireGuard DNS att använda för genererade enhetskonfigurationer.

1.1.1.1, 1.0.0.1′

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

WireGuard AllowedIPs att använda för genererade enhetskonfigurationer.

0.0.0.0/0, ::/0′

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

Standardinställningen PersistentKeepalive för genererade enhetskonfigurationer. Ett värde på 0 inaktiverar.

0

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

Aktivera eller inaktivera IPv4 för WireGuard-nätverk.

SANN

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

Aktivera eller inaktivera maskerad för paket som lämnar IPv4-tunneln.

SANN

default['firezone']['wireguard']['ipv4']['nätverk']

WireGuard nätverk IPv4 adresspool.

10.3.2.0/24 ′

default['firezone']['wireguard']['ipv4']['adress']

WireGuard-gränssnitt IPv4-adress. Måste vara inom WireGuard adresspool.

10.3.2.1 '

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

Aktivera eller inaktivera IPv6 för WireGuard-nätverk.

SANN

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

Aktivera eller inaktivera maskerad för paket som lämnar IPv6-tunneln.

SANN

default['firezone']['wireguard']['ipv6']['nätverk']

WireGuard nätverk IPv6 adresspool.

fd00::3:2:0/120′

default['firezone']['wireguard']['ipv6']['adress']

IPv6-adress för WireGuard-gränssnitt. Måste finnas inom IPv6-adresspoolen.

fd00::3:2:1′

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

Kör svlogd bin plats.

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

default['firezone']['ssl']['katalog']

SSL-katalog för lagring av genererade certifikat.

/var/opt/firezone/ssl'

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

E-postadress att använda för självsignerade certifikat och meddelanden om förnyelse av ACME-protokoll.

du@exempel.com'

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

Aktivera ACME för automatisk SSL-certifiering. Inaktivera detta för att förhindra att Nginx lyssnar på port 80. Se här. för mer instruktioner.

FALSK

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

ACME-server att använda för utfärdande/förnyelse av certifikat. Kan vara vilken som helst giltig acme.sh-server

letsencrypt

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

Ange nyckeltyp och längd för SSL-certifikat. Ser här.

ec-256

default['brandzon']['ssl']['certifikat']

Sökväg till certifikatfilen för din FQDN. Åsidosätter ACME-inställningen ovan om det anges. Om både ACME och detta är noll kommer ett självsignerat certifikat att genereras.

noll

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

Sökväg till certifikatfilen.

noll

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

nginx ssl dh_param.

noll

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

Landsnamn för självsignerat certifikat.

USA'

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

Ange namn för självsignerat certifikat.

CA '

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

Ortsnamn för självsignerat certifikat.

San Francisco'

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

Företagsnamn självsignerat certifikat.

Mitt företag'

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

Organisationsenhetsnamn för självsignerat certifikat.

Operationer'

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

SSL-chiffer för nginx att använda.

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

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

SSL-chiffer för FIP-läge.

FIPS@STRENGTH:!aNULL:!eNULL'

default['brandzon']['ssl']['protokoll']

TLS-protokoll att använda.

TLSv1 TLSv1.1 TLSv1.2′

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

SSL-sessionscache.

shared:SSL:4m'

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

SSL-session timeout.

5 m'

default['firezone']['robots_allow']

nginx-robotar tillåter.

/'

default['firezone']['robots_disallow']

nginx-robotar tillåter inte.

noll

default['firezone']['outbound_email']['from']

Utgående e-post från adress.

noll

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

Utgående e-postleverantör.

noll

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

Konfigurationer för utgående e-postleverantör.

se omnibus/kokböcker/firezone/attributes/default.rb

default['firezone']['telemetry']['enabled']

Aktivera eller inaktivera anonymiserad produkttelemetri.

SANN

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

Aktivera eller inaktivera tjänsten Firezone Connectivity Checks.

SANN

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

Intervall mellan anslutningskontroller i sekunder.

3_600



________________________________________________________________

 

Filer och katalogplatser

 

Här hittar du en lista över filer och kataloger relaterade till en typisk Firezone-installation. Dessa kan ändras beroende på ändringar i din konfigurationsfil.



bana

beskrivning

/var/opt/firezone

Katalog på toppnivå som innehåller data och genererad konfiguration för Firezone-paketerade tjänster.

/opt/brandzon

Katalog på toppnivå som innehåller inbyggda bibliotek, binärer och runtime-filer som behövs av Firezone.

/usr/bin/firezone-ctl

firezone-ctl-verktyget för att hantera din Firezone-installation.

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

systemd-enhetsfil för att starta Firezone runsvdir-övervakarprocessen.

/etc/firezone

Firezone konfigurationsfiler.



__________________________________________________________

 

Brandväggsmallar

 

Den här sidan var tom i dokument

 

_____________________________________________________________

 

Nftables brandväggsmall

 

Följande nftables brandväggsmall kan användas för att säkra servern som kör Firezone. Mallen gör vissa antaganden; du kan behöva justera reglerna för att passa ditt användningsfall:

  • WireGuard-gränssnittet heter wg-firezone. Om detta inte är korrekt, ändra DEV_WIREGUARD-variabeln så att den matchar standardkonfigurationsalternativet['firezone']['wireguard']['interface_name'].
  • Porten som WireGuard lyssnar på är 51820. Om du inte använder standardporten ändra WIREGUARD_PORT-variabeln.
  • Endast följande inkommande trafik tillåts till servern:
    • SSH (TCP-port 22)
    • HTTP (TCP-port 80)
    • HTTPS (TCP-port 443)
    • WireGuard (UDP-port WIREGUARD_PORT)
    • UDP traceroute (UDP-port 33434-33524, hastighet begränsad till 500/sekund)
    • ICMP och ICMPv6 (ping/ping-svarsfrekvens begränsad till 2000/sekund)
  • Endast följande utgående trafik kommer att tillåtas från servern:
    • DNS (UDP och TCP port 53)
    • HTTP (TCP-port 80)
    • NTP (UDP-port 123)
    • HTTPS (TCP-port 443)
    • SMTP-inlämning (TCP-port 587)
    • UDP traceroute (UDP-port 33434-33524, hastighet begränsad till 500/sekund)
  • Omatchad trafik kommer att loggas. Reglerna som används för loggning är separerade från reglerna för att släppa trafik och är hastighetsbegränsade. Att ta bort relevanta loggningsregler påverkar inte trafiken.

Firezone-hanterade reglerâ € <

Firezone konfigurerar sina egna nftables-regler för att tillåta/avvisa trafik till destinationer konfigurerade i webbgränssnittet och för att hantera utgående NAT för klienttrafik.

Om du använder brandväggsmallen nedan på en redan körande server (inte vid uppstart) kommer Firezone-reglerna att rensas. Detta kan ha säkerhetskonsekvenser.

För att kringgå detta starta om phoenix-tjänsten:

firezone-ctl starta om phoenix

Basbrandväggsmallâ € <

#!/usr/sbin/nft -f

 

## Rensa/spola alla befintliga regler

spola regeluppsättningen

 

############################## VARIABLER ################# ###############

## Namn på Internet/WAN-gränssnitt

definiera DEV_WAN = eth0

 

## WireGuard-gränssnittsnamn

definiera DEV_WIREGUARD = wg-brandzon

 

## WireGuard lyssningsport

definiera WIREGUARD_PORT = 51820

############################# VARIABLER SLUT ################## ############

 

# Huvudinet-familjens filtreringstabell

tabell inet filter {

 

 # Regler för vidarebefordrad trafik

 # Denna kedja bearbetas före Firezone forward-kedjan

 kedja fram {

   typ filter krok framåt prioritetsfilter – 5; policy acceptera

 }

 

 # Regler för ingående trafik

 chain input {

   typ filter krok input prioritetsfilter; politiken faller

 

   ## Tillåt inkommande trafik till loopback-gränssnittet

   om jag

     acceptera \

     kommentar "Tillåt all trafik in från loopback-gränssnittet"

 

   ## Tillåt etablerade och relaterade anslutningar

   ct tillstånd etablerat, relaterat \

     acceptera \

     kommentar "Tillåt etablerade/relaterade anslutningar"

 

   ## Tillåt inkommande WireGuard-trafik

   iIF $DEV_WAN udp dport $WIREGUARD_PORT \

     disken \

     acceptera \

     kommentar "Tillåt inkommande WireGuard-trafik"

 

   ## Logga och släpp nya TCP icke-SYN-paket

   tcp flaggor != syn ct state new \

     gränsvärde 100/minut skur 150 paket \

     log prefix “IN – Nytt !SYN: “ \

     kommentar "Taxgränsloggning för nya anslutningar som inte har SYN TCP-flaggan inställd"

   tcp flaggor != syn ct state new \

     disken \

     släppa \

     kommentar "Släpp nya anslutningar som inte har SYN TCP-flaggan inställd"

 

   ## Logga och släpp TCP-paket med ogiltig fin/syn-flagga

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

     gränsvärde 100/minut skur 150 paket \

     log prefix "IN – TCP FIN|SIN: " \

     kommentar "Loggning av hastighetsgräns för TCP-paket med ogiltig fin/syn-flagga inställd"

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

     disken \

     släppa \

     kommentar "Släpp TCP-paket med ogiltig fin/syn-flaggauppsättning"

 

   ## Logga och släpp TCP-paket med ogiltig syn/rst-flagga

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

     gränsvärde 100/minut skur 150 paket \

     log prefix “IN – TCP SYN|RST: “ \

     kommentar "Loggning av hastighetsgräns för TCP-paket med ogiltig syn/rst-flagga inställd"

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

     disken \

     släppa \

     kommentar "Släpp TCP-paket med ogiltig syn/rst-flaggauppsättning"

 

   ## Logga och släpp ogiltiga TCP-flaggor

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

     gränsvärde 100/minut skur 150 paket \

     log prefix "IN - FIN:" \

     kommentar "Loggning av hastighetsgräns för ogiltiga TCP-flaggor (fin|syn|rst|psh|ack|urg) < (fin)"

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

     disken \

     släppa \

     kommentar "Släpp TCP-paket med flaggor (fin|syn|rst|psh|ack|urg) < (fin)"

 

   ## Logga och släpp ogiltiga TCP-flaggor

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

     gränsvärde 100/minut skur 150 paket \

     log prefix “IN – FIN|PSH|URG:” \

     kommentar "Loggning av hastighetsgräns för ogiltiga TCP-flaggor (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)"

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

     disken \

     släppa \

     kommentar "Släpp TCP-paket med flaggor (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)"

 

   ## Släpp trafik med ogiltigt anslutningstillstånd

   ct-tillstånd ogiltig \

     gränsvärde 100/minut skur 150 paket \

     log flaggar alla prefix "IN - Ogiltig: " \

     kommentar "Taxgränsloggning för trafik med ogiltigt anslutningstillstånd"

   ct-tillstånd ogiltig \

     disken \

     släppa \

     kommentar "Släpp trafik med ogiltigt anslutningstillstånd"

 

   ## Tillåt IPv4 ping/ping-svar men hastighetsbegränsning till 2000 PPS

   ip protokoll icmp icmp typ { echo-reply, echo-request } \

     gränsvärde 2000/sekund \

     disken \

     acceptera \

     kommentar "Tillåt inkommande IPv4-eko (ping) begränsat till 2000 PPS"

 

   ## Tillåt alla andra inkommande IPv4 ICMP

   ip protokoll icmp \

     disken \

     acceptera \

     kommentar "Tillåt alla andra IPv4 ICMP"

 

   ## Tillåt IPv6 ping/ping-svar men hastighetsbegränsning till 2000 PPS

   icmpv6 typ { echo-reply, echo-request } \

     gränsvärde 2000/sekund \

     disken \

     acceptera \

     kommentar "Tillåt inkommande IPv6-eko (ping) begränsat till 2000 PPS"

 

   ## Tillåt alla andra inkommande IPv6 ICMP

   meta l4proto { icmpv6 } \

     disken \

     acceptera \

     kommentar "Tillåt alla andra IPv6 ICMP"

 

   ## Tillåt inkommande traceroute UDP-portar men begränsa till 500 PPS

   udp dport 33434-33524 \

     gränsvärde 500/sekund \

     disken \

     acceptera \

     kommentar "Tillåt inkommande UDP traceroute begränsad till 500 PPS"

 

   ## Tillåt inkommande SSH

   tcp dport ssh ct state new \

     disken \

     acceptera \

     kommentar "Tillåt inkommande SSH-anslutningar"

 

   ## Tillåt inkommande HTTP och HTTPS

   tcp dport { http, https } ct state new \

     disken \

     acceptera \

     kommentar "Tillåt inkommande HTTP- och HTTPS-anslutningar"

 

   ## Logga all oöverträffad trafik men hastighetsbegränsa loggningen till maximalt 60 meddelanden/minut

   ## Standardpolicyn kommer att tillämpas på omatchad trafik

   gränsvärde 60/minut skur 100 paket \

     log prefix "IN - Släpp: " \

     kommentar "Logga all oöverträffad trafik"

 

   ## Räkna den oöverträffade trafiken

   disken \

     kommentar "Räkna all oöverträffad trafik"

 }

 

 # Regler för utgående trafik

 kedjeutgång {

   typ filter krokutgång prioritetsfilter; politiken faller

 

   ## Tillåt utgående trafik till loopback-gränssnitt

   oif lo \

     acceptera \

     kommentar "Tillåt all trafik ut till loopback-gränssnittet"

 

   ## Tillåt etablerade och relaterade anslutningar

   ct tillstånd etablerat, relaterat \

     disken \

     acceptera \

     kommentar "Tillåt etablerade/relaterade anslutningar"

 

   ## Tillåt utgående WireGuard-trafik innan anslutningar med dåligt tillstånd avbryts

   oif $DEV_WAN udp sport $WIREGUARD_PORT \

     disken \

     acceptera \

     kommentar "Tillåt WireGuard utgående trafik"

 

   ## Släpp trafik med ogiltigt anslutningstillstånd

   ct-tillstånd ogiltig \

     gränsvärde 100/minut skur 150 paket \

     log flaggar alla prefix "UT - Ogiltigt: " \

     kommentar "Taxgränsloggning för trafik med ogiltigt anslutningstillstånd"

   ct-tillstånd ogiltig \

     disken \

     släppa \

     kommentar "Släpp trafik med ogiltigt anslutningstillstånd"

 

   ## Tillåt alla andra utgående IPv4 ICMP

   ip protokoll icmp \

     disken \

     acceptera \

     kommentar "Tillåt alla IPv4 ICMP-typer"

 

   ## Tillåt alla andra utgående IPv6 ICMP

   meta l4proto { icmpv6 } \

     disken \

     acceptera \

     kommentar "Tillåt alla IPv6 ICMP-typer"

 

   ## Tillåt utgående traceroute UDP-portar men begränsa till 500 PPS

   udp dport 33434-33524 \

     gränsvärde 500/sekund \

     disken \

     acceptera \

     kommentar "Tillåt utgående UDP-spårväg begränsad till 500 PPS"

 

   ## Tillåt utgående HTTP- och HTTPS-anslutningar

   tcp dport { http, https } ct state new \

     disken \

     acceptera \

     kommentar "Tillåt utgående HTTP- och HTTPS-anslutningar"

 

   ## Tillåt utgående SMTP-inlämning

   tcp dport submission ct state new \

     disken \

     acceptera \

     kommentar "Tillåt utgående SMTP-inlämning"

 

   ## Tillåt utgående DNS-förfrågningar

   udp dport 53 \

     disken \

     acceptera \

     kommentar "Tillåt utgående UDP DNS-förfrågningar"

   tcp dport 53 \

     disken \

     acceptera \

     kommentar "Tillåt utgående TCP DNS-förfrågningar"

 

   ## Tillåt utgående NTP-förfrågningar

   udp dport 123 \

     disken \

     acceptera \

     kommentar "Tillåt utgående NTP-förfrågningar"

 

   ## Logga all oöverträffad trafik men hastighetsbegränsa loggningen till maximalt 60 meddelanden/minut

   ## Standardpolicyn kommer att tillämpas på omatchad trafik

   gränsvärde 60/minut skur 100 paket \

     log prefix "UT – Släpp: " \

     kommentar "Logga all oöverträffad trafik"

 

   ## Räkna den oöverträffade trafiken

   disken \

     kommentar "Räkna all oöverträffad trafik"

 }

 

}

 

# Huvud NAT-filtreringstabell

tabell inet nat {

 

 # Regler för fördirigering av NAT-trafik

 kedja förvägning {

   typ nat hook prerouting priority dstnat; policy acceptera

 }

 

 # Regler för NAT-trafik efter routing

 # Den här tabellen bearbetas före Firezone post-routing-kedjan

 chain postrouting {

   typ nat hook postrouting priority srcnat – 5; policy acceptera

 }

 

}

Användningâ € <

Brandväggen bör lagras på lämplig plats för Linux-distributionen som körs. För Debian/Ubuntu är detta /etc/nftables.conf och för RHEL är detta /etc/sysconfig/nftables.conf.

nftables.service måste konfigureras för att starta vid uppstart (om inte redan) inställd:

systemctl aktivera nftables.service

Om du gör några ändringar i brandväggsmallen kan syntaxen valideras genom att köra check-kommandot:

nft -f /sökväg/till/nftables.conf -c

Se till att validera att brandväggen fungerar som förväntat eftersom vissa nftables-funktioner kanske inte är tillgängliga beroende på vilken version som körs på servern.



_______________________________________________________________



telemetri

 

Det här dokumentet presenterar en översikt över telemetrin Firezone samlar in från din egen värd instans och hur du inaktiverar den.

Varför Firezone samlar in telemetriâ € <

Brandzon därefter samman på telemetri för att prioritera vår färdplan och optimera de tekniska resurserna vi har för att göra Firezone bättre för alla.

Telemetrin vi samlar in syftar till att svara på följande frågor:

  • Hur många installerar, använder och slutar använda Firezone?
  • Vilka funktioner är mest värdefulla och vilka har ingen nytta av?
  • Vilken funktion behöver mest förbättras?
  • När något går sönder, varför gick det sönder och hur kan vi förhindra att det händer i framtiden?

Hur vi samlar in telemetriâ € <

Det finns tre huvudsakliga platser där telemetri samlas in i Firezone:

  1. Pakettelemetri. Inkluderar händelser som installation, avinstallation och uppgradering.
  2. CLI-telemetri från firezone-ctl-kommandon.
  3. Produkttelemetri kopplad till webbportalen.

I vart och ett av dessa tre sammanhang samlar vi in ​​den minsta mängd data som krävs för att svara på frågorna i avsnittet ovan.

Admin-e-postmeddelanden samlas bara in om du uttryckligen väljer att ta del av produktuppdateringar. Annars är personligt identifierbar information aldrig samlade in.

Firezone lagrar telemetri i en självvärderad instans av PostHog som körs i ett privat Kubernetes-kluster, endast tillgängligt för Firezone-teamet. Här är ett exempel på en telemetrihändelse som skickas från din instans av Firezone till vår telemetriserver:

{

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

   "tidsstämpel": “2022-07-22T18:30:39.748000+00:00”,

   "händelse": "fz_http_started",

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

   "egenskaper"{

       "$geoip_city_name": "Ashburn",

       "$geoip_continent_code": "NA",

       "$geoip_continent_name": "Nordamerika",

       "$geoip_country_code": "USA",

       "$geoip_country_name": "Förenta staterna",

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

       "kärna_version": "linux 5.13.0",

       "version": "0.4.6"

   },

   "elements_chain": ""

}

Hur man inaktiverar telemetriâ € <

ANMÄRKNINGAR

Firezones utvecklingsteam därefter samman på produktanalys för att göra Firezone bättre för alla. Att låta telemetri vara aktiverat är det enskilt mest värdefulla bidraget du kan göra till Firezones utveckling. Som sagt, vi förstår att vissa användare har högre integritets- eller säkerhetskrav och skulle föredra att inaktivera telemetri helt och hållet. Om det är du, fortsätt läsa.

Telemetri är aktiverat som standard. För att helt inaktivera produkttelemetri, ställ in följande konfigurationsalternativ till false i /etc/firezone/firezone.rb och kör sudo firezone-ctl reconfigure för att hämta ändringarna.

standard["brandzon"]["telemetri"]['aktiverad'🇧🇷 falsk

Det kommer att inaktivera all produkttelemetri helt.