Hailbytes VPN met Firezone Firewall-documentatie

Inhoudsopgave

Start nu

Hier vindt u stapsgewijze instructies voor het implementeren van Hailbytes VPN met Firezone GUI. 

Beheren: Het instellen van de serverinstantie is direct gerelateerd aan dit onderdeel.

Gebruikershandleidingen: handige documenten die u kunnen leren hoe u Firezone moet gebruiken en typische problemen kunnen oplossen. Raadpleeg dit gedeelte nadat de server met succes is geïmplementeerd.

Gidsen voor algemene configuraties

Split Tunneling: gebruik de VPN om alleen verkeer naar specifieke IP-bereiken te sturen.

Whitelisting: stel het statische IP-adres van een VPN-server in om whitelisting te gebruiken.

Omgekeerde tunnels: maak tunnels tussen verschillende peers met behulp van omgekeerde tunnels.

Krijg ondersteuning

We helpen je graag als je hulp nodig hebt bij het installeren, aanpassen of gebruiken van Hailbytes VPN.

authenticatie

Voordat gebruikers apparaatconfiguratiebestanden kunnen maken of downloaden, kan Firezone worden geconfigureerd om authenticatie te vereisen. Gebruikers moeten mogelijk ook periodiek opnieuw verifiëren om hun VPN-verbinding actief te houden.

Hoewel de standaard inlogmethode van Firezone lokaal e-mailadres en wachtwoord is, kan het ook worden geïntegreerd met elke gestandaardiseerde OpenID Connect (OIDC) identiteitsprovider. Gebruikers kunnen nu inloggen bij Firezone met hun Okta-, Google-, Azure AD- of privé-identiteitsproviderreferenties.

 

Integreer een generieke OIDC-provider

De configuratieparameters die Firezone nodig heeft om SSO met een OIDC-provider mogelijk te maken, worden weergegeven in het onderstaande voorbeeld. Op /etc/firezone/firezone.rb vindt u mogelijk het configuratiebestand. Voer firezone-ctl reconfigure en firezone-ctl restart uit om de toepassing bij te werken en wijzigingen door te voeren.

 

# Dit is een voorbeeld waarbij Google en Okta als SSO-identiteitsprovider worden gebruikt.

# Meerdere OIDC-configuraties kunnen aan dezelfde Firezone-instantie worden toegevoegd.

 

# Firezone kan de VPN van een gebruiker uitschakelen als er een fout wordt gedetecteerd tijdens het proberen

# om hun access_token te vernieuwen. Dit is geverifieerd om te werken voor Google, Okta en

# Azure SSO en wordt gebruikt om de VPN van een gebruiker automatisch te verbreken als deze wordt verwijderd

# van de OIDC-provider. Laat dit uitgeschakeld als uw OIDC-provider

# heeft problemen met het vernieuwen van toegangstokens omdat het een

# VPN-sessie van gebruiker.

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

 

standaard['firezone']['authenticatie']['oidc'] = {

  googlen: {

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

    klant identificatie: " ”,

    cliënt_geheim: “ ”,

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

    respons_type: "code",

    bereik: "openid e-mailprofiel",

    etiket: "Google"

  },

  oké: {

    discovery_document_uri: “https:// /.well-known/openid-configuratie”,

    klant identificatie: " ”,

    cliënt_geheim: “ ”,

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

    respons_type: "code",

    bereik: "openid e-mailprofiel offline_access",

    etiket: "Okta"

  }

}



