Hailbytes VPN sa Firezone Firewall dokumentacijom

Sadržaj

Prvi koraci

Korak po korak upute za implementaciju Hailbytes VPN-a sa Firezone GUI su date ovdje. 

Administrator: Postavljanje instance servera je direktno povezano s ovim dijelom.

Korisnički vodiči: Korisni dokumenti koji vas mogu naučiti kako koristiti Firezone i rješavati tipične probleme. Nakon što je server uspješno raspoređen, pogledajte ovaj odjeljak.

Vodiči za uobičajene konfiguracije

Split Tunneling: Koristite VPN samo za slanje saobraćaja u određene IP opsege.

Bijela lista: Postavite statičku IP adresu VPN servera da biste koristili bijelu listu.

Obrnuti tuneli: Kreirajte tunele između nekoliko vršnjaka koristeći reverzne tunele.

Podrška

Sa zadovoljstvom vam možemo pomoći ako vam je potrebna pomoć pri instalaciji, prilagođavanju ili korištenju Hailbytes VPN-a.

Authentication

Prije nego što korisnici mogu proizvesti ili preuzeti konfiguracijske datoteke uređaja, Firezone se može konfigurirati da zahtijeva autentifikaciju. Korisnici će možda morati povremeno da se ponovo autentifikuju kako bi njihova VPN veza ostala aktivna.

Iako je Firezone zadana metoda prijave lokalna e-pošta i lozinka, ona se također može integrirati sa bilo kojim standardiziranim OpenID Connect (OIDC) provajderom identiteta. Korisnici se sada mogu prijaviti na Firezone koristeći svoje akreditive Okta, Google, Azure AD ili privatnog provajdera identiteta.

 

Integrirajte generičkog OIDC provajdera

Konfiguracijski parametri potrebni Firezone-u da omogući SSO korištenjem OIDC provajdera prikazani su u primjeru ispod. Na /etc/firezone/firezone.rb možete pronaći konfiguracionu datoteku. Pokrenite firezone-ctl reconfigure i firezone-ctl restart da ažurirate aplikaciju i stupite na snagu promjena.

 

# Ovo je primjer korištenja Googlea i Okte kao provajdera SSO identiteta.

# Više OIDC konfiguracija se može dodati u istu Firezone instancu.

 

# Firezone može onemogućiti VPN korisnika ako se otkrije bilo kakva greška prilikom pokušaja

# da osvježe njihov access_token. Ovo je potvrđeno da radi za Google, Okta i

# Azure SSO i koristi se za automatsko prekidanje korisničke VPN veze ako se ukloni

# od OIDC provajdera. Ostavite ovo onemogućeno ako je vaš OIDC provajder

# ima problema s osvježavanjem pristupnih tokena jer bi mogao neočekivano prekinuti a

VPN sesija # korisnika.

default['firezone']['authentication']['disable_vpn_on_oidc_error'] = netačno

 

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

    opseg: “otvoreni profil e-pošte”,

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

    opseg: “otvoreni profil e-pošte offline_access”,

    oznaka: “Okta”

  }

}



