Hailbytes VPN s dokumentacijom Firezone vatrozida

Pregled sadržaja

Početak

Ovdje su navedene upute korak po korak za implementaciju Hailbytes VPN-a s Firezone GUI. 

Administrator: Postavljanje instance poslužitelja izravno je povezano s ovim dijelom.

Korisnički vodiči: korisni dokumenti koji vas mogu naučiti kako koristiti Firezone i riješiti tipične probleme. Nakon što je poslužitelj uspješno implementiran, pogledajte ovaj odjeljak.

Vodiči za uobičajene konfiguracije

Podijeljeno tuneliranje: Koristite VPN samo za slanje prometa na određene raspone IP adresa.

Popis dopuštenih: Postavite statičku IP adresu VPN poslužitelja kako biste koristili popis dopuštenih.

Obrnuti tuneli: Stvorite tunele između nekoliko peer-ova pomoću obrnutih tunela.

Dobiti podršku

Zadovoljstvo nam je pomoći vam ako trebate pomoć pri instaliranju, prilagodbi ili korištenju Hailbytes VPN-a.

Ovjera

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

Iako je Firezoneova zadana metoda prijave lokalna e-pošta i lozinka, također se može integrirati s bilo kojim standardiziranim OpenID Connect (OIDC) pružateljem identiteta. Korisnici se sada mogu prijaviti u Firezone koristeći svoje vjerodajnice Okta, Google, Azure AD ili privatnog davatelja identiteta.

 

Integrirajte generičkog OIDC dobavljača

Konfiguracijski parametri potrebni Firezoneu za dopuštanje SSO-a pomoću OIDC davatelja prikazani su u primjeru u nastavku. Na /etc/firezone/firezone.rb možete pronaći konfiguracijsku datoteku. Pokrenite firezone-ctl reconfigure i firezone-ctl restart da ažurirate aplikaciju i promjene stupe na snagu.

 

# Ovo je primjer korištenja Googlea i Okte kao pružatelja SSO identiteta.

# Istoj Firezone instanci može se dodati više OIDC konfiguracija.

 

# Firezone može onemogućiti korisnikov VPN ako se pri pokušaju otkrije bilo kakva pogreška

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

# Azure SSO i koristi se za automatsko odspajanje korisničkog VPN-a ako se ukloni

# od pružatelja OIDC. Ostavite ovo onemogućeno ako vaš OIDC davatelj

# 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'] = 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: “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: “openid email profile offline_access”,

    oznaka: “Okta”

  }

}