De volgende configuratie-instellingen zijn vereist voor de integratie:

  1. discovery_document_uri: De Configuratie-URI OpenID Connect-provider die een JSON-document retourneert dat wordt gebruikt om volgende verzoeken aan deze OIDC-provider op te stellen.
  2. client_id: de client-ID van de toepassing.
  3. client_secret: het clientgeheim van de toepassing.
  4. redirect_uri: Instrueert de OIDC-provider waar deze moet worden omgeleid na authenticatie. Dit moet uw Firezone EXTERNAL_URL + /auth/oidc/ zijn /callback/ (bijv. https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: ingesteld op code.
  6. scope: OIDC-bereiken te verkrijgen bij uw OIDC-provider. Dit moet worden ingesteld op openid e-mailprofiel of openid e-mailprofiel offline_access, afhankelijk van de provider.
  7. label: de knoplabeltekst die wordt weergegeven op uw Firezone-inlogscherm.

Mooie URL's

Voor elke OIDC-provider wordt een bijbehorende mooie URL gemaakt om door te verwijzen naar de aanmeldings-URL van de geconfigureerde provider. Voor het voorbeeld van de OIDC-configuratie hierboven zijn de URL's:

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

Instructies voor het instellen van Firezone met populaire identiteitsproviders

Aanbieders waarvoor we documentatie hebben:

  • Kopen Google Reviews
  • Okta
  • Azure Active Directory
  • Een login
  • Lokale authenticatie

 

Als uw identiteitsprovider een generieke OIDC-connector heeft en hierboven niet wordt vermeld, gaat u naar hun documentatie voor informatie over het ophalen van de benodigde configuratie-instellingen.

Zorg voor regelmatige herauthenticatie

De instelling onder instellingen/beveiliging kan worden gewijzigd om periodieke herauthenticatie te vereisen. Dit kan worden gebruikt om de vereiste af te dwingen dat gebruikers Firezone regelmatig moeten betreden om hun VPN-sessie voort te zetten.

De sessieduur kan worden geconfigureerd tussen één uur en negentig dagen. Door dit op Nooit in te stellen, kunt u op elk moment VPN-sessies inschakelen. Dit is de standaard.

Opnieuw authenticeren

Een gebruiker moet zijn VPN-sessie beëindigen en inloggen op de Firezone-portal om een ​​verlopen VPN-sessie opnieuw te verifiëren (URL opgegeven tijdens de implementatie).

U kunt uw sessie opnieuw verifiëren door de precieze clientinstructies te volgen die u hier vindt.

 

Status van VPN-verbinding

De kolom VPN-verbindingstabel op de pagina Gebruikers geeft de verbindingsstatus van een gebruiker weer. Dit zijn de verbindingsstatussen:

INGESCHAKELD – De verbinding is ingeschakeld.

UITGESCHAKELD – De verbinding is uitgeschakeld door een beheerder of een OIDC-vernieuwingsfout.

VERLOPEN – De verbinding is uitgeschakeld omdat de authenticatie is verlopen of omdat een gebruiker zich niet voor de eerste keer heeft aangemeld.

Kopen Google Reviews

Via de algemene OIDC-connector maakt Firezone Single Sign-On (SSO) mogelijk met Google Workspace en Cloud Identity. Deze gids laat u zien hoe u de onderstaande configuratieparameters kunt verkrijgen, die nodig zijn voor de integratie:

  1. discovery_document_uri: De Configuratie-URI OpenID Connect-provider die een JSON-document retourneert dat wordt gebruikt om volgende verzoeken aan deze OIDC-provider op te stellen.
  2. client_id: de client-ID van de toepassing.
  3. client_secret: het clientgeheim van de toepassing.
  4. redirect_uri: Instrueert de OIDC-provider waar deze moet worden omgeleid na authenticatie. Dit moet uw Firezone EXTERNAL_URL + /auth/oidc/ zijn /callback/ (bijv. https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: ingesteld op code.
  6. scope: OIDC-bereiken te verkrijgen bij uw OIDC-provider. Dit moet worden ingesteld op openid e-mailprofiel om Firezone de e-mail van de gebruiker te geven in de geretourneerde claims.
  7. label: de knoplabeltekst die wordt weergegeven op uw Firezone-inlogscherm.

Configuratie-instellingen verkrijgen

1. OAuth-configuratiescherm

Als dit de eerste keer is dat u een nieuwe OAuth-client-ID aanmaakt, wordt u gevraagd om een ​​toestemmingsscherm te configureren.

*Selecteer Intern als gebruikerstype. Dit zorgt ervoor dat alleen accounts van gebruikers in uw Google Workspace-organisatie apparaatconfiguraties kunnen maken. Selecteer NIET Extern, tenzij u iedereen met een geldig Google-account in staat wilt stellen apparaatconfiguraties te maken.

 

Op het App-informatiescherm:

  1. App-naam: Firezone
  2. App-logo: Firezone-logo (link opslaan als).
  3. Startpagina van de toepassing: de URL van uw Firezone-instantie.
  4. Geautoriseerde domeinen: het topniveaudomein van uw Firezone-instantie.

 

 

2. Maak OAuth-client-ID's aan

Dit gedeelte is gebaseerd op de eigen documentatie van Google op opzetten van OAuth 2.0.

Bezoek de Google Cloud Console Referenties pagina pagina, klik op + Credentials maken en selecteer OAuth-client-ID.

Op het aanmaakscherm van de OAuth-client-ID:

  1. Stel Applicatietype in op Webapplicatie
  2. Voeg uw Firezone EXTERNAL_URL + /auth/oidc/google/callback/ (bijv. https://instance-id.yourfirezone.com/auth/oidc/google/callback/) toe als invoer voor geautoriseerde omleidings-URI's.

 

Nadat u de OAuth-client-ID hebt gemaakt, krijgt u een Client-ID en Client Secret. Deze worden in de volgende stap samen met de omleidings-URI gebruikt.

Firezone-integratie

Edit /etc/firezone/firezone.rb om de onderstaande opties op te nemen:

 

# Google gebruiken als SSO-identiteitsprovider

standaard['firezone']['authenticatie']['oidc'] = {

  googlen: {

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

    klant identificatie: " ”,

    cliënt_geheim: “ ”,

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

    respons_type: "code",

    bereik: "openid e-mailprofiel",

    etiket: "Google"

  }

}

 

Voer firezone-ctl reconfigure en firezone-ctl restart uit om de toepassing bij te werken. U zou nu een knop Aanmelden met Google moeten zien op de hoofd-URL van Firezone.

Okta

Firezone gebruikt de generieke OIDC-connector om Single Sign-On (SSO) met Okta mogelijk te maken. Deze zelfstudie laat u zien hoe u de onderstaande configuratieparameters krijgt, die nodig zijn voor de integratie:

  1. discovery_document_uri: De Configuratie-URI OpenID Connect-provider die een JSON-document retourneert dat wordt gebruikt om volgende verzoeken aan deze OIDC-provider op te stellen.
  2. client_id: de client-ID van de toepassing.
  3. client_secret: het clientgeheim van de toepassing.
  4. redirect_uri: Instrueert de OIDC-provider waar deze moet worden omgeleid na authenticatie. Dit moet uw Firezone EXTERNAL_URL + /auth/oidc/ zijn /callback/ (bijv. https://instance-id.yourfirezone.com/auth/oidc/okta/callback/).
  5. response_type: ingesteld op code.
  6. scope: OIDC-bereiken te verkrijgen bij uw OIDC-provider. Dit moet worden ingesteld op openid e-mailprofiel offline_access om Firezone de e-mail van de gebruiker te geven in de geretourneerde claims.
  7. label: de knoplabeltekst die wordt weergegeven op uw Firezone-inlogscherm.

 

Integreer de Okta-app

Dit deel van de gids is gebaseerd op Okta's documentatie.

Ga in de Admin Console naar Applicaties > Applicaties en klik op App-integratie maken. Stel de aanmeldingsmethode in op OICD - OpenID Connect en het toepassingstype op webtoepassing.

Configureer deze instellingen:

  1. App-naam: Firezone
  2. App-logo: Firezone-logo (link opslaan als).
  3. Subsidietype: vink het vakje Refresh Token aan. Dit zorgt ervoor dat Firezone synchroniseert met de identiteitsprovider en dat VPN-toegang wordt beëindigd zodra de gebruiker is verwijderd.
  4. Omleidings-URI's voor inloggen: voeg uw Firezone EXTERNAL_URL + /auth/oidc/okta/callback/ (bijv. https://instance-id.yourfirezone.com/auth/oidc/okta/callback/) toe als invoer voor geautoriseerde omleidings-URI's .
  5. Toewijzingen: beperk tot de groepen die u toegang wilt geven tot uw Firezone-instantie.

Zodra de instellingen zijn opgeslagen, krijgt u een klant-ID, klantgeheim en Okta-domein. Deze 3 waarden worden gebruikt in stap 2 om Firezone te configureren.

Integreer Firezone

Edit /etc/firezone/firezone.rb om de onderstaande opties op te nemen. Jouw ontdekking_document_url zal zijn /.well-known/openid-configuratie toegevoegd aan het einde van uw okta_domein.

 

# Okta gebruiken als de SSO-identiteitsprovider

standaard['firezone']['authenticatie']['oidc'] = {

  oké: {

    discovery_document_uri: “https:// /.well-known/openid-configuratie”,

    klant identificatie: " ”,

    cliënt_geheim: “ ”,

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

    respons_type: "code",

    bereik: "openid e-mailprofiel offline_access",

    etiket: "Okta"

  }

}

 

Voer firezone-ctl reconfigure en firezone-ctl restart uit om de toepassing bij te werken. Je zou nu een Sign in with Okta-knop moeten zien op de root Firezone-URL.

 

Beperk de toegang tot bepaalde gebruikers

De gebruikers die toegang hebben tot de Firezone-app kunnen worden beperkt door Okta. Ga naar de pagina Toewijzingen van Firezone App Integration van uw Okta Admin Console om dit te doen.

Azure Active Directory

Via de generieke OIDC-connector maakt Firezone Single Sign-On (SSO) mogelijk met Azure Active Directory. Deze handleiding laat u zien hoe u de onderstaande configuratieparameters kunt verkrijgen die nodig zijn voor de integratie:

  1. discovery_document_uri: De Configuratie-URI OpenID Connect-provider die een JSON-document retourneert dat wordt gebruikt om volgende verzoeken aan deze OIDC-provider op te stellen.
  2. client_id: de client-ID van de toepassing.
  3. client_secret: het clientgeheim van de toepassing.
  4. redirect_uri: Instrueert de OIDC-provider waar deze moet worden omgeleid na authenticatie. Dit moet uw Firezone EXTERNAL_URL + /auth/oidc/ zijn /callback/ (bijv. https://instance-id.yourfirezone.com/auth/oidc/azure/callback/).
  5. response_type: ingesteld op code.
  6. scope: OIDC-bereiken te verkrijgen bij uw OIDC-provider. Dit moet worden ingesteld op openid e-mailprofiel offline_access om Firezone de e-mail van de gebruiker te geven in de geretourneerde claims.
  7. label: de knoplabeltekst die wordt weergegeven op uw Firezone-inlogscherm.

Configuratie-instellingen ophalen

Deze gids is ontleend aan de Azure Active Directory-documenten.

 

Ga naar de Azure Active Directory-pagina van de Azure-portal. Kies de menuoptie Beheren, selecteer Nieuwe registratie en registreer u vervolgens door de onderstaande informatie op te geven:

  1. Naam: Vuurzone
  2. Ondersteunde accounttypen: (alleen standaarddirectory – enkele tenant)
  3. Omleidings-URI: dit moet uw firezone EXTERNAL_URL + /auth/oidc/azure/callback/ zijn (bijv. https://instance-id.yourfirezone.com/auth/oidc/azure/callback/). Zorg ervoor dat u de schuine streep meeneemt. Dit is de redirect_uri-waarde.

 

Open na registratie het detailoverzicht van de applicatie en kopieer het Applicatie (klant) ID. Dit is de client_id-waarde. Open vervolgens het eindpuntenmenu om het OpenID Connect-metadatadocument. Dit is de waarde discovery_document_uri.

 

Maak een nieuw klantgeheim aan door te klikken op de optie Certificaten en geheimen onder het menu Beheren. Kopieer het klantgeheim; de geheime waarde van de client zal dit zijn.

 

Selecteer ten slotte de koppeling API-machtigingen onder het menu Beheren, klik op Een toestemming toevoegenEn Select Microsoft Graph. Toevoegen email, geopend, offline_toegang en profielen naar de vereiste machtigingen.

Firezone-integratie

Edit /etc/firezone/firezone.rb om de onderstaande opties op te nemen:

 

# Azure Active Directory gebruiken als SSO-identiteitsprovider

standaard['firezone']['authenticatie']['oidc'] = {

  azuurblauw: {

    discovery_document_uri: “https://login.microsoftonline.com/ /v2.0/.welbekend/openid-configuratie”,

    klant identificatie: " ”,

    cliënt_geheim: “ ”,

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

    respons_type: "code",

    bereik: "openid e-mailprofiel offline_access",

    etiket: "Azuurblauw"

  }

}

 

Voer firezone-ctl reconfigure en firezone-ctl restart uit om de toepassing bij te werken. U zou nu een knop Aanmelden met Azure moeten zien op de hoofd-URL van Firezone.

How To: Toegang beperken tot bepaalde leden

Met Azure AD kunnen beheerders de toegang tot apps beperken tot een specifieke groep gebruikers binnen uw bedrijf. Meer informatie over hoe u dit kunt doen, vindt u in de documentatie van Microsoft.

Beheren

  • Configure
  • Installatie beheren
  • Upgrade
  • Problemen
  • Beveiligingsoverwegingen
  • SQL-query's uitvoeren

Configure

Chef Omnibus wordt door Firezone gebruikt om taken te beheren, waaronder releaseverpakkingen, processupervisie, logbeheer en meer.

Ruby-code vormt het primaire configuratiebestand, dat zich bevindt in /etc/firezone/firezone.rb. Door sudo firezone-ctl reconfigure opnieuw te starten na het aanbrengen van wijzigingen in dit bestand, herkent Chef de wijzigingen en past deze toe op het huidige besturingssysteem.

Zie de verwijzing naar het configuratiebestand voor een volledige lijst met configuratievariabelen en hun beschrijvingen.

Installatie beheren

Uw Firezone-instantie kan worden beheerd via de Firezone-ctl opdracht, zoals hieronder weergegeven. De meeste subcommando's moeten worden voorafgegaan door sudo.

 

root@demo:~# firezone-ctl

omnibus-ctl: commando (subcommando)

Algemene opdrachten:

  reinigen

    Verwijder *alle* firezone-gegevens en begin helemaal opnieuw.

  maak-of-reset-admin

    Stelt het wachtwoord voor de beheerder opnieuw in met standaard opgegeven e-mailadres ['firezone']['admin_email'] of maakt een nieuwe beheerder aan als dat e-mailadres niet bestaat.

  hulp

    Druk dit helpbericht af.

  opnieuw configureren

    Configureer de applicatie opnieuw.

  reset-netwerk

    Reset nftables, WireGuard-interface en routeringstabel terug naar Firezone-standaardwaarden.

  show-config

    Toon de configuratie die zou worden gegenereerd door herconfiguratie.

  demontage-netwerk

    Verwijdert de WireGuard-interface en de firezone nftables-tabel.

  force-cert-vernieuwing

    Forceer nu certificaatvernieuwing, zelfs als deze nog niet is verlopen.

  stop-certificaat-verlenging

    Verwijdert cronjob die certificaten vernieuwt.

  uninstall

    Dood alle processen en verwijder de procesbegeleider (gegevens blijven behouden).

  versie

    Geef de huidige versie van Firezone weer

Servicebeheeropdrachten:

  gracieus doden

    Poging tot een sierlijke stop en dan SIGKILL de hele procesgroep.

  aandrijven

    Stuur de diensten een HUP.

  int

    Stuur de diensten een INT.

  doden

    Stuur de diensten een KILL.

  eens

    Start de services als ze niet beschikbaar zijn. Start ze niet opnieuw op als ze stoppen.

  restart

    Stop de services als ze actief zijn en start ze opnieuw.

  servicelijst

    Maak een lijst van alle services (ingeschakelde services worden weergegeven met een *.)

  begin

    Start services als ze down zijn en start ze opnieuw als ze stoppen.

  toestand

    Toon de status van alle services.

  stoppen

    Stop de services en start ze niet opnieuw.

  staart

    Bekijk de servicelogboeken van alle ingeschakelde services.

  termijn

    Stuur de diensten een TERM.

  usr1

    Stuur de services een USR1.

  usr2

    Stuur de services een USR2.

Upgrade

Alle VPN-sessies moeten worden beëindigd voordat Firezone wordt geüpgraded, wat ook vraagt ​​om het afsluiten van de webinterface. Mocht er iets mis gaan tijdens de upgrade, dan raden we aan om een ​​uur uit te trekken voor onderhoud.

 

Voer de volgende acties uit om Firezone te verbeteren:

  1. Upgrade het firezone-pakket met behulp van de installatie met één opdracht: sudo -E bash -c "$(curl -fsSL https://github.com/firezone/firezone/raw/master/scripts/install.sh)"
  2. Voer firezone-ctl reconfigure uit om de nieuwe wijzigingen op te pikken.
  3. Voer firezone-ctl restart uit om services opnieuw te starten.

Als er zich problemen voordoen, laat het ons dan weten via een ondersteuningsticket indienen.

Upgrade van <0.5.0 naar >=0.5.0

Er zijn een paar belangrijke wijzigingen en configuratiewijzigingen in 0.5.0 die moeten worden aangepakt. Lees hieronder meer.

Gebundelde Nginx non_ssl_port (HTTP) verzoeken verwijderd

Nginx ondersteunt niet langer de geforceerde SSL- en niet-SSL-poortparameters vanaf versie 0.5.0. Omdat Firezone SSL nodig heeft om te werken, raden we aan om de bundel Nginx-service te verwijderen door default['firezone']['nginx']['enabled'] = false in te stellen en in plaats daarvan uw reverse proxy naar de Phoenix-app te leiden op poort 13000 (standaard ).

ACME-protocolondersteuning

0.5.0 introduceert ACME-protocolondersteuning voor het automatisch verlengen van SSL-certificaten met de gebundelde Nginx-service. In staat te stellen,

  • Zorg ervoor dat default['firezone']['external_url'] een geldige FQDN bevat die wordt omgezet naar het openbare IP-adres van uw server.
  • Zorg ervoor dat poort 80/tcp bereikbaar is
  • Schakel ACME-protocolondersteuning in met standaard ['firezone']['ssl']['acme']['enabled'] = true in uw configuratiebestand.

Overlappende bestemmingsregels voor uitgaand verkeer

De mogelijkheid om regels toe te voegen met dubbele bestemmingen is verdwenen in Firezone 0.5.0. Ons migratiescript herkent deze situaties automatisch tijdens een upgrade naar 0.5.0 en behoudt alleen de regels waarvan de bestemming de andere regel bevat. U hoeft niets te doen als dit in orde is.

Anders raden we aan om, voordat u gaat upgraden, uw regelset te wijzigen om van deze situaties af te komen.

Okta en Google SSO vooraf configureren

Firezone 0.5.0 verwijdert de ondersteuning voor de oude Okta- en Google SSO-configuratie ten gunste van de nieuwe, flexibelere op OIDC gebaseerde configuratie. 

Als u een configuratie heeft onder de standaard['firezone']['authentication']['okta'] of standaard['firezone']['authentication']['google'] sleutels, moet u deze migreren naar onze OIDC -gebaseerde configuratie met behulp van de onderstaande gids.

Bestaande Google OAuth-configuratie

Verwijder deze regels met de oude Google OAuth-configuraties uit uw configuratiebestand op /etc/firezone/firezone.rb

 

standaard['firezone']['authenticatie']['google']['enabled']

standaard['firezone']['authentication']['google']['client_id']

standaard['firezone']['authentication']['google']['client_secret']

standaard['firezone']['authentication']['google']['redirect_uri']

 

Configureer vervolgens Google als een OIDC-provider door de procedures hier te volgen.

(Geef linkinstructies)<<<<<<<<<<<<<<<<<

 

Configureer bestaande Google OAuth 

Verwijder deze regels met de oude Okta OAuth-configuraties uit uw configuratiebestand op /etc/firezone/firezone.rb

 

standaard['firezone']['authenticatie']['okta']['enabled']

standaard['firezone']['authenticatie']['okta']['client_id']

standaard['firezone']['authenticatie']['okta']['client_secret']

Standaard['firezone']['authenticatie']['okta']['site']

 

Configureer vervolgens Okta als een OIDC-provider door de procedures hier te volgen.

Upgrade van 0.3.x naar >= 0.3.16

Houd u, afhankelijk van uw huidige configuratie en versie, aan de onderstaande aanwijzingen:

Als u al een OIDC-integratie heeft:

Voor sommige OIDC-providers vereist een upgrade naar >= 0.3.16 het verkrijgen van een vernieuwingstoken voor het bereik voor offline toegang. Door dit te doen, wordt ervoor gezorgd dat Firezone wordt bijgewerkt met de identiteitsprovider en dat de VPN-verbinding wordt afgesloten nadat een gebruiker is verwijderd. Firezone's eerdere iteraties misten deze functie. In sommige gevallen kunnen gebruikers die zijn verwijderd uit uw identiteitsprovider nog steeds verbonden zijn met een VPN.

Het is noodzakelijk om offline toegang op te nemen in de bereikparameter van uw OIDC-configuratie voor OIDC-providers die het bereik voor offline toegang ondersteunen. De herconfiguratie van Firezone-ctl moet worden uitgevoerd om wijzigingen toe te passen in het Firezone-configuratiebestand, dat zich bevindt op /etc/firezone/firezone.rb.

Voor gebruikers die zijn geverifieerd door uw OIDC-provider, ziet u de kop OIDC-verbindingen op de pagina met gebruikersgegevens van de webinterface als Firezone het vernieuwingstoken kan ophalen.

Als dit niet werkt, moet u uw bestaande OAuth-app verwijderen en de OIDC-installatiestappen herhalen maak een nieuwe app-integratie .

Ik heb een bestaande OAuth-integratie

Vóór 0.3.11 gebruikte Firezone vooraf geconfigureerde OAuth2-providers. 

Volg de instructies hier migreren naar OIDC.

Ik heb geen identiteitsprovider geïntegreerd

Geen actie benodigd. 

U kunt de instructies volgen hier SSO inschakelen via een OIDC-provider.

Upgrade van 0.3.1 naar >= 0.3.2

In plaats daarvan heeft default['firezone']['external url'] de configuratieoptie default['firezone']['fqdn'] vervangen. 

Stel dit in op de URL van uw Firezone online portal die toegankelijk is voor het grote publiek. Het wordt standaard ingesteld op https:// plus de FQDN van uw server als deze niet is gedefinieerd.

Het configuratiebestand bevindt zich op /etc/firezone/firezone.rb. Zie de verwijzing naar het configuratiebestand voor een volledige lijst met configuratievariabelen en hun beschrijvingen.

Upgrade van 0.2.x naar 0.3.x

Firezone bewaart niet langer privésleutels van apparaten op de Firezone-server vanaf versie 0.3.0. 

Met de Firezone-webgebruikersinterface kunt u deze configuraties niet opnieuw downloaden of bekijken, maar alle bestaande apparaten moeten blijven werken zoals ze zijn.

Upgrade van 0.1.x naar 0.2.x

Als u een upgrade uitvoert vanaf Firezone 0.1.x, zijn er enkele wijzigingen in het configuratiebestand die handmatig moeten worden aangepakt. 

Om de nodige aanpassingen aan je /etc/firezone/firezone.rb-bestand aan te brengen, voer je de onderstaande commando's uit als root.

 

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

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

echo “default['firezone']['connectivity_checks']['enabled'] = true” >> /etc/firezone/firezone.rb

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

firezone-ctl opnieuw configureren

firezone-ctl herstart

Probleem oplossen

Het controleren van de Firezone-logboeken is een verstandige eerste stap voor eventuele problemen die kunnen optreden.

Voer sudo firezone-ctl tail uit om de Firezone-logboeken te bekijken.

Verbindingsproblemen opsporen

De meeste verbindingsproblemen met Firezone worden veroorzaakt door incompatibele iptables- of nftables-regels. Je moet ervoor zorgen dat regels die van kracht zijn niet in strijd zijn met de Firezone-regels.

Internetverbinding valt weg wanneer Tunnel actief is

Zorg ervoor dat de FORWARD-keten pakketten van uw WireGuard-clients toestaat naar de locaties die u door Firezone wilt laten als uw internetverbinding verslechtert elke keer dat u uw WireGuard-tunnel activeert.

 

Dit kan worden bereikt als u ufw gebruikt door ervoor te zorgen dat het standaardrouteringsbeleid is toegestaan:

 

ubuntu@fz:~$ sudo ufw standaard toestaan ​​gerouteerd

Standaard gerouteerd beleid gewijzigd in 'toestaan'

(zorg ervoor dat u uw regels dienovereenkomstig bijwerkt)

 

A ufw status voor een typische Firezone-server kan er als volgt uitzien:

 

ubuntu@fz:~$ sudo ufw status uitgebreid

Status: actief

Loggen: aan (laag)

Standaard: weigeren (inkomend), toestaan ​​(uitgaand), toestaan ​​(gerouteerd)

Nieuwe profielen: overslaan

 

Naar actie van

— —— —-

22/tcp OVERAL TOELATEN

80/tcp OVERAL TOELATEN

443/tcp OVERAL TOEGESTAAN

51820/udp OVERAL TOELATEN

22/tcp (v6) TOELATEN Overal (v6)

80/tcp (v6) TOELATEN Overal (v6)

443/tcp (v6) TOELATEN Overal (v6)

51820/udp (v6) OVERAL TOELATEN (v6)

Beveiligingsoverwegingen

We adviseren om de toegang tot de webinterface te beperken voor extreem gevoelige en bedrijfskritische productie-implementaties, zoals hieronder wordt uitgelegd.

Diensten & Havens

 

Service

Standaard poort

Luister adres

Omschrijving

Nginx

80, 443

allen

Openbare HTTP(S)-poort voor het beheer van Firezone en het vergemakkelijken van authenticatie.

Wireguard

51820

allen

Openbare WireGuard-poort gebruikt voor VPN-sessies. (UDP)

postgresql

15432

127.0.0.1

Alleen lokale poort gebruikt voor gebundelde Postgresql-server.

Phoenix

13000

127.0.0.1

Alleen lokale poort die wordt gebruikt door de upstream elixir-app-server.

Productie-implementaties

We raden u aan om na te denken over het beperken van de toegang tot de openbare gebruikersinterface van Firezone (standaardpoorten 443/tcp en 80/tcp) en in plaats daarvan de WireGuard-tunnel te gebruiken om Firezone te beheren voor productie- en openbare implementaties waarbij een enkele beheerder de leiding heeft van het maken en distribueren van apparaatconfiguraties naar eindgebruikers.

 

Als een beheerder bijvoorbeeld een apparaatconfiguratie heeft gemaakt en een tunnel heeft gemaakt met het lokale WireGuard-adres 10.3.2.2, zou de volgende ufw-configuratie de beheerder in staat stellen toegang te krijgen tot de Firezone-webinterface op de wg-firezone-interface van de server met behulp van de standaard 10.3.2.1 tunneladres:

 

root@demo:~# ufw status uitgebreid

Status: actief

Loggen: aan (laag)

Standaard: weigeren (inkomend), toestaan ​​(uitgaand), toestaan ​​(gerouteerd)

Nieuwe profielen: overslaan

 

Naar actie van

— —— —-

22/tcp OVERAL TOELATEN

51820/udp OVERAL TOELATEN

Overal TOEGESTAAN 10.3.2.2

22/tcp (v6) TOELATEN Overal (v6)

51820/udp (v6) OVERAL TOELATEN (v6)

Dit zou alleen vertrekken 22 / tcp blootgesteld voor SSH-toegang om de server te beheren (optioneel), en 51820/udp blootgelegd om WireGuard-tunnels tot stand te brengen.

Voer SQL-query's uit

Firezone bundelt een Postgresql-server en bijpassende psql hulpprogramma dat als volgt vanuit de lokale shell kan worden gebruikt:

 

/opt/firezone/embedded/bin/psql \

  -U brandzone \

  -d brandzone \

  -h lokale host \

  -p 15432 \

  -c "SQL_STATEMENT"

 

Dit kan nuttig zijn voor foutopsporingsdoeleinden.

 

Algemene taken:

 

  • Lijst van alle gebruikers
  • Lijst van alle apparaten
  • De rol van een gebruiker wijzigen
  • Een back-up maken van de database



Lijst van alle gebruikers:

 

/opt/firezone/embedded/bin/psql \

  -U brandzone \

  -d brandzone \

  -h lokale host \

  -p 15432 \

  -c "SELECTEER * UIT gebruikers;"



Lijst van alle apparaten:

 

/opt/firezone/embedded/bin/psql \

  -U brandzone \

  -d brandzone \

  -h lokale host \

  -p 15432 \

  -c "SELECTEER * VANAF apparaten;"



Wijzig een gebruikersrol:

 

Stel de rol in op 'admin' of 'unprivileged':

 

/opt/firezone/embedded/bin/psql \

  -U brandzone \

  -d brandzone \

  -h lokale host \

  -p 15432 \

  -c "UPDATE gebruikers SET rol = 'admin' WHERE e-mail = 'user@example.com';"



Back-up van de database:

 

Verder is het pg dump-programma inbegrepen, dat kan worden gebruikt om regelmatig back-ups van de database te maken. Voer de volgende code uit om een ​​kopie van de database te dumpen in de algemene SQL-query-indeling (vervang /path/to/backup.sql door de locatie waar het SQL-bestand moet worden gemaakt):

 

/opt/firezone/embedded/bin/pg_dump \

  -U brandzone \

  -d brandzone \

  -h lokale host \

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

Handleidingen

  • Gebruikers toevoegen
  • Apparaten toevoegen
  • Uitgangsregels
  • Cliënt instructies
  • Split Tunnel-VPN
  • Omgekeerde tunnel 
  • NAT-gateway

Gebruikers toevoegen

Nadat Firezone met succes is geïmplementeerd, moet u gebruikers toevoegen om hen toegang tot uw netwerk te geven. Hiervoor wordt de web-UI gebruikt.

 

Web UI


Door de knop "Gebruiker toevoegen" onder /users te selecteren, kunt u een gebruiker toevoegen. U moet de gebruiker een e-mailadres en een wachtwoord geven. Om gebruikers in uw organisatie automatisch toegang te geven, kan Firezone ook communiceren met en synchroniseren met een identiteitsprovider. Meer details zijn beschikbaar in Waarmerken. < Voeg een link toe om te verifiëren

Apparaten toevoegen

We raden gebruikers aan om hun eigen apparaatconfiguraties te maken, zodat de privésleutel alleen voor hen zichtbaar is. Gebruikers kunnen hun eigen apparaatconfiguraties genereren door de aanwijzingen op de Cliënt instructies bladzijde.

 

Beheerapparaatconfiguratie genereren

Alle configuraties van gebruikersapparaten kunnen worden gemaakt door Firezone-beheerders. Selecteer op de gebruikersprofielpagina op /users de optie "Apparaat toevoegen" om dit te bereiken.

 

[Schermafbeelding invoegen]

 

U kunt de gebruiker het WireGuard-configuratiebestand e-mailen nadat u het apparaatprofiel hebt gemaakt.

 

Gebruikers en apparaten zijn gekoppeld. Zie voor meer informatie over het toevoegen van een gebruiker Gebruikers toevoegen.

Uitgangsregels

Door het gebruik van het netfiltersysteem van de kernel, maakt Firezone filtermogelijkheden voor uitgaand verkeer mogelijk om DROP- of ACCEPT-pakketten te specificeren. Al het verkeer is normaal gesproken toegestaan.

 

IPv4- en IPv6-CIDR's en IP-adressen worden ondersteund via respectievelijk de toelatingslijst en de weigeringslijst. U kunt ervoor kiezen om een ​​regel toe te voegen aan een gebruiker wanneer u deze toevoegt, waardoor de regel wordt toegepast op alle apparaten van die gebruiker.

Cliënt instructies

Installeren en configureren

Raadpleeg deze handleiding om een ​​VPN-verbinding tot stand te brengen met behulp van de oorspronkelijke WireGuard-client.

 

1. Installeer de native WireGuard-client

 

De officiële WireGuard-clients die hier te vinden zijn, zijn Firezone-compatibel:

 

MacOS

 

Dakramen en raamkozijnen

 

iOS

 

Android

 

Bezoek de officiële WireGuard-website op https://www.wireguard.com/install/ voor besturingssystemen die hierboven niet zijn genoemd.

 

2. Download het apparaatconfiguratiebestand

 

Uw Firezone-beheerder of uzelf kan het apparaatconfiguratiebestand genereren met behulp van de Firezone-portal.

 

Ga naar de URL die uw Firezone-beheerder heeft verstrekt om zelf een apparaatconfiguratiebestand te genereren. Uw bedrijf heeft hiervoor een unieke URL; in dit geval is dat https://instance-id.yourfirezone.com.

 

Log in op Firezone Okta SSO

 

[Screenshot invoegen]

 

3. Voeg de configuratie van de klant toe

 

Importeer het.conf-bestand in de WireGuard-client door het te openen. Door de Activeren-schakelaar om te draaien, kunt u een VPN-sessie starten.

 

[Screenshot invoegen]

Sessie opnieuw verifiëren

Volg de onderstaande instructies als uw netwerkbeheerder terugkerende authenticatie verplicht heeft gesteld om uw VPN-verbinding actief te houden. 



Je hebt nodig:

 

URL van de Firezone-portal: Vraag uw netwerkbeheerder om de verbinding.

Uw netwerkbeheerder zou u uw login en wachtwoord moeten kunnen aanbieden. De Firezone-site zal u vragen om in te loggen met behulp van de single sign-on-service die uw werkgever gebruikt (zoals Google of Okta).

 

1. Schakel de VPN-verbinding uit

 

[Screenshot invoegen]

 

2. Verifieer opnieuw 

Ga naar de URL van de Firezone-portal en log in met de inloggegevens die uw netwerkbeheerder heeft verstrekt. Als u al bent aangemeld, klikt u op de knop Opnieuw verifiëren voordat u zich weer aanmeldt.

 

[Screenshot invoegen]

 

Stap 3: Start een VPN-sessie

[Screenshot invoegen]

Netwerkbeheerder voor Linux

Volg deze instructies (nmcli) om het WireGuard-configuratieprofiel te importeren met behulp van Network Manager CLI op Linux-apparaten.

NOTITIE

Als voor het profiel IPv6-ondersteuning is ingeschakeld, kan het importeren van het configuratiebestand met behulp van de Network Manager GUI mislukken met de volgende fout:

ipv6.method: methode "auto" wordt niet ondersteund voor WireGuard

1. Installeer de WireGuard-tools 

Het is noodzakelijk om de WireGuard-gebruikersruimtehulpprogramma's te installeren. Dit wordt een pakket met de naam wireguard of wireguard-tools voor Linux-distributies.

Voor Ubuntu/Debian:

sudo apt installeer wireguard

Om Fedora te gebruiken:

sudo dnf installeer wireguard-tools

Arch Linux:

sudo pacman -S wireguard-tools

Bezoek de officiële WireGuard-website op https://www.wireguard.com/install/ voor distributies die hierboven niet worden genoemd.

2. Configuratie downloaden 

Uw Firezone-beheerder of zelfgenererende persoon kan het apparaatconfiguratiebestand genereren met behulp van de Firezone-portal.

Ga naar de URL die uw Firezone-beheerder heeft verstrekt om zelf een apparaatconfiguratiebestand te genereren. Uw bedrijf heeft hiervoor een unieke URL; in dit geval is dat https://instance-id.yourfirezone.com.

[Screenshot invoegen]

3. Instellingen importeren

Importeer het meegeleverde configuratiebestand met behulp van nmcli:

sudo nmcli-verbinding importtype wireguard-bestand /path/to/configuration.conf

NOTITIE

De naam van het configuratiebestand komt overeen met de WireGuard-verbinding/interface. Na het importeren kan de verbinding indien nodig worden hernoemd:

nmcli-verbinding wijzigen [oude naam] verbinding.id [nieuwe naam]

4. Verbinden of loskoppelen

Maak via de opdrachtregel als volgt verbinding met de VPN:

nmcli verbinding up [vpn naam]

Ontkoppelen:

nmcli-verbinding verbroken [vpn-naam]

De toepasselijke Network Manager-applet kan ook worden gebruikt om de verbinding te beheren als u een GUI gebruikt.

Automatische verbinding

Door "ja" te selecteren voor de autoconnect-optie, kan de VPN-verbinding worden geconfigureerd om automatisch verbinding te maken:

 

nmcli-verbinding wijzig de [vpn-naam]-verbinding. <<<<<<<<<<<<<<<<<<<<<<

 

automatisch verbinden ja

 

Om de automatische verbinding uit te schakelen, zet u deze terug op nee:

 

nmcli-verbinding wijzig de [vpn-naam]-verbinding.

 

autoconnect nr

Maak multi-factor authenticatie beschikbaar

MFA activeren Ga naar de /user account/register mfa-pagina van de Firezone-portal. Gebruik uw authenticator-app om de QR-code te scannen nadat deze is gegenereerd en voer vervolgens de zescijferige code in.

Neem contact op met uw beheerder om de toegangsgegevens van uw account opnieuw in te stellen als u uw authenticator-app kwijt bent.

Split Tunnel-VPN

Deze tutorial leidt je door het proces van het instellen van WireGuard's split tunneling-functie met Firezone, zodat alleen verkeer naar specifieke IP-bereiken wordt doorgestuurd via de VPN-server.

 

1. Configureer Toegestane IP's 

De IP-bereiken waarvoor de client het netwerkverkeer zal routeren, worden vermeld in het veld Toegestane IP's op de pagina /settings/default. Alleen de nieuw gemaakte WireGuard-tunnelconfiguraties geproduceerd door Firezone worden beïnvloed door wijzigingen in dit veld.

 

[Screenshot invoegen]



De standaardwaarde is 0.0.0.0/0, ::/0, waarmee al het netwerkverkeer van de client naar de VPN-server wordt gerouteerd.

 

Voorbeelden van waarden in dit veld zijn:

 

0.0.0.0/0, ::/0 – al het netwerkverkeer wordt naar de VPN-server geleid.

192.0.2.3/32 – alleen verkeer naar een enkel IP-adres wordt naar de VPN-server geleid.

3.5.140.0/22 ​​- alleen verkeer naar IP's in het bereik 3.5.140.1 - 3.5.143.254 wordt naar de VPN-server geleid. In dit voorbeeld is het CIDR-bereik voor de AWS-regio ap-northeast-2 gebruikt.



NOTITIE

Firezone selecteert eerst de uitgaande interface die is gekoppeld aan de meest precieze route bij het bepalen waar een pakket moet worden gerouteerd.

 

2. Genereer WireGuard-configuraties opnieuw

Gebruikers moeten de configuratiebestanden opnieuw genereren en toevoegen aan hun native WireGuard-client om bestaande gebruikersapparaten bij te werken met de nieuwe configuratie met gesplitste tunnel.

 

Voor instructies, zie Voeg toestel toe. <<<<<<<<<<< Koppeling toevoegen

Omgekeerde tunnel

Deze handleiding laat zien hoe je twee apparaten kunt koppelen met Firezone als relais. Een typische use case is om een ​​beheerder toegang te geven tot een server, container of machine die wordt beschermd door een NAT of firewall.

 

Knooppunt naar Knooppunt 

Deze illustratie toont een eenvoudig scenario waarin apparaten A en B een tunnel bouwen.

 

[Voeg firezone architecturale afbeelding in]

 

Begin met het maken van apparaat A en apparaat B door te navigeren naar /users/[user_id]/new_device. Zorg ervoor dat in de instellingen voor elk apparaat de volgende parameters zijn ingesteld op de onderstaande waarden. U kunt apparaatinstellingen instellen bij het maken van de apparaatconfiguratie (zie Apparaten toevoegen). Als u instellingen op een bestaand apparaat moet bijwerken, kunt u dit doen door een nieuwe apparaatconfiguratie te genereren.

 

Merk op dat alle apparaten een /settings/defaults-pagina hebben waarop PersistentKeepalive kan worden geconfigureerd.

 

apparaat A

 

Toegestane IP's = 10.3.2.2/32

  Dit is het IP of IP-bereik van apparaat B

BlijvendKeepalive = 25

  Als het apparaat zich achter een NAT bevindt, zorgt dit ervoor dat het apparaat de tunnel in leven kan houden en pakketten van de WireGuard-interface kan blijven ontvangen. Gewoonlijk is een waarde van 25 voldoende, maar het kan zijn dat u deze waarde moet verlagen, afhankelijk van uw omgeving.



B-apparaat

 

Toegestane IP's = 10.3.2.3/32

Dit is het IP of IP-bereik van apparaat A

BlijvendKeepalive = 25

Admin Case - Eén tot veel knooppunten

Dit voorbeeld toont een situatie waarin apparaat A in beide richtingen kan communiceren met apparaten B tot en met D. Deze opstelling kan een technicus of beheerder vertegenwoordigen die toegang heeft tot talloze bronnen (servers, containers of machines) via verschillende netwerken.

 

[Architecturaal diagram]<<<<<<<<<<<<<<<<<<<<<<<

 

Zorg ervoor dat de volgende instellingen zijn gemaakt in de instellingen van elk apparaat naar de overeenkomstige waarden. Bij het maken van de apparaatconfiguratie kunt u apparaatinstellingen opgeven (zie Apparaten toevoegen). Er kan een nieuwe apparaatconfiguratie worden gemaakt als de instellingen op een bestaand apparaat moeten worden bijgewerkt.

 

Apparaat A (beheerdersknooppunt)

 

Toegestane IP's = 10.3.2.3/32, 10.3.2.4/32, 10.3.2.5/32 

    Dit is het IP-adres van apparaten B tot en met D. De IP-adressen van apparaten B tot en met D moeten worden opgenomen in elk IP-bereik dat u wilt instellen.

BlijvendKeepalive = 25 

    Dit garandeert dat het apparaat de tunnel kan behouden en pakketten van de WireGuard-interface kan blijven ontvangen, zelfs als het wordt beschermd door een NAT. In de meeste gevallen is een waarde van 25 voldoende, maar afhankelijk van uw omgeving kan het zijn dat u dit cijfer moet verlagen.

 

Apparaat B

 

  • Toegestane IP's = 10.3.2.2/32: Dit is het IP of IP-bereik van apparaat A
  • BlijvendKeepalive = 25

Apparaat C

 

  • Toegestane IP's = 10.3.2.2/32: Dit is het IP of IP-bereik van apparaat A
  • BlijvendKeepalive = 25

Apparaat D

 

  • Toegestane IP's = 10.3.2.2/32: Dit is het IP of IP-bereik van apparaat A
  • BlijvendKeepalive = 25

NAT-gateway

Om één statisch uitgaand IP-adres te bieden waar al het verkeer van uw team vandaan kan stromen, kan Firezone worden gebruikt als een NAT-gateway. Deze situaties omvatten het frequente gebruik ervan:

 

Consulting Engagements: vraag uw klant om een ​​enkel statisch IP-adres op de witte lijst te zetten in plaats van het unieke IP-adres van elke werknemer.

Een proxy gebruiken of uw bron-IP maskeren voor veiligheids- of privacydoeleinden.

 

Een eenvoudig voorbeeld van het beperken van de toegang tot een zelf-gehoste webapplicatie tot een enkele op de witte lijst geplaatste statische IP met Firezone wordt in dit bericht gedemonstreerd. In deze illustratie bevinden Firezone en de beschermde bron zich in verschillende VPC-gebieden.

 

Deze oplossing wordt vaak gebruikt in plaats van het beheren van een IP-whitelist voor talloze eindgebruikers, wat tijdrovend kan zijn naarmate de toegangslijst groter wordt.

AWS-voorbeeld

Ons doel is om een ​​Firezone-server op te zetten op een EC2-instantie om VPN-verkeer om te leiden naar de beperkte bron. In dit geval fungeert Firezone als een netwerkproxy of NAT-gateway om elk aangesloten apparaat een uniek openbaar uitgaand IP-adres te geven.

 

1. Installeer de Firezone-server

In dit geval is er op een EC2-instantie met de naam tc2.micro een Firezone-instantie geïnstalleerd. Ga voor informatie over het implementeren van Firezone naar de Implementatiehandleiding. Met betrekking tot AWS, zorg ervoor dat:

 

De beveiligingsgroep van de Firezone EC2-instantie staat uitgaand verkeer toe naar het IP-adres van de beveiligde bron.

De Firezone-instantie wordt geleverd met een elastisch IP-adres. Verkeer dat via de Firezone-instantie wordt doorgestuurd naar externe bestemmingen, heeft dit als bron-IP-adres. Het betreffende IP-adres is 52.202.88.54.

 

[Screenshot invoegen]<<<<<<<<<<<<<<<<<<<<<<<<

 

2. Beperk de toegang tot de bron die wordt beschermd

Een door uzelf gehoste webtoepassing dient in dit geval als de beschermde bron. De web-app is alleen toegankelijk voor verzoeken afkomstig van het IP-adres 52.202.88.54. Afhankelijk van de bron kan het nodig zijn om inkomend verkeer op verschillende poorten en verkeerstypen toe te staan. Dit wordt niet behandeld in deze handleiding.

 

[Schermafbeelding invoegen]<<<<<<<<<<<<<<<<<<<<<<<<

 

Vertel de derde partij die verantwoordelijk is voor de beveiligde bron dat verkeer van het statische IP-adres gedefinieerd in stap 1 moet worden toegestaan ​​(in dit geval 52.202.88.54).

 

3. Gebruik de VPN-server om verkeer naar de beveiligde bron te leiden

 

Standaard gaat al het gebruikersverkeer via de VPN-server en komt van het statische IP-adres dat in stap 1 is geconfigureerd (in dit geval 52.202.88.54). Als gesplitste tunneling echter is ingeschakeld, kunnen instellingen nodig zijn om ervoor te zorgen dat het doel-IP-adres van de beveiligde bron wordt vermeld bij de toegestane IP-adressen.

Voeg hier uw berichttekst toe

Hieronder ziet u een volledige lijst van de configuratie-opties die beschikbaar zijn in /etc/firezone/firezone.rb.



optie

beschrijving

standaardwaarde

standaard['firezone']['external_url']

URL die wordt gebruikt om toegang te krijgen tot de webportal van deze Firezone-instantie.

“https://#{node['fqdn'] || knooppunt['hostnaam']}”

standaard['firezone']['config_directory']

Directory op het hoogste niveau voor Firezone-configuratie.

/etc/vuurzone'

standaard['firezone']['install_directory']

Directory op het hoogste niveau om Firezone in te installeren.

/opt/vuurzone'

standaard['firezone']['app_directory']

Directory op het hoogste niveau om de Firezone-webtoepassing te installeren.

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

standaard['firezone']['log_directory']

Directory op het hoogste niveau voor Firezone-logboeken.

/var/log/firezone'

standaard['firezone']['var_directory']

Directory op het hoogste niveau voor Firezone-runtimebestanden.

/var/opt/brandzone'

standaard['firezone']['gebruiker']

Naam van niet-geprivilegieerde Linux-gebruiker waartoe de meeste services en bestanden behoren.

vuur zone'

standaard['firezone']['groep']

Naam van de Linux-groep waartoe de meeste services en bestanden behoren.

vuur zone'

standaard['firezone']['admin_email']

E-mailadres van de eerste Firezone-gebruiker.

“firezone@localhost”

standaard['firezone']['max_devices_per_user']

Maximaal aantal apparaten dat een gebruiker kan hebben.

10

standaard['firezone']['allow_unprivileged_device_management']

Hiermee kunnen gebruikers zonder beheerdersrechten apparaten maken en verwijderen.

TRUE

standaard['firezone']['allow_unprivileged_device_configuration']

Hiermee kunnen gebruikers zonder beheerdersrechten apparaatconfiguraties wijzigen. Indien uitgeschakeld, voorkomt dit dat onbevoegde gebruikers alle apparaatvelden kunnen wijzigen, behalve de naam en beschrijving.

TRUE

standaard['firezone']['egress_interface']

Interfacenaam waar getunneld verkeer wordt afgesloten. Indien nul, wordt de standaard route-interface gebruikt.

nul

standaard['firezone']['fips_enabled']

Schakel de OpenSSL FIPs-modus in of uit.

nul

standaard['firezone']['logging']['enabled']

Logboekregistratie in Firezone in- of uitschakelen. Stel in op false om logboekregistratie volledig uit te schakelen.

TRUE

standaard['onderneming']['naam']

Naam gebruikt in het kookboek 'Enterprise' van de chef.

vuur zone'

standaard['firezone']['install_path']

Installatiepad gebruikt door Chef 'enterprise' kookboek. Moet worden ingesteld op hetzelfde als de install_directory hierboven.

knooppunt['firezone']['install_directory']

standaard['firezone']['sysvinit_id']

Een identifier gebruikt in /etc/inittab. Moet een unieke reeks van 1-4 tekens zijn.

SUP'

standaard['firezone']['authenticatie']['local']['enabled']

Schakel lokale e-mail-/wachtwoordverificatie in of uit.

TRUE

standaard['firezone']['authenticatie']['auto_create_oidc_users']

Maak automatisch gebruikers aan die zich voor de eerste keer aanmelden vanuit OIDC. Uitschakelen om alleen bestaande gebruikers toe te staan ​​zich aan te melden via OIDC.

TRUE

standaard['firezone']['authenticatie']['disable_vpn_on_oidc_error']

Schakel de VPN van een gebruiker uit als er een fout wordt gedetecteerd bij het vernieuwen van het OIDC-token.

Juist

standaard['firezone']['authenticatie']['oidc']

OpenID Connect Connect-configuratie, in het formaat van {“provider” => [config…]} – Zie OpenIDConnect-documentatie voor configuratievoorbeelden.

{}

standaard['firezone']['nginx']['enabled']

Schakel de gebundelde nginx-server in of uit.

TRUE

standaard['firezone']['nginx']['ssl_port']

HTTPS-luisterpoort.

443

standaard['firezone']['nginx']['directory']

Directory om Firezone-gerelateerde nginx virtuele hostconfiguratie op te slaan.

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

standaard['firezone']['nginx']['log_directory']

Directory om Firezone-gerelateerde nginx-logbestanden op te slaan.

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

standaard['firezone']['nginx']['log_rotation']['file_maxbytes']

Bestandsgrootte waarop Nginx-logbestanden moeten worden geroteerd.

104857600

standaard['firezone']['nginx']['log_rotation']['num_to_keep']

Aantal Firezone nginx-logbestanden dat moet worden bewaard voordat het wordt weggegooid.

10

standaard['firezone']['nginx']['log_x_forwarded_for']

Of Firezone nginx x-forwarded-for header moet worden geregistreerd.

TRUE

standaard['firezone']['nginx']['hsts_header']['enabled']

In- of uitschakelen HSTS.

TRUE

standaard['firezone']['nginx']['hsts_header']['include_subdomains']

Schakel includeSubDomains voor de HSTS-header in of uit.

TRUE

standaard['firezone']['nginx']['hsts_header']['max_age']

Maximale leeftijd voor de HSTS-header.

31536000

standaard['firezone']['nginx']['redirect_to_canonical']

Of URL's moeten worden omgeleid naar de hierboven gespecificeerde canonieke FQDN

Juist

standaard['firezone']['nginx']['cache']['enabled']

Schakel de Firezone nginx-cache in of uit.

Juist

standaard['firezone']['nginx']['cache']['directory']

Directory voor Firezone nginx-cache.

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

standaard['firezone']['nginx']['gebruiker']

Firezone nginx-gebruiker.

knooppunt['firezone']['gebruiker']

standaard['firezone']['nginx']['groep']

Firezone nginx-groep.

knooppunt['firezone']['groep']

standaard['firezone']['nginx']['dir']

Nginx-configuratiedirectory op het hoogste niveau.

knooppunt['firezone']['nginx']['directory']

standaard['firezone']['nginx']['log_dir']

Nginx-logboekdirectory op het hoogste niveau.

knooppunt['firezone']['nginx']['log_directory']

standaard['firezone']['nginx']['pid']

Locatie voor nginx pid-bestand.

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

standaard['firezone']['nginx']['daemon_disable']

Schakel de nginx daemon-modus uit, zodat we deze in plaats daarvan kunnen monitoren.

TRUE

standaard['firezone']['nginx']['gzip']

Schakel nginx gzip-compressie in of uit.

Aan'

standaard['firezone']['nginx']['gzip_static']

Schakel nginx gzip-compressie in of uit voor statische bestanden.

uit'

standaard['firezone']['nginx']['gzip_http_version']

HTTP-versie om te gebruiken voor het serveren van statische bestanden.

1.0 '

standaard['firezone']['nginx']['gzip_comp_level']

nginx gzip-compressieniveau.

2 '

standaard['firezone']['nginx']['gzip_proxied']

Schakelt het gzippen van antwoorden voor verzoeken via een proxy in of uit, afhankelijk van het verzoek en het antwoord.

elk'

standaard['firezone']['nginx']['gzip_vary']

Schakelt het invoegen van de antwoordheader "Vary: Accept-Encoding" in of uit.

uit'

standaard['firezone']['nginx']['gzip_buffers']

Stelt het aantal en de grootte in van buffers die worden gebruikt om een ​​respons te comprimeren. Indien nul, wordt standaard nginx gebruikt.

nul

standaard['firezone']['nginx']['gzip_types']

MIME-typen waarvoor gzip-compressie moet worden ingeschakeld.

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

standaard['firezone']['nginx']['gzip_min_length']

Minimale bestandslengte om bestands-gzip-compressie in te schakelen.

1000

standaard['firezone']['nginx']['gzip_disable']

User-agent matcher om gzip-compressie voor uit te schakelen.

MSIE [1-6]\.'

standaard['firezone']['nginx']['keepalive']

Activeert cache voor verbinding met upstream-servers.

Aan'

standaard['firezone']['nginx']['keepalive_timeout']

Time-out in seconden voor keepalive-verbinding met upstream-servers.

65

standaard['firezone']['nginx']['worker_processes']

Aantal nginx-werkprocessen.

knooppunt['cpu'] && knooppunt['cpu']['totaal'] ? knooppunt['cpu']['totaal'] : 1

standaard['firezone']['nginx']['worker_connections']

Max. aantal gelijktijdige verbindingen dat kan worden geopend door een werkproces.

1024

standaard['firezone']['nginx']['worker_rlimit_nofile']

Wijzigt de limiet op het maximum aantal geopende bestanden voor werkprocessen. Gebruikt nginx standaard indien nul.

nul

standaard['firezone']['nginx']['multi_accept']

Of werknemers één of meerdere verbindingen per keer moeten accepteren.

TRUE

standaard['firezone']['nginx']['event']

Specificeert de verbindingsverwerkingsmethode die moet worden gebruikt binnen de context van nginx-gebeurtenissen.

epoll'

standaard['firezone']['nginx']['server_tokens']

Schakelt het uitzenden van de nginx-versie in of uit op foutpagina's en in het veld "Server"-antwoordkop.

nul

standaard['firezone']['nginx']['server_names_hash_bucket_size']

Stelt de bucketgrootte in voor de hashtabellen van de servernamen.

64

standaard['firezone']['nginx']['sendfile']

Schakelt het gebruik van nginx's sendfile() in of uit.

Aan'

standaard['firezone']['nginx']['access_log_options']

Stelt nginx-toegangslogboekopties in.

nul

standaard['firezone']['nginx']['error_log_options']

Stelt nginx-foutlogboekopties in.

nul

standaard['firezone']['nginx']['disable_access_log']

Schakelt het nginx-toegangslogboek uit.

Juist

standaard['firezone']['nginx']['types_hash_max_size']

nginx typt hash max. grootte.

2048

standaard['firezone']['nginx']['types_hash_bucket_size']

nginx typt de grootte van de hash-bucket.

64

standaard['firezone']['nginx']['proxy_read_timeout']

nginx proxy lezen time-out. Stel in op nul om nginx standaard te gebruiken.

nul

standaard['firezone']['nginx']['client_body_buffer_size']

Buffergrootte van de nginx-client. Stel in op nul om nginx standaard te gebruiken.

nul

standaard['firezone']['nginx']['client_max_body_size']

maximale lichaamsgrootte van de nginx-client.

250 m'

standaard['firezone']['nginx']['standaard']['modules']

Geef aanvullende nginx-modules op.

[]

standaard['firezone']['nginx']['enable_rate_limiting']

Schakel nginx-snelheidsbeperking in of uit.

TRUE

standaard['firezone']['nginx']['rate_limiting_zone_name']

Naam van de Nginx-snelheidsbeperkende zone.

vuur zone'

standaard['firezone']['nginx']['rate_limiting_backoff']

Nginx snelheidsbeperkende backoff.

10 m'

standaard['firezone']['nginx']['rate_limit']

Nginx-snelheidslimiet.

10r/s'

standaard['firezone']['nginx']['ipv6']

Sta nginx toe om te luisteren naar HTTP-verzoeken voor IPv6 naast IPv4.

TRUE

standaard['firezone']['postgresql']['enabled']

Gebundelde Postgresql in- of uitschakelen. Stel in op false en vul de onderstaande database-opties in om uw eigen Postgresql-instantie te gebruiken.

TRUE

standaard['firezone']['postgresql']['gebruikersnaam']

Gebruikersnaam voor Postgresql.

knooppunt['firezone']['gebruiker']

standaard['firezone']['postgresql']['data_directory']

Postgresql-gegevensmap.

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

standaard['firezone']['postgresql']['log_directory']

Postgresql-logbestand.

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

standaard['firezone']['postgresql']['log_rotation']['file_maxbytes']

Maximale grootte van postgresql-logbestand voordat het wordt geroteerd.

104857600

standaard['firezone']['postgresql']['log_rotation']['num_to_keep']

Aantal te bewaren Postgresql-logbestanden.

10

standaard['firezone']['postgresql']['checkpoint_completion_target']

Postgresql checkpoint voltooiingsdoel.

0.5

standaard['firezone']['postgresql']['checkpoint_segments']

Aantal Postgresql-controlepuntsegmenten.

3

standaard['firezone']['postgresql']['checkpoint_timeout']

Postgresql checkpoint time-out.

5 minuten'

standaard['firezone']['postgresql']['checkpoint_warning']

Postgresql checkpoint waarschuwingstijd in seconden.

jaren 30

standaard['firezone']['postgresql']['effectieve_cache_grootte']

Postgresql effectieve cachegrootte.

128 MB'

standaard['firezone']['postgresql']['listen_address']

Postgresql luisteradres.

127.0.0.1 '

standaard['firezone']['postgresql']['max_connections']

Postgresql max-verbindingen.

350

standaard['firezone']['postgresql']['md5_auth_cidr_addresses']

Postgresql CIDR's om md5-authenticatie mogelijk te maken.

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

standaard['firezone']['postgresql']['port']

Postgresql luisterpoort.

15432

standaard['firezone']['postgresql']['shared_buffers']

Postgresql gedeelde buffergrootte.

"#{(knooppunt['geheugen']['totaal'].to_i / 4) / 1024}MB"

standaard['firezone']['postgresql']['shmmax']

Postgresql shmmax in bytes.

17179869184

standaard['firezone']['postgresql']['shmal']

Postgresql klein in bytes.

4194304

standaard['firezone']['postgresql']['work_mem']

Postgresql-werkgeheugengrootte.

8 MB'

standaard['firezone']['database']['gebruiker']

Specificeert de gebruikersnaam die Firezone zal gebruiken om verbinding te maken met de database.

knooppunt['firezone']['postgresql']['gebruikersnaam']

standaard['firezone']['database']['wachtwoord']

Als u een externe database gebruikt, specificeert u het wachtwoord dat Firezone zal gebruiken om verbinding te maken met de database.

verander mij'

standaard['firezone']['database']['name']

Database die Firezone zal gebruiken. Wordt gemaakt als het niet bestaat.

vuur zone'

standaard['firezone']['database']['host']

Databasehost waarmee Firezone verbinding maakt.

knooppunt['firezone']['postgresql']['listen_address']

standaard['firezone']['database']['port']

Databasepoort waarmee Firezone verbinding maakt.

knooppunt['firezone']['postgresql']['port']

standaard['firezone']['database']['pool']

De grootte van de databasepool die Firezone zal gebruiken.

[10, enz.nprocessoren].max

standaard['firezone']['database']['ssl']

Of er verbinding moet worden gemaakt met de database via SSL.

Juist

standaard['firezone']['database']['ssl_opts']

Hash van opties om naar de optie :ssl_opts te sturen bij verbinding via SSL. Zien Ecto.Adapters.Postgres-documentatie.

{}

standaard['firezone']['database']['parameters']

Hash van parameters om te verzenden naar de optie :parameters bij verbinding met de database. Zien Ecto.Adapters.Postgres-documentatie.

{}

standaard['firezone']['database']['extensies']

Database-extensies om in te schakelen.

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

standaard['firezone']['phoenix']['enabled']

Schakel de Firezone-webtoepassing in of uit.

TRUE

standaard['firezone']['phoenix']['listen_address']

Luisteradres van de Firezone-webtoepassing. Dit wordt het stroomopwaartse luisteradres dat nginx-proxy's gebruikt.

127.0.0.1 '

standaard['firezone']['phoenix']['port']

Luisterpoort voor de Firezone-webtoepassing. Dit zal de stroomopwaartse poort zijn die nginx-proxy's gebruikt.

13000

standaard['firezone']['phoenix']['log_directory']

Firezone-logboekmap voor webapplicaties.

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

standaard['firezone']['phoenix']['log_rotation']['file_maxbytes']

Grootte van het logbestand van de Firezone-webtoepassing.

104857600

standaard['firezone']['phoenix']['log_rotation']['num_to_keep']

Aantal te bewaren Firezone-webtoepassingslogbestanden.

10

standaard['firezone']['phoenix']['crash_detection']['enabled']

Schakel het uitschakelen van de Firezone-webtoepassing in of uit wanneer een crash wordt gedetecteerd.

TRUE

standaard['firezone']['phoenix']['external_trusted_proxies']

Lijst met vertrouwde reverse proxy's die zijn geformatteerd als een array van IP's en/of CIDR's.

[]

standaard['firezone']['phoenix']['private_clients']

Lijst met HTTP-clients voor privénetwerken, geformatteerd als een array van IP's en/of CIDR's.

[]

standaard['firezone']['wireguard']['enabled']

Schakel gebundeld WireGuard-beheer in of uit.

TRUE

standaard['firezone']['wireguard']['log_directory']

Logboekmap voor gebundeld WireGuard-beheer.

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

standaard['firezone']['wireguard']['log_rotation']['file_maxbytes']

Maximale grootte WireGuard-logbestand.

104857600

standaard['firezone']['wireguard']['log_rotation']['num_to_keep']

Aantal te bewaren WireGuard-logbestanden.

10

standaard['firezone']['wireguard']['interface_name']

Naam van de WireGuard-interface. Als u deze parameter wijzigt, kan de VPN-verbinding tijdelijk worden verbroken.

wg-firezone'

standaard['firezone']['wireguard']['port']

WireGuard-luisterpoort.

51820

standaard['firezone']['wireguard']['mtu']

WireGuard-interface MTU voor deze server en voor apparaatconfiguraties.

1280

standaard['firezone']['wireguard']['endpoint']

WireGuard Endpoint om te gebruiken voor het genereren van apparaatconfiguraties. Indien nul, wordt standaard het openbare IP-adres van de server gebruikt.

nul

standaard['firezone']['wireguard']['dns']

WireGuard DNS om te gebruiken voor gegenereerde apparaatconfiguraties.

1.1.1.1, 1.0.0.1′

standaard['firezone']['wireguard']['allowed_ips']

WireGuard Toegestane IP's om te gebruiken voor gegenereerde apparaatconfiguraties.

0.0.0.0/0, ::/0′

standaard['firezone']['wireguard']['persistent_keepalive']

Standaard PersistentKeepalive-instelling voor gegenereerde apparaatconfiguraties. Een waarde van 0 schakelt uit.

0

standaard['firezone']['wireguard']['ipv4']['enabled']

IPv4 voor WireGuard-netwerk in- of uitschakelen.

TRUE

standaard['firezone']['wireguard']['ipv4']['masquerade']

Schakel maskerade in of uit voor pakketten die de IPv4-tunnel verlaten.

TRUE

standaard['firezone']['wireguard']['ipv4']['network']

WireGuard-netwerk IPv4-adrespool.

10.3.2.0/24 ′

standaard['firezone']['wireguard']['ipv4']['address']

WireGuard-interface IPv4-adres. Moet binnen de WireGuard-adresgroep vallen.

10.3.2.1 '

standaard['firezone']['wireguard']['ipv6']['enabled']

IPv6 voor WireGuard-netwerk in- of uitschakelen.

TRUE

standaard['firezone']['wireguard']['ipv6']['masquerade']

Schakel maskerade in of uit voor pakketten die de IPv6-tunnel verlaten.

TRUE

standaard['firezone']['wireguard']['ipv6']['network']

WireGuard-netwerk IPv6-adrespool.

fd00::3:2:0/120′

standaard['firezone']['wireguard']['ipv6']['address']

WireGuard-interface IPv6-adres. Moet binnen de IPv6-adresgroep vallen.

fd00::3:2:1′

standaard['firezone']['runit']['svlogd_bin']

Runit svlogd bin-locatie.

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

standaard['firezone']['ssl']['directory']

SSL-directory voor het opslaan van gegenereerde certificaten.

/var/opt/firezone/ssl'

standaard['firezone']['ssl']['email_address']

E-mailadres dat moet worden gebruikt voor zelfondertekende certificaten en kennisgevingen voor vernieuwing van het ACME-protocol.

jij@voorbeeld.com'

standaard['firezone']['ssl']['acme']['enabled']

Schakel ACME in voor automatische levering van SSL-certificaten. Schakel dit uit om te voorkomen dat Nginx luistert op poort 80. Zie hier voor meer instructies.

Juist

standaard['firezone']['ssl']['acme']['server']

ACME-server om te gebruiken voor de uitgifte/verlenging van certificaten. Kan elk zijn geldige acme.sh-server

letsencrypt

standaard['firezone']['ssl']['acme']['keylength']

Specificeer het sleuteltype en de lengte voor SSL-certificaten. Zien hier

ec-256

standaard['firezone']['ssl']['certificaat']

Pad naar het certificaatbestand voor uw FQDN. Negeert ACME-instelling hierboven indien opgegeven. Als zowel ACME als dit nul zijn, wordt een zelfondertekend certificaat gegenereerd.

nul

standaard['firezone']['ssl']['certificate_key']

Pad naar het certificaatbestand.

nul

standaard['firezone']['ssl']['ssl_dhparam']

nginx ssl dh_param.

nul

standaard['firezone']['ssl']['country_name']

Landnaam voor zelfondertekend certificaat.

ONS'

standaard['firezone']['ssl']['state_name']

Geef de naam op voor het zelfondertekende certificaat.

CA '

standaard['firezone']['ssl']['locality_name']

Plaatsnaam voor zelfondertekend certificaat.

San Fransisco'

standaard['firezone']['ssl']['company_name']

Bedrijfsnaam zelfondertekend certificaat.

Mijn bedrijf'

standaard['firezone']['ssl']['organizational_unit_name']

Naam organisatie-eenheid voor zelfondertekend certificaat.

Activiteiten'

standaard['firezone']['ssl']['ciphers']

SSL-cijfers voor gebruik door nginx.

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

standaard['firezone']['ssl']['fips_ciphers']

SSL-cijfers voor FIPs-modus.

FIPS@STRENGTH:!aNULL:!eNULL'

standaard['firezone']['ssl']['protocollen']

TLS-protocollen om te gebruiken.

TLSv1 TLSv1.1 TLSv1.2′

standaard['firezone']['ssl']['session_cache']

SSL-sessiecache.

gedeeld:SSL:4m'

standaard['firezone']['ssl']['session_timeout']

Time-out van SSL-sessie.

5 m'

standaard['firezone']['robots_allow']

nginx-robots toestaan.

/'

standaard['firezone']['robots_disallow']

nginx-robots niet toestaan.

nul

standaard['firezone']['outbound_email']['from']

Uitgaande e-mail van adres.

nul

standaard['firezone']['outbound_email']['provider']

Uitgaande e-mailserviceprovider.

nul

standaard['firezone']['outbound_email']['configs']

Configuraties van uitgaande e-mailproviders.

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

standaard['firezone']['telemetrie']['enabled']

Schakel geanonimiseerde producttelemetrie in of uit.

TRUE

standaard['firezone']['connectivity_checks']['enabled']

Schakel de service Firezone-connectiviteitscontroles in of uit.

TRUE

standaard['firezone']['connectivity_checks']['interval']

Interval tussen verbindingscontroles in seconden.

3_600



________________________________________________________________

 

Bestands- en maplocaties

 

Hier vindt u een lijst met bestanden en mappen die betrekking hebben op een typische Firezone-installatie. Deze kunnen veranderen afhankelijk van wijzigingen in uw configuratiebestand.



pad

beschrijving

/var/opt/firezone

Directory op het hoogste niveau met gegevens en gegenereerde configuratie voor gebundelde Firezone-services.

/opt/vuurzone

Directory op het hoogste niveau met ingebouwde bibliotheken, binaire bestanden en runtime-bestanden die Firezone nodig heeft.

/usr/bin/firezone-ctl

firezone-ctl hulpprogramma voor het beheren van uw Firezone-installatie.

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

systemd unit-bestand voor het starten van het Firezone runsvdir supervisorproces.

/etc/brandzone

Firezone-configuratiebestanden.



__________________________________________________________

 

Firewall-sjablonen

 

Deze pagina was leeg in documenten

 

_____________________________________________________________

 

Nftables Firewall-sjabloon

 

De volgende nftables-firewallsjabloon kan worden gebruikt om de server met Firezone te beveiligen. De sjabloon maakt wel enkele aannames; mogelijk moet u de regels aanpassen aan uw gebruikssituatie:

  • De WireGuard-interface heet wg-firezone. Als dit niet correct is, wijzigt u de variabele DEV_WIREGUARD zodat deze overeenkomt met de standaard ['firezone']['wireguard']['interface_name'] configuratie-optie.
  • De poort waarop WireGuard luistert is 51820. Als u de standaardpoort niet gebruikt, wijzigt u de variabele WIREGUARD_PORT.
  • Alleen het volgende inkomend verkeer wordt toegelaten tot de server:
    • SSH (TCP-poort 22)
    • HTTP (TCP-poort 80)
    • HTTPS (TCP-poort 443)
    • WireGuard (UDP-poort WIREGUARD_PORT)
    • UDP-traceroute (UDP-poort 33434-33524, snelheid beperkt tot 500/seconde)
    • ICMP en ICMPv6 (ping/ping responssnelheid beperkt tot 2000/seconde)
  • Alleen het volgende uitgaande verkeer is toegestaan ​​vanaf de server:
    • DNS (UDP en TCP-poort 53)
    • HTTP (TCP-poort 80)
    • NTP (UDP-poort 123)
    • HTTPS (TCP-poort 443)
    • SMTP-indiening (TCP-poort 587)
    • UDP-traceroute (UDP-poort 33434-33524, snelheid beperkt tot 500/seconde)
  • Ongeëvenaard verkeer wordt geregistreerd. De regels die worden gebruikt voor logboekregistratie zijn gescheiden van de regels om verkeer te laten vallen en zijn beperkt in snelheid. Het verwijderen van de relevante registratieregels heeft geen invloed op het verkeer.

Door Firezone beheerde regels

Firezone configureert zijn eigen nftables-regels om verkeer toe te staan/weigeren naar bestemmingen die zijn geconfigureerd in de webinterface en om uitgaand NAT voor clientverkeer te verwerken.

Het toepassen van de onderstaande firewallsjabloon op een reeds actieve server (niet tijdens het opstarten) zal ertoe leiden dat de Firezone-regels worden gewist. Dit kan gevolgen hebben voor de beveiliging.

Om dit te omzeilen, start u de phoenix-service opnieuw op:

firezone-ctl herstart phoenix

Basisfirewall-sjabloon

#!/usr/sbin/nft -f

 

## Wis/verwijder alle bestaande regels

regelset doorspoelen

 

################################ VARIABELEN ################# #################

## Naam internet/WAN-interface

definieer DEV_WAN = eth0

 

## WireGuard-interfacenaam

definieer DEV_WIREGUARD = wg-firezone

 

## WireGuard-luisterpoort

definieer WIREGUARD_PORT = 51820

################################# VARIABELLEN EINDE #################### #############

 

# Belangrijkste filtertabel voor inet-families

tabel inet filter {

 

 # Regels voor doorgestuurd verkeer

 # Deze keten wordt verwerkt vóór de Firezone-voorwaartse keten

 ketting vooruit {

   type filter haak voorwaarts prioriteitsfilter – 5; beleid accepteren

 }

 

 # Regels voor invoerverkeer

 kettingingang {

   type filter haak invoer prioriteitsfilter; beleidsdaling

 

   ## Sta inkomend verkeer naar loopback-interface toe

   iif lo \

     aanvaarden \

     commentaar "Sta al het verkeer toe vanuit de loopback-interface"

 

   ## Sta tot stand gebrachte en gerelateerde verbindingen toe

   ct staat vastgesteld,gerelateerd \

     aanvaarden \

     commentaar “Toestaan/aanverwante aansluitingen toestaan”

 

   ## Sta inkomend WireGuard-verkeer toe

   iif $DEV_WAN udp-bestand $WIREGUARD_PORT \

     balie \

     aanvaarden \

     commentaar "Inkomend WireGuard-verkeer toestaan"

 

   ## Nieuwe TCP-niet-SYN-pakketten registreren en neerzetten

   tcp vlaggen != syn ct staat nieuw \

     limiet tarief 100/minuut burst 150 pakketten \

     log-voorvoegsel “IN – Nieuw !SYN: “ \

     commentaar "Rate limit logging voor nieuwe verbindingen waarvoor de SYN TCP-vlag niet is ingesteld"

   tcp vlaggen != syn ct staat nieuw \

     balie \

     druppel \

     commentaar "Verwijder nieuwe verbindingen die niet de SYN TCP-vlag hebben ingesteld"

 

   ## Log en drop TCP-pakketten met ongeldige fin/syn-vlag ingesteld

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

     limiet tarief 100/minuut burst 150 pakketten \

     log-voorvoegsel “IN – TCP FIN|ZONDE: “ \

     commentaar "Rate limit logging voor TCP-pakketten met ongeldige fin/syn-vlag ingesteld"

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

     balie \

     druppel \

     commentaar "Laat TCP-pakketten vallen met ongeldige fin/syn-vlag ingesteld"

 

   ## Log en drop TCP-pakketten met ongeldige syn/eerste vlag ingesteld

   tcp-vlaggen & (syn|rst) == (syn|rst) \

     limiet tarief 100/minuut burst 150 pakketten \

     log-voorvoegsel “IN – TCP-SYN|RST: “ \

     commentaar "Rate limit logging voor TCP-pakketten met ongeldige syn/eerste vlag ingesteld"

   tcp-vlaggen & (syn|rst) == (syn|rst) \

     balie \

     druppel \

     commentaar "Laat TCP-pakketten vallen met ongeldige syn/eerste vlag ingesteld"

 

   ## Registreer en verwijder ongeldige TCP-vlaggen

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

     limiet tarief 100/minuut burst 150 pakketten \

     log-voorvoegsel "IN - FIN:" \

     commentaar "Rate limit logging for invalid TCP flags (fin|syn|rst|psh|ack|urg) < (fin)"

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

     balie \

     druppel \

     commentaar "Laat TCP-pakketten vallen met vlaggen (fin|syn|rst|psh|ack|urg) < (fin)"

 

   ## Registreer en verwijder ongeldige TCP-vlaggen

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

     limiet tarief 100/minuut burst 150 pakketten \

     log-voorvoegsel “IN – FIN|PSH|URG:” \

     commentaar "Logboekregistratie snelheidslimiet voor ongeldige TCP-vlaggen (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)"

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

     balie \

     druppel \

     commentaar "Laat TCP-pakketten vallen met vlaggen (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)"

 

   ## Stop verkeer met een ongeldige verbindingsstatus

   ct staat ongeldig \

     limiet tarief 100/minuut burst 150 pakketten \

     log markeert alle voorvoegsels “IN – Ongeldig: “ \

     commentaar "Tarieflimietregistratie voor verkeer met ongeldige verbindingsstatus"

   ct staat ongeldig \

     balie \

     druppel \

     commentaar "Laat verkeer met ongeldige verbindingsstatus vallen"

 

   ## Sta IPv4 ping/ping-antwoorden toe, maar beperk de snelheid tot 2000 PPS

   ip protocol icmp icmp type { echo-antwoord, echo-verzoek } \

     limiet tarief 2000/seconde \

     balie \

     aanvaarden \

     commentaar "Sta inkomende IPv4-echo (ping) toe beperkt tot 2000 PPS"

 

   ## Sta alle andere inkomende IPv4 ICMP toe

   ip protocol icmp \

     balie \

     aanvaarden \

     commentaar "Sta alle andere IPv4 ICMP toe"

 

   ## Sta IPv6 ping/ping-antwoorden toe, maar beperk de snelheid tot 2000 PPS

   icmpv6 type { echo-antwoord, echo-verzoek } \

     limiet tarief 2000/seconde \

     balie \

     aanvaarden \

     commentaar "Sta inkomende IPv6-echo (ping) toe beperkt tot 2000 PPS"

 

   ## Sta alle andere inkomende IPv6 ICMP toe

   meta l4proto { icmpv6 } \

     balie \

     aanvaarden \

     commentaar "Sta alle andere IPv6 ICMP toe"

 

   ## Sta inkomende traceroute UDP-poorten toe, maar beperk tot 500 PPS

   udp-bestand 33434-33524 \

     limiet tarief 500/seconde \

     balie \

     aanvaarden \

     commentaar "Toestaan ​​inkomende UDP-traceroute beperkt tot 500 PPS"

 

   ## Sta inkomende SSH toe

   tcp-poort ssh ct staat nieuw \

     balie \

     aanvaarden \

     commentaar “Sta inkomende SSH-verbindingen toe”

 

   ## Sta inkomende HTTP en HTTPS toe

   tcp dport { http, https } ct staat nieuw \

     balie \

     aanvaarden \

     commentaar "Sta inkomende HTTP- en HTTPS-verbindingen toe"

 

   ## Registreer ongeëvenaard verkeer, maar beperk het loggen tot een maximum van 60 berichten/minuut

   ## Het standaardbeleid wordt toegepast op niet-overeenkomend verkeer

   limiet tarief 60/minuut burst 100 pakketten \

     log-voorvoegsel “IN – Laten vallen: “ \

     commentaar "Log ongeëvenaard verkeer in"

 

   ## Tel het ongeëvenaarde verkeer

   balie \

     commentaar "Tel al het ongeëvenaarde verkeer"

 }

 

 # Regels voor uitgaand verkeer

 kettinguitgang {

   type filter haak uitvoer prioriteitsfilter; beleidsdaling

 

   ## Sta uitgaand verkeer naar loopback-interface toe

   oif lo \

     aanvaarden \

     commentaar "Sta al het verkeer toe naar de loopback-interface"

 

   ## Sta tot stand gebrachte en gerelateerde verbindingen toe

   ct staat vastgesteld,gerelateerd \

     balie \

     aanvaarden \

     commentaar “Toestaan/aanverwante aansluitingen toestaan”

 

   ## Sta uitgaand WireGuard-verkeer toe voordat u verbindingen met een slechte status verbreekt

   oif $DEV_WAN udp sport $WIREGUARD_PORT \

     balie \

     aanvaarden \

     commentaar "WireGuard uitgaand verkeer toestaan"

 

   ## Stop verkeer met een ongeldige verbindingsstatus

   ct staat ongeldig \

     limiet tarief 100/minuut burst 150 pakketten \

     log markeert alle voorvoegsels “UIT – Ongeldig: “ \

     commentaar "Tarieflimietregistratie voor verkeer met ongeldige verbindingsstatus"

   ct staat ongeldig \

     balie \

     druppel \

     commentaar "Laat verkeer met ongeldige verbindingsstatus vallen"

 

   ## Sta alle andere uitgaande IPv4 ICMP toe

   ip protocol icmp \

     balie \

     aanvaarden \

     commentaar "Alle IPv4 ICMP-typen toestaan"

 

   ## Sta alle andere uitgaande IPv6 ICMP toe

   meta l4proto { icmpv6 } \

     balie \

     aanvaarden \

     commentaar "Alle IPv6 ICMP-typen toestaan"

 

   ## Sta uitgaande traceroute UDP-poorten toe, maar beperk tot 500 PPS

   udp-bestand 33434-33524 \

     limiet tarief 500/seconde \

     balie \

     aanvaarden \

     commentaar "Uitgaande UDP-traceroute toestaan ​​beperkt tot 500 PPS"

 

   ## Sta uitgaande HTTP- en HTTPS-verbindingen toe

   tcp dport { http, https } ct staat nieuw \

     balie \

     aanvaarden \

     commentaar "Sta uitgaande HTTP- en HTTPS-verbindingen toe"

 

   ## Sta uitgaande SMTP-indiening toe

   tcp dport indiening ct staat nieuw \

     balie \

     aanvaarden \

     commentaar "Uitgaande SMTP-indiening toestaan"

 

   ## Sta uitgaande DNS-verzoeken toe

   udp-bestand 53 \

     balie \

     aanvaarden \

     commentaar "Uitgaande UDP DNS-verzoeken toestaan"

   tcp-poort 53 \

     balie \

     aanvaarden \

     commentaar "Uitgaande TCP DNS-verzoeken toestaan"

 

   ## Sta uitgaande NTP-verzoeken toe

   udp-bestand 123 \

     balie \

     aanvaarden \

     commentaar "Uitgaande NTP-verzoeken toestaan"

 

   ## Registreer ongeëvenaard verkeer, maar beperk het loggen tot een maximum van 60 berichten/minuut

   ## Het standaardbeleid wordt toegepast op niet-overeenkomend verkeer

   limiet tarief 60/minuut burst 100 pakketten \

     log-voorvoegsel “UIT – Drop: “ \

     commentaar "Log ongeëvenaard verkeer in"

 

   ## Tel het ongeëvenaarde verkeer

   balie \

     commentaar "Tel al het ongeëvenaarde verkeer"

 }

 

}

 

# Belangrijkste NAT-filtertabel

tabel inet nat {

 

 # Regels voor pre-routing van NAT-verkeer

 keten voorbewerken {

   type nat hook prerouting prioriteit dstnat; beleid accepteren

 }

 

 # Regels voor NAT-verkeer na routering

 # Deze tabel wordt verwerkt vóór de Firezone post-routing-keten

 keten postrouting {

   type nat hook postrouting prioriteit srcnat – 5; beleid accepteren

 }

 

}

Gebruik

De firewall moet worden opgeslagen op de relevante locatie voor de draaiende Linux-distributie. Voor Debian/Ubuntu is dit /etc/nftables.conf en voor RHEL is dit /etc/sysconfig/nftables.conf.

nftables.service moet worden geconfigureerd om te starten bij het opstarten (indien nog niet ingesteld):

systemctl schakelt nftables.service in

Als u wijzigingen aanbrengt in de firewallsjabloon, kan de syntaxis worden gevalideerd door de opdracht check uit te voeren:

nft -f /pad/naar/nftables.conf -c

Controleer of de firewall werkt zoals verwacht, aangezien bepaalde nftables-functies mogelijk niet beschikbaar zijn, afhankelijk van de release die op de server draait.



_______________________________________________________________



Telemetrie

 

Dit document geeft een overzicht van de telemetrie die Firezone verzamelt van uw zelfgehoste instantie en hoe u deze kunt uitschakelen.

Waarom Firezone telemetrie verzamelt

Vuur zone beroept op telemetrie om prioriteit te geven aan onze roadmap en de technische middelen die we hebben te optimaliseren om Firezone beter te maken voor iedereen.

De telemetrie die we verzamelen, heeft tot doel de volgende vragen te beantwoorden:

  • Hoeveel mensen installeren, gebruiken en stoppen met het gebruik van Firezone?
  • Welke functies zijn het meest waardevol en welke zien geen nut?
  • Welke functionaliteit behoeft de meeste verbetering?
  • Als er iets kapot gaat, waarom is het dan kapot gegaan en hoe kunnen we voorkomen dat het in de toekomst gebeurt?

Hoe we telemetrie verzamelen

Er zijn drie belangrijke plaatsen waar telemetrie wordt verzameld in Firezone:

  1. Pakket telemetrie. Omvat gebeurtenissen zoals installeren, verwijderen en upgraden.
  2. CLI-telemetrie van firezone-ctl-opdrachten.
  3. Producttelemetrie gekoppeld aan de webportal.

In elk van deze drie contexten leggen we de minimale hoeveelheid gegevens vast die nodig is om de vragen in het bovenstaande gedeelte te beantwoorden.

E-mails van beheerders worden alleen verzameld als u zich expliciet aanmeldt voor productupdates. Anders is persoonlijk identificeerbare informatie nooit verzameld.

Firezone slaat telemetrie op in een zelfgehoste instantie van PostHog die wordt uitgevoerd in een privé Kubernetes-cluster, alleen toegankelijk voor het Firezone-team. Hier is een voorbeeld van een telemetriegebeurtenis die wordt verzonden vanaf uw instantie van Firezone naar onze telemetrieserver:

{

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

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

   "evenement": "fz_http_started",

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

   "eigenschappen": {

       “$geoip_city_name”: "Asbrand",

       “$geoip_continent_code”: "NA",

       “$geoip_continent_naam”: "Noord Amerika",

       “$geoip_country_code”: "ONS",

       “$geoip_country_name”: "Verenigde Staten",

       “$geoip_latitude”: 39.0469,

       “$geoip_lengtegraad”: -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_geslaagd”[

           “GeoIP (3)”

       ],

       "verschillende_id": “1zc2e794-1c3e-43fc-a78f-1db6d1a37f54”,

       "fqdn": "awsdemo.firezone.dev",

       "kernel_versie": "linux 5.13.0",

       "versie": "0.4.6"

   },

   "elements_chain": ""

}

Telemetrie uitschakelen

NOTITIE

Het Firezone-ontwikkelingsteam beroept over productanalyse om Firezone beter te maken voor iedereen. Telemetrie ingeschakeld laten is de meest waardevolle bijdrage die u kunt leveren aan de ontwikkeling van Firezone. Dat gezegd hebbende, begrijpen we dat sommige gebruikers hogere privacy- of beveiligingsvereisten hebben en telemetrie liever helemaal uitschakelen. Als jij dat bent, blijf dan lezen.

Telemetrie is standaard ingeschakeld. Om producttelemetrie volledig uit te schakelen, stelt u de volgende configuratieoptie in op false in /etc/firezone/firezone.rb en voert u sudo firezone-ctl reconfigure uit om de wijzigingen op te halen.

standaard['vuur zone']['telemetrie']['ingeschakeld'] = vals

Dat zal alle producttelemetrie volledig uitschakelen.