Za integraciju su potrebne sljedeće konfiguracijske postavke:

  1. discovery_document_uri: The URI konfiguracije OpenID Connect provajdera koji vraća JSON dokument koji se koristi za izradu naknadnih zahtjeva ovom OIDC provajderu.
  2. client_id: ID klijenta aplikacije.
  3. client_secret: Tajna klijenta aplikacije.
  4. redirect_uri: Upućuje OIDC provajderu gdje da preusmjeri nakon autentifikacije. Ovo bi trebao biti vaš Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (npr. https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Postavljeno na kod.
  6. područje: OIDC opsezi da dobijete od svog OIDC provajdera. Ovo bi trebalo postaviti na openid email profil ili openid email profil offline_access u zavisnosti od provajdera.
  7. label: Tekst oznake dugmeta koji se pojavljuje na ekranu za prijavu u Firezone.

Lijepi URL-ovi

Za svakog OIDC provajdera kreira se odgovarajući lijep URL za preusmjeravanje na URL za prijavu konfiguriranog provajdera. Za primjer OIDC konfiguracije iznad, URL-ovi su:

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

Upute za postavljanje Firezone sa popularnim provajderima identiteta

Provajderi imamo dokumentaciju za:

  • Google
  • Okta
  • Azure Active Directory
  • Onelogin
  • Lokalna provjera autentičnosti

 

Ako vaš dobavljač identiteta ima generički OIDC konektor i nije gore naveden, idite u njihovu dokumentaciju za informacije o tome kako da preuzmete potrebne postavke konfiguracije.

Održavajte redovnu ponovnu autentifikaciju

Postavka pod postavkama/sigurnost može se promijeniti da zahtijeva periodičnu ponovnu autentifikaciju. Ovo se može koristiti za provođenje zahtjeva da korisnici redovno ulaze u Firezone kako bi nastavili svoju VPN sesiju.

Dužina sesije može se podesiti između jednog sata i devedeset dana. Ako ovo postavite na Nikad, možete omogućiti VPN sesije u bilo kojem trenutku. Ovo je standard.

Ponovna autentifikacija

Korisnik mora prekinuti svoju VPN sesiju i prijaviti se na portal Firezone kako bi ponovo autentifikovao VPN sesiju koja je istekla (URL naveden tokom implementacije).

Možete ponovo autentifikovati svoju sesiju prateći precizna uputstva klijenta koja se nalaze ovde.

 

Status VPN veze

Kolona tabele VPN veze na stranici Korisnici prikazuje status korisničke veze. Ovo su statusi veze:

ENABLED – Veza je omogućena.

ONEMOGUĆENO – Veza je onemogućena zbog greške administratora ili OIDC osvježavanja.

ISTEKLO – Veza je onemogućena zbog isteka autentifikacije ili se korisnik nije prijavio prvi put.

Google

Preko opšteg OIDC konektora, Firezone omogućava jednokratnu prijavu (SSO) sa Google Workspace i Cloud Identity. Ovaj vodič će vam pokazati kako da dobijete dolje navedene konfiguracijske parametre, koji su neophodni za integraciju:

  1. discovery_document_uri: The URI konfiguracije OpenID Connect provajdera koji vraća JSON dokument koji se koristi za izradu naknadnih zahtjeva ovom OIDC provajderu.
  2. client_id: ID klijenta aplikacije.
  3. client_secret: Tajna klijenta aplikacije.
  4. redirect_uri: Upućuje OIDC provajderu gdje da preusmjeri nakon autentifikacije. Ovo bi trebao biti vaš Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (npr. https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Postavljeno na kod.
  6. područje: OIDC opsezi da dobijete od svog OIDC provajdera. Ovo bi trebalo biti postavljeno na openid profil e-pošte kako bi Firezone pružio e-poštu korisnika u vraćenim zahtjevima.
  7. label: Tekst oznake dugmeta koji se pojavljuje na ekranu za prijavu u Firezone.

Nabavite postavke konfiguracije

1. Ekran OAuth Config

Ako je ovo prvi put da kreirate novi ID OAuth klijenta, od vas će se tražiti da konfigurišete ekran za pristanak.

*Odaberite Interno za tip korisnika. Ovo osigurava da samo računi koji pripadaju korisnicima u vašoj Google Workspace organizaciji mogu kreirati konfiguracije uređaja. NEMOJTE odabrati Eksterno osim ako ne želite omogućiti bilo kome s važećim Google računom da kreira konfiguracije uređaja.

 

Na ekranu sa informacijama o aplikaciji:

  1. Naziv aplikacije: Firezone
  2. Logo aplikacije: Firezone logo (sačuvaj link kao).
  3. Početna stranica aplikacije: URL vaše Firezone instance.
  4. Ovlaštene domene: domen najvišeg nivoa vaše Firezone instance.

 

 

2. Kreirajte ID-ove OAuth klijenta

Ovaj odjeljak je zasnovan na Googleovoj vlastitoj dokumentaciji o postavljanje OAuth 2.0.

Posjetite Google Cloud Console Stranica akreditiva stranicu, kliknite + Kreiraj vjerodajnice i odaberite OAuth ID klijenta.

Na ekranu za kreiranje ID-a OAuth klijenta:

  1. Postavite Vrsta aplikacije na Web aplikacija
  2. Dodajte svoj Firezone EXTERNAL_URL + /auth/oidc/google/callback/ (npr. https://instance-id.yourfirezone.com/auth/oidc/google/callback/) kao unos u Autorizirane URI-je za preusmjeravanje.

 

Nakon kreiranja OAuth ID-a klijenta, dobit ćete ID klijenta i Client Secret. Oni će se koristiti zajedno sa URI-jem za preusmjeravanje u sljedećem koraku.

Firezone Integration

Uredi /etc/firezone/firezone.rb uključiti sljedeće opcije:

 

# Korištenje Googlea kao dobavljača SSO identiteta

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

    opseg: “otvoreni profil e-pošte”,

    oznaka: "Google"

  }

}

 

Pokrenite firezone-ctl reconfigure i firezone-ctl restart da ažurirate aplikaciju. Sada biste trebali vidjeti dugme Prijava putem Google-a na korijenskom URL-u Firezone.

Okta

Firezone koristi generički OIDC konektor za olakšavanje Single Sign-On (SSO) sa Oktom. Ovaj vodič će vam pokazati kako da dobijete dolje navedene konfiguracijske parametre, koji su neophodni za integraciju:

  1. discovery_document_uri: The URI konfiguracije OpenID Connect provajdera koji vraća JSON dokument koji se koristi za izradu naknadnih zahtjeva ovom OIDC provajderu.
  2. client_id: ID klijenta aplikacije.
  3. client_secret: Tajna klijenta aplikacije.
  4. redirect_uri: Upućuje OIDC provajderu gdje da preusmjeri nakon autentifikacije. Ovo bi trebao biti vaš Firezone EXTERNAL_URL + /auth/oidc/ /povratni poziv/ (npr. https://instance-id.yourfirezone.com/auth/oidc/okta/callback/).
  5. response_type: Postavljeno na kod.
  6. područje: OIDC opsezi da dobijete od svog OIDC provajdera. Ovo bi trebalo biti postavljeno na openid email profil offline_access kako bi Firezone pružio e-poštu korisnika u vraćenim zahtjevima.
  7. label: Tekst oznake dugmeta koji se pojavljuje na ekranu za prijavu u Firezone.

 

Integrirajte aplikaciju Okta

Ovaj dio vodiča se zasniva na Oktina dokumentacija.

Na Admin Consoleu idite na Aplikacije > Aplikacije i kliknite Kreiraj integraciju aplikacije. Postavite metodu prijave na OICD – OpenID Connect i tip aplikacije na Web aplikaciju.

Konfigurirajte ove postavke:

  1. Naziv aplikacije: Firezone
  2. Logo aplikacije: Firezone logo (sačuvaj link kao).
  3. Vrsta odobrenja: Označite okvir Osvježi token. Ovo osigurava da se Firezone sinkronizira s provajderom identiteta i da se pristup VPN-u prekida kada se korisnik ukloni.
  4. URI za preusmjeravanje prijave: Dodajte svoj Firezone EXTERNAL_URL + /auth/oidc/okta/callback/ (npr. https://instance-id.yourfirezone.com/auth/oidc/okta/callback/) kao unos u ovlaštene URI-je za preusmjeravanje .
  5. Zadaci: Ograničite na grupe kojima želite omogućiti pristup vašoj Firezone instanci.

Kada se postavke sačuvaju, dobit ćete ID klijenta, tajnu klijenta i Okta domenu. Ove 3 vrijednosti će se koristiti u koraku 2 za konfiguraciju Firezone.

Integrirajte Firezone

Uredi /etc/firezone/firezone.rb da uključite opcije ispod. Tvoj discovery_document_url bice /.well-known/openid-configuration priložen na kraj vašeg okta_domain.

 

# Korištenje Okte kao dobavljača SSO identiteta

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

    opseg: “otvoreni profil e-pošte offline_access”,

    oznaka: “Okta”

  }

}

 

Pokrenite firezone-ctl reconfigure i firezone-ctl restart da ažurirate aplikaciju. Sada biste trebali vidjeti dugme Prijava s Okta na korijenskom URL-u Firezone.

 

Ograničite pristup određenim korisnicima

Okta može ograničiti korisnike koji mogu pristupiti aplikaciji Firezone. Idite na stranicu Zadaci Firezone App Integration svoje Okta Admin Console da biste to postigli.

Azure Active Directory

Preko generičkog OIDC konektora, Firezone omogućava jednokratnu prijavu (SSO) sa Azure Active Directory. Ovaj priručnik će vam pokazati kako da dobijete dolje navedene konfiguracijske parametre, koji su neophodni za integraciju:

  1. discovery_document_uri: The URI konfiguracije OpenID Connect provajdera koji vraća JSON dokument koji se koristi za izradu naknadnih zahtjeva ovom OIDC provajderu.
  2. client_id: ID klijenta aplikacije.
  3. client_secret: Tajna klijenta aplikacije.
  4. redirect_uri: Upućuje OIDC provajderu gdje da preusmjeri nakon autentifikacije. Ovo bi trebao biti vaš Firezone EXTERNAL_URL + /auth/oidc/ /povratni poziv/ (npr. https://instance-id.yourfirezone.com/auth/oidc/azure/callback/).
  5. response_type: Postavljeno na kod.
  6. područje: OIDC opsezi da dobijete od svog OIDC provajdera. Ovo bi trebalo biti postavljeno na openid email profil offline_access kako bi Firezone pružio e-poštu korisnika u vraćenim zahtjevima.
  7. label: Tekst oznake dugmeta koji se pojavljuje na ekranu za prijavu u Firezone.

Preuzmite postavke konfiguracije

Ovaj vodič je izvučen iz Azure Active Directory dokumenti.

 

Idite na stranicu Azure Active Directory portala Azure. Odaberite opciju menija Upravljanje, odaberite Nova registracija, a zatim se registrirajte pružanjem informacija u nastavku:

  1. Naziv: Firezone
  2. Podržani tipovi računa: (Samo zadani direktorij – jedan stanar)
  3. URI za preusmjeravanje: Ovo bi trebao biti vaš firezone EXTERNAL_URL + /auth/oidc/azure/callback/ (npr. https://instance-id.yourfirezone.com/auth/oidc/azure/callback/). Obavezno uključite zadnju kosu crtu. Ovo će biti vrijednost redirect_uri.

 

Nakon registracije, otvorite prikaz detalja aplikacije i kopirajte ID aplikacije (klijenta).. Ovo će biti vrijednost client_id. Zatim otvorite meni krajnjih tačaka da preuzmete OpenID Connect dokument metapodataka. Ovo će biti vrijednost discovery_document_uri.

 

Kreirajte novu tajnu klijenta klikom na opciju Certifikati i tajne u meniju Upravljanje. Kopirajte tajnu klijenta; tajna vrijednost klijenta će biti ovo.

 

Na kraju, odaberite vezu API dozvola u meniju Upravljanje, kliknite Dodajte dozvolu, i izaberite Microsoft Graph, dodati E-mail, openid, offline_access i profil do potrebnih dozvola.

Firezone Integration

Uredi /etc/firezone/firezone.rb uključiti sljedeće opcije:

 

# Korištenje Azure Active Directory kao dobavljača SSO identiteta

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

    opseg: “otvoreni profil e-pošte offline_access”,

    oznaka: “Azure”

  }

}

 

Pokrenite firezone-ctl reconfigure i firezone-ctl restart da ažurirate aplikaciju. Sada biste trebali vidjeti dugme Prijavi se pomoću Azure na korijenskom URL-u Firezone.

Kako: Ograničiti pristup određenim članovima

Azure AD omogućava administratorima da ograniče pristup aplikacijama na određenu grupu korisnika unutar vaše kompanije. Više informacija o tome kako to učiniti možete pronaći u Microsoftovoj dokumentaciji.

Administrator

  • konfigurisati
  • Upravljajte instalacijom
  • nadogradnja
  • Rješavanje problema
  • Sigurnosna razmatranja
  • Pokretanje SQL upita

konfigurisati

Firezone koristi Chef Omnibus za upravljanje zadacima uključujući izdavanje paketa, nadzor procesa, upravljanje dnevnikom i još mnogo toga.

Ruby kod čini primarni konfiguracioni fajl, koji se nalazi na /etc/firezone/firezone.rb. Ponovno pokretanje sudo firezone-ctl reconfigure nakon izmjena ove datoteke uzrokuje da Chef prepozna promjene i primjenjuje ih na trenutni operativni sistem.

Pogledajte referencu konfiguracijske datoteke za kompletnu listu konfiguracijskih varijabli i njihove opise.

Upravljajte instalacijom

Vašom Firezone instancom se može upravljati putem firezone-ctl komandu, kao što je prikazano ispod. Većina podnaredbi zahtijeva prefiks sa sudo.

 

root@demo:~# firezone-ctl

omnibus-ctl: naredba (podnaredba)

Opće naredbe:

  očisti

    Izbrišite *sve* podatke o požarnoj zoni i počnite od nule.

  create-or-reset-admin

    Resetuje lozinku za administratora sa e-poštom specificiranom po defaultu ['firezone']['admin_email'] ili kreira novog administratora ako ta adresa e-pošte ne postoji.

  pomoći

    Odštampajte ovu poruku pomoći.

  rekonfiguracija

    Ponovo konfigurišite aplikaciju.

  reset-mreža

    Resetuje nftables, WireGuard interfejs i tabelu rutiranja nazad na Firezone podrazumevane vrednosti.

  show-config

    Prikažite konfiguraciju koja bi bila generirana rekonfiguracijom.

  rušenje mreže

    Uklanja WireGuard interfejs i tabelu nftables firezone.

  sila-cert-obnova

    Prisilno obnavljanje certifikata sada čak i ako nije istekao.

  stop-cert-obnova

    Uklanja cronjob koji obnavlja certifikate.

  Deinstalirati

    Ukinite sve procese i deinstalirajte supervizor procesa (podaci će biti sačuvani).

  verzija

    Prikaži trenutnu verziju Firezone

Komande za upravljanje uslugama:

  graceful-kill

    Pokušajte graciozno zaustaviti, a zatim SIGKILL cijelu procesnu grupu.

  hup

    Pošaljite uslugama HUP.

  Int

    Pošaljite uslugama INT.

  ubiti

    Pošaljite usluge KILL.

  Jednom

    Pokrenite usluge ako ne rade. Nemojte ih ponovo pokretati ako prestanu.

  Restart

    Zaustavite usluge ako rade, a zatim ih ponovo pokrenite.

  servis-list

    Navedite sve usluge (omogućene usluge se pojavljuju sa *.)

  start

    Pokrenite usluge ako ne rade i ponovo ih pokrenite ako prestanu.

  status

    Prikaži status svih usluga.

  stani

    Zaustavite usluge i nemojte ih ponovo pokretati.

  rep

    Gledajte servisne dnevnike svih omogućenih usluga.

  pojam

    Pošaljite uslugama TERM.

  usr1

    Pošaljite uslugama USR1.

  usr2

    Pošaljite uslugama USR2.

nadogradnja

Sve VPN sesije moraju biti prekinute prije nadogradnje Firezone, što također zahtijeva gašenje web korisničkog sučelja. U slučaju da nešto pođe po zlu tokom nadogradnje, savjetujemo da odvojite sat vremena za održavanje.

 

Da poboljšate Firezone, poduzmite sljedeće radnje:

  1. Nadogradite paket firezone koristeći instalaciju s jednom komandom: sudo -E bash -c “$(curl -fsSL https://github.com/firezone/firezone/raw/master/scripts/install.sh)”
  2. Pokrenite firezone-ctl reconfigure da pokupite nove promjene.
  3. Pokrenite firezone-ctl restart da ponovo pokrenete usluge.

Ukoliko dođe do bilo kakvih problema, javite nam se podnošenje tiketa za podršku.

Nadogradite sa <0.5.0 na >=0.5.0

Postoji nekoliko prelomnih promjena i modifikacija konfiguracije u 0.5.0 koje se moraju riješiti. Saznajte više u nastavku.

Uklonjeni su povezani zahtjevi Nginx non_ssl_port (HTTP).

Nginx više ne podržava force SSL i non-SSL parametre porta od verzije 0.5.0. Budući da je Firezone-u potreban SSL da bi funkcionisao, savjetujemo vam da uklonite paket Nginx usluge postavljanjem default['firezone']['nginx']['enabled'] = false i usmjeravanjem vašeg obrnutog proxyja na Phoenix aplikaciju na portu 13000 umjesto toga (podrazumevano ).

Podrška za ACME protokol

0.5.0 uvodi podršku za ACME protokol za automatsko obnavljanje SSL certifikata uz pomoć Nginx usluge. Kako bi se omogućilo,

  • Uvjerite se da default['firezone']['external_url'] sadrži važeći FQDN koji se razrješava na javnu IP adresu vašeg servera.
  • Uvjerite se da je port 80/tcp dostupan
  • Omogućite podršku za ACME protokol sa default['firezone']['ssl']['acme']['enabled'] = true u vašoj konfiguracijskoj datoteci.

Preklapajuća odredišta izlaznog pravila

Mogućnost dodavanja pravila sa dupliranim odredištima je nestala u Firezone 0.5.0. Naša skripta za migraciju će automatski prepoznati ove situacije tokom nadogradnje na 0.5.0 i zadržati samo pravila čije odredište uključuje drugo pravilo. Ne morate ništa da radite ako je ovo u redu.

Inače, prije nadogradnje, savjetujemo da promijenite svoj skup pravila kako biste se riješili ovih situacija.

Predkonfiguracija Okta i Google SSO

Firezone 0.5.0 uklanja podršku za Okta i Google SSO konfiguraciju starog stila u korist nove, fleksibilnije konfiguracije zasnovane na OIDC-u. 

Ako imate bilo kakvu konfiguraciju pod zadanim ['firezone']['authentication']['okta'] ili default['firezone']['authentication']['google']), morate ih migrirati na naš OIDC konfiguracija zasnovana na donjem vodiču.

Postojeća Google OAuth konfiguracija

Uklonite ove linije koje sadrže stare Google OAuth konfiguracije iz vašeg konfiguracijskog fajla koji se nalazi na /etc/firezone/firezone.rb

 

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

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

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

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

 

Zatim konfigurirajte Google kao OIDC provajdera slijedeći procedure ovdje.

(Navedite upute za vezu)<<<<<<<<<<<<<<<<<

 

Konfigurirajte postojeći Google OAuth 

Uklonite ove linije koje sadrže stare Okta OAuth konfiguracije iz vaše konfiguracijske datoteke koja se nalazi na /etc/firezone/firezone.rb

 

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

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

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

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

 

Zatim konfigurirajte Okta kao OIDC provajdera slijedeći procedure ovdje.

Nadogradite sa 0.3.x na >= 0.3.16

Ovisno o vašoj trenutnoj postavci i verziji, pridržavajte se uputa u nastavku:

Ako već imate OIDC integraciju:

Za neke OIDC provajdere, nadogradnja na >= 0.3.16 zahtijeva dobivanje tokena za osvježavanje za opseg pristupa van mreže. Ovim se osigurava da se Firezone ažurira s provajderom identiteta i da se VPN veza isključi nakon što se korisnik izbriše. Ranijim iteracijama Firezone-a nedostajala je ova funkcija. U nekim slučajevima, korisnici koji su izbrisani iz vašeg provajdera identiteta mogu i dalje biti povezani na VPN.

Neophodno je uključiti pristup van mreže u parametar opsega vaše OIDC konfiguracije za OIDC provajdere koji podržavaju opseg vanmrežnog pristupa. Rekonfiguracija Firezone-ctl mora se izvršiti da bi se primijenile promjene na konfiguracijski fajl Firezone, koji se nalazi na /etc/firezone/firezone.rb.

Za korisnike koje je autentificirao vaš OIDC provajder, vidjet ćete naslov OIDC veze na stranici s detaljima o korisniku web korisničkog sučelja ako Firezone može uspješno dohvatiti token za osvježavanje.

Ako ovo ne uspije, morat ćete izbrisati postojeću OAuth aplikaciju i ponoviti korake podešavanja OIDC-a da kreirajte novu integraciju aplikacije .

Imam postojeću OAuth integraciju

Prije 0.3.11, Firezone je koristio unaprijed konfigurisane OAuth2 provajdere. 

Slijedite upute OVDJE da migriraju na OIDC.

Nisam integrirao provajdera identiteta

Nisu potrebne nikakve radnje. 

Možete slijediti upute OVDJE da omogućite SSO preko OIDC provajdera.

Nadogradite sa 0.3.1 na >= 0.3.2

Umjesto njega, default['firezone']['external url'] zamijenio je opciju konfiguracije default['firezone']['fqdn']. 

Postavite ovo na URL vašeg Firezone online portala koji je dostupan široj javnosti. Zadano će biti https:// plus FQDN vašeg servera ako se ne definira.

Konfiguracijski fajl se nalazi na /etc/firezone/firezone.rb. Pogledajte referencu konfiguracijske datoteke za kompletnu listu konfiguracijskih varijabli i njihove opise.

Nadogradite sa 0.2.x na 0.3.x

Firezone više ne čuva privatne ključeve uređaja na Firezone serveru od verzije 0.3.0. 

Firezone Web UI neće vam dozvoliti da ponovo preuzmete ili vidite ove konfiguracije, ali svi postojeći uređaji bi trebali nastaviti da rade kao što jesu.

Nadogradite sa 0.1.x na 0.2.x

Ako nadograđujete sa Firezone 0.1.x, postoji nekoliko promjena u konfiguracijskoj datoteci koje se moraju riješiti ručno. 

Da biste izvršili potrebne modifikacije vaše /etc/firezone/firezone.rb datoteke, pokrenite naredbe ispod kao 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 rekonfiguriraj

firezone-ctl restart

Rješavanje problema

Provjera dnevnika Firezone je mudar prvi korak za sve probleme koji se mogu pojaviti.

Pokrenite sudo firezone-ctl tail da vidite zapise Firezone.

Otklanjanje grešaka u vezi sa povezivanjem

Većinu problema sa povezivanjem sa Firezone izazivaju nekompatibilna iptables ili nftables pravila. Morate biti sigurni da pravila koja imate na snazi ​​nisu u suprotnosti sa pravilima Firezone.

Internet veza opada kada je tunel aktivan

Uvjerite se da lanac FORWARD dozvoljava pakete od vaših WireGuard klijenata do lokacija koje želite pustiti kroz Firezone ako se vaša internetska veza pogorša svaki put kada aktivirate svoj WireGuard tunel.

 

Ovo se može postići ako koristite ufw tako što ćete osigurati da je zadana politika usmjeravanja dozvoljena:

 

ubuntu@fz:~$ sudo ufw default dozvoli rutirano

Zadano usmjereno pravilo promijenjeno u 'dozvoli'

(obavezno ažurirajte svoja pravila u skladu s tim)

 

A ufw status tipičnog Firezone servera može izgledati ovako:

 

ubuntu@fz:~$ sudo ufw status verbose

Status: aktivan

Prijava: uključeno (nisko)

Zadano: zabrani (dolazni), dopusti (odlazni), dozvoli (usmjereno)

Novi profili: preskoči

 

Za akciju od

— —— —-

22/tcp DOZVOLI UKLJUČIVANJE bilo gdje

80/tcp DOZVOLI UKLJUČIVANJE bilo gdje

443/tcp DOZVOLI UKLJUČIVANJE bilo gdje

51820/udp Dozvoli bilo gdje

22/tcp (v6) DOPUSTI bilo gdje (v6)

80/tcp (v6) DOPUSTI bilo gdje (v6)

443/tcp (v6) DOZVOLJAVANJE bilo gdje (v6)

51820/udp (v6) DOPUSTI bilo gdje (v6)

Sigurnosna razmatranja

Savjetujemo da ograničite pristup web sučelju za izuzetno osjetljive i kritične proizvodne implementacije, kao što je objašnjeno u nastavku.

Usluge i luke

 

usluga

Default Port

Slušajte adresu

Opis

Nginx

80, 443

sve

Javni HTTP(S) port za administriranje Firezone i olakšavanje autentifikacije.

Žičani štitnik

51820

sve

Javni WireGuard port koji se koristi za VPN sesije. (UDP)

postgresql

15432

127.0.0.1

Lokalni port koji se koristi za uključeni Postgresql server.

Feniks

13000

127.0.0.1

Lokalni port koji koristi uzvodni poslužitelj aplikacija elixir.

Production Deployments

Savjetujemo vam da razmislite o ograničavanju pristupa javno izloženom web korisničkom sučelju Firezone (podrazumevano portovi 443/tcp i 80/tcp) i umjesto toga koristite WireGuard tunel za upravljanje Firezone-om za proizvodnju i implementaciju koja je okrenuta javnosti gdje će biti zadužen jedan administrator kreiranja i distribucije konfiguracija uređaja krajnjim korisnicima.

 

Na primjer, ako je administrator kreirao konfiguraciju uređaja i kreirao tunel s lokalnom WireGuard adresom 10.3.2.2, sljedeća ufw konfiguracija bi omogućila administratoru da pristupi Firezone web korisničkom sučelju na serverskom wg-firezone sučelju koristeći zadanu 10.3.2.1 adresa tunela:

 

root@demo:~# ufw status opširno

Status: aktivan

Prijava: uključeno (nisko)

Zadano: zabrani (dolazni), dopusti (odlazni), dozvoli (usmjereno)

Novi profili: preskoči

 

Za akciju od

— —— —-

22/tcp DOZVOLI UKLJUČIVANJE bilo gdje

51820/udp Dozvoli bilo gdje

Bilo gdje DOPUSTI U 10.3.2.2

22/tcp (v6) DOPUSTI bilo gdje (v6)

51820/udp (v6) DOPUSTI bilo gdje (v6)

Ovo bi ostalo samo 22/tcp izložen za SSH pristup za upravljanje serverom (opciono), i 51820/udp izložena kako bi se uspostavili WireGuard tuneli.

Pokrenite SQL upite

Firezone objedinjuje Postgresql server i odgovara psql uslužni program koji se može koristiti iz lokalne ljuske na sljedeći način:

 

/opt/firezone/embedded/bin/psql \

  -U požarna zona \

  -d požarna zona \

  -h lokalni host \

  -p 15432 \

  -c “SQL_STATEMENT”

 

Ovo može biti od pomoći u svrhu otklanjanja grešaka.

 

Uobičajeni zadaci:

 

  • Popis svih korisnika
  • Popis svih uređaja
  • Promjena uloge korisnika
  • Izrada sigurnosne kopije baze podataka



Popis svih korisnika:

 

/opt/firezone/embedded/bin/psql \

  -U požarna zona \

  -d požarna zona \

  -h lokalni host \

  -p 15432 \

  -c “ODABIR * IZ korisnika;”



Popis svih uređaja:

 

/opt/firezone/embedded/bin/psql \

  -U požarna zona \

  -d požarna zona \

  -h lokalni host \

  -p 15432 \

  -c “ODABIR * IZ uređaja;”



Promijenite korisničku ulogu:

 

Postavite ulogu na 'admin' ili 'neprivileged':

 

/opt/firezone/embedded/bin/psql \

  -U požarna zona \

  -d požarna zona \

  -h lokalni host \

  -p 15432 \

  -c “AŽURIRAJ korisnike POSTAVI ulogu = 'admin' WHERE email = 'user@example.com';”



Izrada sigurnosne kopije baze podataka:

 

Nadalje, uključen je i pg dump program, koji se može koristiti za pravljenje redovnih rezervnih kopija baze podataka. Izvršite sljedeći kod za ispis kopije baze podataka u uobičajenom formatu SQL upita (zamijenite /path/to/backup.sql s lokacijom na kojoj treba kreirati SQL datoteku):

 

/opt/firezone/embedded/bin/pg_dump \

  -U požarna zona \

  -d požarna zona \

  -h lokalni host \

  -p 15432 > /putanja/do/backup.sql

Korisnički vodiči

  • Dodaj korisnike
  • Dodajte uređaje
  • Egress Rules
  • Instrukcije za klijente
  • Split Tunnel VPN
  • Reverse Tunnel 
  • NAT Gateway

Dodaj korisnike

Nakon što se Firezone uspješno implementira, morate dodati korisnike kako biste im omogućili pristup vašoj mreži. Za to se koristi Web UI.

 

Web UI


Odabirom dugmeta „Dodaj korisnika“ pod /users, možete dodati korisnika. Od vas će se tražiti da korisniku date adresu e-pošte i lozinku. Kako bi se automatski omogućio pristup korisnicima u vašoj organizaciji, Firezone se također može povezati i sinhronizirati sa provajderom identiteta. Više detalja dostupno je u Autentičnost. < Dodajte vezu na Authenticate

Dodajte uređaje

Savjetujemo da zatražite od korisnika da kreiraju vlastite konfiguracije uređaja tako da privatni ključ bude vidljiv samo njima. Korisnici mogu generirati vlastite konfiguracije uređaja slijedeći upute na stranici Instrukcije za klijente stranica.

 

Generiranje administrativne konfiguracije uređaja

Sve konfiguracije korisničkih uređaja mogu kreirati Firezone administratori. Na stranici korisničkog profila koja se nalazi na /users, odaberite opciju “Dodaj uređaj” da biste to postigli.

 

[Ubaci snimak ekrana]

 

Korisniku možete poslati e-poruku konfiguracijsku datoteku WireGuard nakon kreiranja profila uređaja.

 

Korisnici i uređaji su povezani. Za više detalja o tome kako dodati korisnika, pogledajte Dodaj korisnike.

Egress Rules

Korištenjem sistema netfilter kernela, Firezone omogućava izlazne mogućnosti filtriranja za specificiranje DROP ili ACCEPT paketa. Sav saobraćaj je inače dozvoljen.

 

IPv4 i IPv6 CIDR-ovi i IP adrese su podržani preko Liste dozvoljenih i Denylist, respektivno. Možete odabrati opseg pravila za korisnika kada ga dodate, što pravilo primjenjuje na sve uređaje tog korisnika.

Instrukcije za klijente

Instalirajte i konfigurišite

Da biste uspostavili VPN vezu koristeći izvorni WireGuard klijent, pogledajte ovaj vodič.

 

1. Instalirajte izvorni WireGuard klijent

 

Službeni WireGuard klijenti koji se nalaze ovdje su kompatibilni sa Firezone:

 

MacOS

 

Windows

 

iOS

 

android

 

Posjetite zvaničnu WireGuard web stranicu na https://www.wireguard.com/install/ za OS sisteme koji nisu gore navedeni.

 

2. Preuzmite datoteku za konfiguraciju uređaja

 

Vaš Firezone administrator ili vi možete generirati konfiguracijski fajl uređaja koristeći Firezone portal.

 

Posjetite URL koji vam je administrator Firezone naveo da sami generirate konfiguracijski fajl uređaja. Vaša firma će imati jedinstveni URL za ovo; u ovom slučaju, to je https://instance-id.yourfirezone.com.

 

Prijavite se na Firezone Okta SSO

 

[Insert screenshot]

 

3. Dodajte konfiguraciju klijenta

 

Uvezite datoteku .conf u klijent WireGuard tako što ćete je otvoriti. Okretanjem prekidača za aktiviranje možete započeti VPN sesiju.

 

[Insert screenshot]

Ponovna autentifikacija sesije

Slijedite upute u nastavku ako je vaš mrežni administrator naložio ponavljajuću autentifikaciju kako bi vaša VPN veza ostala aktivna. 



Trebate:

 

URL Firezone portala: Pitajte svog mrežnog administratora za vezu.

Vaš mrežni administrator bi trebao biti u mogućnosti ponuditi vašu prijavu i lozinku. Stranica Firezone će od vas zatražiti da se prijavite pomoću usluge jedinstvene prijave koju koristi vaš poslodavac (kao što je Google ili Okta).

 

1. Isključite VPN vezu

 

[Insert screenshot]

 

2. Ponovo izvršite autentifikaciju 

Idite na URL Firezone portala i prijavite se koristeći vjerodajnice koje vam je dao administrator mreže. Ako ste već prijavljeni, kliknite na dugme Ponovo potvrdi autentičnost pre nego što se ponovo prijavite.

 

[Insert screenshot]

 

Korak 3: Pokrenite VPN sesiju

[Insert screenshot]

Network Manager za Linux

Da biste uvezli WireGuard konfiguracijski profil koristeći Network Manager CLI na Linux uređajima, slijedite ove upute (nmcli).

BILJEŠKA

Ako profil ima omogućenu podršku za IPv6, pokušaj uvoza konfiguracijske datoteke pomoću GUI Network Managera može biti neuspješan sa sljedećom greškom:

ipv6.method: metoda “auto” nije podržana za WireGuard

1. Instalirajte WireGuard Tools 

Potrebno je instalirati uslužne programe korisničkog prostora WireGuard. Ovo će biti paket koji se zove wireguard ili wireguard-tools za Linux distribucije.

Za Ubuntu/Debian:

sudo apt install wireguard

Da koristite Fedoru:

sudo dnf install wireguard-tools

Arch Linux:

sudo pacman -S wireguard-tools

Posjetite službenu WireGuard web stranicu na https://www.wireguard.com/install/ za distribucije koje nisu gore spomenute.

2. Preuzmite konfiguraciju 

Vaš Firezone administrator ili samogeneracija mogu generirati konfiguracijski fajl uređaja koristeći Firezone portal.

Posjetite URL koji vam je administrator Firezone naveo da sami generirate konfiguracijski fajl uređaja. Vaša firma će imati jedinstveni URL za ovo; u ovom slučaju, to je https://instance-id.yourfirezone.com.

[Insert screenshot]

3. Uvezite postavke

Uvezite isporučenu konfiguracijsku datoteku koristeći nmcli:

sudo nmcli konekcija import type wireguard file /path/to/configuration.conf

BILJEŠKA

Ime konfiguracijske datoteke će odgovarati WireGuard vezi/interfejsu. Nakon uvoza, veza se može preimenovati ako je potrebno:

nmcli konekcija modificira [stari naziv] connection.id [novo ime]

4. Povežite ili odspojite

Preko komandne linije povežite se na VPN na sledeći način:

nmcli veza gore [vpn ime]

Da prekinete vezu:

nmcli veza prekinuta [vpn ime]

Primjenjivi aplet Network Managera se također može koristiti za upravljanje vezom ako se koristi GUI.

Automatsko povezivanje

Odabirom "da" za opciju automatskog povezivanja, VPN veza se može konfigurirati za automatsko povezivanje:

 

nmcli konekcija modificira [vpn ime] vezu. <<<<<<<<<<<<<<<<<<<<<<<<

 

automatsko povezivanje da

 

Da biste onemogućili automatsku vezu, vratite je na ne:

 

nmcli konekcija modificira [vpn ime] vezu.

 

autoconnect br

Učinite višefaktorsku autentifikaciju dostupnom

Da aktivirate MFA Idite na /korisnički nalog/registrujte mfa stranicu Firezone portala. Koristite svoju aplikaciju za autentifikaciju da skenirate QR kod nakon što je generiran, a zatim unesite šestocifreni kod.

Obratite se svom administratoru da poništi pristupne informacije vašeg računa ako zagubite svoju aplikaciju za autentifikaciju.

Split Tunnel VPN

Ovaj vodič će vas provesti kroz proces postavljanja WireGuard-ove funkcije podijeljenog tunela s Firezone-om tako da se samo promet do određenih IP raspona prosljeđuje preko VPN servera.

 

1. Konfigurirajte dozvoljene IP adrese 

Opsezi IP adresa za koje će klijent usmjeravati mrežni promet navedeni su u polju Dozvoljene IP adrese koje se nalazi na /settings/default stranici. Promjene u ovom polju će utjecati samo na novokreirane konfiguracije WireGuard tunela koje proizvodi Firezone.

 

[Insert screenshot]



Zadana vrijednost je 0.0.0.0/0, ::/0, koja usmjerava sav mrežni promet od klijenta do VPN servera.

 

Primjeri vrijednosti u ovom polju uključuju:

 

0.0.0.0/0, ::/0 – sav mrežni promet će biti usmjeren na VPN server.

192.0.2.3/32 – samo saobraćaj na jednu IP adresu će biti preusmjeren na VPN server.

3.5.140.0/22 ​​– samo saobraćaj na IP adrese u opsegu 3.5.140.1 – 3.5.143.254 će biti preusmjeren na VPN server. U ovom primjeru korišten je CIDR raspon za ap-sjeveroistok-2 AWS regiju.



BILJEŠKA

Firezone prvo odabire izlazno sučelje povezano s najpreciznijom rutom kada određuje gdje će se usmjeriti paket.

 

2. Regenerirajte WireGuard konfiguracije

Korisnici moraju regenerirati konfiguracijske datoteke i dodati ih svom izvornom WireGuard klijentu kako bi ažurirali postojeće korisničke uređaje s novom konfiguracijom podijeljenog tunela.

 

Za uputstva pogledajte dodaj uređaj. <<<<<<<<<<<< Dodaj link

Reverse Tunnel

Ovaj priručnik će pokazati kako povezati dva uređaja koristeći Firezone kao relej. Jedan tipičan slučaj upotrebe je da se administratoru omogući pristup serveru, kontejneru ili mašini koja je zaštićena NAT-om ili zaštitnim zidom.

 

Od čvora do čvora 

Ova ilustracija pokazuje jednostavan scenario u kojem uređaji A i B grade tunel.

 

[Umetnuti arhitektonsku sliku vatrene zone]

 

Počnite kreiranjem uređaja A i uređaja B tako što ćete otići na /users/[user_id]/new_device. U postavkama za svaki uređaj, uvjerite se da su sljedeći parametri postavljeni na vrijednosti navedene u nastavku. Postavke uređaja možete postaviti prilikom kreiranja konfiguracije uređaja (pogledajte Dodavanje uređaja). Ako trebate ažurirati postavke na postojećem uređaju, to možete učiniti generiranjem nove konfiguracije uređaja.

 

Imajte na umu da svi uređaji imaju stranicu /settings/defaults na kojoj se može konfigurirati PersistentKeepalive.

 

Uređaj A

 

Dozvoljeni IP-ovi = 10.3.2.2/32

  Ovo je IP ili raspon IP adresa uređaja B

PersistentKeepalive = 25

  Ako se uređaj nalazi iza NAT-a, to osigurava da uređaj može održati tunel živim i nastaviti primati pakete sa WireGuard sučelja. Obično je dovoljna vrijednost od 25, ali možda ćete morati smanjiti ovu vrijednost ovisno o vašem okruženju.



B uređaj

 

Dozvoljeni IP-ovi = 10.3.2.3/32

Ovo je IP ili raspon IP adresa uređaja A

PersistentKeepalive = 25

Admin Case - Jedan do mnogo čvorova

Ovaj primjer pokazuje situaciju u kojoj Uređaj A može komunicirati sa Uređajima B do D u oba smjera. Ovo podešavanje može predstavljati inženjera ili administratora koji pristupa brojnim resursima (serverima, kontejnerima ili mašinama) preko različitih mreža.

 

[Arhitektonski dijagram]<<<<<<<<<<<<<<<<<<<<<<<

 

Provjerite jesu li sljedeće postavke napravljene u postavkama svakog uređaja na odgovarajuće vrijednosti. Prilikom kreiranja konfiguracije uređaja, možete odrediti postavke uređaja (pogledajte Dodavanje uređaja). Nova konfiguracija uređaja može se kreirati ako je potrebno ažurirati postavke na postojećem uređaju.

 

Uređaj A (Administratorski čvor)

 

Dozvoljeni IP-ovi = 10.3.2.3/32, 10.3.2.4/32, 10.3.2.5/32 

    Ovo je IP uređaja B do D. IP-ovi uređaja B do D moraju biti uključeni u bilo koji IP opseg koji odaberete da postavite.

PersistentKeepalive = 25 

    Ovo garantuje da uređaj može održavati tunel i nastaviti primati pakete sa WireGuard sučelja čak i ako je zaštićen NAT-om. U većini slučajeva, vrijednost od 25 je adekvatna, međutim, ovisno o vašem okruženju, možda ćete morati smanjiti ovu cifru.

 

Uređaj B

 

  • Dozvoljeni IP-ovi = 10.3.2.2/32: Ovo je IP ili raspon IP adresa uređaja A
  • PersistentKeepalive = 25

Uređaj C

 

  • Dozvoljeni IP-ovi = 10.3.2.2/32: Ovo je IP ili raspon IP adresa uređaja A
  • PersistentKeepalive = 25

Uređaj D

 

  • Dozvoljeni IP-ovi = 10.3.2.2/32: Ovo je IP ili raspon IP adresa uređaja A
  • PersistentKeepalive = 25

NAT Gateway

Da bi se ponudila jedna, statička izlazna IP adresa za sav promet vašeg tima za odlazak, Firezone se može koristiti kao NAT gateway. Ove situacije uključuju njegovu čestu upotrebu:

 

Konsultativni angažmani: Zahtjev da vaš klijent stavi na bijelu listu jednu statičku IP adresu umjesto jedinstvene IP adrese uređaja svakog zaposlenika.

Korištenje proxyja ili maskiranje izvorne IP adrese u svrhu sigurnosti ili privatnosti.

 

Jednostavan primjer ograničavanja pristupa web aplikaciji sa vlastitim hostom na jednu statičku IP adresu na bijeloj listi koja pokreće Firezone će biti prikazan u ovom postu. Na ovoj ilustraciji, Firezone i zaštićeni resurs nalaze se u različitim VPC područjima.

 

Ovo rješenje se često koristi umjesto upravljanja IP bijelom listom za brojne krajnje korisnike, što može oduzeti mnogo vremena kako se pristupna lista širi.

AWS primjer

Naš cilj je postaviti Firezone server na EC2 instanci da preusmjeri VPN promet na ograničeni resurs. U ovom slučaju, Firezone služi kao mrežni proxy ili NAT gateway kako bi svakom povezanom uređaju dao jedinstveni javni izlazni IP.

 

1. Instalirajte Firezone server

U ovom slučaju, EC2 instanca pod nazivom tc2.micro ima instaliranu Firezone instancu. Za informacije o postavljanju Firezone, idite u Vodič za implementaciju. U vezi sa AWS-om, budite sigurni:

 

Sigurnosna grupa Firezone EC2 instance dozvoljava odlazni promet na IP adresu zaštićenog resursa.

Instanca Firezone dolazi sa elastičnim IP-om. Saobraćaj koji se prosljeđuje preko Firezone instance na vanjska odredišta imat će ovo kao svoju izvornu IP adresu. IP adresa u pitanju je 52.202.88.54.

 

[Insert screenshot]<<<<<<<<<<<<<<<<<<<<<<<<<<

 

2. Ograničite pristup resursu koji se štiti

Web aplikacija koja se sama hostuje služi kao zaštićeni resurs u ovom slučaju. Web aplikaciji se može pristupiti samo zahtjevima koji dolaze s IP adrese 52.202.88.54. Ovisno o resursu, može biti potrebno dozvoliti ulazni promet na različitim lukama i tipovima prometa. Ovo nije pokriveno u ovom priručniku.

 

[Ubaci snimak ekrana]<<<<<<<<<<<<<<<<<<<<<<<<<<

 

Recite trećoj strani zaduženoj za zaštićeni resurs da saobraćaj sa statičke IP adrese definisane u koraku 1 mora biti dozvoljen (u ovom slučaju 52.202.88.54).

 

3. Koristite VPN server za usmjeravanje prometa na zaštićeni resurs

 

Prema zadanim postavkama, sav korisnički promet prolazi kroz VPN server i dolazi sa statičke IP adrese koja je konfigurirana u koraku 1 (u ovom slučaju 52.202.88.54). Međutim, ako je podijeljeno tuneliranje omogućeno, postavke bi mogle biti potrebne da bi se osiguralo da je odredišna IP adresa zaštićenog resursa navedena među Dozvoljenim IP adresama.

Ovde dodajte tekst zaglavlja

U nastavku je prikazan potpuni popis opcija konfiguracije dostupnih u /etc/firezone/firezone.rb.



opcija

opis

zadana vrijednost

default['firezone']['external_url']

URL koji se koristi za pristup web portalu ove Firezone instance.

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

default['firezone']['config_directory']

Direktorij najviše razine za konfiguraciju Firezone.

/etc/firezone'

default['firezone']['install_directory']

Direktorij najvišeg nivoa za instaliranje Firezone.

/opt/firezone'

default['firezone']['app_directory']

Direktorij najviše razine za instaliranje Firezone web aplikacije.

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

default['firezone']['log_directory']

Direktorij najviše razine za dnevnike Firezone.

/var/log/firezone'

default['firezone']['var_directory']

Direktorij najvišeg nivoa za Firezone runtime datoteke.

/var/opt/firezone'

default['firezone']['user']

Ime neprivilegiranog korisnika Linuxa kojem će pripadati većina usluga i datoteka.

požarna zona'

default['firezone']['group']

Naziv Linux grupe kojoj će pripadati većina usluga i datoteka.

požarna zona'

default['firezone']['admin_email']

Adresa e-pošte za početnog korisnika Firezone.

“firezone@localhost”

default['firezone']['max_devices_per_user']

Maksimalan broj uređaja koji korisnik može imati.

10

default['firezone']['allow_unprivileged_device_management']

Omogućava korisnicima koji nisu administratori da kreiraju i brišu uređaje.

ISTINITO

default['firezone']['allow_unprivileged_device_configuration']

Omogućava korisnicima koji nisu administratori da mijenjaju konfiguracije uređaja. Kada je onemogućeno, sprječava neprivilegovane korisnike da mijenjaju sva polja uređaja osim imena i opisa.

ISTINITO

default['firezone']['egress_interface']

Naziv interfejsa na kojem će se izlaziti tunelirani saobraćaj. Ako je nula, koristit će se zadani interfejs rute.

nil

default['firezone']['fips_enabled']

Omogućite ili onemogućite OpenSSL FIPs mod.

nil

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

Omogućite ili onemogućite evidentiranje u Firezone. Postavite na false da u potpunosti onemogućite evidentiranje.

ISTINITO

default['enterprise']['name']

Naziv koji koristi kuharica Chef 'enterprise'.

požarna zona'

default['firezone']['install_path']

Putanja za instalaciju koju koristi kuharica Chef 'enterprise'. Trebalo bi biti postavljeno na isto kao install_directory iznad.

node['firezone']['install_directory']

default['firezone']['sysvinit_id']

Identifikator koji se koristi u /etc/inittab. Mora biti jedinstveni niz od 1-4 znaka.

SUP'

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

Omogućite ili onemogućite lokalnu autentifikaciju putem e-pošte/lozinke.

ISTINITO

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

Automatski kreirajte korisnike koji se prijavljuju sa OIDC-a po prvi put. Onemogućite da biste dozvolili samo postojećim korisnicima da se prijave putem OIDC-a.

ISTINITO

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

Onemogućite VPN korisnika ako se otkrije greška pri pokušaju osvježavanja njihovog OIDC tokena.

FALSE

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

OpenID Connect konfiguracija, u formatu {“provider” => [config…]} – Vidi OpenIDConnect dokumentacija za primjere konfiguracije.

{}

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

Omogućite ili onemogućite uključeni nginx server.

ISTINITO

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

HTTPS port za slušanje.

443

default['firezone']['nginx']['direktorij']

Direktorij za pohranjivanje nginx konfiguracije virtualnog hosta koji se odnosi na Firezone.

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

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

Direktorij za pohranu nginx log datoteka povezanih s Firezone.

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

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

Veličina datoteke na koju treba rotirati Nginx log datoteke.

104857600

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

Broj Firezone nginx log datoteka koje treba čuvati prije odbacivanja.

10

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

Da li treba evidentirati Firezone nginx x-forwarded-for zaglavlje.

ISTINITO

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

Omogućite ili onemogućite HSTS.

ISTINITO

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

Omogućite ili onemogućite includeSubDomains za HSTS zaglavlje.

ISTINITO

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

Maksimalna starost za HSTS zaglavlje.

31536000

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

Treba li preusmjeriti URL-ove na kanonski FQDN naveden gore

FALSE

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

Omogućite ili onemogućite Firezone nginx keš memoriju.

FALSE

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

Direktorij za Firezone nginx keš memoriju.

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

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

Korisnik Firezone nginx.

node['firezone']['user']

default['firezone']['nginx']['group']

Firezone nginx grupa.

node['firezone']['group']

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

Konfiguracijski direktorij nginx najviše razine.

node['firezone']['nginx']['direktorij']

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

Direktorij dnevnika nginx najviše razine.

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

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

Lokacija za nginx pid datoteku.

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

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

Onemogućite nginx daemon mod kako bismo ga mogli nadgledati umjesto toga.

ISTINITO

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

Uključite ili isključite nginx gzip kompresiju.

na '

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

Uključite ili isključite nginx gzip kompresiju za statične datoteke.

isključeno'

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

HTTP verzija za korištenje za posluživanje statičkih datoteka.

1.0

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

nivo kompresije nginx gzip.

2

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

Omogućava ili onemogućava gzipiranje odgovora za proksije zahtjeve u zavisnosti od zahtjeva i odgovora.

bilo koji'

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

Omogućava ili onemogućuje umetanje zaglavlja odgovora “Vary: Accept-Encoding”.

isključeno'

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

Postavlja broj i veličinu bafera koji se koriste za komprimiranje odgovora. Ako je nula, koristi se nginx default.

nil

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

MIME tipovi za omogućavanje gzip kompresije za.

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

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

Minimalna dužina datoteke za omogućavanje gzip kompresije datoteke.

1000

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

Uparivač korisničkog agenta za onemogućavanje gzip kompresije.

MSIE [1-6]\.'

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

Aktivira keš memoriju za povezivanje sa upstream serverima.

na '

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

Vremensko ograničenje u sekundama za održavanje veze sa uzvodnim serverima.

65

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

Broj nginx radnih procesa.

čvor['cpu'] && čvor['cpu']['ukupno'] ? čvor['cpu']['ukupno'] : 1

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

Maksimalni broj istovremenih veza koje može otvoriti radni proces.

1024

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

Mijenja ograničenje maksimalnog broja otvorenih datoteka za radne procese. Koristi nginx default ako je nula.

nil

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

Da li radnici trebaju prihvatiti jednu po jednu vezu ili više.

ISTINITO

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

Određuje način obrade veze koji će se koristiti unutar konteksta nginx događaja.

epoll'

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

Omogućava ili onemogućuje emitiranje verzije nginxa na stranicama s greškama i u polju zaglavlja odgovora “Server”.

nil

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

Postavlja veličinu segmenta za hash tablice imena servera.

64

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

Omogućava ili onemogućava upotrebu nginx-ove sendfile().

na '

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

Postavlja opcije dnevnika pristupa nginxu.

nil

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

Postavlja nginx opcije dnevnika grešaka.

nil

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

Onemogućuje dnevnik pristupa nginxu.

FALSE

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

nginx tipovi hash max size.

2048

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

nginx tipovi hash bucket size.

64

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

Vremensko ograničenje za čitanje nginx proxyja. Postavite na nil da biste koristili zadani nginx.

nil

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

Veličina bafera tijela nginx klijenta. Postavite na nil da biste koristili zadani nginx.

nil

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

nginx klijent maksimalna veličina tijela.

250m'

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

Navedite dodatne nginx module.

[]

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

Omogućite ili onemogućite nginx ograničenje brzine.

ISTINITO

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

Naziv zone za ograničavanje brzine Nginx.

požarna zona'

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

Povlačenje ograničenja brzine Nginxa.

10m'

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

Nginx ograničenje brzine.

10r/s'

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

Dozvolite nginx-u da sluša HTTP zahtjeve za IPv6 pored IPv4.

ISTINITO

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

Omogućite ili onemogućite uključeni Postgresql. Postavite na false i popunite opcije baze podataka ispod da biste koristili vlastitu Postgresql instancu.

ISTINITO

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

Korisničko ime za Postgresql.

node['firezone']['user']

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

Postgresql direktorij podataka.

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

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

Postgresql log direktorij.

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

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

Maksimalna veličina Postgresql datoteke dnevnika prije rotiranja.

104857600

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

Broj Postgresql log fajlova za čuvanje.

10

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

Cilj postgresql kontrolne tačke.

0.5

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

Broj segmenata kontrolne tačke Postgresql.

3

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

Vremensko ograničenje Postgresql kontrolne tačke.

5 min'

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

Vrijeme upozorenja za Postgresql kontrolnu tačku u sekundama.

30s'

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

Postgresql efektivna veličina keša.

128MB'

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

Postgresql adresu slušanja.

127.0.0.1

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

Postgresql maksimalne veze.

350

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

Postgresql CIDR-ovi koji omogućavaju md5 auth.

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

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

Postgresql port za slušanje.

15432

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

Veličina postgresql zajedničkih bafera.

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

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

Postgresql shmmax u bajtovima.

17179869184

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

Postgresql shmall u bajtovima.

4194304

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

Veličina Postgresql radne memorije.

8MB'

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

Određuje korisničko ime koje će Firezone koristiti za povezivanje na DB.

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

default['firezone']['baza podataka']['password']

Ako koristite eksterni DB, navodi lozinku koju će Firezone koristiti za povezivanje sa DB.

promijeni me'

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

Baza podataka koju će Firezone koristiti. Biće kreiran ako ne postoji.

požarna zona'

default['firezone']['baza podataka']['host']

Host baze podataka na koji će se Firezone povezati.

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

default['firezone']['baza podataka']['port']

Port baze podataka na koji će se Firezone povezati.

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

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

Firezone će koristiti veličinu spremišta baze podataka.

[10, Etc.nprocessors].max

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

Da li se povezati s bazom podataka preko SSL-a.

FALSE

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

Hash opcija za slanje na opciju :ssl_opts kada se povezujete preko SSL-a. Vidi Ecto.Adapters.Postgres dokumentacija.

{}

default['firezone']['database']['parameters']

Hash parametara za slanje opciji :parameters prilikom povezivanja na bazu podataka. Vidi Ecto.Adapters.Postgres dokumentacija.

{}

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

Ekstenzije baze podataka za omogućavanje.

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

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

Omogućite ili onemogućite Firezone web aplikaciju.

ISTINITO

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

Adresa za slušanje Firezone web aplikacije. Ovo će biti upstream adresa slušanja koju nginx proksije.

127.0.0.1

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

Port za slušanje Firezone web aplikacije. Ovo će biti uzvodni port koji nginx proksije.

13000

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

Direktorij dnevnika Firezone web aplikacije.

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

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

Veličina datoteke evidencije Firezone web aplikacije.

104857600

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

Broj datoteka dnevnika Firezone web aplikacije koje treba čuvati.

10

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

Omogućite ili onemogućite rušenje Firezone web aplikacije kada se otkrije pad.

ISTINITO

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

Lista pouzdanih obrnutih proksija formatiranih kao niz IP-ova i/ili CIDR-ova.

[]

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

Lista HTTP klijenata privatne mreže, formatiranih nizom IP-ova i/ili CIDR-ova.

[]

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

Omogućite ili onemogućite upravljanje u paketu WireGuard.

ISTINITO

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

Direktorij dnevnika za upravljanje u paketu WireGuard.

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

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

Maksimalna veličina datoteke evidencije WireGuarda.

104857600

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

Broj datoteka evidencije WireGuarda za čuvanje.

10

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

Ime WireGuard interfejsa. Promjena ovog parametra može uzrokovati privremeni gubitak VPN povezivanja.

wg-firezone'

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

WireGuard port za slušanje.

51820

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

WireGuard interfejs MTU za ovaj server i za konfiguracije uređaja.

1280

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

WireGuard Endpoint za korištenje za generiranje konfiguracija uređaja. Ako je nula, podrazumevana je javna IP adresa servera.

nil

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

WireGuard DNS za korištenje za generirane konfiguracije uređaja.

1.1.1.1, 1.0.0.1′

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

WireGuard dozvoljeno je korištenje IP-ova za generirane konfiguracije uređaja.

0.0.0.0/0, ::/0′

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

Zadana postavka PersistentKeepalive za generirane konfiguracije uređaja. Vrijednost 0 onemogućuje.

0

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

Omogućite ili onemogućite IPv4 za WireGuard mrežu.

ISTINITO

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

Omogućite ili onemogućite maskiranje za pakete koji napuštaju IPv4 tunel.

ISTINITO

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

WireGuard mrežni skup IPv4 adresa.

10.3.2.0/24 ′

default['firezone']['wireguard']['ipv4']['address']

IPv4 adresa WireGuard interfejsa. Mora biti unutar WireGuard grupe adresa.

10.3.2.1

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

Omogućite ili onemogućite IPv6 za WireGuard mrežu.

ISTINITO

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

Omogućite ili onemogućite maskiranje za pakete koji napuštaju IPv6 tunel.

ISTINITO

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

WireGuard mrežni skup IPv6 adresa.

fd00::3:2:0/120′

default['firezone']['wireguard']['ipv6']['address']

IPv6 adresa WireGuard interfejsa. Mora biti unutar skupa IPv6 adresa.

fd00::3:2:1′

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

Runit svlogd bin lokaciju.

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

default['firezone']['ssl']['direktorij']

SSL direktorij za pohranjivanje generiranih certifikata.

/var/opt/firezone/ssl'

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

Adresa e-pošte za korištenje za samopotpisane certifikate i obavještenja o obnovi ACME protokola.

vi@example.com'

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

Omogućite ACME za automatsko dostavljanje SSL certifikata. Onemogućite ovo da spriječite Nginx da sluša na portu 80. Vidi OVDJE za dodatne upute.

FALSE

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

ACME server za korištenje za izdavanje/obnavljanje certifikata. Može biti bilo koji važeći acme.sh server

letsencrypt

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

Odredite tip i dužinu ključa za SSL certifikate. Vidi OVDJE

ec-256

default['firezone']['ssl']['certificate']

Put do datoteke certifikata za vaš FQDN. Poništava gornju ACME postavku ako je navedena. Ako su i ACME i ovo nula, generirat će se samopotpisani certifikat.

nil

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

Put do datoteke certifikata.

nil

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

nginx ssl dh_param.

nil

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

Naziv zemlje za samopotpisani certifikat.

SAD'

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

Naziv države za samopotpisani certifikat.

CA '

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

Naziv lokacije za samopotpisani certifikat.

San Francisco'

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

Samopotpisani certifikat o nazivu kompanije.

moja kompanija'

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

Naziv organizacijske jedinice za samopotpisani certifikat.

operacije'

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

SSL šifre za nginx za korištenje.

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

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

SSL šifre za FIPs način rada.

FIPS@STRENGTH:!aNULL:!eNULL'

default['firezone']['ssl']['protocols']

TLS protokoli za korištenje.

TLSv1 TLSv1.1 TLSv1.2′

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

SSL keš sesije.

podijeljeno:SSL:4m'

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

Vremensko ograničenje SSL sesije.

5m'

default['firezone']['robots_allow']

nginx roboti dozvoljavaju.

/'

default['firezone']['robots_disallow']

nginx roboti ne dozvoljavaju.

nil

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

Odlazni email sa adrese.

nil

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

Provajder usluga odlazne e-pošte.

nil

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

Konfiguracije provajdera odlazne e-pošte.

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

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

Omogućite ili onemogućite anonimnu telemetriju proizvoda.

ISTINITO

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

Omogućite ili onemogućite uslugu provjere povezivanja Firezone.

ISTINITO

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

Interval između provjera povezivanja u sekundama.

3_600



________________________________________________________________

 

Lokacije datoteka i direktorija

 

Ovdje ćete pronaći popis datoteka i direktorija koji se odnose na tipičnu instalaciju Firezone. Ovo se može promijeniti ovisno o promjenama u vašoj konfiguracijskoj datoteci.



put

opis

/var/opt/firezone

Direktorij najviše razine koji sadrži podatke i generiranu konfiguraciju za usluge u paketu Firezone.

/opt/firezone

Direktorij najvišeg nivoa koji sadrži ugrađene biblioteke, binarne i runtime datoteke potrebne Firezone-u.

/usr/bin/firezone-ctl

firezone-ctl uslužni program za upravljanje vašom Firezone instalacijom.

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

systemd jedinična datoteka za pokretanje procesa supervizora Firezone runsvdir.

/etc/firezone

Firezone konfiguracijske datoteke.



__________________________________________________________

 

Firewall Templates

 

Ova stranica je bila prazna u dokumentima

 

_____________________________________________________________

 

Nftables Firewall Template

 

Sljedeći nftables firewall predložak se može koristiti za osiguranje servera na kojem radi Firezone. Šablon čini neke pretpostavke; možda ćete morati prilagoditi pravila kako bi odgovarala vašem slučaju upotrebe:

  • WireGuard sučelje je nazvano wg-firezone. Ako ovo nije tačno, promijenite varijablu DEV_WIREGUARD da odgovara zadanoj ['firezone']['wireguard']['interface_name'] opciji konfiguracije.
  • Port na kojem WireGuard sluša je 51820. Ako ne koristite zadani port promijenite varijablu WIREGUARD_PORT.
  • Serveru će biti dozvoljen samo sljedeći ulazni promet:
    • SSH (TCP port 22)
    • HTTP (TCP port 80)
    • HTTPS (TCP port 443)
    • WireGuard (UDP port WIREGUARD_PORT)
    • UDP traceroute (UDP port 33434-33524, brzina ograničena na 500/sekundi)
    • ICMP i ICMPv6 (stopa ping/ping odgovora ograničena na 2000/sekundi)
  • Sa servera će biti dozvoljen samo sljedeći odlazni promet:
    • DNS (UDP i TCP port 53)
    • HTTP (TCP port 80)
    • NTP (UDP port 123)
    • HTTPS (TCP port 443)
    • SMTP podnošenje (TCP port 587)
    • UDP traceroute (UDP port 33434-33524, brzina ograničena na 500/sekundi)
  • Neusklađeni saobraćaj će se evidentirati. Pravila koja se koriste za evidentiranje su odvojena od pravila kako bi se smanjio promet i ograničena su stopom. Uklanjanje relevantnih pravila evidentiranja neće utjecati na promet.

Firezone Managed Rules

Firezone konfigurira vlastita pravila nftables da dopusti/odbije promet do odredišta konfiguriranih u web sučelju i da rukuje izlaznim NAT-om za klijentski promet.

Primjena donjeg predloška zaštitnog zida na serveru koji je već pokrenut (ne u vrijeme pokretanja) rezultirat će brisanjem pravila Firezone. Ovo može imati sigurnosne implikacije.

Da biste zaobišli ovo, ponovo pokrenite phoenix uslugu:

firezone-ctl restart phoenix

Osnovni predložak zaštitnog zida

#!/usr/sbin/nft -f

 

## Obriši/isprazni sva postojeća pravila

flush ruleset

 

################################ VARIJABLE ################# ################

## Ime internet/WAN interfejsa

definirati DEV_WAN = eth0

 

## Ime WireGuard interfejsa

define DEV_WIREGUARD = wg-firezone

 

## WireGuard port za slušanje

definiraj WIREGUARD_PORT = 51820

############################## VARIABLES END ################### #############

 

# Glavna tablica za filtriranje inet porodice

tablica inet filter {

 

 # Pravila za proslijeđeni promet

 # Ovaj lanac se obrađuje prije lanca naprijed Firezone

 lanac naprijed {

   tip filter zakači prioritetni filter naprijed – 5; politika prihvatiti

 }

 

 # Pravila za ulazni saobraćaj

 lančani ulaz {

   tip filter kuka ulazni prioritetni filter; pad politike

 

   ## Dozvoli ulazni promet na sučelje povratne petlje

   iif lo \

     prihvati \

     komentar “Dozvoli sav promet iz sučelja povratne petlje”

 

   ## Dozvoliti uspostavljene i povezane veze

   ct država uspostavljena, vezano \

     prihvati \

     komentar “Dozvoli uspostavljene/povezane veze”

 

   ## Dozvoli ulazni WireGuard saobraćaj

   iif $DEV_WAN udp dport $WIREGUARD_PORT \

     brojač \

     prihvati \

     komentar “Dozvoli ulazni WireGuard saobraćaj”

 

   ## Zabilježite i ispustite nove TCP ne-SYN pakete

   tcp zastavice != stanje sinhronizacije novo \

     limit rate 100/minuta rafala 150 paketi \

     prefiks dnevnika “IN – Novo !SYN: “ \

     komentar “Evidentiranje ograničenja brzine za nove veze koje nemaju postavljenu SYN TCP zastavicu”

   tcp zastavice != stanje sinhronizacije novo \

     brojač \

     ispusti \

     komentar “Otpustite nove veze koje nemaju postavljenu SYN TCP zastavicu”

 

   ## Zabilježi i ispusti TCP pakete sa nevažećom postavljenom fin/syn zastavicom

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

     limit rate 100/minuta rafala 150 paketi \

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

     komentar “Evidentiranje ograničenja brzine za TCP pakete sa nevažećom postavljenom fin/syn zastavicom”

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

     brojač \

     ispusti \

     komentar “Ispusti TCP pakete sa nevažećim postavljenim fin/syn flag”

 

   ## Zabilježi i ispusti TCP pakete sa nevažećom postavljenom syn/rst zastavicom

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

     limit rate 100/minuta rafala 150 paketi \

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

     komentar “Evidentiranje ograničenja brzine za TCP pakete sa nevažećom postavljenom syn/rst flag”

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

     brojač \

     ispusti \

     komentar “Ispusti TCP pakete sa nevažećim syn/rst flag set”

 

   ## Zabilježi i ispusti nevažeće TCP zastavice

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

     limit rate 100/minuta rafala 150 paketi \

     prefiks dnevnika “IN – FIN:” \

     komentar “Evidentiranje ograničenja brzine za nevažeće TCP zastavice (fin|syn|rst|psh|ack|urg) < (fin)”

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

     brojač \

     ispusti \

     komentar “Ispustite TCP pakete sa zastavicama (fin|syn|rst|psh|ack|urg) < (fin)”

 

   ## Zabilježi i ispusti nevažeće TCP zastavice

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

     limit rate 100/minuta rafala 150 paketi \

     prefiks dnevnika “IN – FIN|PSH|URG:” \

     komentar “Evidentiranje ograničenja brzine za nevažeće TCP zastavice (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)”

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

     brojač \

     ispusti \

     komentar “Ispustite TCP pakete sa zastavicama (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)”

 

   ## Prekini promet sa nevažećim stanjem veze

   ct stanje nevažeće \

     limit rate 100/minuta rafala 150 paketi \

     log označava sve prefikse “IN – Nevažeće: “ \

     komentar “Evidencija ograničenja brzine za promet sa nevažećim stanjem veze”

   ct stanje nevažeće \

     brojač \

     ispusti \

     komentar “Prekini promet sa nevažećim stanjem veze”

 

   ## Dozvoli IPv4 ping/ping odgovore ali ograničenje brzine na 2000 PPS

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

     limit rate 2000/sekunda \

     brojač \

     prihvati \

     komentar “Dozvoli ulazni IPv4 eho (ping) ograničen na 2000 PPS”

 

   ## Dozvoli sve druge ulazne IPv4 ICMP

   ip protokol icmp \

     brojač \

     prihvati \

     komentar “Dozvoli sve druge IPv4 ICMP”

 

   ## Dozvoli IPv6 ping/ping odgovore ali ograničenje brzine na 2000 PPS

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

     limit rate 2000/sekunda \

     brojač \

     prihvati \

     komentar “Dozvoli ulazni IPv6 eho (ping) ograničen na 2000 PPS”

 

   ## Dozvoli sve druge ulazne IPv6 ICMP

   meta l4proto { icmpv6 } \

     brojač \

     prihvati \

     komentar “Dozvoli sve druge IPv6 ICMP”

 

   ## Dozvoli ulazne traceroute UDP portove, ali ograniči na 500 PPS

   udp dport 33434-33524 \

     limit rate 500/sekunda \

     brojač \

     prihvati \

     komentar “Dozvoli ulazni UDP traceroute ograničen na 500 PPS”

 

   ## Dozvoli ulazni SSH

   tcp dport ssh ct stanje novo \

     brojač \

     prihvati \

     komentar “Dozvoli dolazne SSH veze”

 

   ## Dozvoli ulazni HTTP i HTTPS

   tcp dport { http, https } ct stanje novo \

     brojač \

     prihvati \

     komentar “Dozvoli ulazne HTTP i HTTPS veze”

 

   ## Zabilježite svaki neusklađeni promet, ali evidentiranje ograničenja brzine na maksimalno 60 poruka/minuti

   ## Zadana politika će se primijeniti na neusklađeni promet

   limit rate 60/minuta rafala 100 paketi \

     prefiks dnevnika “IN – Ispusti: “ \

     komentar “Zabilježite svaki neusklađeni promet”

 

   ## Izbroji promet bez premca

   brojač \

     komentar “Izračunaj svaki neusklađeni promet”

 }

 

 # Pravila za izlazni promet

 lančani izlaz {

   tip filter kuka izlazni prioritetni filter; pad politike

 

   ## Dozvoli odlazni promet na loopback interfejs

   oif lo \

     prihvati \

     komentar “Dozvoli da sav promet izađe na loopback interfejs”

 

   ## Dozvoliti uspostavljene i povezane veze

   ct država uspostavljena, vezano \

     brojač \

     prihvati \

     komentar “Dozvoli uspostavljene/povezane veze”

 

   ## Dozvoli odlazni WireGuard saobraćaj prije prekida veze u lošem stanju

   da $DEV_WAN udp sport $WIREGUARD_PORT \

     brojač \

     prihvati \

     komentar “Dozvoli WireGuard odlazni promet”

 

   ## Prekini promet sa nevažećim stanjem veze

   ct stanje nevažeće \

     limit rate 100/minuta rafala 150 paketi \

     log označava sve prefikse “OUT – Nevažeće: “ \

     komentar “Evidencija ograničenja brzine za promet sa nevažećim stanjem veze”

   ct stanje nevažeće \

     brojač \

     ispusti \

     komentar “Prekini promet sa nevažećim stanjem veze”

 

   ## Dozvoli sve druge odlazne IPv4 ICMP

   ip protokol icmp \

     brojač \

     prihvati \

     komentar “Dozvoli sve IPv4 ICMP tipove”

 

   ## Dozvoli sve druge odlazne IPv6 ICMP

   meta l4proto { icmpv6 } \

     brojač \

     prihvati \

     komentar “Dozvoli sve IPv6 ICMP tipove”

 

   ## Dozvoli izlazne traceroute UDP portove, ali ograniči na 500 PPS

   udp dport 33434-33524 \

     limit rate 500/sekunda \

     brojač \

     prihvati \

     komentar “Dozvoli odlaznu UDP traceroutu ograničenu na 500 PPS”

 

   ## Dozvoli izlazne HTTP i HTTPS veze

   tcp dport { http, https } ct stanje novo \

     brojač \

     prihvati \

     komentar “Dozvoli odlazne HTTP i HTTPS veze”

 

   ## Dozvoli odlazno SMTP podnošenje

   tcp dport podnošenje ct stanje novo \

     brojač \

     prihvati \

     komentar “Dozvoli odlazni SMTP podnošenje”

 

   ## Dozvoli odlazne DNS zahtjeve

   udp dport 53 \

     brojač \

     prihvati \

     komentar “Dozvoli odlazne UDP DNS zahtjeve”

   tcp dport 53 \

     brojač \

     prihvati \

     komentar “Dozvoli odlazne TCP DNS zahtjeve”

 

   ## Dozvoli odlazne NTP zahtjeve

   udp dport 123 \

     brojač \

     prihvati \

     komentar “Dozvoli odlazne NTP zahtjeve”

 

   ## Zabilježite svaki neusklađeni promet, ali evidentiranje ograničenja brzine na maksimalno 60 poruka/minuti

   ## Zadana politika će se primijeniti na neusklađeni promet

   limit rate 60/minuta rafala 100 paketi \

     prefiks dnevnika “VAN – Ispusti: “ \

     komentar “Zabilježite svaki neusklađeni promet”

 

   ## Izbroji promet bez premca

   brojač \

     komentar “Izračunaj svaki neusklađeni promet”

 }

 

}

 

# Glavna tablica NAT filtriranja

tablica inet nat {

 

 # Pravila za preusmjeravanje NAT prometa

 lančano preusmjeravanje {

   tip nat hook prioritet preusmjeravanja dstnat; politika prihvatiti

 }

 

 # Pravila za NAT saobraćaj nakon rutiranja

 # Ova tabela se obrađuje prije lanca post-routinga Firezone

 lanac postrouting {

   ukucajte nat hook postrouting prioritet srcnat – 5; politika prihvatiti

 }

 

}

upotreba

Firewall treba biti pohranjen na relevantnoj lokaciji za Linux distribuciju koja je pokrenuta. Za Debian/Ubuntu ovo je /etc/nftables.conf, a za RHEL ovo je /etc/sysconfig/nftables.conf.

nftables.service će se morati konfigurirati za pokretanje pri pokretanju (ako već nije) postavljeno:

systemctl omogući nftables.service

Ako napravite bilo kakve promjene u predlošku zaštitnog zida, sintaksa se može potvrditi pokretanjem naredbe check:

nft -f /putanja/do/nftables.conf -c

Obavezno provjerite da vatrozid radi kako se očekuje jer određene funkcije nftables možda neće biti dostupne ovisno o izdanju koje se pokreće na serveru.



_______________________________________________________________



telemetrija

 

Ovaj dokument predstavlja pregled telemetrije koju Firezone prikuplja od vaše instance koju sami hostujete i kako je onemogućiti.

Zašto Firezone prikuplja telemetriju

požarna zona oslanja se na telemetriji kako bismo odredili prioritet naše mape puta i optimizirali inženjerske resurse koje imamo kako bismo Firezone učinili boljim za sve.

Telemetrija koju prikupljamo ima za cilj da odgovori na sljedeća pitanja:

  • Koliko ljudi instalira, koristi i prestane koristiti Firezone?
  • Koje karakteristike su najvrednije, a koje ne vide nikakvu korist?
  • Koju funkcionalnost je potrebno najviše poboljšati?
  • Kada se nešto pokvari, zašto se pokvarilo i kako možemo spriječiti da se to dogodi u budućnosti?

Kako prikupljamo telemetriju

Postoje tri glavna mjesta na kojima se prikuplja telemetrija u Firezone:

  1. Telemetrija paketa. Uključuje događaje kao što su instalacija, deinstalacija i nadogradnja.
  2. CLI telemetrija iz firezone-ctl komandi.
  3. Telemetrija proizvoda povezana s web portalom.

U svakom od ova tri konteksta prikupljamo minimalnu količinu podataka potrebnu da odgovorimo na pitanja u gornjem dijelu.

Admin e-poruke se prikupljaju samo ako se izričito odlučite za ažuriranja proizvoda. Inače, lični podaci su nikada prikupljeni.

Firezone pohranjuje telemetriju u instancu PostHog-a koja se sama hostuje u privatnom Kubernetes klasteru, kojem pristupa samo Firezone tim. Evo primjera telemetrijskog događaja koji se šalje s vaše instance Firezone na naš telemetrijski server:

{

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

   “vremenska oznaka”: “2022-07-22T18:30:39.748000+00:00”,

   "događaj": “fz_http_started”,

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

   “osobine”:{

       “$geoip_city_name”: “Ashburn”,

       “$geoip_continent_code”: "N / A",

       “$geoip_continent_name”: "Sjeverna amerika",

       “$geoip_country_code”: “SAD”,

       “$geoip_country_name”: "Sjedinjene Države",

       “$geoip_latitude”: 39.0469,

       “$geoip_longitude”: -77.4903,

       “$geoip_postal_code”: "20149",

       “$geoip_subdivision_1_code”: “VA”,

       “$geoip_subdivision_1_name”: “Virginia”,

       “$geoip_time_zone”: “America/New_York”,

       “$ip”: "52.200.241.107",

       “$plugins_deferred”: [],

       “$plugins_failed”: [],

       “$plugins_succeeded”: [

           “GeoIP (3)”

       ],

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

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

       “kernel_version”: “linux 5.13.0”,

       "verzija": "0.4.6"

   },

   “elements_chain”: ""

}

Kako onemogućiti telemetriju

BILJEŠKA

Razvojni tim Firezone oslanja se na analitici proizvoda kako bi Firezone učinili boljim za sve. Ostavljanje omogućene telemetrije je jedini najvredniji doprinos koji možete dati razvoju Firezone-a. Uz to, razumijemo da neki korisnici imaju veće zahtjeve za privatnošću ili sigurnošću i radije bi u potpunosti onemogućili telemetriju. Ako ste to vi, nastavite čitati.

Telemetrija je podrazumevano omogućena. Da biste potpuno onemogućili telemetriju proizvoda, postavite sljedeću opciju konfiguracije na false u /etc/firezone/firezone.rb i pokrenite sudo firezone-ctl reconfigure da preuzmete promjene.

zadano['požarna zona']['telemetrija']['omogućeno'] = lažan

To će u potpunosti onemogućiti svu telemetriju proizvoda.