Hailbytes VPN z dokumentacijo požarnega zidu Firezone

Kazalo

Odkrij več

Navodila po korakih za uvajanje Hailbytes VPN z grafičnim vmesnikom Firezone so na voljo tukaj. 

Skrbnik: nastavitev primerka strežnika je neposredno povezana s tem delom.

Uporabniški priročniki: koristni dokumenti, ki vas lahko naučijo, kako uporabljati Firezone in reševati tipične težave. Ko je strežnik uspešno nameščen, si oglejte ta razdelek.

Vodniki za običajne konfiguracije

Razdeljeno tuneliranje: uporabite VPN samo za pošiljanje prometa na določena območja IP.

Seznam dovoljenih: Nastavite statični naslov IP strežnika VPN, če želite uporabiti seznam dovoljenih.

Povratni tuneli: ustvarite predore med več enakovrednimi napravami z uporabo povratnih predorov.

Pridobite podporo

Z veseljem vam pomagamo, če potrebujete pomoč pri namestitvi, prilagajanju ali uporabi Hailbytes VPN.

Preverjanje pristnosti

Preden lahko uporabniki ustvarijo ali prenesejo konfiguracijske datoteke naprave, je mogoče Firezone konfigurirati tako, da zahteva preverjanje pristnosti. Uporabniki bodo morda morali tudi občasno znova preverjati pristnost, da ohranijo svojo povezavo VPN aktivno.

Čeprav je privzeti način prijave Firezone lokalni e-poštni naslov in geslo, ga je mogoče integrirati tudi s katerim koli standardiziranim ponudnikom identitete OpenID Connect (OIDC). Uporabniki se zdaj lahko prijavijo v Firezone s svojimi poverilnicami Okta, Google, Azure AD ali ponudnika zasebnih identitet.

 

Integrirajte generičnega ponudnika OIDC

Konfiguracijski parametri, ki jih Firezone potrebuje za omogočanje SSO z uporabo ponudnika OIDC, so prikazani v spodnjem primeru. Na /etc/firezone/firezone.rb boste morda našli konfiguracijsko datoteko. Zaženite firezone-ctl reconfigure in firezone-ctl restart, da posodobite aplikacijo in začnete veljati spremembe.

 

# To je primer uporabe Googla in Okte kot ponudnika identitete SSO.

# Več konfiguracij OIDC je mogoče dodati istemu primerku Firezone.

 

# Firezone lahko onemogoči uporabnikov VPN, če je pri poskusu odkrita kakršna koli napaka

# za osvežitev njihovega access_token. Preverjeno deluje za Google, Okta in

# Azure SSO in se uporablja za samodejno prekinitev povezave z VPN uporabnika, če je odstranjen

# od ponudnika OIDC. Pustite to onemogočeno, če je vaš ponudnik OIDC

# ima težave z osveževanjem žetonov za dostop, saj lahko nepričakovano prekine a

# seja VPN uporabnika.

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

 

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

  google: {

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

    client_id: “ «,

    client_secret: “ «,

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

    response_type: “koda”,

    obseg: "odprt e-poštni profil",

    oznaka: "Google"

  },

  okta: {

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

    client_id: “ «,

    client_secret: “ «,

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

    response_type: “koda”,

    obseg: “odprti e-poštni profil offline_access”,

    oznaka: “Okta”

  }

}



