Hailbytes VPN med Firezone Firewall-dokumentation

Indholdsfortegnelse

Kom i gang

Trin-for-trin instruktioner til implementering af Hailbytes VPN med Firezone GUI findes her. 

Administrer: Opsætning af serverinstansen er direkte relateret til denne del.

Brugervejledninger: Nyttige dokumenter, der kan lære dig, hvordan du bruger Firezone og løser typiske problemer. Når serveren er blevet installeret korrekt, henvises til dette afsnit.

Vejledninger til almindelige konfigurationer

Split Tunneling: Brug VPN til kun at sende trafik til specifikke IP-områder.

Whitelisting: Indstil en VPN-servers statiske IP-adresse for at bruge whitelisting.

Omvendte tunneler: Opret tunneler mellem flere jævnaldrende ved at bruge omvendte tunneler.

Få support

Vi hjælper dig gerne, hvis du har brug for hjælp til at installere, tilpasse eller bruge Hailbytes VPN.

Godkendelse

Før brugere kan producere eller downloade enhedskonfigurationsfiler, kan Firezone konfigureres til at kræve godkendelse. Brugere skal muligvis også periodisk gengodkende for at holde deres VPN-forbindelse aktiv.

Selvom Firezones standard login-metode er lokal e-mail og adgangskode, kan den også integreres med enhver standardiseret OpenID Connect (OIDC) identitetsudbyder. Brugere er nu i stand til at logge ind på Firezone ved at bruge deres legitimationsoplysninger til Okta, Google, Azure AD eller private identitetsudbydere.

 

Integrer en generisk OIDC-udbyder

Konfigurationsparametrene, der er nødvendige af Firezone for at tillade SSO ved hjælp af en OIDC-udbyder, er vist i eksemplet nedenfor. På /etc/firezone/firezone.rb kan du finde konfigurationsfilen. Kør firezone-ctl reconfigure og firezone-ctl genstart for at opdatere applikationen og træde i kraft af ændringer.

 

# Dette er et eksempel, der bruger Google og Okta som en SSO-identitetsudbyder.

# Flere OIDC-konfigurationer kan tilføjes til den samme Firezone-instans.

 

# Firezone kan deaktivere en brugers VPN, hvis der er opdaget en fejl ved at prøve

# for at opdatere deres access_token. Dette er bekræftet til at virke for Google, Okta og

# Azure SSO og bruges til automatisk at afbryde en brugers VPN, hvis de fjernes

# fra OIDC-udbyderen. Lad dette være deaktiveret, hvis din OIDC-udbyder

# har problemer med at opdatere adgangstokens, da det uventet kunne afbryde en

# brugers VPN-session.

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

 

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

    omfang: "openid e-mail profil",

    etiket: "Google"

  },

  okta: {

    discovery_document_uri: "https:// /.velkendt/openid-konfiguration",

    client_id: " ",

    client_secret: " ",

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

    response_type: "kode",

    scope: "openid email profile offline_access",

    etiket: "Okta"

  }

}



