Pandhuan langkah-langkah kanggo nggunakake Hailbytes VPN karo Firezone GUI kasedhiya ing kene.
Atur: Nyetel conto server langsung ana hubungane karo bagean iki.
Pandhuan pangguna: Dokumen migunani sing bisa mulang sampeyan carane nggunakake Firezone lan ngatasi masalah umum. Sawise server wis sukses disebarake, deleng bagean iki.
Split Tunneling: Gunakake VPN kanggo mung ngirim lalu lintas menyang sawetara IP tartamtu.
Whitelisting: Setel alamat IP statis server VPN supaya bisa nggunakake whitelisting.
Reverse Tunnels: Nggawe trowongan ing antarane sawetara kanca nggunakake terowongan mbalikke.
Kita seneng mbantu sampeyan yen sampeyan butuh pitulung kanggo nginstal, ngatur, utawa nggunakake Hailbytes VPN.
Sadurunge pangguna bisa ngasilake utawa ngundhuh file konfigurasi piranti, Firezone bisa dikonfigurasi kanggo mbutuhake otentikasi. Pangguna bisa uga kudu otentikasi maneh kanthi periodik supaya sambungan VPN tetep aktif.
Sanajan cara mlebu standar Firezone yaiku email lan sandhi lokal, nanging uga bisa digabungake karo panyedhiya identitas OpenID Connect (OIDC) standar. Pangguna saiki bisa mlebu menyang Firezone nggunakake Okta, Google, Azure AD, utawa kredensial panyedhiya identitas pribadi.
Integrasi Panyedhiya OIDC Umum
Parameter konfigurasi sing dibutuhake dening Firezone kanggo ngidini SSO nggunakake panyedhiya OIDC ditampilake ing conto ing ngisor iki. Ing /etc/firezone/firezone.rb, sampeyan bisa nemokake file konfigurasi. Jalanake firezone-ctl reconfigure lan firezone-ctl restart kanggo nganyari aplikasi lan ngetrapake owah-owahan.
# Iki minangka conto nggunakake Google lan Okta minangka panyedhiya identitas SSO.
# Multiple konfigurasi OIDC bisa ditambahake menyang conto Firezone sing padha.
# Firezone bisa mateni VPN pangguna yen ana kesalahan sing dideteksi nalika nyoba
# kanggo refresh akses_token. Iki diverifikasi bisa digunakake kanggo Google, Okta, lan
# Azure SSO lan digunakake kanggo medhot VPN pangguna kanthi otomatis yen wis dibusak
# saka panyedhiya OIDC. Ninggalake iki dipatèni yen panyedhiya OIDC
# duwe masalah token akses sumilir amarga bisa ndadak ngganggu a
# sesi VPN pangguna.
default['firezone']['authentication']['disable_vpn_on_oidc_error'] = palsu
default['firezone']['authentication']['oidc'] = {
google: {
discovery_document_uri: "https://accounts.google.com/.well-known/openid-configuration",
id_klien: " ”,
rahasia_klien: " ”,
redirect_uri: "https://instance-id.yourfirezone.com/auth/oidc/google/callback/",
response_type: "kode",
ruang lingkup: "profil email mbukak",
Label: "Google"
},
okta: {
discovery_document_uri: "https:// /.well-known/openid-configuration",
id_klien: " ”,
rahasia_klien: " ”,
redirect_uri: "https://instance-id.yourfirezone.com/auth/oidc/okta/callback/",
response_type: "kode",
ruang lingkup: "profil email mbukak offline_akses",
label: "Okta"
}
}
Setelan konfigurasi ing ngisor iki dibutuhake kanggo integrasi:
Kanggo saben panyedhiya OIDC, URL cantik sing cocog digawe kanggo ngarahake menyang URL mlebu panyedhiya sing wis dikonfigurasi. Kanggo conto konfigurasi OIDC ing ndhuwur, URL kasebut yaiku:
Panyedhiya kita duwe dokumentasi kanggo:
Yen panyedhiya identitas sampeyan duwe konektor OIDC umum lan ora kadhaptar ing ndhuwur, bukak dokumentasi kanggo informasi babagan cara njupuk setelan konfigurasi sing dibutuhake.
Setelan ing setelan/keamanan bisa diganti supaya mbutuhake otentikasi maneh kanthi periodik. Iki bisa digunakake kanggo ngetrapake syarat supaya pangguna mlebu ing Firezone kanthi rutin supaya bisa nerusake sesi VPN.
Dawane sesi bisa dikonfigurasi antara siji jam nganti sangang puluh dina. Kanthi nyetel iki menyang Aja, sampeyan bisa ngaktifake sesi VPN sawayah-wayah. Iki standar.
Pangguna kudu mungkasi sesi VPN lan mlebu menyang portal Firezone supaya bisa otentikasi maneh sesi VPN sing wis kadaluwarsa (URL sing ditemtokake nalika nyebarake).
Sampeyan bisa otentikasi maneh sesi kanthi nuruti instruksi klien sing tepat sing ditemokake ing kene.
Status Sambungan VPN
Kolom tabel Sambungan VPN kaca Pangguna nuduhake status sambungan pangguna. Iki minangka status sambungan:
ENABLED - Sambungan diaktifake.
DISABLED - Sambungan dipateni dening administrator utawa gagal refresh OIDC.
Kadaluwarsa - Sambungan dipateni amarga kadaluwarsa otentikasi utawa pangguna durung mlebu kanggo pisanan.
Liwat konektor OIDC umum, Firezone mbisakake Single Sign-On (SSO) karo Google Workspace lan Cloud Identity. Pandhuan iki bakal nuduhake sampeyan carane njaluk paramèter konfigurasi sing kapacak ing ngisor iki, sing perlu kanggo integrasi:
1. Layar Konfigurasi OAuth
Yen iki pisanan sampeyan nggawe ID klien OAuth anyar, sampeyan bakal dijaluk ngatur layar idin.
*Pilih Internal kanggo jinis pangguna. Iki njamin mung akun pangguna ing Organisasi Google Workspace sing bisa nggawe konfigurasi piranti. AJA pilih Eksternal kajaba sampeyan pengin ngaktifake sapa wae sing duwe Akun Google sing bener kanggo nggawe konfigurasi piranti.
Ing layar informasi App:
2. Gawe ID Klien OAuth
Bagian iki adhedhasar dokumentasi Google dhewe ing nyetel OAuth 2.0.
Dolan maring Google Cloud Console Kaca kredensial kaca, klik + Nggawe Kredensial lan pilih ID klien OAuth.
Ing layar nggawe ID klien OAuth:
Sawise nggawe ID klien OAuth, sampeyan bakal diwenehi ID Klien lan Rahasia Klien. Iki bakal digunakake bebarengan karo pangalihan URI ing langkah sabanjure.
Sunting /etc/firezone/firezone.rb kanggo nyakup pilihan ing ngisor iki:
# Nggunakake Google minangka panyedhiya identitas SSO
default['firezone']['authentication']['oidc'] = {
google: {
discovery_document_uri: "https://accounts.google.com/.well-known/openid-configuration",
id_klien: " ”,
rahasia_klien: " ”,
redirect_uri: "https://instance-id.yourfirezone.com/auth/oidc/google/callback/",
response_type: "kode",
ruang lingkup: "profil email mbukak",
Label: "Google"
}
}
Jalanake firezone-ctl reconfigure lan firezone-ctl restart kanggo nganyari aplikasi. Sampeyan saiki kudu ndeleng tombol Mlebu karo Google ing URL Firezone root.
Firezone nggunakake konektor OIDC umum kanggo nggampangake Single Sign-On (SSO) karo Okta. Tutorial iki bakal nuduhake sampeyan carane entuk paramèter konfigurasi sing kapacak ing ngisor iki, sing perlu kanggo integrasi:
Bagean pandhuan iki adhedhasar Dokumentasi Okta.
Ing Konsol Admin, pindhah menyang Aplikasi > Aplikasi banjur klik Gawe Integrasi Aplikasi. Setel cara mlebu menyang OICD - OpenID Connect lan jinis Aplikasi menyang aplikasi Web.
Konfigurasi setelan iki:
Sawise setelan disimpen, sampeyan bakal diwenehi ID Klien, Rahasia Klien, lan Domain Okta. Iki 3 nilai bakal digunakake ing Langkah 2 kanggo ngatur Firezone.
Sunting /etc/firezone/firezone.rb kanggo nyakup pilihan ing ngisor iki. Panjenengan url_document_penemuan bakal /.kondhang/openid-configuration appended kanggo mburi Panjenengan okta_domain.
# Nggunakake Okta minangka panyedhiya identitas SSO
default['firezone']['authentication']['oidc'] = {
okta: {
discovery_document_uri: "https:// /.well-known/openid-configuration",
id_klien: " ”,
rahasia_klien: " ”,
redirect_uri: "https://instance-id.yourfirezone.com/auth/oidc/okta/callback/",
response_type: "kode",
ruang lingkup: "profil email mbukak offline_akses",
label: "Okta"
}
}
Jalanake firezone-ctl reconfigure lan firezone-ctl restart kanggo nganyari aplikasi. Sampeyan saiki kudu ndeleng tombol Mlebu karo Okta ing URL Firezone root.
Pangguna sing bisa ngakses aplikasi Firezone bisa diwatesi dening Okta. Pindhah menyang kaca Tugas Integrasi Aplikasi Firezone Okta Admin Console kanggo ngrampungake iki.
Liwat konektor OIDC umum, Firezone mbisakake Single Sign-On (SSO) karo Azure Active Directory. Manual iki bakal nuduhake sampeyan carane entuk paramèter konfigurasi sing kapacak ing ngisor iki, sing perlu kanggo integrasi:
Pandhuan iki dijupuk saka Azure Active Directory Docs.
Pindhah menyang kaca Azure Active Directory portal Azure. Pilih pilihan menu Atur, pilih Registrasi Anyar, banjur ndhaftar kanthi menehi informasi ing ngisor iki:
Sawise ndhaptar, bukak tampilan rincian aplikasi lan nyalin ID aplikasi (klien).. Iki bakal dadi nilai client_id. Sabanjure, bukak menu endpoints kanggo njupuk Dokumen metadata OpenID Connect. Iki bakal dadi nilai discovery_document_uri.
Gawe rahasia klien anyar kanthi ngeklik opsi Sertifikat & rahasia ing menu Atur. Nyalin rahasia klien; nilai rahasia klien bakal iki.
Pungkasan, pilih link ijin API ing menu Atur, klik Tambah ijin, banjur pilih Microsoft Grafik, Tambah email, mbukak, offline_akses lan profile menyang ijin sing dibutuhake.
Sunting /etc/firezone/firezone.rb kanggo nyakup pilihan ing ngisor iki:
# Nggunakake Azure Active Directory minangka panyedhiya identitas SSO
default['firezone']['authentication']['oidc'] = {
ijo:{
discovery_document_uri: "https://login.microsoftonline.com/ /v2.0/.well-known/openid-configuration",
id_klien: " ”,
rahasia_klien: " ”,
redirect_uri: "https://instance-id.yourfirezone.com/auth/oidc/azure/callback/",
response_type: "kode",
ruang lingkup: "profil email mbukak offline_akses",
Label: "Azure"
}
}
Jalanake firezone-ctl reconfigure lan firezone-ctl restart kanggo nganyari aplikasi. Sampeyan saiki kudu ndeleng tombol Mlebu karo Azure ing URL Firezone root.
Azure AD ngidini administrator mbatesi akses aplikasi menyang klompok pangguna tartamtu ing perusahaan sampeyan. Informasi liyane babagan carane nindakake iki bisa ditemokake ing dokumentasi Microsoft.
Chef Omnibus digunakake dening Firezone kanggo ngatur tugas kalebu kemasan rilis, pengawasan proses, manajemen log, lan liya-liyane.
Kode Ruby nggawe file konfigurasi utama, sing dumunung ing /etc/firezone/firezone.rb. Wiwiti maneh sudo firezone-ctl reconfigure sawise nggawe modifikasi file iki nyebabake Chef ngerteni owah-owahan kasebut lan ngetrapake menyang sistem operasi saiki.
Deleng referensi file konfigurasi kanggo dhaptar lengkap variabel konfigurasi lan katrangane.
Instance Firezone sampeyan bisa dikelola liwat firezone-ctl printah, minangka kapacak ing ngisor iki. Umume subcommands mbutuhake prefixing karo sudo.
root@demo:~# firezone-ctl
omnibus-ctl: printah (subcommand)
Perintah Umum:
gawe resik
Busak * kabeh * data firezone, lan miwiti saka ngeruk.
nggawe-utawa-reset-admin
Ngreset tembung sandhi kanggo admin kanthi email sing ditemtokake minangka standar['firezone']['admin_email'] utawa nggawe admin anyar yen email kasebut ora ana.
bantuan
Print pesen bantuan iki.
ngatur ulang
Reconfigure aplikasi.
reset-jaringan
Ngreset nftables, antarmuka WireGuard, lan meja nuntun bali menyang standar Firezone.
nuduhake-config
Tampilake konfigurasi sing bakal digawe dening reconfigure.
teardown-jaringan
Mbusak antarmuka WireGuard lan tabel nftables firezone.
meksa-cert-nganyari
Meksa nganyari sertifikat saiki sanajan durung kadaluwarsa.
mandeg-cert-renewal
Mbusak cronjob sing nganyari sertifikat.
nyopot
Mateni kabeh proses lan instal supervisor proses (data bakal disimpen).
versi
Tampilake versi Firezone saiki
Perintah Manajemen Layanan:
anggun-mateni
Nyoba mandeg anggun, banjur SIGKILL kabeh klompok proses.
hup
Kirimi layanan HUP.
int
Kirimi layanan INT.
matèni
Kirimi layanan a KILL.
Sapisan
Miwiti layanan yen lagi mudhun. Aja miwiti maneh yen mandheg.
baleni meneh
Mungkasi layanan yen lagi mlaku, banjur miwiti maneh.
dhaptar layanan
Dhaptar kabeh layanan (layanan sing aktif katon nganggo *.)
wiwitan
Miwiti layanan yen lagi mudhun, lan miwiti maneh yen mandheg.
status
Tampilake status kabeh layanan.
mandheg
Mungkasi layanan, lan aja miwiti maneh.
buntut
Nonton log layanan kabeh layanan sing diaktifake.
tembung
Kirimi layanan TERM.
usr1
Kirimi layanan a USR1.
usr2
Kirimi layanan a USR2.
Kabeh sesi VPN kudu diakhiri sadurunge nganyarke Firezone, sing uga kudu mateni UI Web. Ing acara sing soko dadi salah sak upgrade, disaranake nyetel aside jam kanggo pangopènan.
Kanggo nambah Firezone, tumindak ing ngisor iki:
Yen ana masalah, kabari karo ngajokake tiket dhukungan.
Ana sawetara owah-owahan bejat lan modifikasi konfigurasi ing 0.5.0 sing kudu ditangani. Temokake luwih lengkap ing ngisor iki.
Nginx ora ndhukung parameter port SSL lan non-SSL maneh ing versi 0.5.0. Amarga Firezone mbutuhake SSL supaya bisa digunakake, disaranake mbusak layanan Nginx bundle kanthi nyetel default['firezone']['nginx']['enabled'] = palsu lan ngarahake proxy mbalikke menyang aplikasi Phoenix ing port 13000 tinimbang (kanthi standar ).
0.5.0 ngenalake dhukungan protokol ACME kanggo nganyari sertifikat SSL kanthi otomatis kanthi layanan Nginx sing dibundel. Kanggo ngaktifake,
Kamungkinan kanggo nambah aturan karo tujuan duplikat wis ilang ing Firezone 0.5.0. Skrip migrasi bakal kanthi otomatis ngenali kahanan kasebut sajrone upgrade menyang 0.5.0 lan mung njaga aturan sing tujuane kalebu aturan liyane. Ora ana sing perlu dilakoni yen iki ora apa-apa.
Yen ora, sadurunge nganyarke, disaranake ngganti aturan sampeyan kanggo nyingkirake kahanan kasebut.
Firezone 0.5.0 mbusak support kanggo Okta lawas-gaya lan konfigurasi Google SSO ing sih saka anyar, konfigurasi basis OIDC luwih fleksibel.
Yen sampeyan duwe konfigurasi apa wae miturut tombol standar ['firezone']['authentication']['okta'] utawa default['firezone']['authentication']['google'], sampeyan kudu migrasi menyang OIDC. -konfigurasi adhedhasar nggunakake guide ngisor.
Konfigurasi Google OAuth sing ana
Mbusak baris iki sing ngemot konfigurasi Google OAuth lawas saka file konfigurasi sing ana ing /etc/firezone/firezone.rb
default['firezone']['authentication']['google']['enabled']
default['firezone']['authentication']['google']['client_id']
default['firezone']['authentication']['google']['client_secret']
default['firezone']['authentication']['google']['redirect_uri']
Banjur, atur Google minangka panyedhiya OIDC kanthi ngetutake prosedur ing kene.
(Nyedhiyani instruksi link)<<<<<<<<<<<<<<<<
Konfigurasi Google OAuth sing ana
Mbusak garis iki sing ngemot konfigurasi Okta OAuth lawas saka file konfigurasi sing ana ing /etc/firezone/firezone.rb
default['firezone']['authentication']['okta']['enabled']
default['firezone']['authentication']['okta']['client_id']
default['firezone']['authentication']['okta']['client_secret']
Default['firezone']['authentication']['okta']['site']
Banjur, atur Okta minangka panyedhiya OIDC kanthi ngetutake prosedur ing kene.
Gumantung ing persiyapan lan versi saiki, tindakake pandhuan ing ngisor iki:
Yen sampeyan wis duwe integrasi OIDC:
Kanggo sawetara panyedhiya OIDC, nganyarke menyang >= 0.3.16 mbutuhake token refresh kanggo ruang lingkup akses offline. Kanthi nindakake iki, mesthine Firezone nganyari karo panyedhiya identitas lan sambungan VPN dipateni sawise pangguna dibusak. Iterasi Firezone sadurunge ora duwe fitur iki. Ing sawetara kasus, pangguna sing dibusak saka panyedhiya identitas sampeyan isih bisa disambungake menyang VPN.
Sampeyan kudu nyakup akses offline ing parameter ruang lingkup konfigurasi OIDC sampeyan kanggo panyedhiya OIDC sing ndhukung ruang lingkup akses offline. Firezone-ctl reconfigure kudu dileksanakake kanggo aplikasi owahan kanggo file konfigurasi Firezone, kang dumunung ing /etc/firezone/firezone.rb.
Kanggo pangguna sing wis dikonfirmasi dening panyedhiya OIDC, sampeyan bakal weruh judhul OIDC Connections ing kaca rincian pangguna UI web yen Firezone bisa kasil njupuk token refresh.
Yen ora bisa, sampeyan kudu mbusak aplikasi OAuth sing wis ana lan mbaleni langkah persiyapan OIDC kanggo nggawe integrasi app anyar .
Aku duwe integrasi OAuth sing wis ana
Sadurunge 0.3.11, Firezone nggunakake panyedhiya OAuth2 sing wis dikonfigurasi.
Tututi pandhuane kene kanggo pindhah menyang OIDC.
Aku durung nggabungake panyedhiya identitas
Ora perlu tumindak.
Sampeyan bisa tindakake pandhuan kene kanggo ngaktifake SSO liwat panyedhiya OIDC.
Ing panggonane, default['firezone']['external url'] wis ngganti pilihan konfigurasi default['firezone']['fqdn'].
Setel iki menyang URL portal online Firezone sing bisa diakses dening masyarakat umum. Bakal dadi standar kanggo https: // plus FQDN server sampeyan yen ora ditemtokake.
Berkas konfigurasi dumunung ing /etc/firezone/firezone.rb. Deleng referensi file konfigurasi kanggo dhaptar lengkap variabel konfigurasi lan katrangane.
Firezone ora nyimpen kunci pribadi piranti maneh ing server Firezone wiwit versi 0.3.0.
UI Web Firezone ora ngidini sampeyan ngundhuh maneh utawa ndeleng konfigurasi kasebut, nanging piranti apa wae sing wis ana kudu terus bisa digunakake.
Yen sampeyan nganyarke saka Firezone 0.1.x, ana sawetara owah-owahan file konfigurasi sing kudu ditangani kanthi manual.
Kanggo nggawe modifikasi sing perlu kanggo file /etc/firezone/firezone.rb, jalanake printah ing ngisor iki minangka 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 reconfigure
firezone-ctl miwiti maneh
Priksa log Firezone minangka langkah pisanan sing wicaksana kanggo masalah apa wae sing bisa kedadeyan.
Bukak sudo firezone-ctl tail kanggo ndeleng log Firezone.
Mayoritas masalah panyambungan karo Firezone digawa dening aturan iptables utawa nftables sing ora kompatibel. Sampeyan kudu nggawe manawa aturan apa wae sing ditrapake ora bertentangan karo aturan Firezone.
Priksa manawa chain FORWARD ngidini paket saka klien WireGuard menyang lokasi sing pengin dilebokake liwat Firezone yen konektivitas Internet saya rusak saben sampeyan ngaktifake terowongan WireGuard.
Iki bisa digayuh yen sampeyan nggunakake ufw kanthi mesthekake yen kabijakan rute standar diidinake:
ubuntu@fz:~$ sudo ufw standar ngidini routed
Kabijakan rute standar diganti dadi 'ngidini'
(supaya nganyari aturan sampeyan kanthi bener)
A wah status kanggo server Firezone khas bisa katon kaya iki:
ubuntu@fz:~$ sudo ufw status verbose
Status: aktif
Logging: aktif (kurang)
Default: nolak (mlebu), ngidini (metu), ngidini (rute)
Profil anyar: skip
Tumindak saka
————-
22/tcp Allow ing ngendi wae
80/tcp Allow ing ngendi wae
443/tcp Allow IN Anywhere
51820/udp Allow IN Anywhere
22/tcp (v6) IZIN nang endi wae (v6)
80/tcp (v6) IZIN nang endi wae (v6)
443/tcp (v6) IZIN nang endi wae (v6)
51820/udp (v6) Allow IN Anywhere (v6)
Disaranake mbatesi akses menyang antarmuka web kanggo penyebaran produksi sing sensitif banget lan kritis, kaya sing diterangake ing ngisor iki.
Service | Port Default | Alamat Ngrungokake | Description |
Nginx | 80, 443 | kabeh | Port HTTP(S) umum kanggo ngatur Firezone lan nggampangake otentikasi. |
penjaga kawat | 51820 | kabeh | Port WireGuard umum digunakake kanggo sesi VPN. (UDP) |
postgresql | 15432 | 127.0.0.1 | Port mung lokal digunakake kanggo server Postgresql bundled. |
Phoenix | 13000 | 127.0.0.1 | Port mung lokal sing digunakake dening server app elixir hulu. |
Disaranake sampeyan mikir babagan mbatesi akses menyang UI web Firezone sing mbukak umum (kanthi port standar 443/tcp lan 80/tcp) lan nggunakake trowongan WireGuard kanggo ngatur Firezone kanggo produksi lan penyebaran sing diadhepi umum ing ngendi administrator siji bakal dadi tanggung jawab. nggawe lan nyebarake konfigurasi piranti menyang pangguna pungkasan.
Contone, yen administrator nggawe konfigurasi piranti lan nggawe trowongan nganggo alamat WireGuard lokal 10.3.2.2, konfigurasi ufw ing ngisor iki bakal ngidini administrator ngakses UI web Firezone ing antarmuka wg-firezone server nggunakake standar 10.3.2.1. alamat trowongan:
root@demo:~# ufw status verbose
Status: aktif
Logging: aktif (kurang)
Default: nolak (mlebu), ngidini (metu), ngidini (rute)
Profil anyar: skip
Tumindak saka
————-
22/tcp Allow ing ngendi wae
51820/udp Allow IN Anywhere
Nang endi wae Allow IN 10.3.2.2
22/tcp (v6) IZIN nang endi wae (v6)
51820/udp (v6) Allow IN Anywhere (v6)
Iki bakal ninggalake mung 22/tcp kapapar kanggo akses SSH kanggo ngatur server (opsional), lan 51820/udp kapapar kanggo nggawe trowongan WireGuard.
Firezone mbendel server Postgresql lan cocog psql utilitas sing bisa digunakake saka cangkang lokal kaya mangkene:
/opt/firezone/embedded/bin/psql \
-U firezone\
-d zona geni \
-h localhost \
-p 15432 \
-c "SQL_STATEMENT"
Iki bisa mbiyantu kanggo tujuan debugging.
Tugas umum:
Dhaptar kabeh pangguna:
/opt/firezone/embedded/bin/psql \
-U firezone\
-d zona geni \
-h localhost \
-p 15432 \
-c "PILIH * FROM pangguna;"
Listing kabeh piranti:
/opt/firezone/embedded/bin/psql \
-U firezone\
-d zona geni \
-h localhost \
-p 15432 \
-c "PILIH * saka piranti;"
Ngganti peran pangguna:
Setel peran dadi 'admin' utawa 'unprivileged':
/opt/firezone/embedded/bin/psql \
-U firezone\
-d zona geni \
-h localhost \
-p 15432 \
-c "UPDATE pangguna SET peran = 'admin' WHERE email = 'user@example.com';"
Nggawe serep database:
Salajengipun, kalebu program pg dump, sing bisa digunakake kanggo nggawe serep database biasa. Jalanake kode ing ngisor iki kanggo mbucal salinan database ing format query SQL umum (ganti /path/to/backup.sql karo lokasi file SQL kudu digawe):
/opt/firezone/embedded/bin/pg_dump \
-U firezone\
-d zona geni \
-h localhost \
-p 15432 > /path/to/backup.sql
Sawise Firezone wis sukses disebarake, sampeyan kudu nambah pangguna kanggo menehi akses menyang jaringan sampeyan. UI Web digunakake kanggo nindakake iki.
Kanthi milih tombol "Add User" ing /users, sampeyan bisa nambah pangguna. Sampeyan bakal dijaluk menehi pangguna alamat email lan sandhi. Kanggo ngidini akses menyang pangguna ing organisasi sampeyan kanthi otomatis, Firezone uga bisa antarmuka lan nyelarasake karo panyedhiya identitas. Rincian liyane kasedhiya ing keasliane. <Tambah pranala menyang Authenticate
Disaranake supaya pangguna nggawe konfigurasi piranti dhewe supaya kunci pribadi mung bisa dideleng. Pangguna bisa nggawe konfigurasi piranti dhewe kanthi nuruti pituduh ing Instruksi Klien kaca.
Kabeh konfigurasi piranti pangguna bisa digawe dening admin Firezone. Ing kaca profil pangguna sing ana ing / pangguna, pilih opsi "Tambah Piranti" kanggo ngrampungake iki.
[Sisipake gambar layar]
Sampeyan bisa ngirim email menyang pangguna file konfigurasi WireGuard sawise nggawe profil piranti.
Pangguna lan piranti disambung. Kanggo rincian liyane babagan carane nambah pangguna, waca Tambah Pangguna.
Liwat panggunaan sistem netfilter kernel, Firezone mbisakake kapabilitas nyaring egress kanggo nemtokake paket DROP utawa ACCEPT. Kabeh lalu lintas biasane diidini.
IPv4 lan IPv6 CIDRs lan alamat IP didhukung liwat Allowlist lan Denylist, mungguh. Sampeyan bisa milih kanggo nyakup aturan kanggo pangguna nalika nambahake, sing ditrapake aturan kasebut ing kabeh piranti pangguna kasebut.
Instal lan konfigurasi
Kanggo nggawe sambungan VPN nggunakake klien WireGuard asli, deleng pandhuan iki.
Klien WireGuard Resmi sing ana ing kene kompatibel karo Firezone:
Bukak situs web WireGuard resmi ing https://www.wireguard.com/install/ kanggo sistem OS sing ora kasebut ing ndhuwur.
Administrator Firezone utawa sampeyan dhewe bisa ngasilake file konfigurasi piranti nggunakake portal Firezone.
Dolan maring URL sing disedhiyakake administrator Firezone kanggo nggawe file konfigurasi piranti. Perusahaan sampeyan bakal duwe URL unik kanggo iki; ing kasus iki, iku https://instance-id.yourfirezone.com.
Mlebu menyang Firezone Okta SSO
[Sisipake Screenshot]
Impor file the.conf menyang klien WireGuard kanthi mbukak. Kanthi flipping saklar Aktifake, sampeyan bisa miwiti sesi VPN.
[Sisipake Screenshot]
Tindakake pandhuan ing ngisor iki yen administrator jaringan wis mrentahake otentikasi bola-bali supaya sambungan VPN tetep aktif.
Sampeyan butuh:
URL portal Firezone: Takon administrator jaringan kanggo sambungan.
Administrator jaringan sampeyan kudu bisa menehi login lan sandhi sampeyan. Situs Firezone bakal njaluk sampeyan mlebu nggunakake layanan mlebu siji sing digunakake majikan sampeyan (kayata Google utawa Okta).
[Sisipake Screenshot]
Pindhah menyang URL portal Firezone lan mlebu nggunakake kredensial sing diwenehake administrator jaringan. Yen sampeyan wis mlebu, klik tombol Otentikasi maneh sadurunge mlebu maneh.
[Sisipake Screenshot]
[Sisipake Screenshot]
Kanggo ngimpor profil konfigurasi WireGuard nggunakake Network Manager CLI ing piranti Linux, tindakake pandhuan iki (nmcli).
Yen profil wis ngaktifake dhukungan IPv6, nyoba ngimpor file konfigurasi nggunakake GUI Network Manager bisa uga gagal amarga kesalahan ing ngisor iki:
ipv6.method: cara "otomatis" ora didhukung kanggo WireGuard
Sampeyan kudu nginstal utilitas ruang pangguna WireGuard. Iki bakal dadi paket sing diarani wireguard utawa wireguard-tools kanggo distribusi Linux.
Kanggo Ubuntu/Debian:
sudo apt nginstal wireguard
Kanggo nggunakake Fedora:
sudo dnf nginstal wireguard-tools
Linux Arch:
sudo pacman -S wireguard-tools
Bukak situs web WireGuard resmi ing https://www.wireguard.com/install/ kanggo distribusi sing ora kasebut ing ndhuwur.
Administrator Firezone utawa generasi dhewe bisa ngasilake file konfigurasi piranti nggunakake portal Firezone.
Dolan maring URL sing disedhiyakake administrator Firezone kanggo nggawe file konfigurasi piranti. Perusahaan sampeyan bakal duwe URL unik kanggo iki; ing kasus iki, iku https://instance-id.yourfirezone.com.
[Sisipake Screenshot]
Ngimpor file konfigurasi sing diwenehake nggunakake nmcli:
sudo nmcli sambungan ngimpor jinis file wireguard /path/to/configuration.conf
Jeneng file konfigurasi bakal cocog karo sambungan / antarmuka WireGuard. Sawise ngimpor, sambungan kasebut bisa diganti jeneng yen perlu:
sambungan nmcli ngowahi [jeneng lawas] connection.id [jeneng anyar]
Liwat baris perintah, sambung menyang VPN kaya ing ngisor iki:
sambungan nmcli munggah [jeneng vpn]
Kanggo medhot:
sambungan nmcli mudhun [jeneng vpn]
Applet Network Manager sing ditrapake uga bisa digunakake kanggo ngatur sambungan yen nggunakake GUI.
Kanthi milih "ya" kanggo pilihan autoconnect, sambungan VPN bisa dikonfigurasi kanggo nyambung kanthi otomatis:
sambungan nmcli ngowahi [jeneng vpn] sambungan. <<<<<<<<<<<<<<<<<<<<<<
autoconnect ya
Kanggo mateni sambungan otomatis, setel maneh menyang ora:
sambungan nmcli ngowahi [jeneng vpn] sambungan.
nyambung otomatis no
Kanggo ngaktifake MFA Bukak portal Firezone / akun pangguna / ndhaptar kaca mfa. Gunakake aplikasi authenticator kanggo mindhai kode QR sawise digawe, banjur ketik kode enem digit.
Hubungi Admin kanggo ngreset informasi akses akun yen sampeyan salah sijine app authenticator.
Tutorial iki bakal nuntun sampeyan liwat proses nyetel fitur split tunneling WireGuard karo Firezone supaya mung lalu lintas menyang kisaran IP tartamtu sing diterusake liwat server VPN.
Kisaran IP sing bakal dituntun klien lalu lintas jaringan ditetepake ing lapangan IP sing Diidini sing ana ing kaca / setelan/standar. Mung konfigurasi trowongan WireGuard sing mentas digawe sing diprodhuksi dening Firezone bakal kena pengaruh owah-owahan ing lapangan iki.
[Sisipake Screenshot]
Nilai standar yaiku 0.0.0.0/0, ::/0, sing ngarahake kabeh lalu lintas jaringan saka klien menyang server VPN.
Conto nilai ing lapangan iki kalebu:
0.0.0.0/0, ::/0 – kabeh lalu lintas jaringan bakal routed menyang server VPN.
192.0.2.3/32 - mung lalu lintas menyang alamat IP siji sing bakal diarahake menyang server VPN.
3.5.140.0/22 - mung lalu lintas menyang IP ing kisaran 3.5.140.1 - 3.5.143.254 bakal diarahake menyang server VPN. Ing conto iki, kisaran CIDR kanggo wilayah AWS ap-northeast-2 digunakake.
Firezone milih antarmuka egress sing digandhengake karo rute sing paling tepat nalika nemtokake rute paket.
Pangguna kudu regenerasi file konfigurasi lan ditambahake menyang klien WireGuard asli kanggo nganyari piranti pangguna sing wis ana karo konfigurasi trowongan pamisah anyar.
Kanggo instruksi, waca nambah piranti. <<<<<<<<<< Tambah link
Manual iki bakal nduduhake carane nyambungake rong piranti nggunakake Firezone minangka relay. Salah sawijining kasus panggunaan sing khas yaiku ngidini administrator ngakses server, wadhah, utawa mesin sing dilindhungi NAT utawa firewall.
Ilustrasi iki nuduhake skenario langsung ing ngendi Piranti A lan B nggawe trowongan.
[Sisipake gambar arsitektur firezone]
Mulai nggawe Piranti A lan Piranti B kanthi navigasi menyang /users/[user_id]/new_device. Ing setelan kanggo saben piranti, priksa manawa paramèter ing ngisor iki disetel menyang nilai sing kapacak ing ngisor iki. Sampeyan bisa nyetel setelan piranti nalika nggawe konfigurasi piranti (pirsani Tambah Piranti). Yen sampeyan kudu nganyari setelan ing piranti sing wis ana, sampeyan bisa nindakake kanthi nggawe konfigurasi piranti anyar.
Elinga yen kabeh piranti duwe kaca / setelan / standar ing ngendi PersistentKeepalive bisa dikonfigurasi.
AllowedIPs = 10.3.2.2/32
Iki minangka IP utawa sawetara IP Piranti B
PersistentKeepalive = 25
Yen piranti ana ing mburi NAT, iki njamin piranti bisa njaga trowongan lan terus nampa paket saka antarmuka WireGuard. Biasane nilai 25 cukup, nanging sampeyan bisa uga kudu nyuda nilai kasebut gumantung ing lingkungan sampeyan.
AllowedIPs = 10.3.2.3/32
Iki minangka IP utawa sawetara IP Piranti A
PersistentKeepalive = 25
Conto iki nuduhake kahanan ing ngendi Piranti A bisa komunikasi karo Piranti B nganti D ing loro arah. Persiyapan iki bisa makili insinyur utawa administrator sing ngakses akeh sumber daya (server, wadhah, utawa mesin) ing macem-macem jaringan.
[Diagram Arsitektur]<<<<<<<<<<<<<<<<<<<<<<<<
Priksa manawa setelan ing ngisor iki digawe ing saben setelan piranti kanggo nilai sing cocog. Nalika nggawe konfigurasi piranti, sampeyan bisa nemtokake setelan piranti (pirsani Tambah Piranti). Konfigurasi piranti anyar bisa digawe yen setelan ing piranti sing wis ana kudu dianyari.
AllowedIPs = 10.3.2.3/32, 10.3.2.4/32, 10.3.2.5/32
Iki IP piranti B nganti D. IP Piranti B nganti D kudu kalebu ing sawetara IP sing sampeyan pilih kanggo nyetel.
PersistentKeepalive = 25
Iki njamin yen piranti bisa njaga trowongan lan terus nampa paket saka antarmuka WireGuard sanajan dilindhungi dening NAT. Umume kasus, nilai 25 cukup, nanging gumantung ing lingkungan sampeyan, sampeyan bisa uga kudu nyuda angka kasebut.
Kanggo nawakake IP egress statis siji kanggo kabeh lalu lintas tim sampeyan, Firezone bisa digunakake minangka gateway NAT. Kahanan kasebut kalebu asring digunakake:
Konsultasi Keterlibatan: Njaluk supaya pelanggan sampeyan whitelist alamat IP statis siji tinimbang IP piranti unik saben karyawan.
Nggunakake proxy utawa masking IP sumber kanggo tujuan keamanan utawa privasi.
Conto prasaja kanggo mbatesi akses menyang aplikasi web sing di-host dhewe menyang IP statis sing didaftar putih sing mlaku Firezone bakal dituduhake ing kirim iki. Ing ilustrasi iki, Firezone lan sumber daya sing dilindhungi ana ing wilayah VPC sing beda.
Solusi iki kerep digunakake kanggo ngatur daftar putih IP kanggo akeh pangguna pungkasan, sing bisa ngentekake wektu nalika dhaptar akses berkembang.
Tujuane yaiku nyiyapake server Firezone ing conto EC2 kanggo ngarahake lalu lintas VPN menyang sumber daya sing diwatesi. Ing kasus iki, Firezone dadi proxy jaringan utawa gateway NAT kanggo menehi saben piranti sing nyambungake IP egress umum sing unik.
Ing kasus iki, instance EC2 sing jenenge tc2.micro wis diinstal instance Firezone. Kanggo informasi babagan masang Firezone, bukak Pandhuan Penyebaran. Gegayutan karo AWS, priksa manawa:
Klompok keamanan instance Firezone EC2 ngidini lalu lintas metu menyang alamat IP sumber sing dilindhungi.
Instance Firezone dilengkapi IP elastis. Lalu lintas sing diterusake liwat conto Firezone menyang tujuan njaba bakal duwe alamat IP sumber kasebut. Alamat IP sing dimaksud yaiku 52.202.88.54.
[Sisipake Screenshot]<<<<<<<<<<<<<<<<<<<<<<<<
Aplikasi web sing dadi tuan rumah dhewe minangka sumber daya sing dilindhungi ing kasus iki. Aplikasi web mung bisa diakses kanthi panjalukan saka alamat IP 52.202.88.54. Gumantung saka sumber daya, bisa uga kudu ngidini lalu lintas mlebu ing macem-macem port lan jinis lalu lintas. Iki ora kalebu ing manual iki.
[Sisipake gambar layar]<<<<<<<<<<<<<<<<<<<<<<<<
Mangga ngandhani pihak katelu sing tanggung jawab kanggo sumber daya sing dilindhungi yen lalu lintas saka IP statis sing ditetepake ing Langkah 1 kudu diidini (ing kasus iki 52.202.88.54).
Kanthi gawan, kabeh lalu lintas pangguna bakal liwat server VPN lan teka saka IP statis sing dikonfigurasi ing Langkah 1 (ing kasus iki 52.202.88.54). Nanging, yen pamisah tunneling wis diaktifake, setelan bisa uga dibutuhake kanggo mesthekake IP tujuan sumber daya sing dilindhungi kadhaptar ing antarane IP sing Diidini.
Ditampilake ing ngisor iki minangka dhaptar lengkap pilihan konfigurasi sing kasedhiya ing /etc/firezone/firezone.rb.
pilihan | gambaran | nilai gawan |
standar['firezone']['external_url'] | URL sing digunakake kanggo ngakses portal web conto Firezone iki. | “https://#{node['fqdn'] || simpul ['hostname']}" |
standar['firezone']['config_directory'] | Direktori tingkat paling dhuwur kanggo konfigurasi Firezone. | /etc/firezone' |
default['firezone']['install_directory'] | Direktori tingkat paling dhuwur kanggo nginstal Firezone. | /opt/firezone' |
default['firezone']['app_directory'] | Direktori tingkat paling dhuwur kanggo nginstal aplikasi web Firezone. | "#{node['firezone']['install_directory']}/embedded/service/firezone" |
standar['firezone']['log_direktori'] | Direktori tingkat paling dhuwur kanggo log Firezone. | /var/log/firezone' |
default['firezone']['var_directory'] | Direktori tingkat paling dhuwur kanggo file runtime Firezone. | /var/opt/firezone' |
standar['firezone']['user'] | Jeneng pangguna Linux sing ora duwe hak istimewa kanggo umume layanan lan file. | zona geni' |
standar['firezone']['grup'] | Jeneng grup Linux sing paling akeh layanan lan file bakal dadi milik. | zona geni' |
standar['firezone']['admin_email'] | Alamat email kanggo pangguna Firezone awal. | "firezone@localhost" |
standar['firezone']['max_devices_per_user'] | Jumlah maksimal piranti sing bisa diduweni pangguna. | 10 |
default['firezone']['allow_unprivileged_device_management'] | Ngidini pangguna non-admin nggawe lan mbusak piranti. | TRUE |
standar['firezone']['allow_unprivileged_device_configuration'] | Ngidini pangguna non-admin kanggo ngowahi konfigurasi piranti. Yen dipateni, ngalangi pangguna sing ora duwe hak kanggo ngganti kabeh kolom piranti kajaba jeneng lan katrangan. | TRUE |
standar['firezone']['egress_interface'] | Jeneng antarmuka ing ngendi lalu lintas terowongan bakal metu. Yen ora ana, antarmuka rute standar bakal digunakake. | nil |
standar['firezone']['fips_enabled'] | Aktifake utawa mateni mode OpenSSL FIPs. | nil |
default['firezone']['logging']['enabled'] | Aktifake utawa mateni logging ing Firezone. Setel menyang false kanggo mateni logging kabeh. | TRUE |
standar['perusahaan']['jeneng'] | Jeneng digunakake dening Chef 'perusahaan' cookbook. | zona geni' |
standar['firezone']['install_path'] | Instal path digunakake dening Chef 'perusahaan' cookbook. Kudu disetel padha karo install_directory ing ndhuwur. | node['firezone']['install_directory'] |
standar['firezone']['sysvinit_id'] | Pengenal digunakake ing /etc/inittab. Kudu urutan unik saka 1-4 karakter. | SUP' |
default['firezone']['authentication']['local']['enabled'] | Aktifake utawa mateni otentikasi email/sandi lokal. | TRUE |
default['firezone']['authentication']['auto_create_oidc_users'] | Nggawe pangguna kanthi otomatis mlebu saka OIDC kanggo pisanan. Pateni kanggo ngidini mung pangguna sing wis ana mlebu liwat OIDC. | TRUE |
default['firezone']['authentication']['disable_vpn_on_oidc_error'] | Pateni VPN pangguna yen kesalahan dideteksi nalika nyoba refresh token OIDC. | lupute |
default['firezone']['authentication']['oidc'] | Konfigurasi OpenID Connect, ing format {"provider" => [config...]} - Deleng Dokumentasi OpenIDConnect kanggo conto konfigurasi. | {} |
default['firezone']['nginx']['enabled'] | Aktifake utawa mateni server nginx bundled. | TRUE |
standar['firezone']['nginx']['ssl_port'] | Port ngrungokake HTTPS. | 443 |
default['firezone']['nginx']['direktori'] | Direktori kanggo nyimpen konfigurasi host virtual nginx sing gegandhengan karo Firezone. | "#{node['firezone']['var_directory']}/nginx/etc" |
default['firezone']['nginx']['log_directory'] | Direktori kanggo nyimpen file log nginx sing gegandhengan karo Firezone. | "#{node['firezone']['log_directory']}/nginx" |
default['firezone']['nginx']['log_rotation']['file_maxbytes'] | Ukuran file kanggo muter file log Nginx. | 104857600 |
default['firezone']['nginx']['log_rotation']['num_to_keep'] | Jumlah file log nginx Firezone sing kudu disimpen sadurunge dibuwang. | 10 |
default['firezone']['nginx']['log_x_forwarded_for'] | Apa log Firezone nginx x-forwarded-for header. | TRUE |
default['firezone']['nginx']['hsts_header']['enabled'] | TRUE | |
standar['firezone']['nginx']['hsts_header']['include_subdomains'] | Aktifake utawa mateni includeSubDomains kanggo header HSTS. | TRUE |
default['firezone']['nginx']['hsts_header']['max_age'] | Umur maksimal kanggo header HSTS. | 31536000 |
default['firezone']['nginx']['redirect_to_canonical'] | Apa arep ngarahake URL menyang FQDN kanonik sing kasebut ing ndhuwur | lupute |
default['firezone']['nginx']['cache']['enabled'] | Aktifake utawa mateni cache nginx Firezone. | lupute |
default['firezone']['nginx']['cache']['direktori'] | Direktori kanggo cache nginx Firezone. | "#{node['firezone']['var_directory']}/nginx/cache" |
default['firezone']['nginx']['user'] | Pangguna nginx Firezone. | node['firezone']['user'] |
default['firezone']['nginx']['group'] | Firezone nginx group. | simpul ['firezone']['grup'] |
default['firezone']['nginx']['dir'] | Direktori konfigurasi nginx tingkat paling dhuwur. | node ['firezone']['nginx']['direktori'] |
default['firezone']['nginx']['log_dir'] | Direktori log nginx tingkat paling dhuwur. | node ['firezone']['nginx']['log_directory'] |
default['firezone']['nginx']['pid'] | Lokasi kanggo file nginx pid. | "#{node['firezone']['nginx']['direktori']}/nginx.pid" |
default['firezone']['nginx']['daemon_disable'] | Pateni mode daemon nginx supaya kita bisa ngawasi. | TRUE |
default['firezone']['nginx']['gzip'] | Nguripake utawa mateni kompresi nginx gzip. | ing ' |
standar['firezone']['nginx']['gzip_static'] | Nguripake utawa mateni kompresi nginx gzip kanggo file statis. | mati' |
standar['firezone']['nginx']['gzip_http_version'] | Versi HTTP digunakake kanggo ngladeni file statis. | 1.0 ' |
standar['firezone']['nginx']['gzip_comp_level'] | nginx gzip tingkat kompresi. | 2 ' |
default['firezone']['nginx']['gzip_proxied'] | Ngaktifake utawa mateni gzipping respon kanggo panjalukan proksi gumantung saka panyuwunan lan respon. | sembarang' |
default['firezone']['nginx']['gzip_vary'] | Ngaktifake utawa mateni masang header respon "Vary: Accept-encoding". | mati' |
default['firezone']['nginx']['gzip_buffers'] | Nyetel nomer lan ukuran buffer sing digunakake kanggo compress respon. Yen nil, standar nginx digunakake. | nil |
standar['firezone']['nginx']['gzip_types'] | jinis MIME kanggo ngaktifake kompresi gzip kanggo. | ['text/plain', 'text/css','application/x-javascript', 'text/xml', 'application/xml', 'application/rss+xml', 'application/atom+xml', ' text/javascript', 'application/javascript', 'application/json'] |
default['firezone']['nginx']['gzip_min_length'] | Dawane file minimal kanggo ngaktifake kompresi file gzip. | 1000 |
default['firezone']['nginx']['gzip_disable'] | matcher agen pangguna kanggo mateni kompresi gzip kanggo. | MSIE [1-6]\.' |
default['firezone']['nginx']['keepalive'] | Ngaktifake cache kanggo sambungan menyang server hulu. | ing ' |
default['firezone']['nginx']['keepalive_timeout'] | Wektu entek ing sawetara detik kanggo sambungan keepalive menyang server hulu. | 65 |
default['firezone']['nginx']['worker_processes'] | Jumlah pangolahan buruh nginx. | node['cpu'] && node['cpu']['total'] ? simpul ['cpu']['total'] : 1 |
default['firezone']['nginx']['worker_connections'] | Jumlah maksimum sambungan simultaneous sing bisa dibukak dening proses buruh. | 1024 |
default['firezone']['nginx']['worker_rlimit_nofile'] | Ngganti watesan ing jumlah maksimum file mbukak kanggo pangolahan buruh. Migunakake standar nginx yen nil. | nil |
default['firezone']['nginx']['multi_accept'] | Apa buruh kudu nampa siji sambungan ing wektu utawa kaping. | TRUE |
default['firezone']['nginx']['acara'] | Nemtokake cara pangolahan sambungan sing digunakake ing konteks acara nginx. | epoll' |
standar['firezone']['nginx']['server_tokens'] | Ngaktifake utawa mateni emit versi nginx ing kaca kesalahan lan ing kolom header respon "Server". | nil |
default['firezone']['nginx']['server_name_hash_bucket_size'] | Nyetel ukuran ember kanggo tabel hash jeneng server. | 64 |
default['firezone']['nginx']['sendfile'] | Ngaktifake utawa mateni panggunaan sendfile nginx (). | ing ' |
default['firezone']['nginx']['access_log_options'] | Nyetel opsi log akses nginx. | nil |
default['firezone']['nginx']['error_log_options'] | Nyetel opsi log kesalahan nginx. | nil |
default['firezone']['nginx']['disable_access_log'] | Mateni log akses nginx. | lupute |
standar['firezone']['nginx']['types_hash_max_size'] | jinis nginx ukuran hash max. | 2048 |
default['firezone']['nginx']['types_hash_bucket_size'] | nginx ukuran hash bucket. | 64 |
default['firezone']['nginx']['proxy_read_timeout'] | nginx proxy maca wektu entek. Setel menyang nil kanggo nggunakake nginx standar. | nil |
standar['firezone']['nginx']['klien_body_buffer_size'] | ukuran buffer awak klien nginx. Setel menyang nil kanggo nggunakake nginx standar. | nil |
standar['firezone']['nginx']['klien_maks_ukuran_badan'] | ukuran awak maksimal klien nginx. | 250m' |
default['firezone']['nginx']['default']['modul'] | Nemtokake modul nginx tambahan. | [] |
default['firezone']['nginx']['enable_rate_limiting'] | Aktifake utawa mateni watesan tingkat nginx. | TRUE |
default['firezone']['nginx']['rate_limiting_zone_name'] | Nginx rate limiting zone name. | zona geni' |
default['firezone']['nginx']['rate_limiting_backoff'] | Nginx rate limiting backoff. | 10m' |
standar['firezone']['nginx']['rate_limit'] | Nginx rate limit. | 10r/s' |
standar['firezone']['nginx']['ipv6'] | Ngidini nginx kanggo ngrungokake panjalukan HTTP kanggo IPv6 saliyane IPv4. | TRUE |
default['firezone']['postgresql']['enabled'] | Aktifake utawa mateni Postgresql bundled. Setel menyang palsu lan isi pilihan database ing ngisor iki kanggo nggunakake conto Postgresql dhewe. | TRUE |
default['firezone']['postgresql']['username'] | Jeneng pangguna kanggo Postgresql. | node['firezone']['user'] |
default['firezone']['postgresql']['data_directory'] | Direktori data Postgresql. | "#{node['firezone']['var_directory']}/postgresql/13.3/data" |
default['firezone']['postgresql']['log_directory'] | Direktori log Postgresql. | "#{node['firezone']['log_directory']}/postgresql" |
default['firezone']['postgresql']['log_rotation']['file_maxbytes'] | Ukuran maksimal file log Postgresql sadurunge diputer. | 104857600 |
default['firezone']['postgresql']['log_rotation']['num_to_keep'] | Jumlah file log Postgresql sing kudu disimpen. | 10 |
default['firezone']['postgresql']['checkpoint_completion_target'] | Postgresql target completion checkpoint. | 0.5 |
default['firezone']['postgresql']['checkpoint_segments'] | Jumlah bagean checkpoint Postgresql. | 3 |
default['firezone']['postgresql']['checkpoint_timeout'] | Postgresql checkpoint wektu entek. | 5 menit |
default['firezone']['postgresql']['checkpoint_warning'] | Postgresql checkpoint warning wektu ing detik. | 30s' |
default['firezone']['postgresql']['effective_cache_size'] | Ukuran cache efektif Postgresql. | 128 MB' |
default['firezone']['postgresql']['listen_address'] | Alamat ngrungokake Postgresql. | 127.0.0.1 ' |
default ['firezone']['postgresql']['max_connections'] | Postgresql max sambungan. | 350 |
default['firezone']['postgresql']['md5_auth_cidr_addresses'] | Postgresql CIDRs kanggo ngidini kanggo md5 auth. | ['127.0.0.1/32', '::1/128'] |
default['firezone']['postgresql']['port'] | Postgresql ngrungokake port. | 15432 |
default['firezone']['postgresql']['shared_buffers'] | Postgresql nuduhake ukuran buffer. | “#{(node['memory']['total'].to_i / 4) / 1024}MB” |
default['firezone']['postgresql']['shmmax'] | Postgresql shmmax ing bita. | 17179869184 |
default['firezone']['postgresql']['shmall'] | Postgresql shmall ing bita. | 4194304 |
default['firezone']['postgresql']['work_mem'] | Ukuran memori kerja Postgresql. | 8 MB' |
default['firezone']['database']['user'] | Nemtokake jeneng pangguna sing bakal digunakake Firezone kanggo nyambung menyang DB. | node['firezone']['postgresql']['username'] |
default['firezone']['database']['sandi'] | Yen nggunakake DB external, nemtokake sandi Firezone bakal digunakake kanggo nyambung menyang DB. | ganti_aku' |
default['firezone']['database']['name'] | Database sing bakal digunakake Firezone. Bakal digawe yen ora ana. | zona geni' |
default['firezone']['database']['host'] | Host database sing bakal disambungake Firezone. | node ['firezone']['postgresql']['listen_address'] |
default['firezone']['database']['port'] | Port database sing bakal disambungake Firezone. | node ['firezone']['postgresql']['port'] |
default['firezone']['database']['pool'] | Ukuran blumbang database Firezone bakal digunakake. | [10, etc.nprocessors].max |
default['firezone']['database']['ssl'] | Apa kanggo nyambung menyang database liwat SSL. | lupute |
default['firezone']['database']['ssl_opts'] | {} | |
default['firezone']['database']['parameter'] | {} | |
standar['firezone']['database']['ekstensi'] | Ekstensi database kanggo ngaktifake. | { 'plpgsql' => bener, 'pg_trgm' => bener } |
standar['firezone']['phoenix']['aktif'] | Aktifake utawa mateni aplikasi web Firezone. | TRUE |
default['firezone']['phoenix']['listen_address'] | Alamat ngrungokake aplikasi web Firezone. Iki bakal dadi alamat ngrungokake hulu sing nginx proxy. | 127.0.0.1 ' |
standar['firezone']['phoenix']['port'] | Port ngrungokake aplikasi web Firezone. Iki bakal dadi port hulu sing nginx proxy. | 13000 |
default['firezone']['phoenix']['log_directory'] | Direktori log aplikasi web Firezone. | "#{node['firezone']['log_directory']}/phoenix" |
standar['firezone']['phoenix']['log_rotation']['file_maxbytes'] | Ukuran file log aplikasi web Firezone. | 104857600 |
default['firezone']['phoenix']['log_rotation']['num_to_keep'] | Jumlah file log aplikasi web Firezone sing kudu disimpen. | 10 |
default['firezone']['phoenix']['crash_detection']['enabled'] | Aktifake utawa mateni aplikasi web Firezone nalika kacilakan dideteksi. | TRUE |
default['firezone']['phoenix']['external_trusted_proxies'] | Dhaptar proxy terbalik sing dipercaya sing diformat minangka Array IP lan/utawa CIDR. | [] |
default['firezone']['phoenix']['private_clients'] | Dhaptar klien HTTP jaringan pribadi, diformat Array IP lan/utawa CIDR. | [] |
standar['firezone']['wireguard']['aktif'] | Aktifake utawa mateni manajemen WireGuard sing dibundel. | TRUE |
default['firezone']['wireguard']['log_directory'] | Direktori log kanggo manajemen WireGuard sing dibundel. | "#{node['firezone']['log_directory']}/wireguard" |
standar['firezone']['wireguard']['log_rotation']['file_maxbytes'] | Ukuran file log WireGuard maksimal. | 104857600 |
default['firezone']['wireguard']['log_rotation']['num_to_keep'] | Jumlah file log WireGuard sing kudu disimpen. | 10 |
default['firezone']['wireguard']['interface_name'] | Jeneng antarmuka WireGuard. Ngganti parameter iki bisa nyebabake mundhut sementara ing panyambungan VPN. | wg-firezone' |
standar['firezone']['wireguard']['port'] | WireGuard ngrungokake port. | 51820 |
default['firezone']['wireguard']['mtu'] | WireGuard antarmuka MTU kanggo server iki lan kanggo konfigurasi piranti. | 1280 |
standar['firezone']['wireguard']['endpoint'] | WireGuard Endpoint digunakake kanggo nggawe konfigurasi piranti. Yen ora ana, gawan menyang alamat IP umum server. | nil |
standar['firezone']['wireguard']['dns'] | WireGuard DNS kanggo digunakake kanggo konfigurasi piranti sing digawe. | 1.1.1.1, 1.0.0.1′ |
standar['firezone']['wireguard']['allowed_ips'] | WireGuard AllowedIPs digunakake kanggo konfigurasi piranti sing digawe. | 0.0.0.0/0, ::/0′ |
default['firezone']['wireguard']['persistent_keepalive'] | Setelan PersistentKeepalive Default kanggo konfigurasi piranti sing digawe. Nilai 0 mateni. | 0 |
standar['firezone']['wireguard']['ipv4']['aktif'] | Aktifake utawa mateni IPv4 kanggo jaringan WireGuard. | TRUE |
standar['firezone']['wireguard']['ipv4']['masquerade'] | Aktifake utawa mateni masquerade kanggo paket ninggalake terowongan IPv4. | TRUE |
standar['firezone']['wireguard']['ipv4']['jaringan'] | Kolam alamat IPv4 jaringan WireGuard. | 10.3.2.0/24 ′ |
standar['firezone']['wireguard']['ipv4']['alamat'] | alamat IPv4 antarmuka WireGuard. Kudu ana ing blumbang alamat WireGuard. | 10.3.2.1 ' |
standar['firezone']['wireguard']['ipv6']['aktif'] | Aktifake utawa mateni IPv6 kanggo jaringan WireGuard. | TRUE |
standar['firezone']['wireguard']['ipv6']['masquerade'] | Aktifake utawa mateni masquerade kanggo paket ninggalake terowongan IPv6. | TRUE |
standar['firezone']['wireguard']['ipv6']['jaringan'] | Kolam alamat IPv6 jaringan WireGuard. | fd00::3:2:0/120′ |
standar['firezone']['wireguard']['ipv6']['alamat'] | alamat IPv6 antarmuka WireGuard. Kudu ana ing blumbang alamat IPv6. | fd00::3:2:1′ |
default['firezone']['runit']['svlogd_bin'] | Lokasi bin svlogd Runit. | "#{node['firezone']['install_directory']}/embedded/bin/svlogd" |
default['firezone']['ssl']['direktori'] | Direktori SSL kanggo nyimpen sertifikat sing digawe. | /var/opt/firezone/ssl' |
standar['firezone']['ssl']['alamat_email'] | Alamat email sing digunakake kanggo sertifikat sing ditandatangani dhewe lan kabar nganyari protokol ACME. | sampeyan@conto.com' |
standar['firezone']['ssl']['acme']['aktif'] | Aktifake ACME kanggo provisioning sertifikat SSL otomatis. Pateni iki kanggo nyegah Nginx ngrungokake ing port 80. Waca kene kanggo instruksi liyane. | lupute |
standar['firezone']['ssl']['acme']['server'] | letsencrypt | |
standar['firezone']['ssl']['acme']['keylength'] | Nemtokake jinis kunci lan dawa kanggo sertifikat SSL. Delengen kene | ec-256 |
standar['firezone']['ssl']['sertifikat'] | Path menyang file sertifikat kanggo FQDN sampeyan. Overrides setelan ACME ndhuwur yen kasebut. Yen ACME lan iki ora ana, sertifikat sing ditandatangani dhewe bakal digawe. | nil |
standar['firezone']['ssl']['certificate_key'] | Path menyang file sertifikat. | nil |
default['firezone']['ssl']['ssl_dhparam'] | nginx ssl dh_param. | nil |
default['firezone']['ssl']['country_name'] | Jeneng negara kanggo sertifikat sing ditandatangani dhewe. | AS' |
default['firezone']['ssl']['state_name'] | Jeneng negara kanggo sertifikat sing ditandatangani dhewe. | CA ' |
default['firezone']['ssl']['locality_name'] | Jeneng lokal kanggo sertifikat sing ditandatangani dhewe. | San Francisco' |
default['firezone']['ssl']['company_name'] | Jeneng perusahaan sertifikat sing ditandatangani dhewe. | Perusahaanku' |
default['firezone']['ssl']['organizational_unit_name'] | Jeneng unit organisasi kanggo sertifikat sing ditandatangani dhewe. | operasi' |
standar['firezone']['ssl']['ciphers'] | SSL ciphers kanggo nginx digunakake. | 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’ |
standar['firezone']['ssl']['fips_ciphers'] | SSL ciphers kanggo mode FIPs. | FIPS@STRENGTH:!aNULL:!eNULL' |
standar['firezone']['ssl']['protokol'] | protokol TLS kanggo nggunakake. | TLSv1 TLSv1.1 TLSv1.2′ |
standar['firezone']['ssl']['session_cache'] | cache sesi SSL. | bareng:SSL:4m' |
standar['firezone']['ssl']['session_timeout'] | wektu entek sesi SSL. | 5m' |
standar['firezone']['robots_allow'] | robot nginx ngidini. | /' |
standar['firezone']['robots_disallow'] | robot nginx ora ngidini. | nil |
default['firezone']['outbound_email']['saka'] | Email metu saka alamat. | nil |
default['firezone']['outbound_email']['provider'] | panyedhiya layanan email metu. | nil |
default['firezone']['outbound_email']['configs'] | Konfigurasi panyedhiya email metu. | ndeleng omnibus / cookbooks / firezone / atribut / default.rb |
standar['firezone']['telemetri']['aktif'] | Aktifake utawa mateni telemetri produk anonim. | TRUE |
default['firezone']['connectivity_checks']['enabled'] | Aktifake utawa mateni layanan mriksa konektivitas Firezone. | TRUE |
standar['firezone']['connectivity_checks']['interval'] | Interval antarane mriksa panyambungan ing detik. | 3_600 |
________________________________________________________________
Ing kene sampeyan bakal nemokake dhaptar file lan direktori sing ana gandhengane karo instalasi Firezone sing khas. Iki bisa diganti gumantung saka owah-owahan ing file konfigurasi sampeyan.
path | gambaran |
/var/opt/firezone | Direktori tingkat paling dhuwur sing ngemot data lan konfigurasi sing digawe kanggo layanan bundled Firezone. |
/opt/firezone | Direktori tingkat paling dhuwur ngemot perpustakaan, binari lan file runtime sing dibutuhake dening Firezone. |
/usr/bin/firezone-ctl | firezone-ctl utilitas kanggo ngatur instalasi Firezone sampeyan. |
/etc/systemd/system/firezone-runsvdir-start.service | file unit systemd kanggo miwiti proses supervisor runsvdir Firezone. |
/etc/firezone | File konfigurasi Firezone. |
__________________________________________________________
Kaca iki kosong ing docs
_____________________________________________________________
Cithakan firewall nftables ing ngisor iki bisa digunakake kanggo ngamanake server sing mlaku Firezone. Cithakan kasebut nggawe sawetara asumsi; sampeyan bisa uga kudu nyetel aturan supaya cocog karo kasus panggunaan:
Firezone ngatur aturan nftables dhewe kanggo ngidini / nolak lalu lintas menyang tujuan sing dikonfigurasi ing antarmuka web lan kanggo nangani NAT metu kanggo lalu lintas klien.
Nglamar cithakan firewall ing ngisor iki ing server sing wis mlaku (ora ing wektu boot) bakal nyebabake aturan Firezone bakal dibusak. Iki bisa uga duwe implikasi keamanan.
Kanggo ngatasi masalah iki, miwiti maneh layanan phoenix:
firezone-ctl miwiti maneh phoenix
#!/usr/sbin/nft -f
## Mbusak / siram kabeh aturan sing ana
aturan flush
################################## VARIABEL ################## ##############
## Jeneng antarmuka Internet/WAN
nemtokake DEV_WAN = eth0
## Jeneng antarmuka WireGuard
nemtokake DEV_WIREGUARD = wg-firezone
## WireGuard ngrungokake port
nemtokake WIREGUARD_PORT = 51820
############################## VARIABEL END #################### ############
# Tabel nyaring kulawarga inet utama
tabel inet filter {
# Aturan kanggo lalu lintas sing diterusake
# Rantai iki diproses sadurunge chain maju Firezone
rantai maju {
jinis panyaring pancing prioritas panyaring - 5; kawicaksanan nampa
}
# Aturan kanggo lalu lintas input
input chain {
jinis Filter pancing prioritas input Filter; kawicaksanan mudhun
## Ngidini lalu lintas mlebu menyang antarmuka loopback
yen iki \
nampa \
komentar "Idini kabeh lalu lintas saka antarmuka loopback"
## Idin ditetepake lan sambungan sing gegandhengan
negara ct ditetepake, gegandhengan \
nampa \
komentar "Izin sing diadegake / sambungan sing gegandhengan"
## Ngidini lalu lintas WireGuard mlebu
yen $DEV_WAN udp dport $WIREGUARD_PORT \
nglawan \
nampa \
komentar "Izin lalu lintas WireGuard mlebu"
## Log lan selehake paket TCP non-SYN anyar
tcp flags != syn ct state new \
tingkat watesan 100/menit bledosan 150 paket \
awalan log "IN - Anyar !SYN: " \
komentar "Logging watesan tarif kanggo sambungan anyar sing ora duwe set bendera SYN TCP"
tcp flags != syn ct state new \
nglawan \
nyelehake \
komentar "Selehake sambungan anyar sing ora duwe set bendera SYN TCP"
## Log lan selehake paket TCP kanthi set gendéra sirip / syn sing ora bener
tcp flags & (fin|syn) == (fin|syn) \
tingkat watesan 100/menit bledosan 150 paket \
awalan log “IN – TCP FIN|SIN: “ \
komentar "Logging watesan tarif kanggo paket TCP kanthi set flag fin/syn sing ora valid"
tcp flags & (fin|syn) == (fin|syn) \
nglawan \
nyelehake \
komentar "Busak paket TCP kanthi set panji sirip/syn sing ora valid"
## Log lan selehake paket TCP kanthi syn / flag pisanan sing ora bener
tcp flags & (syn|rst) == (syn|rst) \
tingkat watesan 100/menit bledosan 150 paket \
awalan log "IN - TCP SYN|RST: " \
komentar "Logging watesan tarif kanggo paket TCP kanthi syn / flag pisanan sing ora valid"
tcp flags & (syn|rst) == (syn|rst) \
nglawan \
nyelehake \
komentar "Busak paket TCP kanthi syn / flag pisanan sing ora valid"
## Log lan selehake gendera TCP sing ora bener
tcp flags & (fin|syn|rst|psh|ack|urg) < (fin) \
tingkat watesan 100/menit bledosan 150 paket \
awalan log "IN - FIN:" \
komentar "Logging watesan tarif kanggo gendera TCP sing ora valid (fin|syn|rst|psh|ack|urg) < (fin)"
tcp flags & (fin|syn|rst|psh|ack|urg) < (fin) \
nglawan \
nyelehake \
komentar "Busak paket TCP kanthi panji (fin|syn|rst|psh|ack|urg) < (fin)"
## Log lan selehake gendera TCP sing ora bener
tcp flags & (fin|syn|rst|psh|ack|urg) == (fin|psh|urg) \
tingkat watesan 100/menit bledosan 150 paket \
awalan log “IN – FIN|PSH|URG:” \
komentar "Logging watesan tarif kanggo gendera TCP sing ora valid (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)"
tcp flags & (fin|syn|rst|psh|ack|urg) == (fin|psh|urg) \
nglawan \
nyelehake \
komentar "Busak paket TCP kanthi panji (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)"
## Selehake lalu lintas kanthi status sambungan sing ora bener
status ct ora sah \
tingkat watesan 100/menit bledosan 150 paket \
log flag kabeh ater-ater "IN - Ora Sah:" \
komentar "Ngangkut barang watesan tarif kanggo lalu lintas kanthi status sambungan ora valid"
status ct ora sah \
nglawan \
nyelehake \
komentar "Mateni lalu lintas kanthi status sambungan ora valid"
## Ngidini tanggapan ping/ping IPv4 nanging watesan tarif nganti 2000 PPS
ip protokol icmp tipe icmp { echo-reply, echo-request } \
tingkat watesan 2000/detik \
nglawan \
nampa \
komentar "Izin IPv4 echo (ping) mlebu diwatesi nganti 2000 PPS"
## Ngidini kabeh ICMP IPv4 mlebu liyane
ip protokol icmp \
nglawan \
nampa \
komentar "Idini kabeh ICMP IPv4 liyane"
## Ngidini tanggapan ping/ping IPv6 nanging watesan tarif nganti 2000 PPS
icmpv6 jinis {echo-reply, echo-request} \
tingkat watesan 2000/detik \
nglawan \
nampa \
komentar "Izin IPv6 echo (ping) mlebu diwatesi nganti 2000 PPS"
## Ngidini kabeh ICMP IPv6 mlebu liyane
meta l4proto {icmpv6} \
nglawan \
nampa \
komentar "Idini kabeh ICMP IPv6 liyane"
## Ngidini port UDP traceroute mlebu nanging watesan nganti 500 PPS
udp dport 33434-33524 \
tingkat watesan 500/detik \
nglawan \
nampa \
komentar "Izin inbound UDP traceroute diwatesi nganti 500 PPS"
## Izin mlebu SSH
tcp dport SSH ct negara anyar \
nglawan \
nampa \
komentar "Izin sambungan SSH mlebu"
## Idin mlebu HTTP lan HTTPS
tcp dport {http, https} ct status anyar \
nglawan \
nampa \
komentar "Izin sambungan HTTP lan HTTPS mlebu"
## Log sembarang lalu lintas unmatched nanging rate watesan logging nganti maksimal 60 pesen / menit
## Kabijakan standar bakal ditrapake kanggo lalu lintas sing ora cocog
tingkat watesan 60/menit bledosan 100 paket \
awalan log "IN - Drop:" \
komentar "Log log lalu lintas sing ora cocog"
## Ngitung lalu lintas sing ora cocog
nglawan \
komentar "Ngetung lalu lintas sing ora cocog"
}
# Aturan kanggo lalu lintas output
rantai output {
jinis Filter pancing output prioritas Filter; kawicaksanan mudhun
## Ngidini lalu lintas metu menyang antarmuka loopback
opo iki\
nampa \
komentar "Idini kabeh lalu lintas menyang antarmuka loopback"
## Idin ditetepake lan sambungan sing gegandhengan
negara ct ditetepake, gegandhengan \
nglawan \
nampa \
komentar "Izin sing diadegake / sambungan sing gegandhengan"
## Ijinake lalu lintas WireGuard metu sadurunge ngeculake sambungan karo kahanan sing ala
oif $DEV_WAN olahraga udp $WIREGUARD_PORT \
nglawan \
nampa \
komentar "Izin lalu lintas metu WireGuard"
## Selehake lalu lintas kanthi status sambungan sing ora bener
status ct ora sah \
tingkat watesan 100/menit bledosan 150 paket \
log flag kabeh ater-ater "MELU - Ora sah:" \
komentar "Ngangkut barang watesan tarif kanggo lalu lintas kanthi status sambungan ora valid"
status ct ora sah \
nglawan \
nyelehake \
komentar "Mateni lalu lintas kanthi status sambungan ora valid"
## Ngidini kabeh ICMP IPv4 metu liyane
ip protokol icmp \
nglawan \
nampa \
komentar "Idini kabeh jinis IPv4 ICMP"
## Ngidini kabeh ICMP IPv6 metu liyane
meta l4proto {icmpv6} \
nglawan \
nampa \
komentar "Idini kabeh jinis IPv6 ICMP"
## Ngidini port UDP traceroute metu nanging watesan nganti 500 PPS
udp dport 33434-33524 \
tingkat watesan 500/detik \
nglawan \
nampa \
komentar "Izin outbound UDP traceroute diwatesi nganti 500 PPS"
## Idin sambungan HTTP lan HTTPS metu
tcp dport {http, https} ct status anyar \
nglawan \
nampa \
komentar "Izin sambungan HTTP lan HTTPS metu"
## Ngidini kiriman SMTP metu
tcp dport pengajuan ct state new \
nglawan \
nampa \
komentar "Izin kiriman SMTP metu"
## Ngidini panjalukan DNS metu
udp dport 53 \
nglawan \
nampa \
komentar "Izini panjalukan DNS UDP metu"
tcp dport 53 \
nglawan \
nampa \
komentar "Izini panjalukan DNS TCP metu"
## Ngidini panjalukan NTP metu
udp dport 123 \
nglawan \
nampa \
komentar "Izin panjalukan NTP metu"
## Log sembarang lalu lintas unmatched nanging rate watesan logging nganti maksimal 60 pesen / menit
## Kabijakan standar bakal ditrapake kanggo lalu lintas sing ora cocog
tingkat watesan 60/menit bledosan 100 paket \
awalan log "MELU - Drop:" \
komentar "Log log lalu lintas sing ora cocog"
## Ngitung lalu lintas sing ora cocog
nglawan \
komentar "Ngetung lalu lintas sing ora cocog"
}
}
# Tabel panyaring NAT utama
tabel inet nat {
# Aturan kanggo pra-rute lalu lintas NAT
chain prerouting {
ketik nat pancing prerouting prioritas dstnat; kawicaksanan nampa
}
# Aturan kanggo kiriman lalu lintas NAT
# Tabel iki diproses sadurunge chain kirim-nuntun Firezone
chain postrouting {
ketik nat hook postrouting priority srcnat – 5; kawicaksanan nampa
}
}
Firewall kudu disimpen ing lokasi sing cocog kanggo distribusi Linux sing lagi mlaku. Kanggo Debian/Ubuntu iki /etc/nftables.conf lan kanggo RHEL iki /etc/sysconfig/nftables.conf.
nftables.service kudu dikonfigurasi kanggo miwiti nalika boot (yen durung) disetel:
systemctl ngaktifake nftables.service
Yen nggawe owah-owahan ing cithakan firewall, sintaks bisa divalidasi kanthi nglakokake printah mriksa:
nft -f /path/to/nftables.conf -c
Priksa manawa kanggo ngesyahke firewall bisa digunakake kaya sing dikarepake amarga fitur nftables tartamtu bisa uga ora kasedhiya gumantung saka rilis sing mlaku ing server.
_______________________________________________________________
Dokumen iki menehi ringkesan babagan telemetri Firezone sing diklumpukake saka conto sing di-host dhewe lan carane mateni.
zona geni gumantung ing telemetri kanggo prioritize roadmap kita lan ngoptimalake sumber daya engineering kita kudu nggawe Firezone luwih apik kanggo kabeh wong.
Telemetri sing diklumpukake duwe tujuan kanggo mangsuli pitakon ing ngisor iki:
Ana telung panggonan utama ing ngendi telemetri dikumpulake ing Firezone:
Ing saben telung konteks iki, kita njupuk jumlah minimal data sing dibutuhake kanggo njawab pitakonan ing bagean ndhuwur.
Email admin diklumpukake mung yen sampeyan kanthi tegas milih nganyari produk. Yen ora, informasi sing bisa dingerteni pribadi yaiku tau diklumpukake.
Firezone nyimpen telemetri ing conto sing dadi tuan rumah PostHog sing mlaku ing kluster Kubernetes pribadi, mung bisa diakses dening tim Firezone. Iki minangka conto acara telemetri sing dikirim saka instance Firezone menyang server telemetri kita:
{
tindak: “0182272d-0b88-0000-d419-7b9a413713f1”,
"cap wektu": “2022-07-22T18:30:39.748000+00:00”,
"acara": "fz_http_diwiwiti",
"id_beda": “1ec2e794-1c3e-43fc-a78f-1db6d1a37f54”,
"properti":{
“$geoip_city_name”: "Ashburn",
"$geoip_continent_code": "NA",
"$geoip_continent_name": “Amerika Utara”,
"$geoip_country_code": "AS",
“$geoip_country_name”: "Amerika Serikat",
"$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)"
],
"id_beda": “1zc2e794-1c3e-43fc-a78f-1db6d1a37f54”,
"fqdn": "awsdemo.firezone.dev",
"versi_kernel": "linux 5.13.0",
"versi": "0.4.6"
},
"unsur_rantai": ""
}
CATETAN
Tim pangembangan Firezone gumantung ing analytics produk kanggo nggawe Firezone luwih apik kanggo kabeh wong. Ninggalake telemetri aktif minangka siji-sijine kontribusi sing paling penting sing bisa ditindakake kanggo pangembangan Firezone. Sing jarene, kita ngerti sawetara pangguna duwe syarat privasi utawa keamanan sing luwih dhuwur lan luwih seneng mateni telemetri kabeh. Yen sampeyan iku, terus maca.
Telemetri diaktifake kanthi gawan. Kanggo mateni telemetri produk, setel pilihan konfigurasi ing ngisor iki dadi palsu ing /etc/firezone/firezone.rb lan mbukak sudo firezone-ctl reconfigure kanggo njupuk owah-owahan.
gawan['firezone']['telemetri']['diaktifake'] = palsu
Iki bakal mateni kabeh telemetri produk.
Hailbytes
9511 Ratu Pengawal Ct.
Laurel, MD 20723
Phone: (732) 771-9995
Email: info@hailbytes.com