Za integraciju su potrebne sljedeće konfiguracijske postavke:

  1. discovery_document_uri: The URI konfiguracije pružatelja usluge OpenID Connect koji vraća JSON dokument koji se koristi za konstrukciju naknadnih zahtjeva ovom OIDC pružatelju.
  2. client_id: ID klijenta aplikacije.
  3. client_secret: Tajna klijenta aplikacije.
  4. redirect_uri: daje upute OIDC pružatelju gdje da preusmjeri nakon provjere autentičnosti. Ovo bi trebao biti vaš Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (npr. https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Postavi na kod.
  6. opseg: Opseg OIDC-a dobiti od svog OIDC davatelja. Ovo bi trebalo biti postavljeno na openid profil e-pošte ili openid profil e-pošte offline_access, ovisno o davatelju usluga.
  7. oznaka: tekst oznake gumba koji se prikazuje na vašem ekranu za prijavu u Firezone.

Lijepi URL-ovi

Za svakog pružatelja OIDC-a stvara se odgovarajući lijepi URL za preusmjeravanje na URL za prijavu konfiguriranog pružatelja. Za gornji primjer OIDC konfiguracije, URL-ovi su:

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

Upute za postavljanje Firezone s popularnim pružateljima identiteta

Pružatelji za koje imamo dokumentaciju:

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

 

Ako vaš pružatelj usluga identiteta ima generički OIDC konektor, a nije gore naveden, pogledajte njegovu dokumentaciju za informacije o tome kako dohvatiti potrebne konfiguracijske postavke.

Održavajte redovitu ponovnu provjeru autentičnosti

Postavka pod postavkama/sigurnošću može se promijeniti tako da zahtijeva periodičnu ponovnu provjeru autentičnosti. Ovo se može koristiti za provođenje zahtjeva da korisnici redovito ulaze u Firezone kako bi nastavili svoju VPN sesiju.

Trajanje sesije može se konfigurirati 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 provjera autentičnosti

Korisnik mora prekinuti svoju VPN sesiju i prijaviti se na Firezone portal kako bi ponovno autentificirao isteklu VPN sesiju (URL naveden tijekom postavljanja).

Svoju sesiju možete ponovno autentificirati slijedeći precizne upute klijenta koje se nalaze ovdje.

 

Status VPN veze

Stupac tablice VPN veze stranice Korisnici prikazuje status veze korisnika. Ovo su statusi veze:

ENABLED – veza je omogućena.

ONEMOGUĆENO – vezu je onemogućio administrator ili greška pri osvježavanju OIDC-a.

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

Google

Putem općeg OIDC konektora, Firezone omogućuje jedinstvenu prijavu (SSO) s Google Workspaceom i Cloud Identityjem. Ovaj će vam vodič pokazati kako doći do dolje navedenih konfiguracijskih parametara koji su potrebni za integraciju:

  1. discovery_document_uri: The URI konfiguracije pružatelja usluge OpenID Connect koji vraća JSON dokument koji se koristi za konstrukciju naknadnih zahtjeva ovom OIDC pružatelju.
  2. client_id: ID klijenta aplikacije.
  3. client_secret: Tajna klijenta aplikacije.
  4. redirect_uri: daje upute OIDC pružatelju gdje da preusmjeri nakon provjere autentičnosti. Ovo bi trebao biti vaš Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (npr. https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Postavi na kod.
  6. opseg: Opseg OIDC-a dobiti od svog OIDC davatelja. Ovo bi trebalo biti postavljeno na openid profil e-pošte kako bi se Firezoneu pružila korisnička adresa e-pošte u vraćenim zahtjevima.
  7. oznaka: tekst oznake gumba koji se prikazuje na vašem ekranu za prijavu u Firezone.

Nabavite postavke konfiguracije

1. OAuth konfiguracijski zaslonâ € <

Ako je ovo prvi put da stvarate novi OAuth ID klijenta, od vas će se tražiti da konfigurirate zaslon pristanka.

*Za vrstu korisnika odaberite Interno. Time se osigurava da samo računi koji pripadaju korisnicima u vašoj Google Workspace organizaciji mogu stvarati konfiguracije uređaja. NEMOJTE odabrati Vanjski osim ako ne želite omogućiti bilo kome s važećim Google računom stvaranje konfiguracija uređaja.

 

Na zaslonu informacija o aplikaciji:

  1. Naziv aplikacije: Firezone
  2. Logo aplikacije: Firezone logo (Spremi link kao).
  3. Početna stranica aplikacije: URL vaše Firezone instance.
  4. Ovlaštene domene: domena najviše razine vaše Firezone instance.

 

 

2. Stvorite ID-ove OAuth klijenataâ € <

Ovaj se odjeljak temelji na Googleovoj vlastitoj dokumentaciji o postavljanje OAutha 2.0.

Posjetite Google Cloud Console Stranica vjerodajnica kliknite + Stvori vjerodajnice i odaberite ID OAuth klijenta.

Na zaslonu za izradu ID-a OAuth klijenta:

  1. Postavite vrstu 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 Autorizirani URI za preusmjeravanje.

 

Nakon stvaranja OAuth ID-a klijenta, dobit ćete ID klijenta i tajnu klijenta. Oni će se koristiti zajedno s URI-jem za preusmjeravanje u sljedećem koraku.

Firezone integracija

Uredi /etc/firezone/firezone.rb uključiti opcije u nastavku:

 

# Korištenje Googlea kao pružatelja 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 za ažuriranje aplikacije. Sada biste trebali vidjeti gumb Prijavite se s Googleom na korijenskom URL-u Firezone.

Okta

Firezone koristi generički OIDC konektor za olakšavanje jedinstvene prijave (SSO) s Oktom. Ovaj vodič će vam pokazati kako doći do dolje navedenih konfiguracijskih parametara koji su potrebni za integraciju:

  1. discovery_document_uri: The URI konfiguracije pružatelja usluge OpenID Connect koji vraća JSON dokument koji se koristi za konstrukciju naknadnih zahtjeva ovom OIDC pružatelju.
  2. client_id: ID klijenta aplikacije.
  3. client_secret: Tajna klijenta aplikacije.
  4. redirect_uri: daje upute OIDC pružatelju gdje da preusmjeri nakon provjere autentičnosti. Ovo bi trebao biti vaš Firezone EXTERNAL_URL + /auth/oidc/ /povratni poziv/ (npr. https://instance-id.yourfirezone.com/auth/oidc/okta/povratni poziv/).
  5. response_type: Postavi na kod.
  6. opseg: Opseg OIDC-a dobiti od svog OIDC davatelja. Ovo bi trebalo biti postavljeno na openid email profile offline_access kako bi se Firezoneu pružila korisnička email adresa u vraćenim zahtjevima.
  7. oznaka: tekst oznake gumba koji se prikazuje na vašem ekranu za prijavu u Firezone.

 

Integrirajte aplikaciju Okta

Ovaj dio vodiča temelji se na Oktina dokumentacija.

U administratorskoj konzoli idite na Aplikacije > Aplikacije i kliknite Stvori integraciju aplikacije. Postavite način prijave na OICD – OpenID povezivanje i vrstu aplikacije na web aplikaciju.

Konfigurirajte ove postavke:

  1. Naziv aplikacije: Firezone
  2. Logo aplikacije: Firezone logo (Spremi link kao).
  3. Vrsta dodjele: označite okvir Osvježi token. Ovo osigurava sinkronizaciju Firezone s pružateljem identiteta i VPN pristup se prekida nakon uklanjanja korisnika.
  4. URI-ji 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 URI-je za ovlašteno preusmjeravanje .
  5. Zadaci: Ograničite se na grupe kojima želite omogućiti pristup vašoj Firezone instanci.

Nakon što su postavke spremljene, dobit ćete ID klijenta, tajnu klijenta i Okta domenu. Ove 3 vrijednosti koristit će se u koraku 2 za konfiguriranje Firezone.

Integrirajte Firezone

Uredi /etc/firezone/firezone.rb uključiti opcije u nastavku. Vaš otkriće_dokument_url će biti /.well-known/openid-configuration pridodat na kraj vašeg okta_domena.

 

# Korištenje Okte kao pružatelja 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: “openid email profile offline_access”,

    oznaka: “Okta”

  }

}

 

Pokrenite firezone-ctl reconfigure i firezone-ctl restart za ažuriranje aplikacije. Sada biste trebali vidjeti gumb Prijavite se s Oktom 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 vaše Okta Admin Console da to postignete.

Azure Active Directory

Preko generičkog OIDC konektora, Firezone omogućuje jedinstvenu prijavu (SSO) s Azure Active Directory. Ovaj priručnik će vam pokazati kako doći do dolje navedenih konfiguracijskih parametara koji su potrebni za integraciju:

  1. discovery_document_uri: The URI konfiguracije pružatelja usluge OpenID Connect koji vraća JSON dokument koji se koristi za konstrukciju naknadnih zahtjeva ovom OIDC pružatelju.
  2. client_id: ID klijenta aplikacije.
  3. client_secret: Tajna klijenta aplikacije.
  4. redirect_uri: daje upute OIDC pružatelju gdje da preusmjeri nakon provjere autentičnosti. Ovo bi trebao biti vaš Firezone EXTERNAL_URL + /auth/oidc/ /povratni poziv/ (npr. https://instance-id.yourfirezone.com/auth/oidc/azure/povratni poziv/).
  5. response_type: Postavi na kod.
  6. opseg: Opseg OIDC-a dobiti od svog OIDC davatelja. Ovo bi trebalo biti postavljeno na openid email profile offline_access kako bi se Firezoneu pružila korisnička email adresa u vraćenim zahtjevima.
  7. oznaka: tekst oznake gumba koji se prikazuje na vašem ekranu za prijavu u Firezone.

Preuzmite postavke konfiguracije

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

 

Idite na stranicu Azure Active Directory portala Azure. Odaberite opciju izbornika Upravljanje, odaberite Nova registracija, zatim se registrirajte unosom podataka u nastavku:

  1. Naziv: Firezone
  2. Podržane vrste računa: (samo zadani imenik – 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 kosu crtu na kraju. 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 izbornik krajnjih točaka da biste dohvatili OpenID Connect dokument metapodataka. Ovo će biti vrijednost discovery_document_uri.

 

Stvorite novu klijentsku tajnu klikom na opciju Certifikati i tajne u izborniku Upravljanje. Kopirajte tajnu klijenta; tajna vrijednost klijenta bit će ovo.

 

Na kraju odaberite vezu za API dozvole u izborniku Upravljanje, kliknite Dodajte dopuštenje, i odaberite Microsoftov grafikon, dodati e-mail, openid, izvanmrežni_pristup i profil na potrebna dopuštenja.

Firezone integracija

Uredi /etc/firezone/firezone.rb uključiti opcije u nastavku:

 

# Korištenje Azure Active Directory kao pružatelja 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: “openid email profile offline_access”,

    oznaka: “Azure”

  }

}

 

Pokrenite firezone-ctl reconfigure i firezone-ctl restart za ažuriranje aplikacije. Sada biste trebali vidjeti gumb Prijava s Azureom na korijenskom URL-u Firezone.

Kako: ograničiti pristup određenim članovima

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

Administrirati

  • konfigurirati
  • Upravljanje instalacijom
  • Nadogradnja
  • Otklanjanje
  • Sigurnosna razmatranja
  • Pokretanje SQL upita

konfigurirati

Firezone koristi Chef Omnibus za upravljanje zadacima uključujući pakiranje za puštanje, nadzor procesa, upravljanje zapisima i više.

Ruby kod čini primarnu konfiguracijsku datoteku koja se nalazi na /etc/firezone/firezone.rb. Ponovno pokretanje sudo firezone-ctl reconfigure nakon izmjena ove datoteke uzrokuje da Chef prepozna promjene i primijeni ih na trenutni operativni sustav.

Pogledajte referencu konfiguracijske datoteke za potpuni popis konfiguracijskih varijabli i njihovih opisa.

Upravljanje instalacijom

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

 

root@demo:~# firezone-ctl

omnibus-ctl: naredba (podnaredba)

Opće naredbe:

  očistiti

    Izbrišite *sve* firezone podatke i počnite od nule.

  stvori-ili-resetiraj-admin

    Poništava lozinku za administratora s e-poštom navedenom prema zadanim postavkama ['firezone']['admin_email'] ili stvara novog administratora ako ta e-pošta ne postoji.

  pomoći

    Ispišite ovu poruku pomoći.

  rekonfigurirati

    Ponovno konfigurirajte aplikaciju.

  reset-mreža

    Vraća nftables, WireGuard sučelje i tablicu usmjeravanja na Firezone zadane postavke.

  show-config

    Prikaži konfiguraciju koja bi se generirala ponovnom konfiguracijom.

  teardown-mreža

    Uklanja WireGuard sučelje i tablicu nftables firezone.

  force-cert-renewal

    Prisilno obnovite certifikat sada čak i ako nije istekao.

  stop-cert-obnova

    Uklanja cronjob koji obnavlja certifikate.

  deinstalirati

    Zatvorite sve procese i deinstalirajte nadzornika procesa (podaci će biti sačuvani).

  verzija

    Prikaži trenutnu verziju Firezone

Naredbe za upravljanje uslugom:

  graciozan-ubiti

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

  hup

    Pošaljite uslugama HUP.

  int

    Pošaljite uslugama INT.

  ubiti

    Pošaljite uslugama UBIJANJE.

  jednom

    Pokrenite usluge ako ne rade. Nemojte ih ponovno pokretati ako stanu.

  restart

    Zaustavite usluge ako su pokrenute, a zatim ih ponovno pokrenite.

  lista usluga

    Navedite sve usluge (omogućene usluge prikazuju se s *.)

  početak

    Pokrenite usluge ako ne rade i ponovno ih pokrenite ako stanu.

  status

    Prikaži status svih usluga.

  zaustaviti

    Zaustavite usluge i nemojte ih ponovno pokretati.

  rep

    Pogledajte servisne zapisnike svih omogućenih servisa.

  termin

    Pošaljite usluge TERMIN.

  usr1

    Pošaljite uslugama USR1.

  usr2

    Pošaljite uslugama USR2.

Nadogradnja

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

 

Kako biste poboljšali Firezone, poduzmite sljedeće radnje:

  1. Nadogradite firezone paket pomoću instalacije jednom naredbom: 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 za ponovno pokretanje usluga.

Ako se pojave bilo kakvi problemi, javite nam do slanje ulaznice za podršku.

Nadogradnja s <0.5.0 na >=0.5.0

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

Uklonjeni Nginx non_ssl_port (HTTP) zahtjevi

Nginx više ne podržava parametre force SSL i non-SSL porta od verzije 0.5.0. Budući da Firezone treba SSL za rad, savjetujemo uklanjanje skupa Nginx usluge postavljanjem default['firezone']['nginx']['enabled'] = false i usmjeravanjem vašeg obrnutog proxyja na aplikaciju Phoenix na portu 13000 umjesto toga (prema zadanim postavkama ).

Podrška za ACME protokol

0.5.0 uvodi podršku za ACME protokol za automatsko obnavljanje SSL certifikata s priloženom uslugom Nginx. Kako bi se omogućilo,

  • Provjerite sadrži li default['firezone']['external_url'] važeći FQDN koji se razrješava u javnu IP adresu vašeg poslužitelja.
  • Provjerite je li 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 s dupliciranim odredištima nestala je u Firezone 0.5.0. Naša skripta za migraciju automatski će prepoznati ove situacije tijekom nadogradnje na 0.5.0 i zadržati samo pravila čije odredište uključuje drugo pravilo. Ne morate ništa učiniti ako je ovo u redu.

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

Predkonfiguriranje Okte i Google SSO-a

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

Ako imate bilo kakvu konfiguraciju pod default['firezone']['authentication']['okta'] ili default['firezone']['authentication']['google'] ključevima, trebate ih migrirati na naš OIDC konfiguraciju temeljenu na vodiču u nastavku.

Postojeća Google OAuth konfiguracija

Uklonite ove retke koji sadrže stare Google OAuth konfiguracije iz konfiguracijske datoteke koja se nalazi na /etc/firezone/firezone.rb

 

zadano['firezone']['authentication']['google']['enabled']

zadano['firezone']['authentication']['google']['client_id']

zadano['firezone']['authentication']['google']['client_secret']

zadano['firezone']['authentication']['google']['redirect_uri']

 

Zatim konfigurirajte Google kao davatelja OIDC-a slijedeći ovdje navedene postupke.

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

 

Konfigurirajte postojeći Google OAuth 

Uklonite ove retke koji sadrže stare Okta OAuth konfiguracije iz konfiguracijske datoteke koja se nalazi na /etc/firezone/firezone.rb

 

zadano['firezone']['authentication']['okta']['enabled']

zadano['firezone']['authentication']['okta']['client_id']

zadano['firezone']['authentication']['okta']['client_secret']

Zadano['firezone']['authentication']['okta']['site']

 

Zatim konfigurirajte Oktu kao OIDC pružatelja prateći ovdje navedene postupke.

Nadogradnja s 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 pružatelje, nadogradnja na >= 0.3.16 zahtijeva dobivanje tokena za osvježavanje za izvanmrežni opseg pristupa. Time se osigurava da se Firezone ažurira s davateljem identiteta i da se VPN veza prekida nakon brisanja korisnika. Ranije verzije Firezonea nisu imale ovu značajku. U nekim slučajevima, korisnici koji su izbrisani od vašeg davatelja identiteta mogu i dalje biti povezani na VPN.

Neophodno je uključiti izvanmrežni pristup u parametar opsega vaše OIDC konfiguracije za OIDC pružatelje koji podržavaju opseg izvanmrežnog pristupa. Firezone-ctl reconfigure mora se izvršiti kako bi se primijenile promjene na Firezone konfiguracijsku datoteku, koja se nalazi na /etc/firezone/firezone.rb.

Za korisnike koje je autentificirao vaš OIDC pružatelj, 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 svoju postojeću OAuth aplikaciju i ponoviti korake postavljanja OIDC-a za stvoriti novu integraciju aplikacije .

Imam postojeću OAuth integraciju

Prije 0.3.11, Firezone je koristio unaprijed konfigurirane OAuth2 pružatelje. 

Slijedi upute ovdje prijeći na OIDC.

Nisam integrirao pružatelja identiteta

Nije potrebna radnja. 

Možete slijediti upute ovdje za omogućavanje SSO-a putem OIDC davatelja.

Nadogradnja s 0.3.1 na >= 0.3.2

Umjesto toga, default['firezone']['external url'] je zamijenio konfiguracijsku opciju default['firezone']['fqdn']. 

Postavite ovo na URL vašeg mrežnog portala Firezone koji je dostupan široj javnosti. Zadano će biti https:// plus FQDN vašeg poslužitelja ako ostane nedefiniran.

Konfiguracijska datoteka se nalazi na /etc/firezone/firezone.rb. Pogledajte referencu konfiguracijske datoteke za potpuni popis konfiguracijskih varijabli i njihovih opisa.

Nadogradite s 0.2.x na 0.3.x

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

Web sučelje Firezone neće vam dopustiti ponovno preuzimanje ili pregled ovih konfiguracija, ali svi postojeći uređaji trebaju nastaviti raditi kakvi jesu.

Nadogradite s 0.1.x na 0.2.x

Ako nadograđujete s Firezone 0.1.x, postoji nekoliko promjena konfiguracijske datoteke koje morate riješiti ručno. 

Da biste izvršili potrebne izmjene u vašoj datoteci /etc/firezone/firezone.rb, pokrenite donje naredbe 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 ponovno konfigurirati

ponovno pokretanje firezone-ctl

Rješavanje problema

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

Pokrenite sudo firezone-ctl tail za pregled Firezone zapisa.

Otklanjanje pogrešaka u povezivanju

Većina problema s povezivanjem s Firezoneom uzrokovana je nekompatibilnim pravilima iptables ili nftables. Morate biti sigurni da pravila koja imate na snazi ​​nisu u sukobu s pravilima Firezone.

Internetska veza pada kada je tunel aktivan

Provjerite dopušta li FORWARD lanac pakete od vaših WireGuard klijenata do lokacija koje želite pustiti kroz Firezone ako se vaša internetska povezanost pogorša svaki put kada aktivirate svoj WireGuard tunel.

 

To se može postići ako koristite ufw osiguravanjem da je zadana politika usmjeravanja dopuštena:

 

ubuntu@fz:~$ sudo ufw default dopusti preusmjereno

Zadana politika usmjeravanja promijenjena je u "dopusti"

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

 

A wow status tipičnog Firezone poslužitelja može izgledati ovako:

 

ubuntu@fz:~$ sudo ufw status verbose

Status: aktivan

Zapisivanje: uključeno (nisko)

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

Novi profili: preskoči

 

Za radnju od

— —— —-

22/tcp DOPUSTI ULAZE bilo gdje

80/tcp DOPUSTI ULAZE bilo gdje

443/tcp DOPUSTI ULAZE bilo gdje

51820/udp DOZVOLI Ulazak bilo gdje

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

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

443/tcp (v6) DOPUSTI ULAZE bilo gdje (v6)

51820/udp (v6) DOZVOLI IN Bilo gdje (v6)

Sigurnosna razmatranja

Savjetujemo ograničavanje pristupa web sučelju za iznimno osjetljive i kritične proizvodne implementacije, kao što je objašnjeno u nastavku.

Usluge i luke

 

Servis

Zadani priključak

Slušajte adresu

Opis

Nginx

80, 443

svi

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

žica straža

51820

svi

Javni WireGuard priključak koji se koristi za VPN sesije. (UDP)

postgresql

15432

127.0.0.1

Samo lokalni priključak koji se koristi za priloženi Postgresql poslužitelj.

Feniks

13000

127.0.0.1

Samo lokalni priključak koji koristi uzvodni poslužitelj aplikacije elixir.

Proizvodne implementacije

Savjetujemo vam da razmislite o ograničavanju pristupa javno izloženom web sučelju Firezone (prema zadanim priključcima 443/tcp i 80/tcp) i umjesto toga upotrijebite WireGuard tunel za upravljanje Firezoneom za produkcijske i javne implementacije gdje će jedan administrator biti zadužen kreiranja i distribucije konfiguracija uređaja krajnjim korisnicima.

 

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

 

root@demo:~# ufw status verbose

Status: aktivan

Zapisivanje: uključeno (nisko)

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

Novi profili: preskoči

 

Za radnju od

— —— —-

22/tcp DOPUSTI ULAZE bilo gdje

51820/udp DOZVOLI Ulazak bilo gdje

Bilo gdje DOPUSTI 10.3.2.2

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

51820/udp (v6) DOZVOLI IN Bilo gdje (v6)

Ovo bi ostavilo samo 22/tcp izložen za SSH pristup za upravljanje poslužiteljem (opcionalno) i 51820/udp izloženi kako bi se uspostavili WireGuard tuneli.

Pokreni SQL upite

Firezone povezuje Postgresql poslužitelj i odgovarajući psql uslužni program koji se može koristiti iz lokalne ljuske na sljedeći način:

 

/opt/firezone/embedded/bin/psql \

  -U vatrenoj zoni \

  -d vatrena zona \

  -h lokalni host \

  -p 15432 \

  -c “SQL_IZJAVA”

 

Ovo može biti od pomoći u svrhe otklanjanja pogrešaka.

 

Uobičajeni zadaci:

 

  • Ispis svih korisnika
  • Popis svih uređaja
  • Promjena uloge korisnika
  • Sigurnosno kopiranje baze podataka



Popis svih korisnika:

 

/opt/firezone/embedded/bin/psql \

  -U vatrenoj zoni \

  -d vatrena zona \

  -h lokalni host \

  -p 15432 \

  -c “SELECT * FROM korisnika;”



Popis svih uređaja:

 

/opt/firezone/embedded/bin/psql \

  -U vatrenoj zoni \

  -d vatrena zona \

  -h lokalni host \

  -p 15432 \

  -c “SELECT * FROM uređaji;”



Promjena korisničke uloge:

 

Postavite ulogu na 'admin' ili 'unprivileged':

 

/opt/firezone/embedded/bin/psql \

  -U vatrenoj zoni \

  -d vatrena zona \

  -h lokalni host \

  -p 15432 \

  -c “UPDATE users SET role = 'admin' WHERE email = 'user@example.com';”



Sigurnosno kopiranje baze podataka:

 

Nadalje, uključen je pg dump program, koji se može koristiti za redovito sigurnosno kopiranje baze podataka. Izvršite sljedeći kod za ispis kopije baze podataka u uobičajenom formatu SQL upita (zamijenite /path/to/backup.sql s mjestom na kojem bi se trebala stvoriti SQL datoteka):

 

/opt/firezone/embedded/bin/pg_dump \

  -U vatrenoj zoni \

  -d vatrena zona \

  -h lokalni host \

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

Korisnički priručnici

  • Dodavanje korisnika
  • Dodaj uređaje
  • Pravila izlaza
  • Upute za klijenta
  • Split Tunnel VPN
  • Obrnuti tunel 
  • NAT pristupnik

Dodavanje korisnika

Nakon što je Firezone uspješno implementiran, morate dodati korisnike kako biste im omogućili pristup vašoj mreži. Za to se koristi web sučelje.

 

Web UI


Odabirom gumba "Dodaj korisnika" pod /users možete dodati korisnika. Korisniku ćete morati dati adresu e-pošte i lozinku. Kako biste automatski omogućili pristup korisnicima u vašoj organizaciji, Firezone također može surađivati ​​i sinkronizirati se s pružateljem identiteta. Više detalja dostupno je u potvrditi. < Dodajte poveznicu za Autentifikaciju

Dodaj uređaje

Savjetujemo da od korisnika zatražite izradu vlastitih konfiguracija uređaja kako bi privatni ključ bio vidljiv samo njima. Korisnici mogu generirati vlastite konfiguracije uređaja slijedeći upute na Upute za klijenta stranica.

 

Generiranje konfiguracije administratorskog 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.

 

[Umetni snimak zaslona]

 

Korisniku možete e-poštom poslati WireGuard konfiguracijsku datoteku nakon izrade profila uređaja.

 

Korisnici i uređaji su povezani. Za dodatne pojedinosti o tome kako dodati korisnika, pogledajte Dodavanje korisnika.

Pravila izlaza

Korištenjem sustava netfilter kernela, Firezone omogućuje izlazne mogućnosti filtriranja za specificiranje DROP ili ACCEPT paketa. Sav promet je normalno dopušten.

 

IPv4 i IPv6 CIDR-ovi i IP adrese podržane su putem popisa dopuštenih i popisa odbijenih. Možete odabrati opseg pravila za korisnika kada ga dodajete, čime se pravilo primjenjuje na sve uređaje tog korisnika.

Upute za klijenta

Instalirajte i konfigurirajte

Za uspostavljanje VPN veze pomoću izvornog WireGuard klijenta, pogledajte ovaj vodič.

 

1. Instalirajte nativni WireGuard klijent

 

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

 

MacOS

 

Windows

 

iOS

 

Android

 

Posjetite službenu web stranicu WireGuard na https://www.wireguard.com/install/ za OS sustave koji nisu gore navedeni.

 

2. Preuzmite konfiguracijsku datoteku uređaja

 

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

 

Posjetite URL koji je dao vaš Firezone administrator kako biste sami generirali konfiguracijsku datoteku uređaja. Vaša tvrtka će imati jedinstveni URL za ovo; u ovom slučaju, to je https://instance-id.yourfirezone.com.

 

Prijavite se na Firezone Okta SSO

 

[Umetni snimak zaslona]

 

3. Dodajte konfiguraciju klijenta

 

Uvezite .conf datoteku u WireGuard klijent tako da je otvorite. Okretanjem prekidača Aktiviraj, možete započeti VPN sesiju.

 

[Umetni snimak zaslona]

Ponovna autentifikacija sesije

Slijedite upute u nastavku ako je vaš mrežni administrator odredio ponavljajuću provjeru autentičnosti kako bi vaša VPN veza ostala aktivna. 



Trebaš:

 

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

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

 

1. Isključite VPN vezu

 

[Umetni snimak zaslona]

 

2. Ponovo provjerite autentičnost 

Idite na URL portala Firezone i prijavite se pomoću vjerodajnica koje je dao vaš mrežni administrator. Ako ste već prijavljeni, kliknite gumb Ponovno autentificiraj prije ponovne prijave.

 

[Umetni snimak zaslona]

 

Korak 3: Pokrenite VPN sesiju

[Umetni snimak zaslona]

Upravitelj mreže za Linux

Za uvoz WireGuard konfiguracijskog profila pomoću CLI-ja Network Managera na Linux uređajima, slijedite ove upute (nmcli).

BILJEŠKA

Ako profil ima omogućenu IPv6 podršku, pokušaj uvoza konfiguracijske datoteke pomoću GUI-ja Network Managera može propasti uz sljedeću pogrešku:

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

1. Instalirajte WireGuard alate 

Potrebno je instalirati WireGuard pomoćne programe korisničkog prostora. To će biti paket pod nazivom wireguard ili wireguard-tools za distribucije Linuxa.

Za Ubuntu/Debian:

sudo apt instalirajte wireguard

Za korištenje Fedore:

sudo dnf instalirajte wireguard-tools

Arch Linux:

sudo pacman -S wireguard-alati

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

2. Preuzmite konfiguraciju 

Vaš Firezone administrator ili samogeneracija može generirati konfiguracijsku datoteku uređaja koristeći Firezone portal.

Posjetite URL koji je dao vaš Firezone administrator kako biste sami generirali konfiguracijsku datoteku uređaja. Vaša tvrtka će imati jedinstveni URL za ovo; u ovom slučaju, to je https://instance-id.yourfirezone.com.

[Umetni snimak zaslona]

3. Uvezite postavke

Uvezite isporučenu konfiguracijsku datoteku koristeći nmcli:

sudo nmcli tip uvoza veze wireguard datoteka /path/to/configuration.conf

BILJEŠKA

Naziv konfiguracijske datoteke odgovarat će WireGuard vezi/sučelju. Nakon uvoza, veza se može preimenovati ako je potrebno:

nmcli veza modify [stari naziv] connection.id [novi naziv]

4. Spojite ili odspojite

Putem naredbenog retka spojite se na VPN na sljedeći način:

nmcli veza gore [vpn naziv]

Da biste prekinuli vezu:

nmcli veza prekinuta [naziv vpn-a]

Primjenjivi applet Network Manager također se 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 veza modify [vpn name] veza. <<<<<<<<<<<<<<<<<<<<<<<

 

autoconnect da

 

Da biste onemogućili automatsko povezivanje, vratite ga na ne:

 

nmcli veza modify [vpn name] veza.

 

autoconnect br

Učinite višefaktorsku provjeru autentičnosti dostupnom

Za aktiviranje MFA Idite na /user account/register mfa stranicu portala Firezone. Upotrijebite aplikaciju za autentifikaciju da skenirate QR kod nakon što je generiran, a zatim unesite šesteroznamenkasti kod.

Obratite se svom administratoru da poništi pristupne informacije za vaš račun ako izgubite svoju aplikaciju autentifikatora.

Split Tunnel VPN

Ovaj vodič će vas provesti kroz proces postavljanja WireGuardove značajke podijeljenog tuneliranja s Firezoneom tako da se samo promet prema određenim IP rasponima prosljeđuje kroz VPN poslužitelj.

 

1. Konfigurirajte dopuštene IP adrese 

Rasponi IP adresa za koje će klijent usmjeravati mrežni promet navedeni su u polju Dopuštene IP adrese koje se nalazi na stranici /settings/default. Promjene u ovom polju utjecat će samo na novostvorene konfiguracije WireGuard tunela koje proizvodi Firezone.

 

[Umetni snimak zaslona]



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

 

Primjeri vrijednosti u ovom polju uključuju:

 

0.0.0.0/0, ::/0 – sav mrežni promet bit će preusmjeren na VPN poslužitelj.

192.0.2.3/32 – samo promet prema jednoj IP adresi bit će preusmjeren na VPN poslužitelj.

3.5.140.0/22 ​​– samo će promet prema IP-ovima u rasponu 3.5.140.1 – 3.5.143.254 biti preusmjeren na VPN poslužitelj. U ovom primjeru korišten je CIDR raspon za ap-sjeveroistočno-2 AWS područje.



BILJEŠKA

Firezone prvo odabire izlazno sučelje povezano s najpreciznijom rutom kada određuje kamo usmjeriti paket.

 

2. Ponovno generirajte WireGuard konfiguracije

Korisnici moraju ponovno generirati 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 upute pogledajte Dodaj uređaj. <<<<<<<<<<< Dodaj vezu

Obrnuti tunel

Ovaj priručnik će pokazati kako povezati dva uređaja koristeći Firezone kao relej. Jedan tipičan slučaj upotrebe je omogućiti administratoru pristup poslužitelju, spremniku ili stroju koji je zaštićen NAT-om ili vatrozidom.

 

Čvor do čvora 

Ova ilustracija prikazuje jednostavan scenarij u kojem uređaji A i B grade tunel.

 

[Umetnite arhitektonsku sliku firezone]

 

Započnite stvaranjem uređaja A i uređaja B odlaskom na /users/[user_id]/new_device. U postavkama za svaki uređaj provjerite jesu li sljedeći parametri postavljeni na dolje navedene vrijednosti. Postavke uređaja možete postaviti prilikom izrade 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

 

Dopušteni IP-ovi = 10.3.2.2/32

  Ovo je IP ili raspon IP-ova uređaja B

PersistentKeepalive = 25

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



B uređaj

 

Dopušteni IP-ovi = 10.3.2.3/32

Ovo je IP ili raspon IP-ova uređaja A

PersistentKeepalive = 25

Administratorski slučaj - jedan prema više čvorova

Ovaj primjer prikazuje situaciju u kojoj uređaj A može komunicirati s uređajima B do D u oba smjera. Ova postavka može predstavljati inženjera ili administratora koji pristupa brojnim resursima (poslužiteljima, spremnicima ili strojevima) preko raznih mreža.

 

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

 

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

 

Uređaj A (Administratorski čvor)

 

Dopušteni IP-ovi = 10.3.2.3/32, 10.3.2.4/32, 10.3.2.5/32 

    Ovo je IP adresa uređaja B do D. IP adresa uređaja B do D mora biti uključena u bilo koji IP raspon koji odaberete postaviti.

PersistentKeepalive = 25 

    To jamči da uređaj može održavati tunel i nastaviti primati pakete s WireGuard sučelja čak i ako je zaštićen NAT-om. U većini slučajeva, vrijednost od 25 je odgovarajuća, ali ovisno o vašem okruženju, možda ćete morati smanjiti ovu brojku.

 

Uređaj B

 

  • AllowedIPs = 10.3.2.2/32: Ovo je IP ili raspon IP-ova uređaja A
  • PersistentKeepalive = 25

Uređaj C

 

  • AllowedIPs = 10.3.2.2/32: Ovo je IP ili raspon IP-ova uređaja A
  • PersistentKeepalive = 25

Uređaj D

 

  • AllowedIPs = 10.3.2.2/32: Ovo je IP ili raspon IP-ova uređaja A
  • PersistentKeepalive = 25

NAT pristupnik

Da biste ponudili jednu statičnu izlaznu IP adresu za sav promet vašeg tima, Firezone se može koristiti kao NAT gateway. Ove situacije uključuju njegovu čestu upotrebu:

 

Konzultantski angažmani: Zatražite da vaš klijent stavi na bijeli popis jednu statičnu IP adresu umjesto jedinstvene IP adrese uređaja svakog zaposlenika.

Korištenje proxyja ili maskiranje vaše izvorne IP adrese radi sigurnosti ili privatnosti.

 

Jednostavan primjer ograničavanja pristupa samostalno hostiranoj web aplikaciji na jednu statičku IP adresu s popisa dopuštenih koja pokreće Firezone bit će prikazan u ovom postu. Na ovoj ilustraciji, Firezone i zaštićeni resurs nalaze se u različitim VPC područjima.

 

Ovo se rješenje često koristi umjesto upravljanja popisom dopuštenih IP adresa za brojne krajnje korisnike, što može biti dugotrajno jer se popis pristupa širi.

Primjer AWS-a

Naš cilj je postaviti Firezone poslužitelj na EC2 instanci za preusmjeravanje VPN prometa 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 poslužitelj

U ovom slučaju, instanca EC2 pod nazivom tc2.micro ima instaliranu instancu Firezone. Za informacije o implementaciji Firezone idite na Vodič za implementaciju. U vezi s AWS, budite sigurni:

 

Sigurnosna grupa Firezone EC2 instance dopušta odlazni promet prema IP adresi zaštićenog resursa.

Instanca Firezone dolazi s elastičnim IP-om. Promet koji se prosljeđuje kroz instancu Firezone na vanjska odredišta imat će ovo kao izvornu IP adresu. IP adresa u pitanju je 52.202.88.54.

 

[Umetni snimak zaslona]<<<<<<<<<<<<<<<<<<<<<<<<<<

 

2. Ograničite pristup resursu koji se štiti

Web aplikacija s vlastitim hostingom u ovom slučaju služi kao zaštićeni resurs. Web aplikaciji može se pristupiti samo zahtjevima koji dolaze s IP adrese 52.202.88.54. Ovisno o resursu, može biti potrebno dopustiti dolazni promet na različitim lukama i vrstama prometa. Ovo nije obuhvaćeno ovim priručnikom.

 

[Umetni snimak zaslona]<<<<<<<<<<<<<<<<<<<<<<<<<<

 

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

 

3. Koristite VPN poslužitelj za usmjeravanje prometa na zaštićeni resurs

 

Prema zadanim postavkama, sav će korisnički promet ići kroz VPN poslužitelj i dolazi sa statičke IP adrese koja je konfigurirana u 1. koraku (u ovom slučaju 52.202.88.54). Međutim, ako je omogućeno podijeljeno tuneliranje, postavke bi mogle biti potrebne kako bi se osiguralo da je odredišni IP zaštićenog resursa naveden među Dopuštenim IP-ovima.

Ovdje dodajte tekst zaglavlja

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



opcija

opis

zadana vrijednost

zadano['firezone']['external_url']

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

“https://#{čvor['fqdn'] || čvor ['ime glavnog računala']}”

zadano['firezone']['config_directory']

Direktorij najviše razine za konfiguraciju Firezone.

/etc/firezone'

zadano['firezone']['install_directory']

Direktorij najviše razine u koji se instalira Firezone.

/opt/firezone'

zadano['firezone']['app_directory']

Direktorij najviše razine za instalaciju web aplikacije Firezone.

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

zadano['firezone']['log_directory']

Direktorij najviše razine za zapise Firezone.

/var/log/firezone'

zadano['firezone']['var_directory']

Direktorij najviše razine za Firezone runtime datoteke.

/var/opt/firezone'

zadano['firezone']['user']

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

vatrena zona'

zadano['firezone']['group']

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

vatrena zona'

zadano['firezone']['admin_email']

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

“firezone@localhost”

zadano['firezone']['max_devices_per_user']

Maksimalni broj uređaja koje korisnik može imati.

10

zadano['firezone']['allow_unprivileged_device_management']

Korisnicima koji nisu administratori omogućuje stvaranje i brisanje uređaja.

TRUE

zadano['firezone']['allow_unprivileged_device_configuration']

Korisnicima koji nisu administratori omogućuje izmjenu konfiguracije uređaja. Kada je onemogućeno, sprječava neprivilegirane korisnike da promijene sva polja uređaja osim imena i opisa.

TRUE

zadano['firezone']['egress_interface']

Naziv sučelja gdje će izaći tunelirani promet. Ako je nula, koristit će se zadano sučelje rute.

nula

zadano['firezone']['fips_enabled']

Omogućite ili onemogućite OpenSSL FIPs mod.

nula

zadano['firezone']['logging']['enabled']

Omogućite ili onemogućite bilježenje kroz Firezone. Postavite na false da biste potpuno onemogućili bilježenje.

TRUE

zadano['poduzeće']['ime']

Naziv koji se koristi u kuharici Chef 'enterprise'.

vatrena zona'

zadano['firezone']['install_path']

Instalacijski put koji koristi Chef 'enterprise' kuharica. Trebalo bi biti postavljeno na isto kao gore navedeni install_directory.

čvor['firezone']['install_directory']

zadano['firezone']['sysvinit_id']

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

SUP'

zadano['firezone']['authentication']['local']['enabled']

Omogućite ili onemogućite lokalnu provjeru autentičnosti e-pošte/lozinke.

TRUE

zadano['firezone']['authentication']['auto_create_oidc_users']

Automatski kreirajte korisnike koji se prvi put prijavljuju iz OIDC-a. Onemogućite da biste samo postojećim korisnicima omogućili prijavu putem OIDC-a.

TRUE

zadano['firezone']['authentication']['disable_vpn_on_oidc_error']

Onemogućite korisnikov VPN ako se otkrije pogreška prilikom pokušaja osvježavanja njegovog OIDC tokena.

FALSE

zadano['firezone']['authentication']['oidc']

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

{}

zadano['firezone']['nginx']['enabled']

Omogućite ili onemogućite nginx poslužitelj u paketu.

TRUE

zadano['firezone']['nginx']['ssl_port']

HTTPS priključak za slušanje.

443

zadano['firezone']['nginx']['directory']

Direktorij za pohranu konfiguracije nginx virtualnog računala koja se odnosi na Firezone.

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

zadano['firezone']['nginx']['log_directory']

Direktorij za pohranu nginx log datoteka povezanih s Firezone.

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

zadano['firezone']['nginx']['log_rotation']['file_maxbytes']

Veličina datoteke za rotiranje Nginx log datoteka.

104857600

zadano['firezone']['nginx']['log_rotation']['num_to_keep']

Broj Firezone nginx log datoteka koje treba zadržati prije odbacivanja.

10

zadano['firezone']['nginx']['log_x_forwarded_for']

Treba li zabilježiti zaglavlje Firezone nginx x-forwarded-for.

TRUE

zadano['firezone']['nginx']['hsts_header']['enabled']

Omogućite ili onemogućite HSTS.

TRUE

zadano['firezone']['nginx']['hsts_header']['include_subdomains']

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

TRUE

zadano['firezone']['nginx']['hsts_header']['max_age']

Maksimalna starost za HSTS zaglavlje.

31536000

zadano['firezone']['nginx']['redirect_to_canonical']

Treba li preusmjeriti URL-ove na kanonski FQDN naveden gore

FALSE

zadano['firezone']['nginx']['cache']['enabled']

Omogućite ili onemogućite Firezone nginx predmemoriju.

FALSE

zadano['firezone']['nginx']['cache']['directory']

Direktorij za Firezone nginx predmemoriju.

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

zadano['firezone']['nginx']['user']

Firezone nginx korisnik.

čvor['firezone']['user']

zadano['firezone']['nginx']['group']

Firezone nginx grupa.

čvor['firezone']['group']

zadano['firezone']['nginx']['dir']

nginx konfiguracijski direktorij najviše razine.

čvor ['firezone']['nginx']['direktorij']

zadano['firezone']['nginx']['log_dir']

nginx log direktorij najviše razine.

čvor['firezone']['nginx']['log_directory']

zadano['firezone']['nginx']['pid']

Lokacija za nginx pid datoteku.

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

zadano['firezone']['nginx']['daemon_disable']

Onemogućite nginx daemon mode kako bismo ga mogli nadzirati.

TRUE

zadano['firezone']['nginx']['gzip']

Uključite ili isključite nginx gzip kompresiju.

na'

zadano['firezone']['nginx']['gzip_static']

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

off'

zadano['firezone']['nginx']['gzip_http_version']

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

1.0 '

zadano['firezone']['nginx']['gzip_comp_level']

razina kompresije nginx gzip.

2 '

zadano['firezone']['nginx']['gzip_proxied']

Omogućuje ili onemogućuje gzipping odgovora za proxy zahtjeve ovisno o zahtjevu i odgovoru.

bilo koji

zadano['firezone']['nginx']['gzip_vary']

Omogućuje ili onemogućuje umetanje zaglavlja odgovora "Vary: Accept-Encoding".

off'

zadano['firezone']['nginx']['gzip_buffers']

Postavlja broj i veličinu međuspremnika koji se koriste za komprimiranje odgovora. Ako je nula, koristi se zadana vrijednost nginx-a.

nula

zadano['firezone']['nginx']['gzip_types']

MIME vrste za koje treba omogućiti gzip kompresiju.

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

zadano['firezone']['nginx']['gzip_min_length']

Minimalna duljina datoteke za omogućavanje gzip kompresije datoteke.

1000

zadano['firezone']['nginx']['gzip_disable']

Podudaranje korisničkog agenta za koje treba onemogućiti gzip kompresiju.

MSIE [1-6]\.'

zadano['firezone']['nginx']['keepalive']

Aktivira predmemoriju za povezivanje s uzvodnim poslužiteljima.

na'

zadano['firezone']['nginx']['keepalive_timeout']

Isteklo je vrijeme u sekundama za održavanje veze s uzvodnim poslužiteljima.

65

zadano['firezone']['nginx']['worker_processes']

Broj nginx radnih procesa.

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

zadano['firezone']['nginx']['worker_connections']

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

1024

zadano['firezone']['nginx']['worker_rlimit_nofile']

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

nula

zadano['firezone']['nginx']['multi_accept']

Trebaju li radnici prihvatiti jednu po jednu vezu ili više njih.

TRUE

zadano['firezone']['nginx']['event']

Određuje metodu obrade veze koja se koristi unutar konteksta nginx događaja.

epoll'

zadano['firezone']['nginx']['server_tokens']

Omogućuje ili onemogućuje emitiranje nginx verzije na stranicama s pogreškama i u polju zaglavlja odgovora "Poslužitelj".

nula

zadano['firezone']['nginx']['server_names_hash_bucket_size']

Postavlja veličinu spremnika za hash tablice naziva poslužitelja.

64

zadano['firezone']['nginx']['sendfile']

Omogućuje ili onemogućuje korištenje nginx-ovog sendfile().

na'

zadano['firezone']['nginx']['access_log_options']

Postavlja opcije dnevnika pristupa nginxu.

nula

zadano['firezone']['nginx']['error_log_options']

Postavlja opcije zapisnika grešaka nginx-a.

nula

zadano['firezone']['nginx']['disable_access_log']

Onemogućuje zapisnik pristupa nginxu.

FALSE

zadano['firezone']['nginx']['types_hash_max_size']

nginx vrste hash max veličina.

2048

zadano['firezone']['nginx']['types_hash_bucket_size']

nginx tipovi hash veličina spremnika.

64

zadano['firezone']['nginx']['proxy_read_timeout']

nginx proxy čitanje isteklo. Postavite na nulu za korištenje zadane postavke nginx-a.

nula

zadano['firezone']['nginx']['client_body_buffer_size']

veličina međuspremnika tijela nginx klijenta. Postavite na nulu za korištenje zadane postavke nginx-a.

nula

zadano['firezone']['nginx']['client_max_body_size']

maksimalna veličina tijela nginx klijenta.

250 m'

zadano['firezone']['nginx']['zadano']['moduli']

Navedite dodatne nginx module.

[]

zadano['firezone']['nginx']['enable_rate_limiting']

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

TRUE

zadano['firezone']['nginx']['rate_limiting_zone_name']

Naziv zone ograničenja brzine Nginx-a.

vatrena zona'

zadano['firezone']['nginx']['rate_limiting_backoff']

Nginx ograničenje stope povlačenja.

10 m'

zadano['firezone']['nginx']['rate_limit']

Nginx ograničenje brzine.

10r/s'

zadano['firezone']['nginx']['ipv6']

Dopusti nginxu da sluša HTTP zahtjeve za IPv6 uz IPv4.

TRUE

zadano['firezone']['postgresql']['enabled']

Omogućite ili onemogućite Postgresql u paketu. Postavite na false i ispunite opcije baze podataka u nastavku da biste koristili vlastitu instancu Postgresql-a.

TRUE

zadano['firezone']['postgresql']['korisničko ime']

Korisničko ime za Postgresql.

čvor['firezone']['user']

zadano['firezone']['postgresql']['data_directory']

Postgresql direktorij podataka.

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

zadano['firezone']['postgresql']['log_directory']

Postgresql direktorij dnevnika.

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

zadano['firezone']['postgresql']['log_rotation']['file_maxbytes']

Maksimalna veličina datoteke dnevnika Postgresql prije rotiranja.

104857600

zadano['firezone']['postgresql']['log_rotation']['num_to_keep']

Broj Postgresql log datoteka koje treba čuvati.

10

zadano['firezone']['postgresql']['checkpoint_completion_target']

Postgresql cilj završetka kontrolne točke.

0.5

zadano['firezone']['postgresql']['checkpoint_segments']

Broj Postgresql segmenata kontrolnih točaka.

3

zadano['firezone']['postgresql']['checkpoint_timeout']

Postgresql kontrolna točka istekla.

5 minuta'

zadano['firezone']['postgresql']['checkpoint_warning']

Vrijeme upozorenja kontrolne točke Postgresql u sekundama.

30-te

zadano['firezone']['postgresql']['effective_cache_size']

Postgresql efektivna veličina predmemorije.

128 MB'

zadano['firezone']['postgresql']['listen_address']

Postgresql adresa slušanja.

127.0.0.1 '

zadano['firezone']['postgresql']['max_connections']

Postgresql max veze.

350

zadano['firezone']['postgresql']['md5_auth_cidr_addresses']

Postgresql CIDR-ovi za dopuštanje md5 autentifikacije.

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

zadano['firezone']['postgresql']['port']

Postgresql priključak za slušanje.

15432

zadano['firezone']['postgresql']['shared_buffers']

Postgresql veličina zajedničkih međuspremnika.

“#{(čvor['memorija']['ukupno'].to_i / 4) / 1024}MB”

zadano['firezone']['postgresql']['shmmax']

Postgresql shmmax u bajtovima.

17179869184

zadano['firezone']['postgresql']['shmall']

Postgresql shmall u bajtovima.

4194304

zadano['firezone']['postgresql']['work_mem']

Veličina radne memorije Postgresql.

8 MB'

zadano['firezone']['database']['user']

Određuje korisničko ime koje će Firezone koristiti za povezivanje s bazom podataka.

čvor['firezone']['postgresql']['korisničko ime']

zadano['firezone']['database']['password']

Ako koristite vanjski DB, navodi lozinku koju će Firezone koristiti za povezivanje s DB-om.

promijeni me'

zadano['firezone']['database']['name']

Baza podataka koju će Firezone koristiti. Stvorit će se ako ne postoji.

vatrena zona'

zadano['firezone']['database']['host']

Host baze podataka na koji će se Firezone spojiti.

čvor['firezone']['postgresql']['listen_address']

zadano['firezone']['database']['port']

Port baze podataka na koji će se Firezone spojiti.

čvor['firezone']['postgresql']['port']

zadano['firezone']['database']['pool']

Firezone će koristiti veličinu skupa baze podataka.

[10, Itd.nprocesori].maks

zadano['firezone']['baza podataka']['ssl']

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

FALSE

zadano['firezone']['database']['ssl_opts']

Hash opcija za slanje na opciju :ssl_opts prilikom povezivanja preko SSL-a. Vidjeti Ecto.Adapters.Postgres dokumentacija.

{}

zadano['firezone']['baza podataka']['parametri']

Hash parametara za slanje u opciju :parameters prilikom povezivanja s bazom podataka. Vidjeti Ecto.Adapters.Postgres dokumentacija.

{}

zadano['firezone']['database']['extensions']

Omogućiti proširenja baze podataka.

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

zadano['firezone']['phoenix']['enabled']

Omogućite ili onemogućite web aplikaciju Firezone.

TRUE

zadano['firezone']['phoenix']['listen_address']

Adresa slušanja web aplikacije Firezone. Ovo će biti uzvodna adresa slušanja koju nginx prosljeđuje.

127.0.0.1 '

zadano['firezone']['phoenix']['port']

Port slušanja web aplikacije Firezone. Ovo će biti uzvodni port koji nginx proksira.

13000

zadano['firezone']['phoenix']['log_directory']

Direktorij dnevnika web aplikacije Firezone.

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

zadano['firezone']['phoenix']['log_rotation']['file_maxbytes']

Veličina datoteke dnevnika web aplikacije Firezone.

104857600

zadano['firezone']['phoenix']['log_rotation']['num_to_keep']

Broj datoteka dnevnika Firezone web aplikacije koje treba čuvati.

10

zadano['firezone']['phoenix']['crash_detection']['enabled']

Omogućite ili onemogućite obaranje Firezone web aplikacije kada se otkrije pad.

TRUE

zadano['firezone']['phoenix']['external_trusted_proxies']

Popis pouzdanih obrnutih proxyja formatiranih kao niz IP-ova i/ili CIDR-ova.

[]

zadano['firezone']['phoenix']['private_clients']

Popis HTTP klijenata privatne mreže, formatiran kao niz IP adresa i/ili CIDR-ova.

[]

zadano['firezone']['wireguard']['enabled']

Omogućite ili onemogućite upravljanje paketom WireGuard.

TRUE

zadano['firezone']['wireguard']['log_directory']

Direktorij zapisnika za upravljanje WireGuardom u paketu.

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

zadano['firezone']['wireguard']['log_rotation']['file_maxbytes']

WireGuard maks. veličina datoteke zapisnika.

104857600

zadano['firezone']['wireguard']['log_rotation']['num_to_keep']

Broj WireGuard log datoteka koje treba čuvati.

10

zadano['firezone']['wireguard']['interface_name']

Naziv WireGuard sučelja. Promjena ovog parametra može uzrokovati privremeni gubitak VPN veze.

wg-firezone'

zadano['firezone']['wireguard']['port']

WireGuard priključak za slušanje.

51820

zadano['firezone']['wireguard']['mtu']

WireGuard sučelje MTU za ovaj poslužitelj i za konfiguracije uređaja.

1280

zadano['firezone']['wireguard']['endpoint']

WireGuard Endpoint za korištenje za generiranje konfiguracija uređaja. Ako je nula, zadana je javna IP adresa poslužitelja.

nula

zadano['firezone']['wireguard']['dns']

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

1.1.1.1, 1.0.0.1′

zadano['firezone']['wireguard']['allowed_ips']

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

0.0.0.0/0, ::/0′

zadano['firezone']['wireguard']['persistent_keepalive']

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

0

zadano['firezone']['wireguard']['ipv4']['enabled']

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

TRUE

zadano['firezone']['wireguard']['ipv4']['masquerade']

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

TRUE

zadano['firezone']['wireguard']['ipv4']['network']

WireGuard mreža IPv4 skup adresa.

10.3.2.0 / 24 ′

zadano['firezone']['wireguard']['ipv4']['adresa']

IPv4 adresa WireGuard sučelja. Mora biti unutar skupa adresa WireGuard.

10.3.2.1 '

zadano['firezone']['wireguard']['ipv6']['enabled']

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

TRUE

zadano['firezone']['wireguard']['ipv6']['masquerade']

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

TRUE

zadano['firezone']['wireguard']['ipv6']['network']

WireGuard mreža IPv6 skup adresa.

fd00::3:2:0/120′

zadano['firezone']['wireguard']['ipv6']['adresa']

IPv6 adresa WireGuard sučelja. Mora biti unutar skupa IPv6 adresa.

fd00::3:2:1′

zadano['firezone']['runit']['svlogd_bin']

Runit svlogd bin mjesto.

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

zadano['firezone']['ssl']['direktorij']

SSL direktorij za pohranjivanje generiranih certifikata.

/var/opt/firezone/ssl'

zadano['firezone']['ssl']['email_address']

Adresa e-pošte koja se koristi za samopotpisane certifikate i obavijesti o obnovi ACME protokola.

vi@primjer.com'

zadano['firezone']['ssl']['acme']['enabled']

Omogućite ACME za automatsko pružanje SSL certifikata. Onemogućite ovo kako biste spriječili Nginx da sluša na portu 80. Pogledajte ovdje za dodatne upute.

FALSE

zadano['firezone']['ssl']['acme']['server']

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

letsencrypt

zadano['firezone']['ssl']['acme']['keylength']

Odredite tip ključa i duljinu za SSL certifikate. Vidjeti ovdje

ec-256

zadano['firezone']['ssl']['certificate']

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

nula

zadano['firezone']['ssl']['certificate_key']

Put do datoteke certifikata.

nula

zadano['firezone']['ssl']['ssl_dhparam']

nginx ssl dh_param.

nula

zadano['firezone']['ssl']['country_name']

Naziv zemlje za samopotpisani certifikat.

NAS'

zadano['firezone']['ssl']['state_name']

Naziv države za samopotpisani certifikat.

CA '

zadano['firezone']['ssl']['locality_name']

Naziv lokaliteta za samopotpisani certifikat.

San Francisco'

zadano['firezone']['ssl']['ime_tvrtke']

Samopotpisani certifikat naziva tvrtke.

Moja tvrtka'

zadano['firezone']['ssl']['naziv_organizacijske_jedinice']

Naziv organizacijske jedinice za samopotpisani certifikat.

operacije'

zadano['firezone']['ssl']['šifre']

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’

zadano['firezone']['ssl']['fips_ciphers']

SSL šifre za FIPs mod.

FIPS@STRENGTH:!aNULL:!eNULL'

zadano['firezone']['ssl']['protocols']

TLS protokoli za korištenje.

TLSv1 TLSv1.1 TLSv1.2′

zadano['firezone']['ssl']['session_cache']

SSL predmemorija sesije.

podijeljeno:SSL:4m'

zadano['firezone']['ssl']['session_timeout']

Istek vremena SSL sesije.

5 m'

zadano['firezone']['robots_allow']

nginx roboti dopuštaju.

/'

zadano['firezone']['robots_disallow']

nginx roboti zabranjuju.

nula

zadano['firezone']['outbound_email']['from']

Odlazna e-pošta s adrese.

nula

zadano['firezone']['outbound_email']['provider']

Davatelj usluge odlazne e-pošte.

nula

zadano['firezone']['outbound_email']['configs']

Konfiguracije davatelja usluga odlazne e-pošte.

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

zadano['firezone']['telemetrija']['enabled']

Omogućite ili onemogućite anonimiziranu telemetriju proizvoda.

TRUE

zadano['firezone']['connectivity_checks']['enabled']

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

TRUE

zadano['firezone']['connectivity_checks']['interval']

Interval između provjera povezanosti u sekundama.

3_600



________________________________________________________________

 

Lokacije datoteka i imenika

 

Ovdje ćete pronaći popis datoteka i direktorija koji se odnose na tipičnu instalaciju Firezone. Oni se mogu promijeniti ovisno o promjenama vaše konfiguracijske datoteke.



put

opis

/var/opt/firezone

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

/opt/firezone

Direktorij najviše razine koji sadrži izgrađene biblioteke, binarne i runtime datoteke potrebne Firezoneu.

/usr/bin/firezone-ctl

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

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

systemd jedinica datoteka za pokretanje Firezone runsvdir nadzornog procesa.

/etc/firezone

Firezone konfiguracijske datoteke.



__________________________________________________________

 

Predlošci vatrozida

 

Ova je stranica bila prazna u dokumentima

 

_____________________________________________________________

 

Nftables predložak vatrozida

 

Sljedeći predložak vatrozida nftables može se koristiti za osiguranje poslužitelja koji pokreće Firezone. Predložak donosi neke pretpostavke; možda ćete morati prilagoditi pravila kako bi odgovarala vašem slučaju upotrebe:

  • WireGuard sučelje zove se wg-firezone. Ako ovo nije točno, promijenite varijablu DEV_WIREGUARD da odgovara zadanoj konfiguracijskoj opciji['firezone']['wireguard']['interface_name'].
  • Port koji WireGuard sluša je 51820. Ako ne koristite zadani port promijenite varijablu WIREGUARD_PORT.
  • Poslužitelju će biti dopušten samo sljedeći dolazni 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 (ping/ping stopa odgovora ograničena na 2000/sekundi)
  • S poslužitelja će biti dopušten samo sljedeći odlazni promet:
    • DNS (UDP i TCP port 53)
    • HTTP (TCP port 80)
    • NTP (UDP port 123)
    • HTTPS (TCP port 443)
    • SMTP predaja (TCP port 587)
    • UDP traceroute (UDP port 33434-33524, brzina ograničena na 500/sekundi)
  • Promet koji se ne podudara bit će zabilježen. Pravila koja se koriste za bilježenje odvojena su od pravila za smanjenje prometa i ograničena su brzinom. Uklanjanje relevantnih pravila zapisivanja neće utjecati na promet.

Firezone upravljana pravilaâ € <

Firezone konfigurira vlastita pravila nftables za dopuštanje/odbijanje prometa prema odredištima konfiguriranim u web sučelju i za upravljanje izlaznim NAT-om za klijentski promet.

Primjena donjeg predloška vatrozida na već pokrenut poslužitelj (ne u vrijeme pokretanja) rezultirat će brisanjem Firezone pravila. To može imati sigurnosne implikacije.

Da biste to riješili, ponovno pokrenite uslugu Phoenix:

firezone-ctl ponovno pokreni feniks

Osnovni predložak vatrozidaâ € <

#!/usr/sbin/nft -f

 

## Brisanje/ispiranje svih postojećih pravila

skup pravila za ispiranje

 

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

## Ime internet/WAN sučelja

definirajte DEV_WAN = eth0

 

## WireGuard naziv sučelja

definirajte DEV_WIREGUARD = wg-firezone

 

## WireGuard priključak za slušanje

definirajte WIREGUARD_PORT = 51820

############################### KRAJ VARIJABLE ################### ############

 

# Glavna inet obiteljska tablica filtriranja

tablica inet filter {

 

 # Pravila za proslijeđeni promet

 # Ovaj lanac se obrađuje prije Firezone prosljeđivačkog lanca

 lanac naprijed {

   vrsta filtra kuka naprijed prioritetni filtar – 5; politika prihvatiti

 }

 

 # Pravila za ulazni promet

 lančani unos {

   vrsta filtra kuka filtar ulaznog prioriteta; pad politike

 

   ## Dopusti ulazni promet sučelju povratne petlje

   iako je \

     prihvati \

     komentirati “Dopusti sav promet sa sučelja povratne petlje”

 

   ## Dopustite uspostavljene i povezane veze

   ct stanje uspostavljeno, povezano \

     prihvati \

     komentirati “Dopusti uspostavljene/povezane veze”

 

   ## Dopusti dolazni WireGuard promet

   iif $DEV_WAN udp dport $WIREGUARD_PORT \

     brojač \

     prihvati \

     komentirati “Dopusti ulazni WireGuard promet”

 

   ## Prijavite i ispustite nove TCP ne-SYN pakete

   tcp zastavice != syn ct stanje novo \

     granična stopa 100/minutni rafal 150 paketi \

     log prefiks “IN – Novi !SYN: “ \

     komentirati “Zapisivanje ograničenja brzine za nove veze koje nemaju postavljenu oznaku SYN TCP”

   tcp zastavice != syn ct stanje novo \

     brojač \

     ispustiti \

     komentirati "Ispustite nove veze koje nemaju postavljenu zastavu SYN TCP"

 

   ## Zapis i ispuštanje TCP paketa s nevažećom postavljenom zastavom fin/syn

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

     granična stopa 100/minutni rafal 150 paketi \

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

     komentirati “Zapisivanje ograničenja brzine za TCP pakete s nevažećom postavljenom zastavom fin/syn”

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

     brojač \

     ispustiti \

     komentirati "Odbaci TCP pakete s nevažećom postavljenom zastavom fin/syn"

 

   ## Bilježite i ispuštajte TCP pakete s nevažećom postavljenom zastavicom syn/rst

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

     granična stopa 100/minutni rafal 150 paketi \

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

     komentirati “Zapisivanje ograničenja brzine za TCP pakete s nevažećom postavljenom zastavicom syn/rst”

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

     brojač \

     ispustiti \

     komentirati "Odbaci TCP pakete s nevažećim postavljenim zastavicama syn/rst"

 

   ## Zabilježite i ispustite nevažeće TCP zastavice

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

     granična stopa 100/minutni rafal 150 paketi \

     log prefiks "IN – FIN:" \

     komentirati “Zapisivanje ograničenja brzine za nevažeće TCP oznake (fin|syn|rst|psh|ack|urg) < (fin)”

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

     brojač \

     ispustiti \

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

 

   ## Zabilježite i ispustite nevažeće TCP zastavice

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

     granična stopa 100/minutni rafal 150 paketi \

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

     komentirati “Zapisivanje ograničenja brzine za nevažeće TCP oznake (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)”

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

     brojač \

     ispustiti \

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

 

   ## Pad prometa s nevažećim stanjem veze

   ct stanje nevažeće \

     granična stopa 100/minutni rafal 150 paketi \

     zastave dnevnika svi prefiks “IN – Neispravno: “ \

     komentirati “Zapisivanje ograničenja brzine za promet s nevažećim stanjem veze”

   ct stanje nevažeće \

     brojač \

     ispustiti \

     komentirati "Prekid prometa s nevažećim stanjem veze"

 

   ## Dopusti IPv4 ping/ping odgovore, ali ograniči brzinu na 2000 PPS

   ip protokol icmp icmp tip { echo-odgovor, echo-zahtjev } \

     granična stopa 2000/drugi \

     brojač \

     prihvati \

     komentirati “Dopusti ulazni IPv4 echo (ping) ograničen na 2000 PPS”

 

   ## Dopusti sve druge dolazne IPv4 ICMP

   ip protokol icmp \

     brojač \

     prihvati \

     komentirati “Dopusti sve druge IPv4 ICMP”

 

   ## Dopusti IPv6 ping/ping odgovore, ali ograniči brzinu na 2000 PPS

   icmpv6 tip { echo-odgovor, echo-zahtjev } \

     granična stopa 2000/drugi \

     brojač \

     prihvati \

     komentirati “Dopusti ulazni IPv6 echo (ping) ograničen na 2000 PPS”

 

   ## Dopusti sve druge dolazne IPv6 ICMP

   meta l4proto { icmpv6 } \

     brojač \

     prihvati \

     komentirati “Dopusti sve druge IPv6 ICMP”

 

   ## Dopusti dolazne traceroute UDP portove, ali ograniči na 500 PPS

   udp dport 33434-33524 \

     granična stopa 500/drugi \

     brojač \

     prihvati \

     komentirati "Dopusti dolazni UDP traceroute ograničen na 500 PPS"

 

   ## Dopusti ulazni SSH

   tcp dport ssh ct stanje novo \

     brojač \

     prihvati \

     komentirati “Dopusti ulazne SSH veze”

 

   ## Dopusti ulazni HTTP i HTTPS

   tcp dport { http, https } ct stanje novo \

     brojač \

     prihvati \

     komentirati “Dopusti ulazne HTTP i HTTPS veze”

 

   ## Zabilježite sav neusporedivi promet, ali ograničite bilježenje na najviše 60 poruka po minuti

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

   granična stopa 60/minutni rafal 100 paketi \

     log prefiks “IN – Drop: “ \

     komentirati "Zabilježi neupareni promet"

 

   ## Izbrojite neusklađeni promet

   brojač \

     komentirati "Broji neupareni promet"

 }

 

 # Pravila za izlazni promet

 lančani izlaz {

   vrsta filtra hook izlazni prioritetni filtar; pad politike

 

   ## Dopusti odlazni promet na povratno sučelje

   o ako lo \

     prihvati \

     komentirati "Dopusti sav promet prema sučelju povratne petlje"

 

   ## Dopustite uspostavljene i povezane veze

   ct stanje uspostavljeno, povezano \

     brojač \

     prihvati \

     komentirati “Dopusti uspostavljene/povezane veze”

 

   ## Dopustite odlazni WireGuard promet prije prekidanja veza u lošem stanju

   oif $DEV_WAN udp sport $WIREGUARD_PORT \

     brojač \

     prihvati \

     komentirati “Dopusti WireGuard odlazni promet”

 

   ## Pad prometa s nevažećim stanjem veze

   ct stanje nevažeće \

     granična stopa 100/minutni rafal 150 paketi \

     zastave dnevnika svi prefiks “OUT – Neispravno: “ \

     komentirati “Zapisivanje ograničenja brzine za promet s nevažećim stanjem veze”

   ct stanje nevažeće \

     brojač \

     ispustiti \

     komentirati "Prekid prometa s nevažećim stanjem veze"

 

   ## Dopusti sve druge izlazne IPv4 ICMP

   ip protokol icmp \

     brojač \

     prihvati \

     komentirati “Dopusti sve vrste IPv4 ICMP”

 

   ## Dopusti sve druge izlazne IPv6 ICMP

   meta l4proto { icmpv6 } \

     brojač \

     prihvati \

     komentirati “Dopusti sve vrste IPv6 ICMP”

 

   ## Dopusti izlazne UDP portove praćenja rute, ali ograniči na 500 PPS

   udp dport 33434-33524 \

     granična stopa 500/drugi \

     brojač \

     prihvati \

     komentirati "Dopusti odlazni UDP traceroute ograničen na 500 PPS"

 

   ## Dopusti izlazne HTTP i HTTPS veze

   tcp dport { http, https } ct stanje novo \

     brojač \

     prihvati \

     komentirati “Dopusti izlazne HTTP i HTTPS veze”

 

   ## Dopusti odlaznu SMTP predaju

   tcp dport podnošenje ct stanje novo \

     brojač \

     prihvati \

     komentirati "Dopusti odlazno SMTP podnošenje"

 

   ## Dopusti izlazne DNS zahtjeve

   udp dport 53 \

     brojač \

     prihvati \

     komentirati “Dopusti izlazne UDP DNS zahtjeve”

   tcp dport 53 \

     brojač \

     prihvati \

     komentirati “Dopusti odlazne TCP DNS zahtjeve”

 

   ## Dopusti odlazne NTP zahtjeve

   udp dport 123 \

     brojač \

     prihvati \

     komentirati “Dopusti odlazne NTP zahtjeve”

 

   ## Zabilježite sav neusporedivi promet, ali ograničite bilježenje na najviše 60 poruka po minuti

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

   granična stopa 60/minutni rafal 100 paketi \

     log prefiks “VAN – Ispuštanje: “ \

     komentirati "Zabilježi neupareni promet"

 

   ## Izbrojite neusklađeni promet

   brojač \

     komentirati "Broji neupareni promet"

 }

 

}

 

# Glavna tablica filtriranja NAT-a

tablica inet nat {

 

 # Pravila za prethodno usmjeravanje NAT prometa

 lančano prethodno usmjeravanje {

   tip nat hook prioritet predusmjeravanja dstnat; politika prihvatiti

 }

 

 # Pravila za naknadno usmjeravanje NAT prometa

 # Ova se tablica obrađuje prije Firezone lanca naknadnog usmjeravanja

 lančano naknadno usmjeravanje {

   tip nat hook postrouting prioritet srcnat – 5; politika prihvatiti

 }

 

}

Upotrebaâ € <

Vatrozid treba biti pohranjen na relevantnom mjestu za distribuciju Linuxa koja se izvodi. Za Debian/Ubuntu ovo je /etc/nftables.conf, a za RHEL ovo je /etc/sysconfig/nftables.conf.

nftables.service morat će se konfigurirati za pokretanje pri dizanju (ako već nije) postaviti:

systemctl omogući nftables.service

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

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

Obavezno provjerite radi li vatrozid prema očekivanjima jer određene značajke nftables možda neće biti dostupne ovisno o izdanju koje se izvodi na poslužitelju.



_______________________________________________________________



telemetrija

 

Ovaj dokument predstavlja pregled telemetrije koju Firezone prikuplja od instance koju sami hostirate i kako je onemogućiti.

Zašto Firezone prikuplja telemetrijuâ € <

Požarna zona oslanja na telemetriji kako bismo dali prioritet našem planu puta i optimizirali inženjerske resurse koje imamo kako bismo Firezone učinili boljim za sve.

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

  • Koliko ljudi instalira, koristi i prestaje koristiti Firezone?
  • Koje su značajke najvrjednije, a koje ne vide nikakvu korist?
  • Koju funkcionalnost treba 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 gdje se telemetrija prikuplja u Firezone:

  1. Paketna telemetrija. Uključuje događaje kao što su instaliranje, deinstaliranje i nadogradnja.
  2. CLI telemetrija iz firezone-ctl naredbi.
  3. Telemetrija proizvoda povezana s web portalom.

U svakom od ova tri konteksta prikupljamo minimalnu količinu podataka potrebnu za odgovor na pitanja u gornjem odjeljku.

E-poruke administratora prikupljaju se samo ako se izričito uključite u ažuriranja proizvoda. U suprotnom, osobni podaci su nikada prikupljeni.

Firezone pohranjuje telemetriju u samostalnu instancu PostHog-a koja radi u privatnom Kubernetes klasteru, kojemu može pristupiti samo Firezone tim. Evo primjera telemetrijskog događaja koji se šalje s vaše instance Firezone na naš telemetrijski poslužitelj:

{

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

   "Svojstva":{

       “$geoip_city_name”: “Ashburn”,

       “$geoip_continent_code”: "NA",

       “$geoip_continent_name”: "Sjeverna Amerika",

       “$geoip_country_code”: "NAS",

       “$geoip_country_name”: "Ujedinjene 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”: “Amerika/New_York”,

       “$ip”: "52.200.241.107",

       “$plugins_deferred”:[],

       “$plugins_failed”:[],

       “$plugins_succeeded”: [

           “GeoIP (3)”

       ],

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

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

       “verzija_jezgre”: “linux 5.13.0”,

       "verzija": "0.4.6"

   },

   “elementi_lanac”: ""

}

Kako onemogućiti telemetrijuâ € <

BILJEŠKA

Razvojni tim Firezone oslanja o analizi proizvoda kako bi Firezone bio bolji za sve. Ostavljanje telemetrije uključenom najvrjedniji je doprinos koji možete dati razvoju Firezonea. Ipak, razumijemo da neki korisnici imaju veće zahtjeve za privatnošću ili sigurnošću i da bi radije potpuno onemogućili telemetriju. Ako ste to vi, nastavite čitati.

Telemetrija je omogućena prema zadanim postavkama. Da biste u potpunosti onemogućili telemetriju proizvoda, postavite sljedeću konfiguracijsku opciju na false u /etc/firezone/firezone.rb i pokrenite sudo firezone-ctl reconfigure da pokupite promjene.

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

To će potpuno onemogućiti svu telemetriju proizvoda.