Følgende konfigurationsindstillinger er nødvendige for integrationen:

  1. discovery_document_uri: Den OpenID Connect-udbyderens konfigurations-URI som returnerer et JSON-dokument brugt til at konstruere efterfølgende anmodninger til denne OIDC-udbyder.
  2. client_id: Applikationens klient-id.
  3. client_secret: Applikationens klienthemmelighed.
  4. redirect_uri: Instruerer OIDC-udbyderen, hvor den skal omdirigere efter godkendelse. Dette bør være din Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (f.eks. https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Indstil til kode.
  6. omfang: OIDC scopes fås hos din OIDC-udbyder. Dette bør indstilles til openid e-mail-profil eller openid e-mail-profil offline_access afhængigt af udbyderen.
  7. etiket: Teksten på knapetiketten, der vises på din Firezone-loginskærm.

Smukke URL'er

For hver OIDC-udbyder oprettes en tilsvarende smuk URL til omdirigering til den konfigurerede udbyders login-URL. For eksemplet OIDC-konfiguration ovenfor er URL'erne:

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

Instruktioner til Firezone-opsætning med populære identitetsudbydere

Udbydere vi har dokumentation for:

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

 

Hvis din identitetsudbyder har et generisk OIDC-stik og ikke er angivet ovenfor, skal du gå til deres dokumentation for at få oplysninger om, hvordan du henter de nødvendige konfigurationsindstillinger.

Oprethold regelmæssig re-godkendelse

Indstillingen under indstillinger/sikkerhed kan ændres til at kræve periodisk re-godkendelse. Dette kan bruges til at håndhæve kravet om, at brugere går ind i Firezone på regelmæssig basis for at fortsætte deres VPN-session.

Sessionslængden kan konfigureres til at være mellem en time og halvfems dage. Ved at indstille dette til Aldrig kan du til enhver tid aktivere VPN-sessioner. Dette er standarden.

Gengodkendelse

En bruger skal afslutte deres VPN-session og logge ind på Firezone-portalen for at gengodkende en udløbet VPN-session (URL angivet under installationen).

Du kan gengodkende din session ved at følge de præcise klientinstruktioner, der findes her.

 

Status for VPN-forbindelse

Brugersidens VPN-forbindelsestabelkolonne viser en brugers forbindelsesstatus. Disse er forbindelsesstatusserne:

AKTIVERET – Forbindelsen er aktiveret.

DEAKTIVERET – Forbindelsen er deaktiveret af en administrator- eller OIDC-opdateringsfejl.

UDLØB – Forbindelsen er deaktiveret på grund af godkendelsesudløb, eller en bruger har ikke logget ind for første gang.

Google

Gennem det generelle OIDC-stik muliggør Firezone Single Sign-On (SSO) med Google Workspace og Cloud Identity. Denne vejledning viser dig, hvordan du får de konfigurationsparametre, der er anført nedenfor, som er nødvendige for integrationen:

  1. discovery_document_uri: Den OpenID Connect-udbyderens konfigurations-URI som returnerer et JSON-dokument brugt til at konstruere efterfølgende anmodninger til denne OIDC-udbyder.
  2. client_id: Applikationens klient-id.
  3. client_secret: Applikationens klienthemmelighed.
  4. redirect_uri: Instruerer OIDC-udbyderen, hvor den skal omdirigere efter godkendelse. Dette bør være din Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (f.eks. https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Indstil til kode.
  6. omfang: OIDC scopes fås hos din OIDC-udbyder. Denne skal indstilles til openid e-mail-profil for at give Firezone brugerens e-mail i de returnerede krav.
  7. etiket: Teksten på knapetiketten, der vises på din Firezone-loginskærm.

Få konfigurationsindstillinger

1. OAuth-konfigurationsskærmâ € <

Hvis det er første gang, du opretter et nyt OAuth-klient-id, bliver du bedt om at konfigurere en samtykkeskærm.

*Vælg Intern for brugertype. Dette sikrer, at kun konti, der tilhører brugere i din Google Workspace-organisation, kan oprette enhedskonfigurationer. Vælg IKKE Ekstern, medmindre du vil give nogen med en gyldig Google-konto mulighed for at oprette enhedskonfigurationer.

 

På appinformationsskærmen:

  1. App navn: Firezone
  2. App logo: Firezone logo (Gem link som).
  3. Applikationshjemmeside: URL'en på din Firezone-instans.
  4. Autoriserede domæner: topniveaudomænet for din Firezone-instans.

 

 

2. Opret OAuth-klient-id'erâ € <

Dette afsnit er baseret på Googles egen dokumentation vedr opsætning af OAuth 2.0.

Besøg Google Cloud Console Legitimationsside side, klik på + Opret legitimationsoplysninger og vælg OAuth-klient-id.

På skærmen til oprettelse af OAuth-klient-id:

  1. Indstil applikationstype til webapplikation
  2. Tilføj din Firezone EXTERNAL_URL + /auth/oidc/google/callback/ (f.eks. https://instance-id.yourfirezone.com/auth/oidc/google/callback/) som en indgang til autoriserede omdirigerings-URI'er.

 

Når du har oprettet OAuth-klient-id'et, får du et klient-id og klienthemmelighed. Disse vil blive brugt sammen med omdirigerings-URI'en i næste trin.

Firezone integration

Redigere /etc/firezone/firezone.rb for at inkludere nedenstående muligheder:

 

# Brug af Google som SSO-identitetsudbyder

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

    omfang: "openid e-mail profil",

    etiket: "Google"

  }

}

 

Kør firezone-ctl reconfigure og firezone-ctl genstart for at opdatere applikationen. Du skulle nu se en Log ind med Google-knap ved rod-URL'en til Firezone.

Okta

Firezone bruger det generiske OIDC-stik til at lette Single Sign-On (SSO) med Okta. Denne vejledning viser dig, hvordan du får de konfigurationsparametre, der er anført nedenfor, som er nødvendige for integrationen:

  1. discovery_document_uri: Den OpenID Connect-udbyderens konfigurations-URI som returnerer et JSON-dokument brugt til at konstruere efterfølgende anmodninger til denne OIDC-udbyder.
  2. client_id: Applikationens klient-id.
  3. client_secret: Applikationens klienthemmelighed.
  4. redirect_uri: Instruerer OIDC-udbyderen, hvor den skal omdirigere efter godkendelse. Dette bør være din Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (f.eks. https://instance-id.yourfirezone.com/auth/oidc/okta/callback/).
  5. response_type: Indstil til kode.
  6. omfang: OIDC scopes fås hos din OIDC-udbyder. Dette bør indstilles til openid e-mail-profil offline_access for at give Firezone brugerens e-mail i de returnerede krav.
  7. etiket: Teksten på knapetiketten, der vises på din Firezone-loginskærm.

 

Integrer Okta App

Dette afsnit af vejledningen er baseret på Oktas dokumentation.

Gå til applikationer > applikationer i administrationskonsollen og klik på Opret appintegration. Indstil loginmetode til OICD – OpenID Connect og applikationstype til webapplikation.

Konfigurer disse indstillinger:

  1. App navn: Firezone
  2. App logo: Firezone logo (Gem link som).
  3. Bevillingstype: Marker feltet Opdater token. Dette sikrer, at Firezone synkroniserer med identitetsudbyderen, og VPN-adgang afsluttes, når brugeren er fjernet.
  4. Log-in-omdirigerings-URI'er: Tilføj din Firezone EXTERNAL_URL + /auth/oidc/okta/callback/ (f.eks. https://instance-id.yourfirezone.com/auth/oidc/okta/callback/) som en indgang til autoriserede omdirigerings-URI'er .
  5. Opgaver: Begræns til de grupper, du ønsker at give adgang til din Firezone-instans.

Når indstillingerne er gemt, får du et klient-id, klienthemmelighed og Okta-domæne. Disse 3 værdier vil blive brugt i trin 2 til at konfigurere Firezone.

Integrer Firezone

Redigere /etc/firezone/firezone.rb for at inkludere mulighederne nedenfor. Din discovery_document_url vil være /.velkendt/openid-konfiguration vedhæftet til slutningen af ​​din okta_domæne.

 

# Brug af Okta som SSO-identitetsudbyder

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

  okta: {

    discovery_document_uri: "https:// /.velkendt/openid-konfiguration",

    client_id: " ",

    client_secret: " ",

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

    response_type: "kode",

    scope: "openid email profile offline_access",

    etiket: "Okta"

  }

}

 

Kør firezone-ctl reconfigure og firezone-ctl genstart for at opdatere applikationen. Du skulle nu se en Log ind med Okta-knap ved root-URL'en til Firezone.

 

Begræns adgangen til visse brugere

De brugere, der kan få adgang til Firezone-appen, kan begrænses af Okta. Gå til din Okta Admin Consoles Firezone App Integration's Assignments-side for at opnå dette.

Azure Active Directory

Gennem den generiske OIDC-connector muliggør Firezone Single Sign-On (SSO) med Azure Active Directory. Denne manual viser dig, hvordan du får de konfigurationsparametre, der er anført nedenfor, som er nødvendige for integrationen:

  1. discovery_document_uri: Den OpenID Connect-udbyderens konfigurations-URI som returnerer et JSON-dokument brugt til at konstruere efterfølgende anmodninger til denne OIDC-udbyder.
  2. client_id: Applikationens klient-id.
  3. client_secret: Applikationens klienthemmelighed.
  4. redirect_uri: Instruerer OIDC-udbyderen, hvor den skal omdirigere efter godkendelse. Dette bør være din Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (f.eks. https://instance-id.yourfirezone.com/auth/oidc/azure/callback/).
  5. response_type: Indstil til kode.
  6. omfang: OIDC scopes fås hos din OIDC-udbyder. Dette bør indstilles til openid e-mail-profil offline_access for at give Firezone brugerens e-mail i de returnerede krav.
  7. etiket: Teksten på knapetiketten, der vises på din Firezone-loginskærm.

Hent konfigurationsindstillinger

Denne vejledning er hentet fra Azure Active Directory Docs.

 

Gå til Azure-portalens Azure Active Directory-side. Vælg menupunktet Administrer, vælg Ny registrering, og tilmeld dig derefter ved at angive oplysningerne nedenfor:

  1. Navn: Firezone
  2. Understøttede kontotyper: (kun standardkatalog – enkelt lejer)
  3. Omdirigerings-URI: Dette skal være din firezone EXTERNAL_URL + /auth/oidc/azure/callback/ (f.eks. https://instance-id.yourfirezone.com/auth/oidc/azure/callback/). Sørg for at inkludere den efterfølgende skråstreg. Dette vil være redirect_uri værdien.

 

Efter registrering skal du åbne applikationens detaljerede visning og kopiere Program (klient) ID. Dette vil være client_id-værdien. Åbn derefter menuen endepunkter for at hente OpenID Connect metadatadokument. Dette vil være discovery_document_uri værdien.

 

Opret en ny klienthemmelighed ved at klikke på indstillingen Certifikater og hemmeligheder under menuen Administrer. Kopier klienthemmeligheden; klientens hemmelige værdi vil være denne.

 

Til sidst skal du vælge linket API-tilladelser under menuen Administrer, klik Tilføj en tilladelse, og vælg Microsoft Graph, tilføje e-mail, åbent, offline_adgang , profil til de nødvendige tilladelser.

Firezone integration

Redigere /etc/firezone/firezone.rb for at inkludere nedenstående muligheder:

 

# Brug af Azure Active Directory som SSO-identitetsudbyder

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

  azurblå: {

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

    scope: "openid email profile offline_access",

    etiket: "Azure"

  }

}

 

Kør firezone-ctl reconfigure og firezone-ctl genstart for at opdatere applikationen. Du skulle nu se en Log ind med Azure-knap ved rod-URL'en til Firezone.

Sådan: Begræns adgangen til visse medlemmer

Azure AD gør det muligt for administratorer at begrænse appadgang til en bestemt gruppe brugere i din virksomhed. Mere information om, hvordan du gør dette, kan findes i Microsofts dokumentation.

Forvalte

  • Konfigurer
  • Administrer installation
  • Opgrader
  • Fejlfinding
  • Sikkerhedsovervejelser
  • Kører SQL-forespørgsler

Konfigurer

Chef Omnibus bruges af Firezone til at styre opgaver, herunder frigivelsesemballage, procesovervågning, logstyring og mere.

Ruby-kode udgør den primære konfigurationsfil, som er placeret på /etc/firezone/firezone.rb. Genstart af sudo firezone-ctl reconfigure efter at have foretaget ændringer af denne fil får Chef til at genkende ændringerne og anvende dem på det aktuelle operativsystem.

Se konfigurationsfilreferencen for en komplet liste over konfigurationsvariabler og deres beskrivelser.

Administrer installation

Din Firezone-instans kan administreres via brandzone-ctl kommando, som vist nedenfor. De fleste underkommandoer kræver præfiks med sudo.

 

root@demo:~# firezone-ctl

omnibus-ctl: kommando (underkommando)

Generelle kommandoer:

  rense

    Slet *alle* brandzonedata, og start fra bunden.

  opret-eller-nulstil-admin

    Nulstiller adgangskoden for administratoren med e-mail angivet som standard['firezone']['admin_email'] eller opretter en ny administrator, hvis denne e-mail ikke eksisterer.

  hjælpe

    Udskriv denne hjælpemeddelelse.

  omkonfigurere

    Genkonfigurer applikationen.

  reset-netværk

    Nulstiller nftables, WireGuard-grænsefladen og routingtabel tilbage til Firezone-standarderne.

  show-config

    Vis den konfiguration, der ville blive genereret af reconfigure.

  nedrive-netværk

    Fjerner WireGuard-interface og firezone nftables-tabel.

  force-cert-fornyelse

    Tving certifikatfornyelse nu, selvom det ikke er udløbet.

  stop-cert-fornyelse

    Fjerner cronjob, der fornyer certifikater.

  afinstallere

    Dræb alle processer og afinstaller procesovervågningen (data vil blive bevaret).

  udgave

    Vis den aktuelle version af Firezone

Servicestyringskommandoer:

  yndefuld-dræb

    Forsøg et yndefuldt stop, og SIGKILL derefter hele procesgruppen.

  hup

    Send tjenesterne en HUP.

  int

    Send tjenesterne en INT.

  dræbe

    Send tjenesterne et KILL.

  engang

    Start tjenesterne, hvis de er nede. Genstart dem ikke, hvis de stopper.

  genstart

    Stop tjenesterne, hvis de kører, og start dem derefter igen.

  service-liste

    Liste over alle tjenesterne (aktiverede tjenester vises med en *.)

  starte

    Start tjenester, hvis de er nede, og genstart dem, hvis de stopper.

  status

    Vis status for alle tjenester.

  stoppe

    Stop tjenesterne, og genstart dem ikke.

  hale

    Se servicelogfilerne for alle aktiverede tjenester.

  semester

    Send tjenesterne en TERM.

  usr1

    Send tjenesterne en USR1.

  usr2

    Send tjenesterne en USR2.

Opgrader

Alle VPN-sessioner skal afsluttes før opgradering af Firezone, hvilket også kræver nedlukning af web-UI. I tilfælde af at noget går galt under opgraderingen, råder vi til at afsætte en time til vedligeholdelse.

 

For at forbedre Firezone skal du udføre følgende handlinger:

  1. Opgrader firezone-pakken ved hjælp af en-kommando installationen: sudo -E bash -c "$(curl -fsSL https://github.com/firezone/firezone/raw/master/scripts/install.sh)"
  2. Kør firezone-ctl reconfigure for at hente de nye ændringer.
  3. Kør firezone-ctl genstart for at genstarte tjenester.

Hvis der opstår problemer, bedes du give os besked pr indsendelse af en supportbillet.

Opgrader fra <0.5.0 til >=0.5.0

Der er et par brudændringer og konfigurationsændringer i 0.5.0, som skal løses. Find ud af mere nedenfor.

Bundlede Nginx non_ssl_port (HTTP) anmodninger blev fjernet

Nginx understøtter ikke længere kraft-SSL- og ikke-SSL-portparametrene fra version 0.5.0. Fordi Firezone har brug for SSL for at fungere, anbefaler vi, at du fjerner bundle Nginx-tjenesten ved at indstille standard['firezone']['nginx']['enabled'] = falsk og dirigere din omvendte proxy til Phoenix-appen på port 13000 i stedet (som standard) ).

ACME Protocol Support

0.5.0 introducerer ACME-protokolunderstøttelse til automatisk fornyelse af SSL-certifikater med den medfølgende Nginx-tjeneste. At muliggøre,

  • Sørg for, at standard['firezone']['external_url'] indeholder en gyldig FQDN, der løser til din servers offentlige IP-adresse.
  • Sørg for, at port 80/tcp er tilgængelig
  • Aktiver ACME-protokolunderstøttelse med standard['firezone']['ssl']['acme']['enabled'] = true i din konfigurationsfil.

Overlappende udgående regeldestinationer

Muligheden for at tilføje regler med duplikerede destinationer er væk i Firezone 0.5.0. Vores migreringsscript genkender automatisk disse situationer under en opgradering til 0.5.0 og beholder kun de regler, hvis destination inkluderer den anden regel. Der er ikke noget, du skal gøre, hvis dette er i orden.

Ellers anbefaler vi, før du opgraderer, at du ændrer dit regelsæt for at slippe af med disse situationer.

Forkonfiguration af Okta og Google SSO

Firezone 0.5.0 fjerner understøttelse af den gamle Okta- og Google SSO-konfiguration til fordel for den nye, mere fleksible OIDC-baserede konfiguration. 

Hvis du har nogen konfiguration under standardnøglerne['firezone']['authentication']['okta'] eller standard['firezone']['authentication']['google'], skal du migrere disse til vores OIDC -baseret konfiguration ved hjælp af vejledningen nedenfor.

Eksisterende Google OAuth-konfiguration

Fjern disse linjer, der indeholder de gamle Google OAuth-konfigurationer fra din konfigurationsfil på /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']

 

Konfigurer derefter Google som en OIDC-udbyder ved at følge procedurerne her.

(Giv linkinstruktioner)<<<<<<<<<<<<<<<<

 

Konfigurer eksisterende Google OAuth 

Fjern disse linjer, der indeholder de gamle Okta OAuth-konfigurationer fra din konfigurationsfil, som findes på /etc/firezone/firezone.rb

 

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

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

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

Standard['firezone']['authentication']['okta']['site']

 

Konfigurer derefter Okta som en OIDC-udbyder ved at følge procedurerne her.

Opgrader fra 0.3.x til >= 0.3.16

Afhængigt af din nuværende opsætning og version skal du følge anvisningerne nedenfor:

Hvis du allerede har en OIDC-integration:

For nogle OIDC-udbydere kræver opgradering til >= 0.3.16 at få et opdateringstoken for offline-adgangsomfanget. Ved at gøre dette sikres det, at Firezone opdaterer med identitetsudbyderen, og at VPN-forbindelsen lukkes efter, at en bruger er slettet. Firezones tidligere iterationer manglede denne funktion. I nogle tilfælde kan brugere, der er slettet fra din identitetsudbyder, stadig være forbundet til en VPN.

Det er nødvendigt at inkludere offlineadgang i omfangsparameteren for din OIDC-konfiguration for OIDC-udbydere, der understøtter offlineadgangsomfanget. Firezone-ctl reconfigure skal udføres for at anvende ændringer til Firezone-konfigurationsfilen, som er placeret på /etc/firezone/firezone.rb.

For brugere, der er blevet godkendt af din OIDC-udbyder, vil du se OIDC Connections-overskriften på siden med brugeroplysninger på web-UI, hvis Firezone er i stand til at hente opdateringstokenet.

Hvis dette ikke virker, skal du slette din eksisterende OAuth-app og gentage OIDC-opsætningstrinnene for at oprette en ny app-integration .

Jeg har en eksisterende OAuth-integration

Før 0.3.11 brugte Firezone prækonfigurerede OAuth2-udbydere. 

Følg instrukserne link. at migrere til OIDC.

Jeg har ikke integreret en identitetsudbyder

Ingen handling nødvendig. 

Du kan følge instruktionerne link. for at aktivere SSO gennem en OIDC-udbyder.

Opgrader fra 0.3.1 til >= 0.3.2

I stedet har standard['firezone']['ekstern url'] erstattet konfigurationsindstillingen standard['firezone']['fqdn']. 

Indstil dette til URL'en på din Firezone-onlineportal, der er tilgængelig for offentligheden. Den vil som standard være https:// plus FQDN på din server, hvis den ikke er defineret.

Konfigurationsfilen er placeret på /etc/firezone/firezone.rb. Se konfigurationsfilreferencen for en komplet liste over konfigurationsvariabler og deres beskrivelser.

Opgrader fra 0.2.x til 0.3.x

Firezone opbevarer ikke længere enhedens private nøgler på Firezone-serveren fra version 0.3.0. 

Firezone Web UI vil ikke tillade dig at gendownloade eller se disse konfigurationer, men eventuelle eksisterende enheder bør fortsætte med at fungere, som de er.

Opgrader fra 0.1.x til 0.2.x

Hvis du opgraderer fra Firezone 0.1.x, er der nogle få ændringer i konfigurationsfilen, som skal løses manuelt. 

For at foretage de nødvendige ændringer til din /etc/firezone/firezone.rb fil, kør kommandoerne nedenfor 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'] = sand” >> /etc/firezone/firezone.rb

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

firezone-ctl omkonfigurere

firezone-ctl genstart

Fejlfinding

At tjekke Firezone-logfilerne er et klogt første skridt for eventuelle problemer, der kan opstå.

Kør sudo firezone-ctl tail for at se Firezone-logfilerne.

Fejlfinding af forbindelsesproblemer

De fleste tilslutningsproblemer med Firezone skyldes inkompatible iptables eller nftables regler. Du skal sikre dig, at de regler, du har i kraft, ikke kolliderer med Firezone-reglerne.

Internetforbindelse falder, når tunnelen er aktiv

Sørg for, at FORWARD-kæden tillader pakker fra dine WireGuard-klienter til de steder, du ønsker at lade gennem Firezone, hvis din internetforbindelse forringes, hver gang du aktiverer din WireGuard-tunnel.

 

Dette kan opnås, hvis du bruger ufw ved at sikre, at standardrutingspolitikken tillader:

 

ubuntu@fz:~$ sudo ufw standard tillade omdirigeret

Standard omdirigeret politik ændret til "tillad"

(sørg for at opdatere dine regler i overensstemmelse hermed)

 

A ufw status for en typisk Firezone-server kan se sådan ud:

 

ubuntu@fz:~$ sudo ufw status verbose

Status: aktiv

Logning: på (lav)

Standard: afvis (indgående), tillad (udgående), tillad (omdirigeret)

Nye profiler: spring over

 

Til handling fra

— —— —-

22/tcp ALLOW IN Anywhere

80/tcp ALLOW IN Anywhere

443/tcp ALLOW IN Anywhere

51820/udp ALLOW IN Anywhere

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)