Za integracijo so potrebne naslednje nastavitve konfiguracije:

  1. discovery_document_uri: The URI konfiguracije ponudnika OpenID Connect ki temu ponudniku OIDC vrne dokument JSON, uporabljen za izdelavo nadaljnjih zahtev.
  2. client_id: ID odjemalca aplikacije.
  3. client_secret: skrivnost odjemalca aplikacije.
  4. redirect_uri: ponudniku OIDC naroči, kam naj preusmeri po preverjanju pristnosti. To bi moral biti vaš Firezone EXTERNAL_URL + /auth/oidc/ /povratni klic/ (npr. https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Nastavi na kodo.
  6. obseg: Obseg OIDC pridobite pri svojem ponudniku OIDC. To mora biti nastavljeno na openid email profile ali openid email profile offline_access, odvisno od ponudnika.
  7. oznaka: besedilo oznake gumba, ki se prikaže na vašem prijavnem zaslonu v Firezone.

Lepi URL-ji

Za vsakega ponudnika OIDC je ustvarjen ustrezen lep URL za preusmeritev na URL za prijavo konfiguriranega ponudnika. Za zgornji primer konfiguracije OIDC so URL-ji:

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

Navodila za namestitev Firezone s priljubljenimi ponudniki identitet

Ponudniki, za katere imamo dokumentacijo:

  • google
  • Okta
  • Azurni Active Directory
  • Onelogin
  • Lokalno preverjanje pristnosti

 

Če ima vaš ponudnik identitete generični priključek OIDC in ni naveden zgoraj, pojdite v njegovo dokumentacijo za informacije o tem, kako pridobiti potrebne konfiguracijske nastavitve.

Ohranjajte redno ponovno avtentikacijo

Nastavitev pod nastavitvami/varnostjo lahko spremenite tako, da zahteva redno ponovno preverjanje pristnosti. To se lahko uporabi za uveljavitev zahteve, da uporabniki redno vstopijo v Firezone, da lahko nadaljujejo sejo VPN.

Dolžino seje lahko konfigurirate med eno uro in devetdesetimi dnevi. Če to nastavite na Nikoli, lahko kadar koli omogočite seje VPN. To je standard.

Ponovno preverjanje pristnosti

Uporabnik mora prekiniti svojo sejo VPN in se prijaviti na portal Firezone, da ponovno preveri pristnost potekle seje VPN (URL, določen med uvedbo).

Svojo sejo lahko znova preverite tako, da sledite natančnim navodilom odjemalca, ki jih najdete tukaj.

 

Stanje povezave VPN

Stolpec tabele povezav VPN na strani Uporabniki prikazuje stanje povezave uporabnika. To so stanja povezave:

ENABLED – povezava je omogočena.

ONEMOGOČENO – Povezavo je onemogočil skrbnik ali napaka pri osveževanju OIDC.

POTEKLO – Povezava je onemogočena zaradi poteka avtentikacije ali pa se uporabnik ni prijavil prvič.

google

Prek splošnega priključka OIDC Firezone omogoča enotno prijavo (SSO) z Google Workspace in Cloud Identity. Ta vodnik vam bo pokazal, kako pridobiti konfiguracijske parametre, navedene spodaj, ki so potrebni za integracijo:

  1. discovery_document_uri: The URI konfiguracije ponudnika OpenID Connect ki temu ponudniku OIDC vrne dokument JSON, uporabljen za izdelavo nadaljnjih zahtev.
  2. client_id: ID odjemalca aplikacije.
  3. client_secret: skrivnost odjemalca aplikacije.
  4. redirect_uri: ponudniku OIDC naroči, kam naj preusmeri po preverjanju pristnosti. To bi moral biti vaš Firezone EXTERNAL_URL + /auth/oidc/ /povratni klic/ (npr. https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Nastavi na kodo.
  6. obseg: Obseg OIDC pridobite pri svojem ponudniku OIDC. To mora biti nastavljeno na odprti e-poštni profil, da Firezone v vrnjenih zahtevkih zagotovi e-poštni naslov uporabnika.
  7. oznaka: besedilo oznake gumba, ki se prikaže na vašem prijavnem zaslonu v Firezone.

Pridobite nastavitve konfiguracije

1. Konfiguracijski zaslon OAuth​,war

Če prvič ustvarjate nov ID odjemalca OAuth, boste pozvani, da konfigurirate zaslon za soglasje.

*Za vrsto uporabnika izberite Notranji. To zagotavlja, da lahko samo računi, ki pripadajo uporabnikom v vaši organizaciji Google Workspace, ustvarjajo konfiguracije naprave. NE izberite Zunanji, razen če želite omogočiti vsakomur z veljavnim Google Računom ustvarjanje konfiguracij naprave.

 

Na zaslonu z informacijami o aplikaciji:

  1. Ime aplikacije: Firezone
  2. Logotip aplikacije: Logotip Firezone (shrani povezavo kot).
  3. Domača stran aplikacije: URL vaše instance Firezone.
  4. Pooblaščene domene: domena najvišje ravni vaše instance Firezone.

 

 

2. Ustvarite ID-je odjemalca OAuth​,war

Ta razdelek temelji na Googlovi lastni dokumentaciji o nastavitev OAuth 2.0.

Obiščite Google Cloud Console Stran s poverilnicami kliknite + Ustvari poverilnice in izberite ID odjemalca OAuth.

Na zaslonu za ustvarjanje ID-ja odjemalca OAuth:

  1. Nastavite vrsto aplikacije na Spletna aplikacija
  2. Dodajte svoj Firezone EXTERNAL_URL + /auth/oidc/google/callback/ (npr. https://instance-id.yourfirezone.com/auth/oidc/google/callback/) kot vnos v pooblaščene URI-je za preusmeritev.

 

Ko ustvarite ID odjemalca OAuth, boste prejeli ID odjemalca in skrivnost odjemalca. Ti bodo uporabljeni skupaj z URI preusmeritve v naslednjem koraku.

Integracija Firezone

Uredi /etc/firezone/firezone.rb da vključite spodnje možnosti:

 

# Uporaba Googla kot ponudnika identitete SSO

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

  google: {

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

    client_id: “ «,

    client_secret: “ «,

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

    response_type: “koda”,

    obseg: "odprt e-poštni profil",

    oznaka: "Google"

  }

}

 

Zaženite firezone-ctl reconfigure in firezone-ctl restart, da posodobite aplikacijo. Zdaj bi morali videti gumb Prijava z Googlom na korenskem URL-ju Firezone.

Okta

Firezone uporablja generični priključek OIDC za olajšanje enotne prijave (SSO) z Okto. Ta vadnica vam bo pokazala, kako pridobiti konfiguracijske parametre, navedene spodaj, ki so potrebni za integracijo:

  1. discovery_document_uri: The URI konfiguracije ponudnika OpenID Connect ki temu ponudniku OIDC vrne dokument JSON, uporabljen za izdelavo nadaljnjih zahtev.
  2. client_id: ID odjemalca aplikacije.
  3. client_secret: skrivnost odjemalca aplikacije.
  4. redirect_uri: ponudniku OIDC naroči, kam naj preusmeri po preverjanju pristnosti. To bi moral biti vaš Firezone EXTERNAL_URL + /auth/oidc/ /povratni klic/ (npr. https://instance-id.yourfirezone.com/auth/oidc/okta/callback/).
  5. response_type: Nastavi na kodo.
  6. obseg: Obseg OIDC pridobite pri svojem ponudniku OIDC. To bi moralo biti nastavljeno na openid email profile offline_access, da bi Firezone zagotovili uporabnikov e-poštni naslov v vrnjenih zahtevkih.
  7. oznaka: besedilo oznake gumba, ki se prikaže na vašem prijavnem zaslonu v Firezone.

 

Integrirajte aplikacijo Okta

Ta del vodnika temelji na Oktina dokumentacija.

V skrbniški konzoli pojdite na Aplikacije > Aplikacije in kliknite Ustvari integracijo aplikacije. Nastavite način prijave na OICD – OpenID Connect in vrsto aplikacije na spletno aplikacijo.

Konfigurirajte te nastavitve:

  1. Ime aplikacije: Firezone
  2. Logotip aplikacije: Logotip Firezone (shrani povezavo kot).
  3. Vrsta dodelitve: potrdite polje Osveži žeton. To zagotavlja, da se Firezone sinhronizira s ponudnikom identitete in da se dostop VPN prekine, ko je uporabnik odstranjen.
  4. URI-ji za preusmeritev pri prijavi: dodajte svoj EXTERNAL_URL + /auth/oidc/okta/callback/ (npr. https://instance-id.yourfirezone.com/auth/oidc/okta/callback/) kot vnos v URI-je za pooblaščene preusmeritve .
  5. Dodelitve: omejite na skupine, ki jim želite omogočiti dostop do vaše instance Firezone.

Ko so nastavitve shranjene, boste prejeli ID stranke, skrivnost stranke in domeno Okta. Te 3 vrednosti bodo uporabljene v 2. koraku za konfiguracijo Firezone.

Integrirajte Firezone

Uredi /etc/firezone/firezone.rb da vključite spodnje možnosti. Vaš odkriti_dokument_url bo /.well-known/openid-configuration pripeto na konec vašega okta_domain.

 

# Uporaba Okte kot ponudnika identitete SSO

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

  okta: {

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

    client_id: “ «,

    client_secret: “ «,

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

    response_type: “koda”,

    obseg: “odprti e-poštni profil offline_access”,

    oznaka: “Okta”

  }

}

 

Zaženite firezone-ctl reconfigure in firezone-ctl restart, da posodobite aplikacijo. Zdaj bi morali videti gumb Prijava z Okta na korenskem URL-ju Firezone.

 

Omejite dostop na določene uporabnike

Uporabnike, ki lahko dostopajo do aplikacije Firezone, lahko Okta omeji. Pojdite na stran z dodelitvami integracije aplikacije Firezone v skrbniški konzoli Okta, da to dosežete.

Azurni Active Directory

Prek generičnega priključka OIDC Firezone omogoča enotno prijavo (SSO) z Azure Active Directory. Ta priročnik vam bo pokazal, kako pridobiti konfiguracijske parametre, navedene spodaj, ki so potrebni za integracijo:

  1. discovery_document_uri: The URI konfiguracije ponudnika OpenID Connect ki temu ponudniku OIDC vrne dokument JSON, uporabljen za izdelavo nadaljnjih zahtev.
  2. client_id: ID odjemalca aplikacije.
  3. client_secret: skrivnost odjemalca aplikacije.
  4. redirect_uri: ponudniku OIDC naroči, kam naj preusmeri po preverjanju pristnosti. To bi moral biti vaš Firezone EXTERNAL_URL + /auth/oidc/ /povratni klic/ (npr. https://instance-id.yourfirezone.com/auth/oidc/azure/callback/).
  5. response_type: Nastavi na kodo.
  6. obseg: Obseg OIDC pridobite pri svojem ponudniku OIDC. To bi moralo biti nastavljeno na openid email profile offline_access, da bi Firezone zagotovili uporabnikov e-poštni naslov v vrnjenih zahtevkih.
  7. oznaka: besedilo oznake gumba, ki se prikaže na vašem prijavnem zaslonu v Firezone.

Pridobite nastavitve konfiguracije

Ta vodnik je vzet iz Dokumenti Azure Active Directory.

 

Pojdite na stran Azure Active Directory portala Azure. Izberite možnost menija Upravljanje, izberite Nova registracija in se nato registrirajte tako, da vnesete spodnje podatke:

  1. Ime: Firezone
  2. Podprte vrste računov: (samo privzeti imenik – en najemnik)
  3. Preusmeritveni URI: To bi moral biti vaš EXTERNAL_URL firezone + /auth/oidc/azure/callback/ (npr. https://instance-id.yourfirezone.com/auth/oidc/azure/callback/). Prepričajte se, da ste vključili poševnico na koncu. To bo vrednost redirect_uri.

 

Po registraciji odprite pogled podrobnosti aplikacije in kopirajte ID aplikacije (odjemalca).. To bo vrednost client_id. Nato odprite meni končnih točk, da pridobite Dokument z metapodatki OpenID Connect. To bo vrednost discovery_document_uri.

 

Ustvarite novo skrivnost odjemalca tako, da v meniju Upravljanje kliknete možnost Potrdila in skrivnosti. Kopirajte skrivnost odjemalca; skrivna vrednost odjemalca bo to.

 

Na koncu izberite povezavo dovoljenj API-ja v meniju Upravljanje, kliknite Dodajte dovoljenjein izberite Microsoft Graph, Dodaj E-naslov, openid, dostop brez povezave in profil do zahtevanih dovoljenj.

Integracija Firezone

Uredi /etc/firezone/firezone.rb da vključite spodnje možnosti:

 

# Uporaba Azure Active Directory kot ponudnika identitete SSO

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

  azurno: {

    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: “koda”,

    obseg: “odprti e-poštni profil offline_access”,

    oznaka: "Azure"

  }

}

 

Zaženite firezone-ctl reconfigure in firezone-ctl restart, da posodobite aplikacijo. Zdaj bi morali videti gumb Prijava z Azure na korenskem URL-ju Firezone.

Kako: omejiti dostop na določene člane

Azure AD omogoča skrbnikom, da omejijo dostop do aplikacije na določeno skupino uporabnikov v vašem podjetju. Več informacij o tem, kako to storite, najdete v Microsoftovi dokumentaciji.

Upravljajte

  • Konfiguracija
  • Upravljanje namestitve
  • nadgradnja
  • Odpravljanje težav
  • Varnostni premisleki
  • Izvajanje poizvedb SQL

Konfiguracija

Firezone uporablja Chef Omnibus za upravljanje nalog, vključno s pakiranjem za sprostitev, nadzorovanjem procesov, upravljanjem dnevnikov in več.

Koda Ruby sestavlja primarno konfiguracijsko datoteko, ki se nahaja na /etc/firezone/firezone.rb. Ponovni zagon sudo firezone-ctl reconfigure po spremembi te datoteke povzroči, da Chef prepozna spremembe in jih uporabi v trenutnem operacijskem sistemu.

Za celoten seznam konfiguracijskih spremenljivk in njihovih opisov glejte referenco konfiguracijske datoteke.

Upravljanje namestitve

Svojo instanco Firezone lahko upravljate prek firezone-ctl ukaz, kot je prikazano spodaj. Večina podukazov zahteva predpono z sudo.

 

root@demo:~# firezone-ctl

omnibus-ctl: ukaz (podukaz)

Splošni ukazi:

  osvoboditi

    Izbrišite *vse* podatke firezone in začnite od začetka.

  create-or-reset-admin

    Ponastavi geslo za skrbnika s privzeto določenim e-poštnim naslovom ['firezone']['admin_email'] ali ustvari novega skrbnika, če ta e-poštni naslov ne obstaja.

  pomoč

    Natisnite to sporočilo pomoči.

  rekonfiguracija

    Ponovno konfigurirajte aplikacijo.

  ponastavitev omrežja

    Ponastavi nftables, vmesnik WireGuard in usmerjevalno tabelo nazaj na privzete nastavitve Firezone.

  show-config

    Pokažite konfiguracijo, ki bi bila ustvarjena z reconfigure.

  teardown-omrežje

    Odstrani vmesnik WireGuard in tabelo nftables firezone.

  force-cert-renewal

    Vsili obnovitev potrdila zdaj, tudi če še ni poteklo.

  stop-cert-obnova

    Odstrani cronjob, ki obnavlja potrdila.

  odstrani

    Ubijte vse procese in odstranite nadzornika procesov (podatki bodo ohranjeni).

  različica

    Prikaži trenutno različico Firezone

Ukazi za upravljanje storitve:

  graceful-kill

    Poskusite elegantno ustaviti, nato SIGKILL celotno procesno skupino.

  hup

    Storitvam pošljite HUP.

  int

    Storitvam pošljite INT.

  ubiti

    Pošljite storitve KILL.

  enkrat

    Zaženite storitve, če ne delujejo. Ne zaženite jih znova, če se ustavijo.

  restart

    Ustavite storitve, če se izvajajo, nato pa jih znova zaženite.

  servisni seznam

    Seznam vseh storitev (omogočene storitve so prikazane z *.)

  Začetek

    Zaženite storitve, če ne delujejo, in jih znova zaženite, če se ustavijo.

  Status

    Prikaži stanje vseh storitev.

  stop

    Zaustavite storitve in jih ne zaganjajte znova.

  rep

    Oglejte si dnevnike storitev vseh omogočenih storitev.

  Izraz

    Storitvam pošljite POGOJ.

  usr1

    Storitvam pošljite USR1.

  usr2

    Storitvam pošljite USR2.

nadgradnja

Vse seje VPN je treba prekiniti pred nadgradnjo Firezone, ki zahteva tudi zaustavitev spletnega uporabniškega vmesnika. V primeru, da gre med nadgradnjo kaj narobe, svetujemo, da si vzamete eno uro za vzdrževanje.

 

Če želite izboljšati Firezone, naredite naslednje:

  1. Nadgradite paket firezone z namestitvijo z enim ukazom: sudo -E bash -c “$(curl -fsSL https://github.com/firezone/firezone/raw/master/scripts/install.sh)”
  2. Zaženite firezone-ctl reconfigure, da prevzamete nove spremembe.
  3. Za ponovni zagon storitev zaženite firezone-ctl restart.

Če pride do težav, nas obvestite do oddaja vozovnice za podporo.

Nadgradnja z <0.5.0 na >=0.5.0

V 0.5.0 je nekaj zlomljivih sprememb in konfiguracijskih modifikacij, ki jih je treba obravnavati. Več o tem spodaj.

Odstranjene zahteve Nginx non_ssl_port (HTTP) v svežnju

Nginx od različice 0.5.0 naprej ne podpira več parametrov force SSL in non-SSL port. Ker Firezone za delovanje potrebuje SSL, svetujemo, da odstranite storitev paketa Nginx tako, da nastavite privzeto ['firezone']['nginx']['enabled'] = false in namesto tega usmerite povratni proxy v aplikacijo Phoenix na vrata 13000 (privzeto ).

Podpora za protokol ACME

0.5.0 uvaja podporo za protokol ACME za samodejno obnavljanje potrdil SSL s priloženo storitvijo Nginx. Omogočiti,

  • Prepričajte se, da default['firezone']['external_url'] vsebuje veljaven FQDN, ki se razreši v javni naslov IP vašega strežnika.
  • Zagotovite, da so vrata 80/tcp dosegljiva
  • Omogočite podporo za protokol ACME z default['firezone']['ssl']['acme']['enabled'] = true v vaši konfiguracijski datoteki.

Prekrivajoči se cilji izstopnega pravila

V Firezone 0.5.0 ni več možnosti dodajanja pravil s podvojenimi cilji. Naš selitveni skript bo med nadgradnjo na 0.5.0 samodejno prepoznal te situacije in obdržal samo pravila, katerih cilj vključuje drugo pravilo. Če je to v redu, vam ni treba storiti ničesar.

V nasprotnem primeru vam svetujemo, da pred nadgradnjo spremenite svoj nabor pravil, da se znebite teh situacij.

Vnaprejšnja konfiguracija Okta in Google SSO

Firezone 0.5.0 odstrani podporo za staro konfiguracijo Okta in Google SSO v korist nove, bolj prilagodljive konfiguracije, ki temelji na OIDC. 

Če imate kakršno koli konfiguracijo pod privzetimi ključi ['firezone']['authentication']['okta'] ali default['firezone']['authentication']['google'], jih morate preseliti v naš OIDC konfiguracijo na podlagi spodnjega vodnika.

Obstoječa konfiguracija Google OAuth

Odstranite te vrstice, ki vsebujejo stare konfiguracije Google OAuth, iz konfiguracijske datoteke, ki se nahaja na /etc/firezone/firezone.rb

 

privzeto['firezone']['authentication']['google']['enabled']

privzeto['firezone']['authentication']['google']['client_id']

privzeto['firezone']['authentication']['google']['client_secret']

privzeto['firezone']['authentication']['google']['redirect_uri']

 

Nato konfigurirajte Google kot ponudnika OIDC, tako da sledite tem postopkom.

(Navedite navodila za povezavo)<<<<<<<<<<<<<<<<

 

Konfigurirajte obstoječi Google OAuth 

Odstranite te vrstice, ki vsebujejo stare konfiguracije Okta OAuth, iz vaše konfiguracijske datoteke, ki se nahaja na /etc/firezone/firezone.rb

 

privzeto['firezone']['authentication']['okta']['enabled']

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

privzeto['firezone']['authentication']['okta']['client_secret']

Privzeto['firezone']['authentication']['okta']['site']

 

Nato konfigurirajte Okta kot ponudnika OIDC, tako da sledite tukajšnjim postopkom.

Nadgradnja z 0.3.x na >= 0.3.16

Glede na trenutno nastavitev in različico upoštevajte spodnja navodila:

Če že imate integracijo OIDC:

Pri nekaterih ponudnikih OIDC je za nadgradnjo na >= 0.3.16 potrebna pridobitev žetona osveževanja za obseg dostopa brez povezave. S tem je zagotovljeno, da se Firezone posodablja s ponudnikom identitete in da se povezava VPN prekine, ko je uporabnik izbrisan. Prejšnje ponovitve Firezone niso imele te funkcije. V nekaterih primerih so lahko uporabniki, ki so izbrisani iz vašega ponudnika identitete, še vedno povezani z VPN.

Dostop brez povezave je treba vključiti v parameter obsega vaše konfiguracije OIDC za ponudnike OIDC, ki podpirajo obseg dostopa brez povezave. Za uveljavitev sprememb v konfiguracijski datoteki Firezone, ki se nahaja na /etc/firezone/firezone.rb, je treba izvesti reconfigure Firezone-ctl.

Za uporabnike, ki jih je overil vaš ponudnik OIDC, boste videli naslov OIDC Connections na strani s podrobnostmi o uporabniku spletnega uporabniškega vmesnika, če je Firezone sposoben uspešno pridobiti žeton za osvežitev.

Če to ne deluje, boste morali izbrisati svojo obstoječo aplikacijo OAuth in ponoviti nastavitvene korake OIDC, da ustvarite novo integracijo aplikacije .

Imam obstoječo integracijo OAuth

Pred 0.3.11 je Firezone uporabljal vnaprej konfigurirane ponudnike OAuth2. 

Sledite navodilom tukaj za prehod na OIDC.

Nisem integriral ponudnika identitete

Ni potrebno ukrepanje. 

Lahko sledite navodilom tukaj omogočiti SSO prek ponudnika OIDC.

Nadgradnja z 0.3.1 na >= 0.3.2

Namesto tega je default['firezone']['external url'] nadomestil konfiguracijsko možnost default['firezone']['fqdn']. 

To nastavite na URL vašega spletnega portala Firezone, ki je dostopen širši javnosti. Privzeto bo https:// in FQDN vašega strežnika, če ga pustite nedoločenega.

Konfiguracijska datoteka se nahaja na /etc/firezone/firezone.rb. Za celoten seznam konfiguracijskih spremenljivk in njihovih opisov glejte referenco konfiguracijske datoteke.

Nadgradnja z 0.2.x na 0.3.x

Od različice 0.3.0 Firezone ne hrani več zasebnih ključev naprave na strežniku Firezone. 

Spletni uporabniški vmesnik Firezone vam ne bo omogočil ponovnega prenosa ali ogleda teh konfiguracij, vendar bi morale vse obstoječe naprave še naprej delovati, kot so.

Nadgradnja z 0.1.x na 0.2.x

Če nadgrajujete s Firezone 0.1.x, je nekaj sprememb konfiguracijske datoteke, ki jih morate obravnavati ročno. 

Če želite izvesti potrebne spremembe vaše datoteke /etc/firezone/firezone.rb, zaženite spodnje ukaze kot root.

 

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

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

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

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

firezone-ctl ponovno konfiguriraj

ponovni zagon firezone-ctl

Odpravljanje težav

Preverjanje dnevnikov Firezone je pameten prvi korak za morebitne težave, ki se lahko pojavijo.

Zaženite sudo firezone-ctl tail za ogled dnevnikov Firezone.

Odpravljanje težav s povezljivostjo

Večino težav s povezljivostjo s Firezone povzročajo nezdružljiva pravila iptables ali nftables. Zagotoviti morate, da vaša veljavna pravila niso v nasprotju s pravili Firezone.

Internetna povezljivost se prekine, ko je tunel aktiven

Prepričajte se, da veriga FORWARD dovoljuje pakete od vaših odjemalcev WireGuard do lokacij, ki jih želite prepustiti Firezone, če se vaša internetna povezljivost poslabša vsakič, ko aktivirate tunel WireGuard.

 

To lahko dosežete, če uporabljate ufw, tako da zagotovite, da je privzeta politika usmerjanja dovoljena:

 

ubuntu@fz:~$ sudo ufw privzeto dovoljuje usmerjanje

Privzeti pravilnik o usmerjanju spremenjen v »omogoča«

(ne pozabite ustrezno posodobiti svojih pravil)

 

A ufw stanje tipičnega strežnika Firezone je lahko videti takole:

 

ubuntu@fz:~$ sudo ufw status verbose

Status: aktiven

Beleženje: vklopljeno (nizko)

Privzeto: zavrni (dohodno), dovoli (odhodno), dovoli (usmerjeno)

Novi profili: preskoči

 

Do dejanja od

— —— —-

22/tcp DOVOLI VSTOP Kjer koli

80/tcp DOVOLI VSTOP Kjer koli

443/tcp DOVOLI VSTOP Kjer koli

51820/udp DOVOLI VSTOP kjerkoli

22/tcp (v6) DOVOLI VNOT Kjer koli (v6)

80/tcp (v6) DOVOLI VNOT Kjer koli (v6)

443/tcp (v6) DOVOLJI V Kjer koli (v6)

51820/udp (v6) DOVOLI V Kjer koli (v6)

Varnostni premisleki

Svetujemo omejitev dostopa do spletnega vmesnika za izjemno občutljive in kritične proizvodne uvedbe, kot je razloženo spodaj.

Storitve in pristanišča

 

Service

Privzeta vrata

Poslušajte naslov

Opis

Nginx

80, 443

vse

Javna vrata HTTP(S) za upravljanje Firezone in olajšanje preverjanja pristnosti.

Žični ščitnik

51820

vse

Javna vrata WireGuard, ki se uporabljajo za seje VPN. (UDP)

postgresql

15432

127.0.0.1

Samo lokalna vrata, ki se uporabljajo za priloženi strežnik Postgresql.

Phoenix

13000

127.0.0.1

Samo lokalna vrata, ki jih uporablja zgornji strežnik aplikacij elixir.

Razmestitve proizvodnje

Svetujemo vam, da razmislite o omejitvi dostopa do javno izpostavljenega spletnega uporabniškega vmesnika Firezone (privzeta vrata 443/tcp in 80/tcp) in namesto tega uporabite tunel WireGuard za upravljanje Firezone za produkcijske in javne razmestitve, kjer bo odgovoren en skrbnik ustvarjanja in distribucije konfiguracij naprav končnim uporabnikom.

 

Na primer, če je skrbnik ustvaril konfiguracijo naprave in ustvaril predor z lokalnim naslovom WireGuard 10.3.2.2, bi naslednja konfiguracija ufw skrbniku omogočila dostop do spletnega uporabniškega vmesnika Firezone na vmesniku wg-firezone strežnika s privzetim 10.3.2.1 naslov tunela:

 

root@demo:~# stanje ufw podrobno

Status: aktiven

Beleženje: vklopljeno (nizko)

Privzeto: zavrni (dohodno), dovoli (odhodno), dovoli (usmerjeno)

Novi profili: preskoči

 

Do dejanja od

— —— —-

22/tcp DOVOLI VSTOP Kjer koli

51820/udp DOVOLI VSTOP kjerkoli

Kjer koli DOVOLI V 10.3.2.2

22/tcp (v6) DOVOLI VNOT Kjer koli (v6)

51820/udp (v6) DOVOLI V Kjer koli (v6)

To bi pustilo samo 22/tcp izpostavljen dostopu SSH za upravljanje strežnika (neobvezno) in 51820/udp izpostavljeni za vzpostavitev tunelov WireGuard.

Zaženite poizvedbe SQL

Firezone združuje strežnik Postgresql in ujemanje psql pripomoček, ki ga je mogoče uporabiti iz lokalne lupine takole:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d požarno območje \

  -h lokalni gostitelj \

  -p 15432 \

  -c “SQL_STATEMENT”

 

To je lahko v pomoč pri odpravljanju napak.

 

Pogosta opravila:

 

  • Seznam vseh uporabnikov
  • Seznam vseh naprav
  • Spreminjanje vloge uporabnika
  • Varnostno kopiranje baze podatkov



Seznam vseh uporabnikov:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d požarno območje \

  -h lokalni gostitelj \

  -p 15432 \

  -c “IZBERI * IZ uporabnikov;”



Seznam vseh naprav:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d požarno območje \

  -h lokalni gostitelj \

  -p 15432 \

  -c “IZBERI * IZ naprav;”



Spremenite vlogo uporabnika:

 

Nastavite vlogo na 'admin' ali 'unprivileged':

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d požarno območje \

  -h lokalni gostitelj \

  -p 15432 \

  -c “POSODOBITE uporabnike NASTAVITE vlogo = 'admin' WHERE email = 'user@example.com';”



Varnostno kopiranje baze podatkov:

 

Poleg tega je vključen program pg dump, ki se lahko uporablja za redne varnostne kopije baze podatkov. Izvedite naslednjo kodo za izpis kopije baze podatkov v običajni obliki poizvedbe SQL (zamenjajte /path/to/backup.sql z lokacijo, kjer naj bo datoteka SQL ustvarjena):

 

/opt/firezone/embedded/bin/pg_dump \

  -U firezone \

  -d požarno območje \

  -h lokalni gostitelj \

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

Uporabniški priročniki

  • Dodaj uporabnike
  • Dodaj naprave
  • Pravila izstopa
  • Navodila za stranke
  • Split Tunnel VPN
  • Povratni tunel 
  • Prehod NAT

Dodaj uporabnike

Ko je Firezone uspešno uveden, morate dodati uporabnike, da jim omogočite dostop do vašega omrežja. Za to se uporablja spletni uporabniški vmesnik.

 

Spletni uporabniški vmesnik


Z izbiro gumba »Dodaj uporabnika« pod /users lahko dodate uporabnika. Uporabniku boste morali posredovati e-poštni naslov in geslo. Za samodejno omogočanje dostopa uporabnikom v vaši organizaciji se lahko Firezone poveže in sinhronizira s ponudnikom identitete. Več podrobnosti je na voljo v Preverjanje pristnosti. < Dodajte povezavo za preverjanje pristnosti

Dodaj naprave

Svetujemo, da od uporabnikov zahtevate, da ustvarijo lastne konfiguracije naprave, tako da bo zasebni ključ viden samo njim. Uporabniki lahko ustvarijo lastne konfiguracije naprave tako, da sledijo navodilom na Navodila za stranke strani.

 

Ustvarjanje konfiguracije skrbniške naprave

Vse konfiguracije uporabniških naprav lahko ustvarijo skrbniki Firezone. Na strani uporabniškega profila, ki se nahaja na /users, izberite možnost »Dodaj napravo«, da to dosežete.

 

[Vstavite posnetek zaslona]

 

Ko ustvarite profil naprave, lahko uporabniku po e-pošti pošljete konfiguracijsko datoteko WireGuard.

 

Uporabniki in naprave so povezani. Za nadaljnje podrobnosti o tem, kako dodati uporabnika, glejte Dodaj uporabnike.

Pravila izstopa

Z uporabo sistema netfilter v jedru Firezone omogoča zmožnosti izhodnega filtriranja za določitev paketov DROP ali ACCEPT. Ves promet je običajno dovoljen.

 

CIDR-ji IPv4 in IPv6 ter naslovi IP so podprti prek seznama dovoljenih oziroma seznama zavrnitev. Izberete lahko, da pravilo velja za uporabnika, ko ga dodajate, kar uveljavi pravilo za vse naprave tega uporabnika.

Navodila za stranke

Namestite in konfigurirajte

Če želite vzpostaviti povezavo VPN z domačim odjemalcem WireGuard, glejte ta priročnik.

 

1. Namestite izvirnega odjemalca WireGuard

 

Uradni odjemalci WireGuard, ki se nahajajo tukaj, so združljivi s Firezone:

 

MacOS

 

Windows

 

iOS

 

Android

 

Obiščite uradno spletno mesto WireGuard na naslovu https://www.wireguard.com/install/ za sisteme OS, ki niso omenjeni zgoraj.

 

2. Prenesite konfiguracijsko datoteko naprave

 

Vaš skrbnik Firezone ali vi lahko ustvarite konfiguracijsko datoteko naprave s portalom Firezone.

 

Obiščite URL, ki ga je posredoval vaš skrbnik Firezone, da sami ustvarite konfiguracijsko datoteko naprave. Vaše podjetje bo imelo edinstven URL za to; v tem primeru je to https://instance-id.yourfirezone.com.

 

Prijavite se v Firezone Okta SSO

 

[Vstavi posnetek zaslona]

 

3. Dodajte konfiguracijo odjemalca

 

Uvozite datoteko.conf v odjemalca WireGuard tako, da jo odprete. Če preklopite stikalo Aktiviraj, lahko začnete sejo VPN.

 

[Vstavi posnetek zaslona]

Ponovno preverjanje pristnosti seje

Sledite spodnjim navodilom, če je vaš omrežni skrbnik odobril ponavljajočo se avtentikacijo, da bo vaša povezava VPN ostala aktivna. 



Potrebujete:

 

URL portala Firezone: Vprašajte skrbnika omrežja za povezavo.

Vaš omrežni skrbnik bi moral imeti možnost ponuditi vašo prijavo in geslo. Spletno mesto Firezone vas bo pozvalo, da se prijavite s storitvijo enotne prijave, ki jo uporablja vaš delodajalec (na primer Google ali Okta).

 

1. Izklopite povezavo VPN

 

[Vstavi posnetek zaslona]

 

2. Ponovno preverite pristnost 

Pojdite na URL portala Firezone in se prijavite s poverilnicami, ki vam jih je posredoval skrbnik omrežja. Če ste že prijavljeni, kliknite gumb Ponovno preveri pristnost, preden se znova prijavite.

 

[Vstavi posnetek zaslona]

 

3. korak: Zaženite sejo VPN

[Vstavi posnetek zaslona]

Upravitelj omrežja za Linux

Za uvoz konfiguracijskega profila WireGuard s CLI upravitelja omrežja v napravah Linux sledite tem navodilom (nmcli).

OPOMBE

Če ima profil omogočeno podporo za IPv6, lahko poskus uvoza konfiguracijske datoteke z grafičnim uporabniškim vmesnikom Network Manager ne uspe z naslednjo napako:

ipv6.method: metoda »samodejno« ni podprta za WireGuard

1. Namestite orodja WireGuard 

Potrebno je namestiti pripomočke uporabniškega prostora WireGuard. To bo paket z imenom wireguard ali wireguard-tools za distribucije Linuxa.

Za Ubuntu/Debian:

sudo apt namestite wireguard

Za uporabo Fedore:

sudo dnf namestite wireguard-tools

Arch Linux:

sudo pacman -S wireguard-tools

Za distribucije, ki niso omenjene zgoraj, obiščite uradno spletno stran WireGuard na naslovu https://www.wireguard.com/install/.

2. Prenesite konfiguracijo 

Vaš skrbnik Firezone ali samogenerator lahko ustvari konfiguracijsko datoteko naprave s portalom Firezone.

Obiščite URL, ki ga je posredoval vaš skrbnik Firezone, da sami ustvarite konfiguracijsko datoteko naprave. Vaše podjetje bo imelo edinstven URL za to; v tem primeru je to https://instance-id.yourfirezone.com.

[Vstavi posnetek zaslona]

3. Uvozite nastavitve

Uvozite priloženo konfiguracijsko datoteko z nmcli:

vrsta uvoza povezave sudo nmcli wireguard datoteka /path/to/configuration.conf

OPOMBE

Ime konfiguracijske datoteke bo ustrezalo povezavi/vmesniku WireGuard. Po uvozu lahko povezavo po potrebi preimenujete:

nmcli connection modify [staro ime] connection.id [novo ime]

4. Povežite ali prekinite povezavo

Z ukazno vrstico se povežite z VPN na naslednji način:

vzpostavljena povezava nmcli [ime vpn]

Če želite prekiniti povezavo:

povezava nmcli prekinjena [ime vpn]

Ustrezen programček Network Manager lahko uporabite tudi za upravljanje povezave, če uporabljate GUI.

Samodejna povezava

Če za možnost samodejne povezave izberete »da«, lahko povezavo VPN konfigurirate za samodejno povezavo:

 

povezava nmcli spremeni [ime vpn] povezavo. <<<<<<<<<<<<<<<<<<<<<<

 

samodejna povezava da

 

Če želite onemogočiti samodejno povezavo, jo nastavite nazaj na ne:

 

povezava nmcli spremeni [ime vpn] povezavo.

 

samodejna povezava št

Omogočite večfaktorsko avtentikacijo

Za aktiviranje MFA Pojdite na stran /user account/register mfa portala Firezone. S svojo aplikacijo za preverjanje pristnosti optično preberite kodo QR, potem ko je bila ustvarjena, nato pa vnesite šestmestno kodo.

Obrnite se na skrbnika, da ponastavi podatke o dostopu do vašega računa, če izgubite aplikacijo za preverjanje pristnosti.

Split Tunnel VPN

Ta vadnica vas bo vodila skozi postopek nastavitve WireGuardove funkcije razdeljenega tuneliranja s Firezone, tako da se prek strežnika VPN posreduje samo promet na določena območja IP.

 

1. Konfigurirajte dovoljene naslove IP 

Območja IP-jev, za katera bo odjemalec usmerjal omrežni promet, so določena v polju Dovoljeni IP-ji na strani /settings/default. Spremembe tega polja bodo vplivale samo na novo ustvarjene konfiguracije tunelov WireGuard, ki jih je ustvaril Firezone.

 

[Vstavi posnetek zaslona]



Privzeta vrednost je 0.0.0.0/0, ::/0, ki usmerja ves omrežni promet od odjemalca do strežnika VPN.

 

Primeri vrednosti v tem polju vključujejo:

 

0.0.0.0/0, ::/0 – ves omrežni promet bo usmerjen na strežnik VPN.

192.0.2.3/32 – samo promet na en naslov IP bo usmerjen na strežnik VPN.

3.5.140.0/22 ​​– samo promet do naslovov IP v območju 3.5.140.1 – 3.5.143.254 bo usmerjen na strežnik VPN. V tem primeru je bil uporabljen obseg CIDR za regijo ap-severovzhod-2 AWS.



OPOMBE

Firezone pri določanju, kam usmeriti paket, najprej izbere izhodni vmesnik, povezan z najbolj natančno potjo.

 

2. Ponovno ustvarite konfiguracije WireGuard

Uporabniki morajo znova generirati konfiguracijske datoteke in jih dodati svojemu izvornemu odjemalcu WireGuard, da lahko posodobijo obstoječe uporabniške naprave z novo konfiguracijo razdeljenega tunela.

 

Za navodila glejte dodaj napravo. <<<<<<<<<<< Dodaj povezavo

Povratni tunel

Ta priročnik bo pokazal, kako povezati dve napravi z uporabo Firezone kot releja. En tipičen primer uporabe je omogočiti skrbniku dostop do strežnika, vsebnika ali stroja, ki je zaščiten z NAT ali požarnim zidom.

 

Vozlišče do vozlišča 

Ta ilustracija prikazuje preprost scenarij, v katerem napravi A in B zgradita tunel.

 

[Vstavite arhitekturno sliko firezone]

 

Začnite z ustvarjanjem naprave A in naprave B, tako da se pomaknete na /users/[user_id]/new_device. V nastavitvah za vsako napravo zagotovite, da so naslednji parametri nastavljeni na spodaj navedene vrednosti. Nastavitve naprave lahko nastavite, ko ustvarjate konfiguracijo naprave (glejte Dodajanje naprav). Če morate posodobiti nastavitve na obstoječi napravi, lahko to storite tako, da ustvarite novo konfiguracijo naprave.

 

Upoštevajte, da imajo vse naprave stran /settings/defaults, kjer je mogoče konfigurirati PersistentKeepalive.

 

Naprava A

 

Dovoljeni naslovi IP = 10.3.2.2/32

  To je IP ali obseg IP-jev naprave B

PersistentKeepalive = 25

  Če je naprava za NAT, to zagotavlja, da naprava lahko ohranja tunel pri življenju in še naprej prejema pakete iz vmesnika WireGuard. Običajno zadostuje vrednost 25, vendar boste morda morali to vrednost zmanjšati, odvisno od vašega okolja.



B naprava

 

Dovoljeni naslovi IP = 10.3.2.3/32

To je IP ali obseg IP-jev naprave A

PersistentKeepalive = 25

Skrbniški primer – eno proti več vozliščem

Ta primer prikazuje situacijo, v kateri lahko naprava A komunicira z napravami B do D v obe smeri. Ta nastavitev lahko predstavlja inženirja ali skrbnika, ki dostopa do številnih virov (strežnikov, vsebnikov ali strojev) v različnih omrežjih.

 

[Arhitekturni diagram]<<<<<<<<<<<<<<<<<<<<<<<<

 

Prepričajte se, da so naslednje nastavitve v nastavitvah vsake naprave izbrane na ustrezne vrednosti. Ko ustvarjate konfiguracijo naprave, lahko določite nastavitve naprave (glejte Dodajanje naprav). Če je treba posodobiti nastavitve obstoječe naprave, je mogoče ustvariti novo konfiguracijo naprave.

 

Naprava A (skrbniško vozlišče)

 

Dovoljeni naslovi IP = 10.3.2.3/32, 10.3.2.4/32, 10.3.2.5/32 

    To je IP naprav B do D. IP-ji naprav B do D morajo biti vključeni v kateri koli obseg IP, ki ga izberete.

PersistentKeepalive = 25 

    To zagotavlja, da lahko naprava vzdržuje tunel in še naprej prejema pakete iz vmesnika WireGuard, tudi če je zaščitena z NAT. V večini primerov je vrednost 25 primerna, vendar pa boste glede na okolico morda morali to številko znižati.

 

Naprava B

 

  • AllowedIPs = 10.3.2.2/32: To je IP ali obseg IP-jev naprave A
  • PersistentKeepalive = 25

Naprava C

 

  • AllowedIPs = 10.3.2.2/32: To je IP ali obseg IP-jev naprave A
  • PersistentKeepalive = 25

Naprava D

 

  • AllowedIPs = 10.3.2.2/32: To je IP ali obseg IP-jev naprave A
  • PersistentKeepalive = 25

Prehod NAT

Firezone lahko uporabite kot prehod NAT, da ponudite en sam statični izhodni IP za ves promet vaše ekipe. Te situacije vključujejo njegovo pogosto uporabo:

 

Svetovalni posli: Zahtevajte, da vaša stranka na seznam dovoljenih navede en sam statični naslov IP namesto edinstvenega IP-ja naprave vsakega zaposlenega.

Uporaba posrednika ali prikrivanje vašega izvornega IP-ja zaradi varnosti ali zasebnosti.

 

V tej objavi bo prikazan preprost primer omejevanja dostopa do spletne aplikacije, ki jo gosti sam, na en sam statični IP na seznamu dovoljenih, ki izvaja Firezone. Na tej sliki sta Firezone in zaščiteni vir na različnih območjih VPC.

 

Ta rešitev se pogosto uporablja namesto upravljanja seznama dovoljenih naslovov IP za številne končne uporabnike, kar je lahko zamudno, saj se seznam dostopa širi.

Primer AWS

Naš cilj je vzpostaviti strežnik Firezone na instanci EC2 za preusmeritev prometa VPN na omejeni vir. V tem primeru Firezone služi kot omrežni posrednik ali prehod NAT, da vsaki povezani napravi dodeli edinstven javni izhodni IP.

 

1. Namestite strežnik Firezone

V tem primeru ima primerek EC2 z imenom tc2.micro nameščen primerek Firezone. Za informacije o uvajanju Firezone pojdite na Vodnik za uvajanje. V zvezi z AWS se prepričajte:

 

Varnostna skupina instance Firezone EC2 dovoljuje odhodni promet na naslov IP zaščitenega vira.

Primerek Firezone je opremljen z elastičnim IP-jem. Promet, ki je posredovan prek instance Firezone na zunanje cilje, bo imel to kot izvorni naslov IP. Zadevni naslov IP je 52.202.88.54.

 

[Vstavi posnetek zaslona]<<<<<<<<<<<<<<<<<<<<<<<<<<

 

2. Omejite dostop do vira, ki je zaščiten

Spletna aplikacija, ki jo gosti sam, v tem primeru služi kot zaščiten vir. Do spletne aplikacije lahko dostopate le z zahtevami, ki prihajajo z naslova IP 52.202.88.54. Odvisno od vira je lahko potrebno dovoliti vhodni promet na različnih vratih in vrstah prometa. To ni zajeto v tem priročniku.

 

[Vstavite posnetek zaslona]<<<<<<<<<<<<<<<<<<<<<<<<<<

 

Povejte tretji osebi, ki je odgovorna za zaščiteni vir, da mora biti dovoljen promet s statičnega naslova IP, definiranega v 1. koraku (v tem primeru 52.202.88.54).

 

3. Uporabite strežnik VPN za usmerjanje prometa na zaščiteni vir

 

Privzeto bo ves uporabniški promet potekal prek strežnika VPN in prihajal s statičnega naslova IP, ki je bil konfiguriran v 1. koraku (v tem primeru 52.202.88.54). Če pa je omogočeno razdeljeno tuneliranje, bodo morda potrebne nastavitve, da zagotovite, da je ciljni IP zaščitenega vira naveden med dovoljenimi IP-ji.

Tu dodajte svoje besedilo naslova

Spodaj je prikazan popoln seznam konfiguracijskih možnosti, ki so na voljo v /etc/firezone/firezone.rb.



možnost

opis

privzeta vrednost

privzeto['firezone']['external_url']

URL, uporabljen za dostop do spletnega portala tega primerka Firezone.

“https://#{node['fqdn'] || vozlišče ['ime gostitelja']}”

privzeto['firezone']['config_directory']

Imenik najvišje ravni za konfiguracijo Firezone.

/etc/firezone'

privzeto['firezone']['install_directory']

Imenik najvišje ravni za namestitev Firezone.

/opt/firezone'

privzeto['firezone']['app_directory']

Imenik najvišje ravni za namestitev spletne aplikacije Firezone.

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

privzeto['firezone']['log_directory']

Imenik najvišje ravni za dnevnike Firezone.

/var/log/firezone'

privzeto['firezone']['var_directory']

Imenik najvišje ravni za datoteke izvajalnega okolja Firezone.

/var/opt/firezone'

privzeto['firezone']['user']

Ime neprivilegiranega uporabnika Linuxa, ki mu bo pripadala večina storitev in datotek.

Firezone'

privzeto['firezone']['group']

Ime skupine Linux, ki ji bo pripadala večina storitev in datotek.

Firezone'

privzeto['firezone']['admin_email']

E-poštni naslov začetnega uporabnika Firezone.

“firezone@localhost”

privzeto['firezone']['max_devices_per_user']

Največje število naprav, ki jih lahko ima uporabnik.

10

privzeto['firezone']['allow_unprivileged_device_management']

Uporabnikom, ki niso skrbniki, omogoča ustvarjanje in brisanje naprav.

TRUE

privzeto['firezone']['allow_unprivileged_device_configuration']

Uporabnikom, ki niso skrbniki, omogoča spreminjanje konfiguracij naprave. Ko je onemogočeno, neprivilegiranim uporabnikom prepreči spreminjanje vseh polj naprave razen imena in opisa.

TRUE

privzeto['firezone']['egress_interface']

Ime vmesnika, kjer bo tunelirani promet izstopil. Če je nič, bo uporabljen privzeti vmesnik poti.

nič

privzeto['firezone']['fips_enabled']

Omogočite ali onemogočite način OpenSSL FIPs.

nič

privzeto['firezone']['beleženje']['omogočeno']

Omogočite ali onemogočite beleženje v Firezone. Nastavite na false, da popolnoma onemogočite beleženje.

TRUE

privzeto['enterprise']['name']

Ime, ki ga uporablja kuharska knjiga Chef 'enterprise'.

Firezone'

privzeto['firezone']['install_path']

Namestitvena pot, ki jo uporablja kuharska knjiga Chef 'enterprise'. Mora biti nastavljen na enako kot zgornji install_directory.

vozlišče['firezone']['install_directory']

privzeto['firezone']['sysvinit_id']

Identifikator, uporabljen v /etc/inittab. Biti mora edinstveno zaporedje 1–4 znakov.

SUP'

privzeto['firezone']['authentication']['local']['enabled']

Omogočite ali onemogočite lokalno preverjanje pristnosti e-pošte/gesla.

TRUE

privzeto['firezone']['authentication']['auto_create_oidc_users']

Samodejno ustvarite uporabnike, ki se prvič prijavijo iz OIDC. Onemogočite, da dovolite samo obstoječim uporabnikom prijavo prek OIDC.

TRUE

privzeto['firezone']['authentication']['disable_vpn_on_oidc_error']

Onemogočite VPN uporabnika, če je zaznana napaka pri poskusu osvežitve žetona OIDC.

FALSE

privzeto['firezone']['authentication']['oidc']

Konfiguracija OpenID Connect v obliki {“ponudnik” => [konfiguracija…]} – glejte Dokumentacija OpenIDConnect za primere konfiguracije.

{}

privzeto['firezone']['nginx']['enabled']

Omogočite ali onemogočite združeni strežnik nginx.

TRUE

privzeto['firezone']['nginx']['ssl_port']

Vrata za poslušanje HTTPS.

443

privzeto['firezone']['nginx']['directory']

Imenik za shranjevanje konfiguracije virtualnega gostitelja nginx, povezane s Firezone.

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

privzeto['firezone']['nginx']['log_directory']

Imenik za shranjevanje dnevniških datotek nginx, povezanih s Firezone.

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

privzeto['firezone']['nginx']['log_rotation']['file_maxbytes']

Velikost datoteke, pri kateri se vrtijo dnevniške datoteke Nginx.

104857600

privzeto['firezone']['nginx']['log_rotation']['num_to_keep']

Število dnevniških datotek Firezone nginx, ki jih je treba shraniti, preden jih zavržete.

10

privzeto['firezone']['nginx']['log_x_forwarded_for']

Ali naj zabeleži glavo Firezone nginx x-forwarded-for.

TRUE

privzeto['firezone']['nginx']['hsts_header']['enabled']

Omogoči ali onemogoči HSTS.

TRUE

privzeto['firezone']['nginx']['hsts_header']['include_subdomains']

Omogočite ali onemogočite includeSubDomains za glavo HSTS.

TRUE

privzeto['firezone']['nginx']['hsts_header']['max_age']

Največja starost za glavo HSTS.

31536000

privzeto['firezone']['nginx']['redirect_to_canonical']

Ali želite preusmeriti URL-je na zgoraj navedeno kanonično FQDN

FALSE

privzeto['firezone']['nginx']['cache']['enabled']

Omogočite ali onemogočite predpomnilnik Firezone nginx.

FALSE

privzeto['firezone']['nginx']['cache']['directory']

Imenik za predpomnilnik Firezone nginx.

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

privzeto['firezone']['nginx']['user']

Uporabnik Firezone nginx.

vozlišče['firezone']['uporabnik']

privzeto['firezone']['nginx']['group']

Skupina Firezone nginx.

vozlišče['firezone']['group']

privzeto['firezone']['nginx']['dir']

Konfiguracijski imenik nginx na najvišji ravni.

vozlišče['firezone']['nginx']['imenik']

privzeto['firezone']['nginx']['log_dir']

Dnevniški imenik nginx najvišje ravni.

vozlišče['firezone']['nginx']['log_directory']

privzeto['firezone']['nginx']['pid']

Lokacija za datoteko nginx pid.

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

privzeto['firezone']['nginx']['daemon_disable']

Onemogoči demonski način nginx, da ga lahko namesto tega spremljamo.

TRUE

privzeto['firezone']['nginx']['gzip']

Vklopite ali izklopite stiskanje nginx gzip.

na

privzeto['firezone']['nginx']['gzip_static']

Vklopite ali izklopite stiskanje nginx gzip za statične datoteke.

off'

privzeto['firezone']['nginx']['gzip_http_version']

Različica HTTP, ki se uporablja za streženje statičnih datotek.

1.0

privzeto['firezone']['nginx']['gzip_comp_level']

stopnja stiskanja nginx gzip.

2

privzeto['firezone']['nginx']['gzip_proxied']

Omogoči ali onemogoči gzipping odgovorov za proxy zahteve, odvisno od zahteve in odgovora.

kaj'

privzeto['firezone']['nginx']['gzip_vary']

Omogoči ali onemogoči vstavljanje glave odgovora »Vary: Accept-Encoding«.

off'

privzeto['firezone']['nginx']['gzip_buffers']

Nastavi število in velikost medpomnilnikov, ki se uporabljajo za stiskanje odgovora. Če je nič, se uporabi privzeta vrednost nginx.

nič

privzeto['firezone']['nginx']['gzip_types']

Vrste MIME za omogočanje stiskanja gzip.

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

privzeto['firezone']['nginx']['gzip_min_length']

Najmanjša dolžina datoteke za omogočanje stiskanja datoteke gzip.

1000

privzeto['firezone']['nginx']['gzip_disable']

Ujemanje uporabniškega agenta za onemogočanje stiskanja gzip.

MSIE [1-6]\.'

privzeto['firezone']['nginx']['keepalive']

Aktivira predpomnilnik za povezavo z zgornjimi strežniki.

na

privzeto['firezone']['nginx']['keepalive_timeout']

Časovna omejitev v sekundah za vzdrževalno povezavo s strežniki navzgor.

65

privzeto['firezone']['nginx']['worker_processes']

Število delovnih procesov nginx.

vozlišče['cpu'] && vozlišče['cpu']['total'] ? vozlišče['cpu']['total'] : 1

privzeto['firezone']['nginx']['worker_connections']

Največje število sočasnih povezav, ki jih lahko odpre delovni proces.

1024

privzeto['firezone']['nginx']['worker_rlimit_nofile']

Spremeni omejitev največjega števila odprtih datotek za delovne procese. Uporablja privzeto vrednost nginx, če je nič.

nič

privzeto['firezone']['nginx']['multi_accept']

Ali naj delavci sprejmejo eno povezavo naenkrat ali več.

TRUE

privzeto['firezone']['nginx']['event']

Podaja metodo obdelave povezave za uporabo znotraj konteksta dogodkov nginx.

epoll'

privzeto['firezone']['nginx']['server_tokens']

Omogoči ali onemogoči oddajanje različice nginx na straneh z napakami in v polju z glavo odgovora »Server«.

nič

privzeto['firezone']['nginx']['server_names_hash_bucket_size']

Nastavi velikost vedra za zgoščene tabele imen strežnika.

64

privzeto['firezone']['nginx']['sendfile']

Omogoči ali onemogoči uporabo nginxovega sendfile().

na

privzeto['firezone']['nginx']['access_log_options']

Nastavi možnosti dnevnika dostopa nginx.

nič

privzeto['firezone']['nginx']['error_log_options']

Nastavi možnosti dnevnika napak nginx.

nič

privzeto['firezone']['nginx']['disable_access_log']

Onemogoči dnevnik dostopa do nginx.

FALSE

privzeto['firezone']['nginx']['types_hash_max_size']

nginx vrste razpršitev največja velikost.

2048

privzeto['firezone']['nginx']['types_hash_bucket_size']

nginx vrste zgoščena velikost vedra.

64

privzeto['firezone']['nginx']['proxy_read_timeout']

časovna omejitev branja posrednika nginx. Če želite uporabiti privzeto vrednost nginx, nastavite na nič.

nič

privzeto['firezone']['nginx']['client_body_buffer_size']

velikost medpomnilnika telesa odjemalca nginx. Če želite uporabiti privzeto vrednost nginx, nastavite na nič.

nič

privzeto['firezone']['nginx']['client_max_body_size']

največja velikost telesa odjemalca nginx.

250 m'

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

Določite dodatne module nginx.

[]

privzeto['firezone']['nginx']['enable_rate_limiting']

Omogoči ali onemogoči omejevanje hitrosti nginx.

TRUE

privzeto['firezone']['nginx']['rate_limiting_zone_name']

Ime območja omejevanja hitrosti Nginx.

Firezone'

privzeto['firezone']['nginx']['rate_limiting_backoff']

Omejevanje hitrosti Nginx.

10 m'

privzeto['firezone']['nginx']['rate_limit']

Omejitev hitrosti Nginx.

10r/s'

privzeto['firezone']['nginx']['ipv6']

Dovolite nginxu, da posluša zahteve HTTP za IPv6 poleg IPv4.

TRUE

privzeto['firezone']['postgresql']['omogočeno']

Omogoči ali onemogoči združeni Postgresql. Nastavite na false in izpolnite spodnje možnosti zbirke podatkov, če želite uporabiti lasten primerek Postgresql.

TRUE

privzeto['firezone']['postgresql']['uporabniško ime']

Uporabniško ime za Postgresql.

vozlišče['firezone']['uporabnik']

privzeto['firezone']['postgresql']['data_directory']

Podatkovni imenik Postgresql.

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

privzeto['firezone']['postgresql']['log_directory']

Imenik dnevnikov Postgresql.

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

privzeto['firezone']['postgresql']['log_rotation']['file_maxbytes']

Največja velikost datoteke dnevnika Postgresql, preden se zavrti.

104857600

privzeto['firezone']['postgresql']['log_rotation']['num_to_keep']

Število dnevniških datotek Postgresql, ki jih je treba hraniti.

10

privzeto['firezone']['postgresql']['checkpoint_completion_target']

Cilj dokončanja kontrolne točke Postgresql.

0.5

privzeto['firezone']['postgresql']['checkpoint_segments']

Število segmentov kontrolne točke Postgresql.

3

privzeto['firezone']['postgresql']['checkpoint_timeout']

Časovna omejitev kontrolne točke Postgresql.

5 min'

privzeto['firezone']['postgresql']['checkpoint_warning']

Čas opozorila kontrolne točke Postgresql v sekundah.

30-a

privzeto['firezone']['postgresql']['effective_cache_size']

Učinkovita velikost predpomnilnika Postgresql.

128 MB'

privzeto['firezone']['postgresql']['listen_address']

Naslov poslušanja Postgresql.

127.0.0.1

privzeto['firezone']['postgresql']['max_connections']

Postgresql max povezave.

350

privzeto['firezone']['postgresql']['md5_auth_cidr_addresses']

CIDR-ji Postgresql za omogočanje avtorizacije md5.

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

privzeto['firezone']['postgresql']['port']

Vrata za poslušanje Postgresql.

15432

privzeto['firezone']['postgresql']['shared_buffers']

Velikost medpomnilnikov v skupni rabi Postgresql.

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

privzeto['firezone']['postgresql']['shmmax']

Postgresql shmmax v bajtih.

17179869184

privzeto['firezone']['postgresql']['shmall']

Postgresql shmall v bajtih.

4194304

privzeto['firezone']['postgresql']['work_mem']

Velikost delovnega pomnilnika Postgresql.

8 MB'

privzeto['firezone']['database']['user']

Določa uporabniško ime, ki ga bo Firezone uporabil za povezavo z bazo podatkov.

vozlišče['firezone']['postgresql']['uporabniško ime']

privzeto['firezone']['database']['password']

Če uporabljate zunanjo bazo podatkov, določa geslo, ki ga bo Firezone uporabil za povezavo z bazo podatkov.

spremeni me'

privzeto['firezone']['database']['name']

Baza podatkov, ki jo bo uporabljal Firezone. Bo ustvarjen, če ne obstaja.

Firezone'

privzeto['firezone']['database']['host']

Gostitelj baze podatkov, s katerim se bo Firezone povezal.

vozlišče['firezone']['postgresql']['listen_address']

privzeto['firezone']['database']['port']

Vrata baze podatkov, s katerimi se bo Firezone povezal.

vozlišče['firezone']['postgresql']['port']

privzeto['firezone']['database']['pool']

Velikost baze podatkov bo uporabljal Firezone.

[10, Itd.nprocesorjev].maks

privzeto['firezone']['database']['ssl']

Ali naj se z bazo podatkov poveže prek SSL.

FALSE

privzeto['firezone']['database']['ssl_opts']

Zgoščena vrednost možnosti za pošiljanje možnosti :ssl_opts pri povezovanju prek SSL. glej Dokumentacija Ecto.Adapters.Postgres.

{}

privzeto['firezone']['database']['parameters']

Zgoščena vrednost parametrov za pošiljanje možnosti :parameters pri povezovanju z zbirko podatkov. glej Dokumentacija Ecto.Adapters.Postgres.

{}

privzeto['firezone']['database']['extensions']

Omogočiti razširitve baze podatkov.

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

privzeto['firezone']['phoenix']['enabled']

Omogočite ali onemogočite spletno aplikacijo Firezone.

TRUE

privzeto['firezone']['phoenix']['listen_address']

Naslov poslušanja spletne aplikacije Firezone. To bo naslov za poslušanje navzgor, ki ga posreduje nginx.

127.0.0.1

privzeto['firezone']['phoenix']['port']

Vrata poslušanja spletne aplikacije Firezone. To bodo vrata navzgor, ki jih nginx posreduje.

13000

privzeto['firezone']['phoenix']['log_directory']

Imenik dnevnika spletne aplikacije Firezone.

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

privzeto['firezone']['phoenix']['log_rotation']['file_maxbytes']

Velikost datoteke dnevnika spletne aplikacije Firezone.

104857600

privzeto['firezone']['phoenix']['log_rotation']['num_to_keep']

Število dnevniških datotek spletne aplikacije Firezone, ki jih je treba hraniti.

10

privzeto['firezone']['phoenix']['crash_detection']['enabled']

Omogočite ali onemogočite zaustavitev spletne aplikacije Firezone, ko je zaznana zrušitev.

TRUE

privzeto['firezone']['phoenix']['external_trusted_proxies']

Seznam zaupanja vrednih povratnih proxyjev, oblikovanih kot niz IP-jev in/ali CIDR-jev.

[]

privzeto['firezone']['phoenix']['private_clients']

Seznam zasebnih omrežnih odjemalcev HTTP, oblikovanih kot niz IP-jev in/ali CIDR-jev.

[]

privzeto['firezone']['wireguard']['enabled']

Omogočite ali onemogočite združeno upravljanje WireGuard.

TRUE

privzeto['firezone']['wireguard']['log_directory']

Imenik dnevnikov za upravljanje paketa WireGuard.

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

privzeto['firezone']['wireguard']['log_rotation']['file_maxbytes']

Največja velikost dnevniške datoteke WireGuard.

104857600

privzeto['firezone']['wireguard']['log_rotation']['num_to_keep']

Število dnevniških datotek WireGuard, ki jih je treba hraniti.

10

privzeto['firezone']['wireguard']['interface_name']

Ime vmesnika WireGuard. Spreminjanje tega parametra lahko povzroči začasno izgubo povezljivosti VPN.

wg-firezone'

privzeto['firezone']['wireguard']['port']

Vrata za poslušanje WireGuard.

51820

privzeto['firezone']['wireguard']['mtu']

MTU vmesnika WireGuard za ta strežnik in za konfiguracije naprav.

1280

privzeto['firezone']['wireguard']['endpoint']

WireGuard Endpoint za uporabo za generiranje konfiguracij naprave. Če je nič, je privzeto nastavljen javni naslov IP strežnika.

nič

privzeto['firezone']['wireguard']['dns']

WireGuard DNS za uporabo za generirane konfiguracije naprav.

1.1.1.1, 1.0.0.1′

privzeto['firezone']['wireguard']['allowed_ips']

WireGuard AllowedIP-ji za uporabo za generirane konfiguracije naprav.

0.0.0.0/0, ::/0′

privzeto['firezone']['wireguard']['persistent_keepalive']

Privzeta nastavitev PersistentKeepalive za ustvarjene konfiguracije naprave. Vrednost 0 onemogoči.

0

privzeto['firezone']['wireguard']['ipv4']['enabled']

Omogočite ali onemogočite IPv4 za omrežje WireGuard.

TRUE

privzeto['firezone']['wireguard']['ipv4']['masquerade']

Omogočite ali onemogočite maskiranje za pakete, ki zapuščajo tunel IPv4.

TRUE

privzeto['firezone']['wireguard']['ipv4']['omrežje']

Bazen naslovov IPv4 omrežja WireGuard.

10.3.2.0/24 ′

privzeto['firezone']['wireguard']['ipv4']['address']

Naslov IPv4 vmesnika WireGuard. Mora biti v naslovni skupini WireGuard.

10.3.2.1

privzeto['firezone']['wireguard']['ipv6']['enabled']

Omogočite ali onemogočite IPv6 za omrežje WireGuard.

TRUE

privzeto['firezone']['wireguard']['ipv6']['masquerade']

Omogočite ali onemogočite maskiranje za pakete, ki zapuščajo tunel IPv6.

TRUE

privzeto['firezone']['wireguard']['ipv6']['omrežje']

Bazen naslovov IPv6 omrežja WireGuard.

fd00::3:2:0/120′

privzeto['firezone']['wireguard']['ipv6']['address']

Naslov IPv6 vmesnika WireGuard. Biti mora znotraj skupine naslovov IPv6.

fd00::3:2:1′

privzeto['firezone']['runit']['svlogd_bin']

Runit svlogd bin lokacija.

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

privzeto['firezone']['ssl']['imenik']

Imenik SSL za shranjevanje ustvarjenih potrdil.

/var/opt/firezone/ssl'

privzeto['firezone']['ssl']['email_address']

E-poštni naslov za uporabo za samopodpisana potrdila in obvestila o podaljšanju protokola ACME.

vi@example.com'

privzeto['firezone']['ssl']['acme']['enabled']

Omogoči ACME za samodejno zagotavljanje potrdil SSL. Onemogočite to, da preprečite Nginxu poslušanje na vratih 80. Glejte tukaj za več navodil.

FALSE

privzeto['firezone']['ssl']['acme']['server']

Strežnik ACME za izdajo/podaljšanje potrdila. Lahko katera koli veljaven strežnik acme.sh

letsencrypt

privzeto['firezone']['ssl']['acme']['keylength']

Določite vrsto in dolžino ključa za potrdila SSL. glej tukaj

ec-256

privzeto['firezone']['ssl']['certificate']

Pot do datoteke potrdila za vaš FQDN. Preglasi zgornjo nastavitev ACME, če je navedena. Če sta tako ACME kot to nič, bo ustvarjeno samopodpisano potrdilo.

nič

privzeto['firezone']['ssl']['certificate_key']

Pot do datoteke potrdila.

nič

privzeto['firezone']['ssl']['ssl_dhparam']

nginx ssl dh_param.

nič

privzeto['firezone']['ssl']['country_name']

Ime države za samopodpisano potrdilo.

ZDA'

privzeto['firezone']['ssl']['state_name']

Ime države za samopodpisano potrdilo.

CA '

privzeto['firezone']['ssl']['locality_name']

Ime kraja za samopodpisano potrdilo.

San Francisco'

privzeto['firezone']['ssl']['ime_podjetja']

Samopodpisano potrdilo o imenu podjetja.

Moje podjetje'

privzeto['firezone']['ssl']['ime_organizacijske_enote']

Ime organizacijske enote za samopodpisano potrdilo.

Operacije'

privzeto['firezone']['ssl']['ciphers']

Šifre SSL za uporabo 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’

privzeto['firezone']['ssl']['fips_ciphers']

Šifre SSL za način FIPs.

FIPS@STRENGTH:!aNULL:!eNULL'

privzeto ['firezone']['ssl']['protokoli']

Protokoli TLS za uporabo.

TLSv1 TLSv1.1 TLSv1.2'

privzeto['firezone']['ssl']['session_cache']

Predpomnilnik seje SSL.

deljeno:SSL:4m'

privzeto['firezone']['ssl']['session_timeout']

Časovna omejitev seje SSL.

5 m'

privzeto['firezone']['robots_allow']

roboti nginx omogočajo.

/'

privzeto['firezone']['robots_disallow']

nginx roboti onemogočajo.

nič

privzeto['firezone']['outbound_email']['from']

Odhodna e-pošta z naslova.

nič

privzeto['firezone']['outbound_email']['provider']

Ponudnik storitev odhodne e-pošte.

nič

privzeto['firezone']['outbound_email']['configs']

Konfiguracije ponudnika odhodne e-pošte.

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

privzeto['firezone']['telemetry']['enabled']

Omogočite ali onemogočite anonimizirano telemetrijo izdelka.

TRUE

privzeto['firezone']['connectivity_checks']['enabled']

Omogočite ali onemogočite storitev preverjanja povezljivosti Firezone.

TRUE

privzeto['firezone']['connectivity_checks']['interval']

Interval med preverjanji povezljivosti v sekundah.

3_600



________________________________________________________________

 

Lokacije datotek in imenikov

 

Tukaj boste našli seznam datotek in imenikov, povezanih s tipično namestitvijo Firezone. Te se lahko spremenijo glede na spremembe vaše konfiguracijske datoteke.



pot

opis

/var/opt/firezone

Imenik na najvišji ravni, ki vsebuje podatke in ustvarjeno konfiguracijo za storitve v paketu Firezone.

/opt/firezone

Imenik na najvišji ravni, ki vsebuje vgrajene knjižnice, binarne datoteke in izvajalne datoteke, ki jih potrebuje Firezone.

/usr/bin/firezone-ctl

pripomoček firezone-ctl za upravljanje vaše namestitve Firezone.

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

datoteka enote systemd za zagon nadzorniškega procesa Firezone runsvdir.

/etc/firezone

Konfiguracijske datoteke Firezone.



__________________________________________________________

 

Predloge požarnega zidu

 

Ta stran je bila prazna v dokumentih

 

_____________________________________________________________

 

Predloga požarnega zidu Nftables

 

Naslednjo predlogo požarnega zidu nftables je mogoče uporabiti za zaščito strežnika, na katerem se izvaja Firezone. Predloga vsebuje nekaj predpostavk; morda boste morali prilagoditi pravila, da bodo ustrezala vašemu primeru uporabe:

  • Vmesnik WireGuard se imenuje wg-firezone. Če to ni pravilno, spremenite spremenljivko DEV_WIREGUARD, da se bo ujemala s privzeto konfiguracijsko možnostjo['firezone']['wireguard']['interface_name'].
  • Vrata, ki jih WireGuard posluša, so 51820. Če ne uporabljate privzetih vrat, spremenite spremenljivko WIREGUARD_PORT.
  • Strežniku bo dovoljen samo naslednji vhodni promet:
    • SSH (TCP vrata 22)
    • HTTP (TCP vrata 80)
    • HTTPS (TCP vrata 443)
    • WireGuard (vrata UDP WIREGUARD_PORT)
    • UDP traceroute (vrata UDP 33434-33524, hitrost omejena na 500/sekundo)
    • ICMP in ICMPv6 (stopnja odzivov ping/ping je omejena na 2000/sekundo)
  • S strežnika bo dovoljen samo naslednji odhodni promet:
    • DNS (UDP in TCP vrata 53)
    • HTTP (TCP vrata 80)
    • NTP (vrata UDP 123)
    • HTTPS (TCP vrata 443)
    • Predložitev SMTP (vrata TCP 587)
    • UDP traceroute (vrata UDP 33434-33524, hitrost omejena na 500/sekundo)
  • Neujemajoč se promet bo zabeležen. Pravila, ki se uporabljajo za beleženje, so ločena od pravil za zmanjšanje prometa in so omejena na hitrost. Odstranitev ustreznih pravil beleženja ne bo vplivala na promet.

Upravljana pravila Firezone​,war

Firezone konfigurira lastna pravila nftables, da dovoli/zavrne promet do ciljev, konfiguriranih v spletnem vmesniku, in za obravnavanje odhodnega NAT za promet odjemalcev.

Če uporabite spodnjo predlogo požarnega zidu na že delujočem strežniku (ne ob zagonu), se bodo pravila Firezone počistila. To lahko vpliva na varnost.

Če želite to rešiti, znova zaženite storitev Phoenix:

firezone-ctl znova zaženite phoenix

Osnovna predloga požarnega zidu​,war

#!/usr/sbin/nft -f

 

## Počisti/odplakni vsa obstoječa pravila

nabor pravil za izpiranje

 

################################# SPREMENLJIVKE ################## ################

## Ime internetnega/WAN vmesnika

definirajte DEV_WAN = eth0

 

## Ime vmesnika WireGuard

definirajte DEV_WIREGUARD = wg-firezone

 

## Vrata za poslušanje WireGuard

definirajte WIREGUARD_PORT = 51820

############################### KONEC SPREMENLJIVK #################### ############

 

# Glavna tabela za filtriranje inet družine

tabela inet filter {

 

 # Pravila za posredovan promet

 # Ta veriga je obdelana pred posredovano verigo Firezone

 veriga naprej {

   vrsta filtra kavelj naprej prednostni filter – 5; politika sprejeti

 }

 

 # Pravila za vhodni promet

 verižni vnos {

   vrsta filtra kavelj vhodni prednostni filter; padec politike

 

   ## Dovolite vhodni promet vmesniku povratne zanke

   iif lo \

     sprejeti \

     komentar »Dovoli ves promet iz vmesnika povratne zanke«

 

   ## Dovoli vzpostavljene in povezane povezave

   ct stanje vzpostavljeno, povezano \

     sprejeti \

     komentar »Dovoli vzpostavljene/povezane povezave«

 

   ## Dovoli vhodni promet WireGuard

   iif $DEV_WAN udp dport $WIREGUARD_PORT \

     števec \

     sprejeti \

     komentar »Dovoli vhodni promet WireGuard«

 

   ## Zabeležite in izpustite nove pakete TCP, ki niso SYN

   tcp zastavice != syn ct stanje novo \

     mejna stopnja 100/minutni izbruh 150 paketi \

     predpono dnevnika “IN – nov !SYN: “ \

     komentar »Beleženje omejitve hitrosti za nove povezave, ki nimajo nastavljene zastavice SYN TCP«

   tcp zastavice != syn ct stanje novo \

     števec \

     spusti \

     komentar »Odvrzi nove povezave, ki nimajo nastavljene zastavice SYN TCP«

 

   ## Zabeleži in izpusti TCP pakete z neveljavno nastavljeno zastavo fin/syn

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

     mejna stopnja 100/minutni izbruh 150 paketi \

     predpono dnevnika “IN – TCP FIN|SIN: “ \

     komentar »Beleženje omejitve hitrosti za pakete TCP z neveljavno nastavljeno zastavico fin/syn«

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

     števec \

     spusti \

     komentar »Odvrzi pakete TCP z neveljavno nastavljeno zastavico fin/syn«

 

   ## Zabeleži in izpusti TCP pakete z neveljavno nastavljeno zastavico syn/rst

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

     mejna stopnja 100/minutni izbruh 150 paketi \

     predpono dnevnika “IN – TCP SYN|RST: “ \

     komentar »Beleženje omejitve hitrosti za pakete TCP z neveljavno nastavljeno zastavico syn/rst«

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

     števec \

     spusti \

     komentar »Izbriši pakete TCP z neveljavno nastavljeno zastavico syn/rst«

 

   ## Zapiši in spusti neveljavne zastavice TCP

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

     mejna stopnja 100/minutni izbruh 150 paketi \

     predpono dnevnika “IN – FIN:” \

     komentar »Beleženje omejitve hitrosti za neveljavne zastavice TCP (fin|syn|rst|psh|ack|urg) < (fin)«

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

     števec \

     spusti \

     komentar »Odvrzi pakete TCP z zastavicami (fin|syn|rst|psh|ack|urg) < (fin)«

 

   ## Zapiši in spusti neveljavne zastavice TCP

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

     mejna stopnja 100/minutni izbruh 150 paketi \

     predpono dnevnika »IN – FIN|PSH|URG:« \

     komentar »Beleženje omejitve hitrosti za neveljavne zastavice TCP (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)«

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

     števec \

     spusti \

     komentar »Odvrzi pakete TCP z zastavicami (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)«

 

   ## Izpad prometa z neveljavnim stanjem povezave

   stanje ct neveljavno \

     mejna stopnja 100/minutni izbruh 150 paketi \

     zastavice dnevnika vse predpone “IN – Neveljavno: “ \

     komentar »Beleženje omejitve hitrosti za promet z neveljavnim stanjem povezave«

   stanje ct neveljavno \

     števec \

     spusti \

     komentar »Opusti promet z neveljavnim stanjem povezave«

 

   ## Dovolite odzive ping/ping IPv4, vendar omejite hitrost na 2000 PPS

   ip protokol icmp vrsta icmp { echo-odgovor, echo-request } \

     mejna stopnja 2000/drugo \

     števec \

     sprejeti \

     komentar »Dovoli vhodni odmev IPv4 (ping), omejen na 2000 PPS«

 

   ## Dovoli vse druge vhodne IPv4 ICMP

   ip protokol icmp \

     števec \

     sprejeti \

     komentar »Dovoli vse druge IPv4 ICMP«

 

   ## Dovolite odzive ping/ping IPv6, vendar omejite hitrost na 2000 PPS

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

     mejna stopnja 2000/drugo \

     števec \

     sprejeti \

     komentar »Dovoli vhodni odmev IPv6 (ping), omejen na 2000 PPS«

 

   ## Dovoli vse druge vhodne IPv6 ICMP

   meta l4proto { icmpv6 } \

     števec \

     sprejeti \

     komentar »Dovoli vse druge IPv6 ICMP«

 

   ## Dovolite vhodna vrata UDP traceroute, vendar omejite na 500 PPS

   udp dport 33434-33524 \

     mejna stopnja 500/drugo \

     števec \

     sprejeti \

     komentar »Dovoli vhodno sledilno pot UDP, omejeno na 500 PPS«

 

   ## Dovolite vhodni SSH

   tcp dport ssh ct stanje novo \

     števec \

     sprejeti \

     komentar »Dovoli vhodne povezave SSH«

 

   ## Dovolite vhodni HTTP in HTTPS

   tcp dport { http, https } ct stanje novo \

     števec \

     sprejeti \

     komentar »Dovoli vhodne povezave HTTP in HTTPS«

 

   ## Beležite promet brez ujema, vendar omejite beleženje na največ 60 sporočil/minuto

   ## Privzeti pravilnik bo uporabljen za promet brez ujema

   mejna stopnja 60/minutni izbruh 100 paketi \

     predpono dnevnika “IN – Drop: “ \

     komentar »Zabeleži promet brez ujemanja«

 

   ## Preštejte promet brez ujema

   števec \

     komentar »Preštejte promet brez ujemanja«

 }

 

 # Pravila za izhodni promet

 verižni izhod {

   vrsta filtra kavelj izhodni prednostni filter; padec politike

 

   ## Dovoli odhodni promet vmesniku povratne zanke

   oii lo \

     sprejeti \

     komentar »Dovoli ves promet v vmesnik povratne zanke«

 

   ## Dovoli vzpostavljene in povezane povezave

   ct stanje vzpostavljeno, povezano \

     števec \

     sprejeti \

     komentar »Dovoli vzpostavljene/povezane povezave«

 

   ## Dovolite izhodni promet WireGuard, preden prekinete povezave v slabem stanju

   oif $DEV_WAN udp šport $WIREGUARD_PORT \

     števec \

     sprejeti \

     komentar »Dovoli odhodni promet WireGuard«

 

   ## Izpad prometa z neveljavnim stanjem povezave

   stanje ct neveljavno \

     mejna stopnja 100/minutni izbruh 150 paketi \

     zastavice dnevnika vse predpone »OUT – Neveljavno: « \

     komentar »Beleženje omejitve hitrosti za promet z neveljavnim stanjem povezave«

   stanje ct neveljavno \

     števec \

     spusti \

     komentar »Opusti promet z neveljavnim stanjem povezave«

 

   ## Dovoli vse druge odhodne IPv4 ICMP

   ip protokol icmp \

     števec \

     sprejeti \

     komentar »Dovoli vse vrste IPv4 ICMP«

 

   ## Dovoli vse druge odhodne IPv6 ICMP

   meta l4proto { icmpv6 } \

     števec \

     sprejeti \

     komentar »Dovoli vse vrste IPv6 ICMP«

 

   ## Dovoli izhodna vrata UDP traceroute, vendar omeji na 500 PPS

   udp dport 33434-33524 \

     mejna stopnja 500/drugo \

     števec \

     sprejeti \

     komentar »Dovoli izhodno sledenje UDP, omejeno na 500 PPS«

 

   ## Dovoli odhodne povezave HTTP in HTTPS

   tcp dport { http, https } ct stanje novo \

     števec \

     sprejeti \

     komentar »Dovoli odhodne povezave HTTP in HTTPS«

 

   ## Dovoli pošiljanje izhodnih SMTP

   tcp dport predložitev ct stanje novo \

     števec \

     sprejeti \

     komentar »Dovoli oddajo izhodnega SMTP«

 

   ## Dovoli odhodne zahteve DNS

   udp dport 53 \

     števec \

     sprejeti \

     komentar »Dovoli odhodne zahteve UDP DNS«

   tcp dport 53 \

     števec \

     sprejeti \

     komentar »Dovoli odhodne zahteve TCP DNS«

 

   ## Dovoli odhodne zahteve NTP

   udp dport 123 \

     števec \

     sprejeti \

     komentar »Dovoli odhodne zahteve NTP«

 

   ## Beležite promet brez ujema, vendar omejite beleženje na največ 60 sporočil/minuto

   ## Privzeti pravilnik bo uporabljen za promet brez ujema

   mejna stopnja 60/minutni izbruh 100 paketi \

     predpono dnevnika “OUT – Drop: “ \

     komentar »Zabeleži promet brez ujemanja«

 

   ## Preštejte promet brez ujema

   števec \

     komentar »Preštejte promet brez ujemanja«

 }

 

}

 

# Glavna tabela filtriranja NAT

tabela inet nat {

 

 # Pravila za predhodno usmerjanje prometa NAT

 predhodno usmerjanje verige {

   vrsta nat kavelj prednost pred usmerjanjem dstnat; politika sprejeti

 }

 

 # Pravila za naknadno usmerjanje prometa NAT

 # Ta tabela je obdelana pred verigo post-usmerjanja Firezone

 verižno prestavljanje {

   vrsta nat kavelj postrouting prioriteta srcnat – 5; politika sprejeti

 }

 

}

Uporaba​,war

Požarni zid mora biti shranjen na ustrezni lokaciji za distribucijo Linuxa, ki se izvaja. Za Debian/Ubuntu je to /etc/nftables.conf, za RHEL pa /etc/sysconfig/nftables.conf.

nftables.service bo treba konfigurirati za zagon ob zagonu (če še ni) nastavite:

systemctl omogoči nftables.service

Če spreminjate predlogo požarnega zidu, lahko sintakso preverite tako, da zaženete ukaz za preverjanje:

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

Preverite, ali požarni zid deluje po pričakovanjih, saj nekatere funkcije nftables morda ne bodo na voljo, odvisno od izdaje, ki se izvaja na strežniku.



_______________________________________________________________



Telemetrija

 

Ta dokument predstavlja pregled telemetrije, ki jo Firezone zbira iz vaše samogostiteljske instance, in kako jo onemogočiti.

Zakaj Firezone zbira telemetrijo​,war

Požarno območje opira na telemetriji, da damo prednost našemu načrtu in optimiziramo inženirske vire, ki jih imamo, da naredimo Firezone boljši za vse.

Namen telemetrije, ki jo zbiramo, je odgovoriti na naslednja vprašanja:

  • Koliko ljudi namesti, uporablja in preneha uporabljati Firezone?
  • Katere lastnosti so najbolj dragocene in katere ne uporabljajo?
  • Katero funkcionalnost je treba najbolj izboljšati?
  • Ko se nekaj pokvari, zakaj se je pokvarilo in kako lahko preprečimo, da bi se to zgodilo v prihodnosti?

Kako zbiramo telemetrijo​,war

Obstajajo tri glavna mesta, kjer se telemetrija zbira v Firezone:

  1. Paketna telemetrija. Vključuje dogodke, kot so namestitev, odstranitev in nadgradnja.
  2. Telemetrija CLI iz ukazov firezone-ctl.
  3. Telemetrija izdelkov, povezana s spletnim portalom.

V vsakem od teh treh kontekstov zajamemo najmanjšo količino podatkov, potrebnih za odgovor na vprašanja v zgornjem razdelku.

Skrbniška e-poštna sporočila se zbirajo samo, če se izrecno odločite za posodobitve izdelkov. V nasprotnem primeru so podatki, ki omogočajo osebno identifikacijo nikoli zbrani.

Firezone shranjuje telemetrijo v samostojni instanci PostHog, ki se izvaja v zasebni gruči Kubernetes, do katere lahko dostopa samo ekipa Firezone. Tukaj je primer telemetričnega dogodka, ki je poslan iz vašega primerka Firezone na naš telemetrični strežnik:

{

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

   "časovni žig": “2022-07-22T18:30:39.748000+00:00”,

   “dogodek”: “fz_http_started”,

   “različni_id”: “1ec2e794-1c3e-43fc-a78f-1db6d1a37f54”,

   "lastnosti": {

       “$geoip_city_name”: "Ashburn",

       “$geoip_continent_code”: "NA",

       “$geoip_continent_name”: "Severna Amerika",

       “$geoip_country_code”: "US",

       “$geoip_country_name”: "Združene države",

       “$geoip_latitude”: 39.0469,

       “$geoip_longitude”: -77.4903,

       “$geoip_postal_code”: "20149",

       “$geoip_subdivision_1_code”: "VA",

       “$geoip_subdivision_1_name”: "Virginija",

       “$geoip_time_zone”: “Amerika/New_York”,

       “$ip”: "52.200.241.107",

       “$plugins_deferred”: [],

       “$plugins_failed”: [],

       “$plugins_succeeded”[

           "GeoIP (3)"

       ],

       “različni_id”: “1zc2e794-1c3e-43fc-a78f-1db6d1a37f54”,

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

       “različica_jedra”: »linux 5.13.0«,

       "različica": "0.4.6"

   },

   “elementi_veriga”: ""

}

Kako onemogočiti telemetrijo​,war

OPOMBE

Razvojna ekipa Firezone opira o analitiki izdelkov, da bo Firezone boljši za vse. Če pustite omogočeno telemetrijo, je najdragocenejši prispevek, ki ga lahko daste k razvoju Firezone. Kljub temu razumemo, da imajo nekateri uporabniki višje zahteve glede zasebnosti ali varnosti in bi raje v celoti onemogočili telemetrijo. Če ste to vi, nadaljujte z branjem.

Telemetrija je privzeto omogočena. Če želite popolnoma onemogočiti telemetrijo izdelka, nastavite naslednjo konfiguracijsko možnost na false v /etc/firezone/firezone.rb in zaženite sudo firezone-ctl reconfigure, da prevzamete spremembe.

privzeto ['firezone']['telemetrija']['omogočeno'] = false

To bo popolnoma onemogočilo vso telemetrijo izdelka.