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.
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.
Zadovoljstvo nam je pomoći vam ako trebate pomoć pri instaliranju, prilagodbi ili korištenju Hailbytes VPN-a.
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:
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:
Pružatelji za koje imamo dokumentaciju:
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.
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.
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.
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. 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:
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:
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.
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.
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:
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:
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.
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.
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.
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:
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:
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.
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.
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.
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.
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.
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:
Ako se pojave bilo kakvi problemi, javite nam do slanje ulaznice za podršku.
Postoji nekoliko prijelomnih promjena i modifikacija konfiguracije u 0.5.0 koje se moraju riješiti. Saznajte više u nastavku.
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 ).
0.5.0 uvodi podršku za ACME protokol za automatsko obnavljanje SSL certifikata s priloženom uslugom Nginx. Kako bi se omogućilo,
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.
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.
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.
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.
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.
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
Provjera Firezone zapisa je mudar prvi korak za sve probleme koji se mogu pojaviti.
Pokrenite sudo firezone-ctl tail za pregled Firezone zapisa.
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.
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)
Savjetujemo ograničavanje pristupa web sučelju za iznimno osjetljive i kritične proizvodne implementacije, kao što je objašnjeno u nastavku.
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. |
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.
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:
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
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.
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
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.
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.
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.
Instalirajte i konfigurirajte
Za uspostavljanje VPN veze pomoću izvornog WireGuard klijenta, pogledajte ovaj vodič.
Službeni WireGuard klijenti koji se nalaze ovdje su kompatibilni sa Firezone:
Posjetite službenu web stranicu WireGuard na https://www.wireguard.com/install/ za OS sustave koji nisu gore navedeni.
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]
Uvezite .conf datoteku u WireGuard klijent tako da je otvorite. Okretanjem prekidača Aktiviraj, možete započeti VPN sesiju.
[Umetni snimak zaslona]
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).
[Umetni snimak zaslona]
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]
[Umetni snimak zaslona]
Za uvoz WireGuard konfiguracijskog profila pomoću CLI-ja Network Managera na Linux uređajima, slijedite ove upute (nmcli).
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
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.
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]
Uvezite isporučenu konfiguracijsku datoteku koristeći nmcli:
sudo nmcli tip uvoza veze wireguard datoteka /path/to/configuration.conf
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]
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.
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
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.
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.
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.
Firezone prvo odabire izlazno sučelje povezano s najpreciznijom rutom kada određuje kamo usmjeriti paket.
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
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.
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.
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.
Dopušteni IP-ovi = 10.3.2.3/32
Ovo je IP ili raspon IP-ova uređaja A
PersistentKeepalive = 25
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.
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.
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.
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.
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]<<<<<<<<<<<<<<<<<<<<<<<<<<
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).
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.
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'] | 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'] | {} | |
zadano['firezone']['baza podataka']['parametri'] | {} | |
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'] | 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 |
________________________________________________________________
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. |
__________________________________________________________
Ova je stranica bila prazna u dokumentima
_____________________________________________________________
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:
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
#!/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
}
}
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.
_______________________________________________________________
Ovaj dokument predstavlja pregled telemetrije koju Firezone prikuplja od instance koju sami hostirate i kako je onemogućiti.
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:
Postoje tri glavna mjesta gdje se telemetrija prikuplja u Firezone:
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”: ""
}
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.
Hailbytes
9511 Queens Guard Ct.
Laurel, dr. 20723
Telefon: (732) 771-9995
E-pošta: info@hailbytes.com