Sikkerhedsovervejelser

Vi anbefaler at begrænse adgangen til webgrænsefladen for ekstremt følsomme og missionskritiske produktionsinstallationer, som forklaret nedenfor.

Tjenester og havne

 

Service

Standard port

Lyt adresse

Beskrivelse

Nginx

80, 443

alle

Offentlig HTTP(S)-port til administration af Firezone og facilitering af godkendelse.

Trådbeskyttelse

51820

alle

Offentlig WireGuard-port, der bruges til VPN-sessioner. (UDP)

postgresql

15432

127.0.0.1

Kun lokal port, der bruges til bundtet Postgresql-server.

Phoenix

13000

127.0.0.1

Kun lokal port, der bruges af upstream elixir app-server.

Produktionsimplementeringer

Vi råder dig til at overveje at begrænse adgangen til Firezones offentligt eksponerede web-UI (som standard porte 443/tcp og 80/tcp) og i stedet bruge WireGuard-tunnelen til at administrere Firezone til produktion og offentligt vendte implementeringer, hvor en enkelt administrator vil være ansvarlig at skabe og distribuere enhedskonfigurationer til slutbrugere.

 

For eksempel, hvis en administrator oprettede en enhedskonfiguration og oprettede en tunnel med den lokale WireGuard-adresse 10.3.2.2, vil følgende ufw-konfiguration gøre det muligt for administratoren at få adgang til Firezone-webbrugergrænsefladen på serverens wg-firezone-grænseflade ved hjælp af standard 10.3.2.1 tunnel adresse:

 

root@demo:~# ufw status verbose

Status: aktiv

Logning: på (lav)

Standard: afvis (indgående), tillad (udgående), tillad (omdirigeret)

Nye profiler: spring over

 

Til handling fra

— —— —-

22/tcp ALLOW IN Anywhere

51820/udp ALLOW IN Anywhere

Hvor som helst TILLAD I 10.3.2.2

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

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

Dette ville kun forlade 22/tcp udsat for SSH-adgang til at administrere serveren (valgfrit), og 51820/udp udsat for at etablere WireGuard-tunneler.

Kør SQL-forespørgsler

Firezone bundter en Postgresql-server og matcher psql værktøj, der kan bruges fra den lokale shell som sådan:

 

/opt/firezone/embedded/bin/psql \

  -U brandzone \

  -d brandzone \

  -h localhost \

  -p 15432 \

  -c "SQL_STATEMENT"

 

Dette kan være nyttigt til fejlfindingsformål.

 

Almindelige opgaver:

 

  • Liste over alle brugere
  • Viser alle enheder
  • Ændring af en brugers rolle
  • Sikkerhedskopiering af databasen



Visning af alle brugere:

 

/opt/firezone/embedded/bin/psql \

  -U brandzone \

  -d brandzone \

  -h localhost \

  -p 15432 \

  -c "VÆLG * FRA brugere;"



Visning af alle enheder:

 

/opt/firezone/embedded/bin/psql \

  -U brandzone \

  -d brandzone \

  -h localhost \

  -p 15432 \

  -c "VÆLG * FRA enheder;"



Skift en brugerrolle:

 

Indstil rollen til 'admin' eller 'unprivileged':

 

/opt/firezone/embedded/bin/psql \

  -U brandzone \

  -d brandzone \

  -h localhost \

  -p 15432 \

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



Sikkerhedskopiering af databasen:

 

Desuden medfølger programmet pg dump, som kan bruges til at tage regelmæssige sikkerhedskopier af databasen. Udfør følgende kode for at dumpe en kopi af databasen i det almindelige SQL-forespørgselsformat (erstat /path/to/backup.sql med det sted, hvor SQL-filen skal oprettes):

 

/opt/firezone/embedded/bin/pg_dump \

  -U brandzone \

  -d brandzone \

  -h localhost \

  -p 15432 > /sti/til/backup.sql

Bruger Guides

  • Tilføj brugere
  • Tilføj enheder
  • Udgangsregler
  • Kundevejledning
  • Split Tunnel VPN
  • Omvendt tunnel 
  • NAT Gateway

Tilføj brugere

Efter at Firezone er blevet implementeret, skal du tilføje brugere for at give dem adgang til dit netværk. Web-brugergrænsefladen bruges til at gøre dette.

 

Web UI


Ved at vælge knappen "Tilføj bruger" under /brugere kan du tilføje en bruger. Du vil blive bedt om at give brugeren en e-mailadresse og en adgangskode. For at give adgang til brugere i din organisation automatisk, kan Firezone også interface og synkronisere med en identitetsudbyder. Flere detaljer er tilgængelige i Godkend. < Tilføj et link til Authenticate

Tilføj enheder

Vi anbefaler at anmode brugerne om at oprette deres egne enhedskonfigurationer, så den private nøgle kun er synlig for dem. Brugere kan generere deres egne enhedskonfigurationer ved at følge anvisningerne på Kundevejledning side.

 

Genererer admin enhedskonfiguration

Alle brugerens enhedskonfigurationer kan oprettes af Firezone-administratorer. På brugerprofilsiden placeret på /users skal du vælge "Tilføj enhed" for at opnå dette.

 

[Indsæt skærmbillede]

 

Du kan sende en e-mail til brugeren med WireGuard-konfigurationsfilen efter oprettelse af enhedsprofilen.

 

Brugere og enheder er forbundet. For yderligere detaljer om, hvordan du tilføjer en bruger, se Tilføj brugere.

Udgangsregler

Ved at bruge kernens netfiltersystem muliggør Firezone udgangsfiltreringsfunktioner til at specificere DROP eller ACCEPT pakker. Al trafik er normalt tilladt.

 

IPv4 og IPv6 CIDR'er og IP-adresser understøttes via henholdsvis Tilladelseslisten og Denylisten. Du kan vælge at omfatte en regel for en bruger, når du tilføjer den, hvilket anvender reglen på alle denne brugers enheder.

Kundevejledning

Installer og konfigurer

Se denne vejledning for at etablere en VPN-forbindelse ved hjælp af den oprindelige WireGuard-klient.

 

1. Installer den oprindelige WireGuard-klient

 

De officielle WireGuard-klienter, der er placeret her, er Firezone-kompatible:

 

MacOS

 

Windows

 

iOS

 

Android

 

Besøg det officielle WireGuard-websted på https://www.wireguard.com/install/ for OS-systemer, der ikke er nævnt ovenfor.

 

2. Download enhedens konfigurationsfil

 

Enten din Firezone-administrator eller du selv kan generere enhedskonfigurationsfilen ved hjælp af Firezone-portalen.

 

Besøg den URL, som din Firezone-administrator har angivet for selv at generere en enhedskonfigurationsfil. Dit firma vil have en unik URL til dette; i dette tilfælde er det https://instance-id.yourfirezone.com.

 

Log ind på Firezone Okta SSO

 

[Indsæt skærmbillede]

 

3. Tilføj klientens konfiguration

 

Importer.conf-filen til WireGuard-klienten ved at åbne den. Ved at dreje på knappen Aktiver kan du starte en VPN-session.

 

[Indsæt skærmbillede]

Session gengodkendelse

Følg instruktionerne nedenfor, hvis din netværksadministrator har beordret tilbagevendende godkendelse for at holde din VPN-forbindelse aktiv. 



Du har brug for: varmt vand, vaskeklude og vatrondeller.

 

Firezone-portalens URL: Spørg din netværksadministrator om forbindelsen.

Din netværksadministrator bør kunne tilbyde dit login og din adgangskode. Firezone-webstedet vil bede dig om at logge ind med den single sign-on-tjeneste, som din arbejdsgiver bruger (såsom Google eller Okta).

 

1. Sluk for VPN-forbindelsen

 

[Indsæt skærmbillede]

 

2. Godkend igen 

Gå til Firezone-portalens URL og log ind med de legitimationsoplysninger, som din netværksadministrator har givet. Hvis du allerede er logget ind, skal du klikke på knappen Genautentificer, før du logger ind igen.

 

[Indsæt skærmbillede]

 

Trin 3: Start en VPN-session

[Indsæt skærmbillede]

Network Manager til Linux

For at importere WireGuard-konfigurationsprofilen ved hjælp af Network Manager CLI på Linux-enheder, følg disse instruktioner (nmcli).

BEMÆRK

Hvis profilen har IPv6-understøttelse aktiveret, kan et forsøg på at importere konfigurationsfilen ved hjælp af Network Manager GUI mislykkes med følgende fejl:

ipv6.method: metoden "auto" er ikke understøttet for WireGuard

1. Installer WireGuard-værktøjerne 

Det er nødvendigt at installere WireGuard-brugerområdets hjælpeprogrammer. Dette vil være en pakke kaldet wireguard eller wireguard-tools til Linux-distributioner.

Til Ubuntu/Debian:

sudo apt installer wireguard

For at bruge Fedora:

sudo dnf installer wireguard-værktøjer

Arch Linux:

sudo pacman -S wireguard-værktøjer

Besøg det officielle WireGuard-websted på https://www.wireguard.com/install/ for distributioner, der ikke er nævnt ovenfor.

2. Download konfiguration 

Enten din Firezone-administrator eller selvgenerering kan generere enhedskonfigurationsfilen ved hjælp af Firezone-portalen.

Besøg den URL, som din Firezone-administrator har angivet for selv at generere en enhedskonfigurationsfil. Dit firma vil have en unik URL til dette; i dette tilfælde er det https://instance-id.yourfirezone.com.

[Indsæt skærmbillede]

3. Importer indstillinger

Importer den medfølgende konfigurationsfil ved hjælp af nmcli:

sudo nmcli forbindelse import type wireguard fil /path/to/configuration.conf

BEMÆRK

Navnet på konfigurationsfilen vil svare til WireGuard-forbindelsen/grænsefladen. Efter import kan forbindelsen om nødvendigt omdøbes:

nmcli-forbindelse ændre [gammelt navn] forbindelse.id [nyt navn]

4. Tilslut eller afbryd

Via kommandolinjen skal du oprette forbindelse til VPN'en som følger:

nmcli forbindelse op [vpn navn]

For at afbryde forbindelsen:

nmcli forbindelse ned [vpn navn]

Den relevante Network Manager-applet kan også bruges til at administrere forbindelsen, hvis du bruger en GUI.

Automatisk forbindelse

Ved at vælge "ja" for muligheden for automatisk forbindelse, kan VPN-forbindelsen konfigureres til automatisk at oprette forbindelse:

 

nmcli-forbindelse ændre [vpn-navn]-forbindelse. <<<<<<<<<<<<<<<<<<<<<<

 

autoconnect ja

 

For at deaktivere den automatiske forbindelse skal du sætte den tilbage til nej:

 

nmcli-forbindelse ændre [vpn-navn]-forbindelse.

 

autoconnect nr

Gør Multi-Factor Authentication tilgængelig

For at aktivere MFA Gå til Firezone-portalens /brugerkonto/registrer mfa-side. Brug din autentificeringsapp til at scanne QR-koden, efter den er blevet genereret, og indtast derefter den sekscifrede kode.

Kontakt din administrator for at nulstille din kontos adgangsoplysninger, hvis du har forlagt din autentificeringsapp.

Split Tunnel VPN

Denne vejledning vil lede dig gennem processen med at konfigurere WireGuards split tunneling-funktion med Firezone, så kun trafik til specifikke IP-områder videresendes gennem VPN-serveren.

 

1. Konfigurer Tilladte IP'er 

De IP-områder, som klienten vil dirigere netværkstrafik for, er angivet i feltet Tilladte IP'er på siden /indstillinger/standard. Kun de nyoprettede WireGuard-tunnelkonfigurationer produceret af Firezone vil blive påvirket af ændringer i dette felt.

 

[Indsæt skærmbillede]



Standardværdien er 0.0.0.0/0, ::/0, som dirigerer al netværkstrafik fra klienten til VPN-serveren.

 

Eksempler på værdier i dette felt omfatter:

 

0.0.0.0/0, ::/0 – al netværkstrafik vil blive dirigeret til VPN-serveren.

192.0.2.3/32 – kun trafik til en enkelt IP-adresse vil blive dirigeret til VPN-serveren.

3.5.140.0/22 ​​– kun trafik til IP'er i intervallet 3.5.140.1 – 3.5.143.254 vil blive dirigeret til VPN-serveren. I dette eksempel blev CIDR-området for ap-nordøst-2 AWS-regionen brugt.



BEMÆRK

Firezone vælger først den udgangsgrænseflade, der er knyttet til den mest præcise rute, når den bestemmer, hvor en pakke skal rutes.

 

2. Gendan WireGuard-konfigurationer

Brugere skal regenerere konfigurationsfilerne og tilføje dem til deres oprindelige WireGuard-klient for at opdatere eksisterende brugerenheder med den nye splittunnelkonfiguration.

 

For instruktioner, se tilføj enhed. <<<<<<<<<<< Tilføj link

Omvendt tunnel

Denne manual vil demonstrere, hvordan man forbinder to enheder, der bruger Firezone som et relæ. Et typisk tilfælde er at give en administrator mulighed for at få adgang til en server, container eller maskine, der er beskyttet af en NAT eller firewall.

 

Node til Node 

Denne illustration viser et ligetil scenarie, hvor enhed A og B konstruerer en tunnel.

 

[Indsæt brandzone arkitektonisk billede]

 

Start med at oprette Enhed A og Enhed B ved at navigere til /users/[user_id]/new_device. I indstillingerne for hver enhed skal du sikre dig, at følgende parametre er indstillet til de værdier, der er angivet nedenfor. Du kan indstille enhedsindstillinger, når du opretter enhedskonfigurationen (se Tilføj enheder). Hvis du har brug for at opdatere indstillinger på en eksisterende enhed, kan du gøre det ved at generere en ny enhedskonfiguration.

 

Bemærk, at alle enheder har en /indstillinger/defaults-side, hvor PersistentKeepalive kan konfigureres.

 

Enhed A

 

TilladteIPs = 10.3.2.2/32

  Dette er IP'en eller rækken af ​​IP'er for Enhed B

PersistentKeepalive = 25

  Hvis enheden er bag en NAT, sikrer dette, at enheden er i stand til at holde tunnelen i live og fortsætte med at modtage pakker fra WireGuard-grænsefladen. Normalt er en værdi på 25 tilstrækkelig, men du skal muligvis reducere denne værdi afhængigt af dit miljø.



B enhed

 

TilladteIPs = 10.3.2.3/32

Dette er IP'en eller rækken af ​​IP'er for Enhed A

PersistentKeepalive = 25

Admin-sag – en til mange noder

Dette eksempel viser en situation, hvor enhed A kan kommunikere med enhed B til D i begge retninger. Denne opsætning kan repræsentere en ingeniør eller administrator, der har adgang til adskillige ressourcer (servere, containere eller maskiner) på tværs af forskellige netværk.

 

[Arkitektonisk diagram]<<<<<<<<<<<<<<<<<<<<<<<<

 

Sørg for, at følgende indstillinger er foretaget i hver enheds indstillinger til de tilsvarende værdier. Når du opretter enhedskonfigurationen, kan du angive enhedsindstillinger (se Tilføj enheder). En ny enhedskonfiguration kan oprettes, hvis indstillingerne på en eksisterende enhed skal opdateres.

 

Enhed A (Administrator Node)

 

Tilladte IP'er = 10.3.2.3/32, 10.3.2.4/32, 10.3.2.5/32 

    Dette er IP'en for enhed B til D. IP'erne for enhed B til D skal være inkluderet i ethvert IP-område, du vælger at indstille.

PersistentKeepalive = 25 

    Dette garanterer, at enheden kan vedligeholde tunnelen og fortsætte med at modtage pakker fra WireGuard-grænsefladen, selvom den er beskyttet af en NAT. I de fleste tilfælde er en værdi på 25 tilstrækkelig, men afhængigt af dine omgivelser skal du muligvis sænke dette tal.

 

Enhed B

 

  • Tilladte IP'er = 10.3.2.2/32: Dette er IP'en eller rækken af ​​IP'er for Enhed A
  • PersistentKeepalive = 25

Enhed C

 

  • Tilladte IP'er = 10.3.2.2/32: Dette er IP'en eller rækken af ​​IP'er for Enhed A
  • PersistentKeepalive = 25

Enhed D

 

  • Tilladte IP'er = 10.3.2.2/32: Dette er IP'en eller rækken af ​​IP'er for Enhed A
  • PersistentKeepalive = 25

NAT Gateway

For at tilbyde en enkelt, statisk udgående IP, som al dit teams trafik kan flyde ud af, kan Firezone bruges som en NAT-gateway. Disse situationer involverer dens hyppige brug:

 

Rådgivningsengagementer: Anmod om, at din kunde hvidlister en enkelt statisk IP-adresse i stedet for hver medarbejders unikke enheds-IP.

Brug af en proxy eller maskering af din kilde-IP til sikkerheds- eller privatlivsformål.

 

Et simpelt eksempel på begrænsning af adgangen til en selv-hostet webapplikation til en enkelt hvidlistet statisk IP, der kører Firezone, vil blive demonstreret i dette indlæg. I denne illustration er Firezone og den beskyttede ressource i forskellige VPC-områder.

 

Denne løsning bruges ofte i stedet for at administrere en IP-hvidliste for adskillige slutbrugere, hvilket kan være tidskrævende, efterhånden som adgangslisten udvides.

AWS eksempel

Vores mål er at opsætte en Firezone-server på en EC2-instans for at omdirigere VPN-trafik til den begrænsede ressource. I dette tilfælde fungerer Firezone som en netværksproxy eller NAT-gateway for at give hver tilsluttet enhed en unik offentlig udgående IP.

 

1. Installer Firezone-serveren

I dette tilfælde har en EC2-instans ved navn tc2.micro en Firezone-instans installeret på sig. Gå til installationsvejledningen for at få oplysninger om implementering af Firezone. I forhold til AWS, vær sikker på:

 

Firezone EC2-instansens sikkerhedsgruppe tillader udgående trafik til den beskyttede ressources IP-adresse.

Firezone-instansen kommer med en elastisk IP. Trafik, der videresendes gennem Firezone-forekomsten til eksterne destinationer, vil have dette som sin kilde-IP-adresse. Den pågældende IP-adresse er 52.202.88.54.

 

[Indsæt skærmbillede]<<<<<<<<<<<<<<<<<<<<<<<<

 

2. Begræns adgangen til den ressource, der bliver beskyttet

En selv-hostet webapplikation fungerer som den beskyttede ressource i dette tilfælde. Webappen kan kun tilgås af anmodninger, der kommer fra IP-adressen 52.202.88.54. Afhængigt af ressourcen kan det være nødvendigt at tillade indgående trafik på forskellige havne og trafiktyper. Dette er ikke dækket i denne manual.

 

[Indsæt skærmbillede]<<<<<<<<<<<<<<<<<<<<<<<<

 

Fortæl den tredjepart, der er ansvarlig for den beskyttede ressource, at trafik fra den statiske IP defineret i trin 1 skal tillades (i dette tilfælde 52.202.88.54).

 

3. Brug VPN-serveren til at dirigere trafik til den beskyttede ressource

 

Som standard vil al brugertrafik gå gennem VPN-serveren og komme fra den statiske IP, der blev konfigureret i trin 1 (i dette tilfælde 52.202.88.54). Men hvis split tunneling er blevet aktiveret, kan indstillinger være nødvendige for at sikre, at den beskyttede ressources destinations-IP er opført blandt de tilladte IP'er.

Tilføj din overskriftstekst her

Nedenfor vises en komplet liste over de tilgængelige konfigurationsmuligheder i /etc/firezone/firezone.rb.



option

beskrivelse

standard værdi

default['firezone']['external_url']

URL, der bruges til at få adgang til webportalen for denne Firezone-instans.

“https://#{node['fqdn'] || node['værtsnavn']}"

default['firezone']['config_directory']

Bibliotek på øverste niveau til Firezone-konfiguration.

/etc/firezone'

default['firezone']['install_directory']

Bibliotek på øverste niveau at installere Firezone på.

/opt/firezone'

default['firezone']['app_directory']

Bibliotek på øverste niveau til at installere Firezone-webapplikationen.

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

default['firezone']['log_directory']

Bibliotek på øverste niveau til Firezone-logfiler.

/var/log/firezone'

default['firezone']['var_directory']

Bibliotek på øverste niveau til Firezone runtime-filer.

/var/opt/firezone'

default['firezone']['bruger']

Navn på uprivilegeret Linux-bruger, de fleste tjenester og filer vil tilhøre.

brandzone'

default['firezone']['gruppe']

Navn på Linux-gruppe, de fleste tjenester og filer vil tilhøre.

brandzone'

default['firezone']['admin_email']

E-mailadresse for den første Firezone-bruger.

"firezone@localhost"

default['firezone']['max_devices_per_user']

Maksimalt antal enheder en bruger kan have.

10

default['firezone']['allow_unprivileged_device_management']

Tillader ikke-administratorbrugere at oprette og slette enheder.

TRUE

default['firezone']['allow_unprivileged_device_configuration']

Tillader ikke-administratorbrugere at ændre enhedskonfigurationer. Når deaktiveret, forhindrer uprivilegerede brugere i at ændre alle enhedsfelter undtagen navn og beskrivelse.

TRUE

default['firezone']['egress_interface']

Grænsefladenavn, hvor tunneltrafik vil forlade. Hvis nul, vil standardrutegrænsefladen blive brugt.

nul

default['firezone']['fips_enabled']

Aktiver eller deaktiver OpenSSL FIPs-tilstand.

nul

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

Aktiver eller deaktiver logning på tværs af Firezone. Indstil til falsk for at deaktivere logning helt.

TRUE

default['virksomhed']['navn']

Navn brugt af kokkens 'virksomheds' kogebog.

brandzone'

default['firezone']['install_path']

Installationssti brugt af Chef 'enterprise' kogebog. Bør indstilles til det samme som install_directory ovenfor.

node['firezone']['install_directory']

default['firezone']['sysvinit_id']

En identifikator brugt i /etc/inittab. Skal være en unik sekvens på 1-4 tegn.

SUP'

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

Aktiver eller deaktiver lokal e-mail/adgangskodegodkendelse.

TRUE

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

Opret automatisk brugere, der logger ind fra OIDC for første gang. Deaktiver for kun at tillade eksisterende brugere at logge ind via OIDC.

TRUE

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

Deaktiver en brugers VPN, hvis der opdages en fejl ved at forsøge at opdatere deres OIDC-token.

FALSK

default['firezone']['authentication']['oidc']

OpenID Connect config, i formatet {“provider” => [config…]} – Se OpenIDConnect dokumentation for konfigurationseksempler.

{}

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

Aktiver eller deaktiver den medfølgende nginx-server.

TRUE

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

HTTPS lytteport.

443

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

Katalog til lagring af Firezone-relateret nginx virtuel værtskonfiguration.

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

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

Mappe til at gemme Firezone-relaterede nginx-logfiler.

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

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

Filstørrelse, hvormed Nginx-logfiler skal roteres.

104857600

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

Antal Firezone nginx-logfiler, der skal opbevares, før de kasseres.

10

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

Om Firezone nginx x-forwarded-for header skal logges.

TRUE

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

Aktivér eller deaktiver HSTS.

TRUE

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

Aktiver eller deaktiver includeSubDomains for HSTS-headeren.

TRUE

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

Maks. alder for HSTS-headeren.

31536000

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

Om URL'er skal omdirigeres til det ovennævnte kanoniske FQDN

FALSK

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

Aktiver eller deaktiver Firezone nginx-cachen.

FALSK

default['firezone']['nginx']['cache']['mappe']

Katalog til Firezone nginx cache.

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

default['firezone']['nginx']['bruger']

Firezone nginx bruger.

node['firezone']['bruger']

default['firezone']['nginx']['gruppe']

Firezone nginx gruppe.

node['brandzone']['gruppe']

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

Nginx-konfigurationsmappe på øverste niveau.

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

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

Nginx-logmappe på øverste niveau.

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

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

Placering for nginx pid-fil.

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

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

Deaktiver nginx-dæmontilstand, så vi kan overvåge den i stedet.

TRUE

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

Slå nginx gzip-komprimering til eller fra.

på'

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

Slå nginx gzip-komprimering til eller fra for statiske filer.

af'

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

HTTP-version til brug til visning af statiske filer.

1.0 '

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

nginx gzip komprimeringsniveau.

2 '

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

Aktiverer eller deaktiverer gzipping af svar for proxy-anmodninger afhængigt af anmodningen og svaret.

nogen'

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

Aktiverer eller deaktiverer indsættelse af "Vary: Accept-Encoding" svaroverskriften.

af'

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

Indstiller antallet og størrelsen af ​​buffere, der bruges til at komprimere et svar. Hvis nul, bruges nginx standard.

nul

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

MIME-typer for at aktivere gzip-komprimering for.

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

Minimum fillængde for at aktivere fil-gzip-komprimering for.

1000

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

User-agent matcher at deaktivere gzip-komprimering for.

MSIE [1-6]\.'

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

Aktiverer cache for forbindelse til upstream-servere.

på'

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

Timeout i sekunder for keepalive-forbindelse til upstream-servere.

65

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

Antal nginx-arbejderprocesser.

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

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

Maks. antal samtidige forbindelser, der kan åbnes af en arbejdsproces.

1024

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

Ændrer grænsen for det maksimale antal åbne filer for arbejdsprocesser. Bruger nginx standard, hvis nul.

nul

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

Om arbejdere skal acceptere én forbindelse ad gangen eller flere.

TRUE

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

Angiver den forbindelsesbehandlingsmetode, der skal bruges i nginx-hændelseskontekst.

epoll'

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

Aktiverer eller deaktiverer udsendende nginx-version på fejlsider og i feltet "Server" svaroverskrift.

nul

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

Indstiller bucket-størrelsen for servernavne-hash-tabellerne.

64

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

Aktiverer eller deaktiverer brugen af ​​nginx's sendfile().

på'

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

Indstiller indstillinger for nginx-adgangslog.

nul

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

Indstiller nginx fejllogindstillinger.

nul

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

Deaktiverer nginx-adgangslog.

FALSK

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

nginx typer hash max størrelse.

2048

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

nginx typer hash bucket størrelse.

64

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

nginx proxy læse timeout. Indstil til nul for at bruge nginx standard.

nul

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

nginx-klientens kropsbufferstørrelse. Indstil til nul for at bruge nginx standard.

nul

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

nginx klient max kropsstørrelse.

250m'

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

Angiv yderligere nginx-moduler.

[]

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

Aktiver eller deaktiver nginx-hastighedsbegrænsning.

TRUE

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

Nginx hastighedsbegrænsende zonenavn.

brandzone'

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

Nginx hastighedsbegrænsende backoff.

10m'

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

Nginx hastighedsgrænse.

10r/s'

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

Tillad nginx at lytte efter HTTP-anmodninger til IPv6 ud over IPv4.

TRUE

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

Aktiver eller deaktiver bundtet Postgresql. Indstil til false og udfyld databaseindstillingerne nedenfor for at bruge din egen Postgresql-instans.

TRUE

default['firezone']['postgresql']['brugernavn']

Brugernavn til Postgresql.

node['firezone']['bruger']

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

Postgresql data bibliotek.

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

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

Postgresql log bibliotek.

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

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

Postgresql logfil maksimal størrelse, før den roteres.

104857600

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

Antal Postgresql-logfiler at beholde.

10

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

Postgresql kontrolpunkt færdiggørelsesmål.

0.5

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

Antal Postgresql-kontrolpunktsegmenter.

3

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

Postgresql checkpoint timeout.

5 min'

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

Postgresql checkpoint advarselstid i sekunder.

30'erne

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

Postgresql effektiv cachestørrelse.

128MB'

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

Postgresql lytteadresse.

127.0.0.1 '

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

Postgresql max forbindelser.

350

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

Postgresql CIDR'er for at tillade md5 auth.

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

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

Postgresql lytteport.

15432

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

Postgresql delte buffere størrelse.

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

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

Postgresql shmmax i bytes.

17179869184

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

Postgresql shmall i bytes.

4194304

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

Postgresql arbejdshukommelse størrelse.

8MB'

default['firezone']['database']['bruger']

Angiver det brugernavn, Firezone vil bruge til at oprette forbindelse til databasen.

node['firezone']['postgresql']['brugernavn']

default['firezone']['database']['adgangskode']

Hvis du bruger en ekstern DB, angiver den adgangskode, Firezone vil bruge til at oprette forbindelse til DB'en.

ændre mig'

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

Database, som Firezone vil bruge. Bliver oprettet, hvis den ikke eksisterer.

brandzone'

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

Databasevært, som Firezone vil oprette forbindelse til.

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

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

Databaseport, som Firezone vil oprette forbindelse til.

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

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

Databasepoolstørrelse, Firezone vil bruge.

[10, Etc.nprocessorer].max

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

Om der skal oprettes forbindelse til databasen over SSL.

FALSK

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

Hash af muligheder for at sende til indstillingen :ssl_opts, når der oprettes forbindelse over SSL. Se Ecto.Adapters.Postgres dokumentation.

{}

default['firezone']['database']['parametre']

Hash af parametre, der skal sendes til indstillingen :parameters, når der oprettes forbindelse til databasen. Se Ecto.Adapters.Postgres dokumentation.

{}

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

Databaseudvidelser for at aktivere.

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

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

Aktiver eller deaktiver Firezone-webapplikationen.

TRUE

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

Firezone webapplikation lytteadresse. Dette vil være den opstrøms lytteadresse, som nginx proxyer.

127.0.0.1 '

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

Firezone webapplikation lytteport. Dette vil være den opstrøms port, som nginx proxyer.

13000

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

Firezone webapplikationslogkatalog.

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

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

Firezone webapplikationslogfilstørrelse.

104857600

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

Antal Firezone-webapplikationslogfiler, der skal opbevares.

10

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

Aktiver eller deaktiver nedbringelse af Firezone-webapplikationen, når der registreres et nedbrud.

TRUE

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

Liste over betroede omvendte proxyer formateret som en række IP'er og/eller CIDR'er.

[]

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

Liste over private netværks HTTP-klienter, formateret en række IP'er og/eller CIDR'er.

[]

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

Aktiver eller deaktiver bundtet WireGuard-administration.

TRUE

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

Logbibliotek til bundtet WireGuard-administration.

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

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

WireGuard logfil maks. størrelse.

104857600

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

Antal WireGuard-logfiler, der skal opbevares.

10

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

WireGuard-grænsefladenavn. Ændring af denne parameter kan forårsage et midlertidigt tab af VPN-forbindelse.

wg-firezone'

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

WireGuard lytteport.

51820

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

WireGuard interface MTU til denne server og til enhedskonfigurationer.

1280

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

WireGuard-endepunkt til brug til generering af enhedskonfigurationer. Hvis nul, er serverens offentlige IP-adresse som standard.

nul

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

WireGuard DNS til brug for genererede enhedskonfigurationer.

1.1.1.1, 1.0.0.1′

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

WireGuard Tilladte IP'er at bruge til genererede enhedskonfigurationer.

0.0.0.0/0, ::/0′

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

Standard PersistentKeepalive-indstilling for genererede enhedskonfigurationer. En værdi på 0 deaktiverer.

0

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

Aktiver eller deaktiver IPv4 for WireGuard-netværk.

TRUE

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

Aktiver eller deaktiver maskerade for pakker, der forlader IPv4-tunnelen.

TRUE

default['firezone']['wireguard']['ipv4']['netværk']

WireGuard netværk IPv4 adresse pool.

10.3.2.0/24 ′

default['firezone']['wireguard']['ipv4']['adresse']

WireGuard interface IPv4-adresse. Skal være inden for WireGuard-adressepuljen.

10.3.2.1 '

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

Aktiver eller deaktiver IPv6 for WireGuard-netværk.

TRUE

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

Aktiver eller deaktiver maskerade for pakker, der forlader IPv6-tunnelen.

TRUE

default['firezone']['wireguard']['ipv6']['netværk']

WireGuard netværk IPv6 adresse pool.

fd00::3:2:0/120′

default['firezone']['wireguard']['ipv6']['adresse']

WireGuard interface IPv6-adresse. Skal være inden for IPv6-adressepuljen.

fd00::3:2:1′

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

Runit svlogd bin placering.

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

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

SSL-mappe til lagring af genererede certifikater.

/var/opt/firezone/ssl'

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

E-mailadresse til brug for selvsignerede certifikater og meddelelser om fornyelse af ACME-protokollen.

dig@eksempel.dk'

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

Aktiver ACME for automatisk SSL-certificering. Deaktiver dette for at forhindre Nginx i at lytte på port 80. Se link. for flere instruktioner.

FALSK

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

ACME-server til brug for udstedelse/fornyelse af certifikater. Kan være enhver gyldig acme.sh server

letsencrypt

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

Angiv nøgletypen og længden for SSL-certifikater. Se link.

ec-256

default['firezone']['ssl']['certifikat']

Sti til certifikatfilen for din FQDN. Tilsidesætter ACME-indstillingen ovenfor, hvis det er angivet. Hvis både ACME og dette er nul, vil et selvsigneret certifikat blive genereret.

nul

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

Sti til certifikatfilen.

nul

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

nginx ssl dh_param.

nul

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

Landenavn for selvsigneret certifikat.

OS'

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

Angiv navn for selvunderskrevet certifikat.

CA '

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

Lokalitetsnavn for selvsigneret certifikat.

San Francisco'

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

Firmanavn selvsigneret certifikat.

Mit firma'

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

Organisationsenhedsnavn for selvsigneret certifikat.

Operationer'

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

SSL-cifre til nginx at bruge.

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-cifre til FIP-tilstand.

FIPS@STRENGTH:!aNULL:!eNULL'

default['firezone']['ssl']['protokoller']

TLS-protokoller at bruge.

TLSv1 TLSv1.1 TLSv1.2′

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

SSL session cache.

delt:SSL:4m'

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

SSL session timeout.

5m'

default['firezone']['robots_allow']

nginx-robotter tillader.

/'

default['firezone']['robots_disallow']

nginx-robotter tillader ikke.

nul

default['firezone']['outbound_email']['fra']

Udgående e-mail fra adresse.

nul

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

Udgående e-mail-tjenesteudbyder.

nul

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

Udgående e-mail-udbyderkonfigurationer.

se omnibus/kogebøger/firezone/attributes/default.rb

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

Aktiver eller deaktiver anonymiseret produkttelemetri.

TRUE

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

Aktiver eller deaktiver Firezone-forbindelsestjektjenesten.

TRUE

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

Interval mellem kontrol af forbindelsen i sekunder.

3_600



________________________________________________________________

 

Fil- og katalogplaceringer

 

Her finder du en liste over filer og mapper relateret til en typisk Firezone-installation. Disse kan ændre sig afhængigt af ændringer i din konfigurationsfil.



sti

beskrivelse

/var/opt/firezone

Bibliotek på øverste niveau, der indeholder data og genereret konfiguration til Firezone-bundte tjenester.

/opt/brandzone

Bibliotek på øverste niveau, der indeholder indbyggede biblioteker, binære filer og runtime-filer, der kræves af Firezone.

/usr/bin/firezone-ctl

firezone-ctl-værktøj til at administrere din Firezone-installation.

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

systemd enhedsfil til at starte Firezone runsvdir supervisor-processen.

/etc/firezone

Firezone konfigurationsfiler.



__________________________________________________________

 

Firewall skabeloner

 

Denne side var tom i dokumenter

 

_____________________________________________________________

 

Nftables firewall skabelon

 

Følgende nftables firewall-skabelon kan bruges til at sikre serveren, der kører Firezone. Skabelonen gør nogle antagelser; Det kan være nødvendigt at justere reglerne, så de passer til din brugssituation:

  • WireGuard-grænsefladen hedder wg-firezone. Hvis dette ikke er korrekt, skal du ændre DEV_WIREGUARD-variablen til at matche standardkonfigurationsmuligheden['firezone']['wireguard']['interface_name'].
  • Porten WireGuard lytter på er 51820. Hvis du ikke bruger standardporten, skal du ændre WIREGUARD_PORT-variablen.
  • Kun følgende indgående trafik vil blive tilladt til serveren:
    • SSH (TCP-port 22)
    • HTTP (TCP-port 80)
    • HTTPS (TCP-port 443)
    • WireGuard (UDP-port WIREGUARD_PORT)
    • UDP traceroute (UDP-port 33434-33524, hastighed begrænset til 500/sekund)
    • ICMP og ICMPv6 (ping/ping-svarhastighed begrænset til 2000/sekund)
  • Kun følgende udgående trafik vil blive tilladt fra serveren:
    • DNS (UDP og TCP port 53)
    • HTTP (TCP-port 80)
    • NTP (UDP-port 123)
    • HTTPS (TCP-port 443)
    • SMTP-indsendelse (TCP-port 587)
    • UDP traceroute (UDP-port 33434-33524, hastighed begrænset til 500/sekund)
  • Umatchede trafik vil blive logget. Reglerne, der bruges til logning, er adskilt fra reglerne for at droppe trafik og er hastighedsbegrænsede. Fjernelse af de relevante logningsregler vil ikke påvirke trafikken.

Firezone Administrerede reglerâ € <

Firezone konfigurerer sine egne nftables-regler for at tillade/afvise trafik til destinationer konfigureret i webgrænsefladen og til at håndtere udgående NAT for klienttrafik.

Anvendelse af nedenstående firewall-skabelon på en allerede kørende server (ikke ved opstart) vil resultere i, at Firezone-reglerne bliver ryddet. Dette kan have sikkerhedsmæssige konsekvenser.

For at omgå dette genstart phoenix-tjenesten:

firezone-ctl genstart phoenix

Base firewall skabelonâ € <

#!/usr/sbin/nft -f

 

## Ryd/tøm alle eksisterende regler

skylleregelsæt

 

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

## Internet/WAN-grænsefladenavn

definer DEV_WAN = eth0

 

## WireGuard-grænsefladenavn

definer DEV_WIREGUARD = wg-brandzone

 

## WireGuard lytteport

definer WIREGUARD_PORT = 51820

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

 

# Hovedinet-familiefiltreringstabel

tabel inet filter {

 

 # Regler for videresendt trafik

 # Denne kæde behandles før Firezone forward-kæden

 kæde frem {

   type filter krog frem prioritetsfilter – 5; politik acceptere

 }

 

 # Regler for inputtrafik

 kæde input {

   type filter krog input prioritet filter; politik fald

 

   ## Tillad indgående trafik til loopback-grænseflade

   hvis lo \

     acceptere \

     KOMMENTAR "Tillad al trafik fra loopback-grænsefladen"

 

   ## Tillad etablerede og relaterede forbindelser

   ct tilstand etableret, relateret \

     acceptere \

     KOMMENTAR "Tillad etablerede/relaterede forbindelser"

 

   ## Tillad indgående WireGuard-trafik

   iif $DEV_WAN udp dport $WIREGUARD_PORT \

     tæller \

     acceptere \

     KOMMENTAR "Tillad indgående WireGuard-trafik"

 

   ## Log og slip nye TCP ikke-SYN-pakker

   tcp flag != syn ct state new \

     grænse sats 100/minut burst 150 pakker \

     log præfiks “IN – Ny !SYN: “ \

     KOMMENTAR "Hastighedsgrænselogning for nye forbindelser, der ikke har SYN TCP-flaget sat"

   tcp flag != syn ct state new \

     tæller \

     drop \

     KOMMENTAR "Slet nye forbindelser, der ikke har SYN TCP-flaget indstillet"

 

   ## Log og slip TCP-pakker med et ugyldigt fin/syn-flag

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

     grænse sats 100/minut burst 150 pakker \

     log præfiks “IN – TCP FIN|SIN: “ \

     KOMMENTAR "Logning af hastighedsgrænse for TCP-pakker med ugyldigt fin/syn-flag indstillet"

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

     tæller \

     drop \

     KOMMENTAR "Drop TCP-pakker med ugyldigt fin/syn-flagsæt"

 

   ## Log og slip TCP-pakker med et ugyldigt syn/rst-flag

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

     grænse sats 100/minut burst 150 pakker \

     log præfiks “IN – TCP SYN|RST: “ \

     KOMMENTAR "Logning af hastighedsgrænse for TCP-pakker med ugyldigt syn/første flag indstillet"

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

     tæller \

     drop \

     KOMMENTAR "Drop TCP-pakker med et ugyldigt syn/rst-flagsæt"

 

   ## Log og slip ugyldige TCP-flag

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

     grænse sats 100/minut burst 150 pakker \

     log præfiks "IN - FIN:" \

     KOMMENTAR "Logning af hastighedsgrænse for ugyldige TCP-flag (fin|syn|rst|psh|ack|urg) < (fin)"

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

     tæller \

     drop \

     KOMMENTAR "Drop TCP-pakker med flag (fin|syn|rst|psh|ack|urg) < (fin)"

 

   ## Log og slip ugyldige TCP-flag

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

     grænse sats 100/minut burst 150 pakker \

     log præfiks “IN – FIN|PSH|URG:” \

     KOMMENTAR "Logning af hastighedsgrænse for ugyldige TCP-flag (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)"

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

     tæller \

     drop \

     KOMMENTAR "Drop TCP-pakker med flag (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)"

 

   ## Drop trafik med ugyldig forbindelsestilstand

   ct tilstand ugyldig \

     grænse sats 100/minut burst 150 pakker \

     log flager alle præfikser "IN - Ugyldig: " \

     KOMMENTAR "Logning af hastighedsgrænse for trafik med ugyldig forbindelsestilstand"

   ct tilstand ugyldig \

     tæller \

     drop \

     KOMMENTAR "Slet trafik med ugyldig forbindelsestilstand"

 

   ## Tillad IPv4 ping/ping-svar, men hastighedsbegrænsning til 2000 PPS

   ip protokol icmp icmp type { echo-reply, echo-request } \

     grænse sats 2000/anden \

     tæller \

     acceptere \

     KOMMENTAR "Tillad indgående IPv4-ekko (ping) begrænset til 2000 PPS"

 

   ## Tillad alle andre indgående IPv4 ICMP

   ip protokol icmp \

     tæller \

     acceptere \

     KOMMENTAR "Tillad alle andre IPv4 ICMP"

 

   ## Tillad IPv6 ping/ping-svar, men hastighedsbegrænsning til 2000 PPS

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

     grænse sats 2000/anden \

     tæller \

     acceptere \

     KOMMENTAR "Tillad indgående IPv6-ekko (ping) begrænset til 2000 PPS"

 

   ## Tillad alle andre indgående IPv6 ICMP

   meta l4proto {icmpv6} \

     tæller \

     acceptere \

     KOMMENTAR "Tillad alle andre IPv6 ICMP"

 

   ## Tillad indgående traceroute UDP-porte, men begræns til 500 PPS

   udp dport 33434-33524 \

     grænse sats 500/anden \

     tæller \

     acceptere \

     KOMMENTAR "Tillad indgående UDP traceroute begrænset til 500 PPS"

 

   ## Tillad indgående SSH

   tcp dport ssh ct tilstand ny \

     tæller \

     acceptere \

     KOMMENTAR "Tillad indgående SSH-forbindelser"

 

   ## Tillad indgående HTTP og HTTPS

   tcp dport { http, https } ct state new \

     tæller \

     acceptere \

     KOMMENTAR "Tillad indgående HTTP- og HTTPS-forbindelser"

 

   ## Log enhver uovertruffen trafik, men hastighedsbegrænsning af logning til et maksimum på 60 beskeder/minut

   ## Standardpolitikken vil blive anvendt på uovertruffen trafik

   grænse sats 60/minut burst 100 pakker \

     log præfiks "IN - Drop: " \

     KOMMENTAR "Log enhver uovertruffen trafik"

 

   ## Tæl den uovertrufne trafik

   tæller \

     KOMMENTAR "Tæl enhver uovertruffen trafik"

 }

 

 # Regler for outputtrafik

 kædeudgang {

   type filter krog output prioritetsfilter; politik fald

 

   ## Tillad udgående trafik til loopback-grænseflade

   hiv lo \

     acceptere \

     KOMMENTAR "Tillad al trafik ud til loopback-grænseflade"

 

   ## Tillad etablerede og relaterede forbindelser

   ct tilstand etableret, relateret \

     tæller \

     acceptere \

     KOMMENTAR "Tillad etablerede/relaterede forbindelser"

 

   ## Tillad udgående WireGuard-trafik, før forbindelser med dårlig tilstand afbrydes

   oif $DEV_WAN udp sport $WIREGUARD_PORT \

     tæller \

     acceptere \

     KOMMENTAR "Tillad WireGuard udgående trafik"

 

   ## Drop trafik med ugyldig forbindelsestilstand

   ct tilstand ugyldig \

     grænse sats 100/minut burst 150 pakker \

     log flager alle præfikser "UD - Ugyldig: " \

     KOMMENTAR "Logning af hastighedsgrænse for trafik med ugyldig forbindelsestilstand"

   ct tilstand ugyldig \

     tæller \

     drop \

     KOMMENTAR "Slet trafik med ugyldig forbindelsestilstand"

 

   ## Tillad alle andre udgående IPv4 ICMP

   ip protokol icmp \

     tæller \

     acceptere \

     KOMMENTAR "Tillad alle IPv4 ICMP-typer"

 

   ## Tillad alle andre udgående IPv6 ICMP

   meta l4proto {icmpv6} \

     tæller \

     acceptere \

     KOMMENTAR "Tillad alle IPv6 ICMP-typer"

 

   ## Tillad udgående traceroute UDP-porte, men begræns til 500 PPS

   udp dport 33434-33524 \

     grænse sats 500/anden \

     tæller \

     acceptere \

     KOMMENTAR "Tillad udgående UDP traceroute begrænset til 500 PPS"

 

   ## Tillad udgående HTTP- og HTTPS-forbindelser

   tcp dport { http, https } ct state new \

     tæller \

     acceptere \

     KOMMENTAR "Tillad udgående HTTP- og HTTPS-forbindelser"

 

   ## Tillad udgående SMTP-indsendelse

   tcp dport indsendelse ct state new \

     tæller \

     acceptere \

     KOMMENTAR "Tillad udgående SMTP-indsendelse"

 

   ## Tillad udgående DNS-anmodninger

   udp dport 53 \

     tæller \

     acceptere \

     KOMMENTAR "Tillad udgående UDP DNS-anmodninger"

   tcp dport 53 \

     tæller \

     acceptere \

     KOMMENTAR "Tillad udgående TCP DNS-anmodninger"

 

   ## Tillad udgående NTP-anmodninger

   udp dport 123 \

     tæller \

     acceptere \

     KOMMENTAR "Tillad udgående NTP-anmodninger"

 

   ## Log enhver uovertruffen trafik, men hastighedsbegrænsning af logning til et maksimum på 60 beskeder/minut

   ## Standardpolitikken vil blive anvendt på uovertruffen trafik

   grænse sats 60/minut burst 100 pakker \

     log præfiks "UD - Drop: " \

     KOMMENTAR "Log enhver uovertruffen trafik"

 

   ## Tæl den uovertrufne trafik

   tæller \

     KOMMENTAR "Tæl enhver uovertruffen trafik"

 }

 

}

 

# Hoved NAT-filtreringstabel

tabel inet nat {

 

 # Regler for præ-routing af NAT-trafik

 kæde prerouting {

   skriv nat hook prerouting prioritet dstnat; politik acceptere

 }

 

 # Regler for NAT-trafik efter routing

 # Denne tabel behandles før Firezone post-routing-kæden

 kæde postrouting {

   skriv nat hook postrouting prioritet srcnat – 5; politik acceptere

 }

 

}

Brugâ € <

Firewall'en skal opbevares på den relevante placering for den Linux-distribution, der kører. For Debian/Ubuntu er dette /etc/nftables.conf og for RHEL er dette /etc/sysconfig/nftables.conf.

nftables.service skal konfigureres til at starte ved opstart (hvis ikke allerede) indstillet:

systemctl aktivere nftables.service

Hvis der foretages ændringer i firewall-skabelonen, kan syntaksen valideres ved at køre check-kommandoen:

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

Sørg for at validere, at firewallen fungerer som forventet, da visse nftables-funktioner muligvis ikke er tilgængelige afhængigt af den udgivelse, der kører på serveren.



_______________________________________________________________



Telemetri

 

Dette dokument præsenterer en oversigt over den telemetri, Firezone indsamler fra din selv-hostede instans, og hvordan du deaktiverer den.

Hvorfor Firezone indsamler telemetriâ € <

Brandzone afhængig på telemetri for at prioritere vores køreplan og optimere de tekniske ressourcer, vi har for at gøre Firezone bedre for alle.

Den telemetri, vi indsamler, har til formål at besvare følgende spørgsmål:

  • Hvor mange mennesker installerer, bruger og holder op med at bruge Firezone?
  • Hvilke funktioner er mest værdifulde, og hvilke kan du ikke bruge?
  • Hvilken funktionalitet kræver mest forbedring?
  • Når noget går i stykker, hvorfor gik det i stykker, og hvordan kan vi forhindre, at det sker i fremtiden?

Hvordan vi indsamler telemetriâ € <

Der er tre hovedsteder, hvor telemetri indsamles i Firezone:

  1. Pakke telemetri. Inkluderer begivenheder såsom installation, afinstallation og opgradering.
  2. CLI-telemetri fra firezone-ctl-kommandoer.
  3. Produkttelemetri tilknyttet webportalen.

I hver af disse tre sammenhænge fanger vi den mindste mængde data, der er nødvendig for at besvare spørgsmålene i afsnittet ovenfor.

Admin-e-mails indsamles kun, hvis du udtrykkeligt tilmelder dig produktopdateringer. Ellers er personligt identificerbare oplysninger aldrig indsamlet.

Firezone gemmer telemetri i en selv-hostet forekomst af PostHog, der kører i en privat Kubernetes-klynge, kun tilgængelig for Firezone-teamet. Her er et eksempel på en telemetrihændelse, der sendes fra din forekomst af Firezone til vores telemetriserver:

{

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

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

   "begivenhed": "fz_http_started",

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

   "ejendomme": {

       "$geoip_city_name": "Ashburn",

       "$geoip_continent_code": "NA",

       "$geoip_continent_name": "Nordamerika",

       "$geoip_landekode": "OS",

       "$geoip_country_name": "Forenede Stater",

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

       "kernel_version": "linux 5.13.0",

       "version": "0.4.6"

   },

   "elements_chain": ""

}

Sådan deaktiveres telemetriâ € <

BEMÆRK

Firezone-udviklingsteamet afhængig på produktanalyse for at gøre Firezone bedre for alle. At lade telemetri være aktiveret er det mest værdifulde bidrag, du kan yde til Firezones udvikling. Når det er sagt, forstår vi, at nogle brugere har højere privatlivs- eller sikkerhedskrav og foretrækker at deaktivere telemetri helt. Hvis det er dig, så fortsæt med at læse.

Telemetri er som standard aktiveret. For fuldstændigt at deaktivere produkttelemetri skal du indstille følgende konfigurationsindstilling til false i /etc/firezone/firezone.rb og køre sudo firezone-ctl reconfigure for at hente ændringerne.

Standard['brandzone']['telemetri']['aktiveret'] = falsk

Det vil fuldstændig deaktivere al produkttelemetri.