Hailbytes VPN Kanthi Dokumentasi Firezone Firewall

Bab lan Paragraf

njaluk Diwiwiti

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.

Pandhuan kanggo Konfigurasi Umum

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.

njaluk Support

Kita seneng mbantu sampeyan yen sampeyan butuh pitulung kanggo nginstal, ngatur, utawa nggunakake Hailbytes VPN.

bukti asli

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:

  1. discovery_document_uri: Ing URI konfigurasi panyedhiya OpenID Connect sing ngasilake dokumen JSON sing digunakake kanggo mbangun panjalukan sakteruse menyang panyedhiya OIDC iki.
  2. client_id: ID klien aplikasi.
  3. client_secret: Rahasia klien saka aplikasi.
  4. redirect_uri: Ngarahake panyedhiya OIDC menyang ngendi pangalihan sawise otentikasi. Iki kudu dadi Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (contone https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Setel menyang kode.
  6. lingkup: ruang lingkup OIDC kanggo entuk saka panyedhiya OIDC sampeyan. Iki kudu disetel kanggo mbukak profil email utawa mbukak profil email offline_access gumantung saka panyedhiya.
  7. label: Teks label tombol sing katon ing layar mlebu Firezone.

URL ayu

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:

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

Pandhuan Kanggo Persiyapan Firezone Kanthi Panyedhiya Identitas Popular

Panyedhiya kita duwe dokumentasi kanggo:

  • Google
  • Okta
  • Direktur Aktif Azure
  • Onelogin
  • Otentikasi Lokal

 

Yen panyedhiya identitas sampeyan duwe konektor OIDC umum lan ora kadhaptar ing ndhuwur, bukak dokumentasi kanggo informasi babagan cara njupuk setelan konfigurasi sing dibutuhake.

Njaga Otentikasi Ulang Reguler

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.

Otentikasi maneh

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.

Google

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. discovery_document_uri: Ing URI konfigurasi panyedhiya OpenID Connect sing ngasilake dokumen JSON sing digunakake kanggo mbangun panjalukan sakteruse menyang panyedhiya OIDC iki.
  2. client_id: ID klien aplikasi.
  3. client_secret: Rahasia klien saka aplikasi.
  4. redirect_uri: Ngarahake panyedhiya OIDC menyang ngendi pangalihan sawise otentikasi. Iki kudu dadi Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (contone https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Setel menyang kode.
  6. lingkup: ruang lingkup OIDC kanggo entuk saka panyedhiya OIDC sampeyan. Iki kudu disetel kanggo mbukak profil email kanggo nyedhiyani Firezone karo email pangguna ing claims bali.
  7. label: Teks label tombol sing katon ing layar mlebu Firezone.

Entuk Setelan Konfigurasi

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:

  1. Jeneng app: Firezone
  2. Logo aplikasi: Logo Firezone (simpen link minangka).
  3. Kaca ngarep aplikasi: URL conto Firezone sampeyan.
  4. Domain sah: domain tingkat paling dhuwur saka conto Firezone sampeyan.

 

 

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:

  1. Setel Tipe Aplikasi menyang aplikasi Web
  2. Tambah Firezone sampeyan EXTERNAL_URL + /auth/oidc/google/callback/ (contone https://instance-id.yourfirezone.com/auth/oidc/google/callback/) minangka entri menyang URI pangalihan Sah.

 

Sawise nggawe ID klien OAuth, sampeyan bakal diwenehi ID Klien lan Rahasia Klien. Iki bakal digunakake bebarengan karo pangalihan URI ing langkah sabanjure.

Integrasi Firezone

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.

Okta

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:

  1. discovery_document_uri: Ing URI konfigurasi panyedhiya OpenID Connect sing ngasilake dokumen JSON sing digunakake kanggo mbangun panjalukan sakteruse menyang panyedhiya OIDC iki.
  2. client_id: ID klien aplikasi.
  3. client_secret: Rahasia klien saka aplikasi.
  4. redirect_uri: Ngarahake panyedhiya OIDC menyang ngendi pangalihan sawise otentikasi. Iki kudu dadi Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (contone https://instance-id.yourfirezone.com/auth/oidc/okta/callback/).
  5. response_type: Setel menyang kode.
  6. lingkup: ruang lingkup OIDC kanggo entuk saka panyedhiya OIDC sampeyan. Iki kudu disetel kanggo mbukak profil email offline_access kanggo nyedhiyakake Firezone karo email pangguna ing klaim bali.
  7. label: Teks label tombol sing katon ing layar mlebu Firezone.

 

Integrasi Aplikasi Okta

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:

  1. Jeneng app: Firezone
  2. Logo aplikasi: Logo Firezone (simpen link minangka).
  3. Jinis Grant: Priksa kothak Refresh Token. Iki njamin Firezone nyinkronake karo panyedhiya identitas lan akses VPN diakhiri sawise pangguna dibusak.
  4. URI pangalihan mlebu: Tambahake Firezone EXTERNAL_URL + /auth/oidc/okta/callback/ (contone https://instance-id.yourfirezone.com/auth/oidc/okta/callback/) minangka entri menyang URI pangalihan Sah .
  5. Assignments: Watesan menyang grup sing pengin menehi akses menyang conto Firezone.

Sawise setelan disimpen, sampeyan bakal diwenehi ID Klien, Rahasia Klien, lan Domain Okta. Iki 3 nilai bakal digunakake ing Langkah 2 kanggo ngatur Firezone.

Integrasi 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.

 

Watesi Akses Kanggo Pangguna Tertentu

Pangguna sing bisa ngakses aplikasi Firezone bisa diwatesi dening Okta. Pindhah menyang kaca Tugas Integrasi Aplikasi Firezone Okta Admin Console kanggo ngrampungake iki.

Direktur Aktif Azure

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:

  1. discovery_document_uri: Ing URI konfigurasi panyedhiya OpenID Connect sing ngasilake dokumen JSON sing digunakake kanggo mbangun panjalukan sakteruse menyang panyedhiya OIDC iki.
  2. client_id: ID klien aplikasi.
  3. client_secret: Rahasia klien saka aplikasi.
  4. redirect_uri: Ngarahake panyedhiya OIDC menyang ngendi pangalihan sawise otentikasi. Iki kudu dadi Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (contone https://instance-id.yourfirezone.com/auth/oidc/azure/callback/).
  5. response_type: Setel menyang kode.
  6. lingkup: ruang lingkup OIDC kanggo entuk saka panyedhiya OIDC sampeyan. Iki kudu disetel kanggo mbukak profil email offline_access kanggo nyedhiyakake Firezone karo email pangguna ing klaim bali.
  7. label: Teks label tombol sing katon ing layar mlebu Firezone.

Entuk Setelan Konfigurasi

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:

  1. Jeneng: Firezone
  2. Jinis akun sing didhukung: (Direktori Default mung - Penyewa tunggal)
  3. Pangalihan URI: Iki kudu dadi firezone EXTERNAL_URL + /auth/oidc/azure/callback/ (contone https://instance-id.yourfirezone.com/auth/oidc/azure/callback/). Priksa manawa sampeyan kalebu garis miring. Iki bakal dadi nilai redirect_uri.

 

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.

Integrasi Firezone

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.

Cara: Watesi Akses menyang Anggota Tertentu

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.

Ngaturake

  • ngatur
  • Ngatur Instalasi
  • upgrade
  • troubleshoot
  • Pertimbangan Keamanan
  • Mlaku SQL Queries

ngatur

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.

Ngatur Instalasi

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.

upgrade

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:

  1. Nganyarke paket firezone nggunakake siji-command install: sudo -E bash -c "$(curl -fsSL https://github.com/firezone/firezone/raw/master/scripts/install.sh)"
  2. Jalanake firezone-ctl reconfigure kanggo njupuk owah-owahan anyar.
  3. Jalanake firezone-ctl restart kanggo miwiti maneh layanan.

Yen ana masalah, kabari karo ngajokake tiket dhukungan.

Nganyarke Saka <0.5.0 dadi >=0.5.0

Ana sawetara owah-owahan bejat lan modifikasi konfigurasi ing 0.5.0 sing kudu ditangani. Temokake luwih lengkap ing ngisor iki.

Panjaluk Nginx non_ssl_port (HTTP) sing dibundel dibusak

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 ).

Dhukungan Protokol ACME

0.5.0 ngenalake dhukungan protokol ACME kanggo nganyari sertifikat SSL kanthi otomatis kanthi layanan Nginx sing dibundel. Kanggo ngaktifake,

  • Priksa manawa standar ['firezone']['external_url'] ngemot FQDN sing bener sing bisa ditrapake menyang alamat IP umum server sampeyan.
  • Priksa manawa port 80/tcp bisa digayuh
  • Aktifake dhukungan protokol ACME kanthi standar ['firezone']['ssl']['acme']['enabled'] = bener ing file konfigurasi sampeyan.

Tujuan Aturan Egress Tumpang tindih

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.

Preconfiguring Okta lan Google SSO

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.

Nganyarke saka 0.3.x dadi >= 0.3.16

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.

Nganyarke saka 0.3.1 dadi >= 0.3.2

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.

Nganyarke saka 0.2.x kanggo 0.3.x

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.

Nganyarke saka 0.1.x kanggo 0.2.x

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

Ngatasi masalah

Priksa log Firezone minangka langkah pisanan sing wicaksana kanggo masalah apa wae sing bisa kedadeyan.

Bukak sudo firezone-ctl tail kanggo ndeleng log Firezone.

Masalah Konektivitas Debugging

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.

Konektivitas Internet Mudhun nalika Tunnel Aktif

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)

Pertimbangan Keamanan

Disaranake mbatesi akses menyang antarmuka web kanggo penyebaran produksi sing sensitif banget lan kritis, kaya sing diterangake ing ngisor iki.

Layanan & Pelabuhan

 

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.

Penyebaran Produksi

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.

Run SQL Queries

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:

 

  • Listing kabeh pangguna
  • Listing kabeh piranti
  • Ngganti peran pangguna
  • Nggawe serep database



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

Pangguna Panuntun

  • Tambah Pangguna
  • Tambah Piranti
  • Aturan Egress
  • Instruksi Klien
  • Split Tunnel VPN
  • Terowongan Mundur 
  • Lawang NAT

Tambah Pangguna

Sawise Firezone wis sukses disebarake, sampeyan kudu nambah pangguna kanggo menehi akses menyang jaringan sampeyan. UI Web digunakake kanggo nindakake iki.

 

UI Web


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

Tambah Piranti

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.

 

Ngasilake konfigurasi piranti admin

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.

Aturan Egress

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.

Instruksi Klien

Instal lan konfigurasi

Kanggo nggawe sambungan VPN nggunakake klien WireGuard asli, deleng pandhuan iki.

 

1. Instal klien WireGuard asli

 

Klien WireGuard Resmi sing ana ing kene kompatibel karo Firezone:

 

MacOS

 

Windows

 

iOS

 

Android

 

Bukak situs web WireGuard resmi ing https://www.wireguard.com/install/ kanggo sistem OS sing ora kasebut ing ndhuwur.

 

2. Ngundhuh file konfigurasi piranti

 

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]

 

3. Tambah konfigurasi klien

 

Impor file the.conf menyang klien WireGuard kanthi mbukak. Kanthi flipping saklar Aktifake, sampeyan bisa miwiti sesi VPN.

 

[Sisipake Screenshot]

Sesi Reauthentication

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).

 

1. Pateni sambungan VPN

 

[Sisipake Screenshot]

 

2. Authenticate maneh 

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]

 

Langkah 3: Bukak sesi VPN

[Sisipake Screenshot]

Network Manager kanggo Linux

Kanggo ngimpor profil konfigurasi WireGuard nggunakake Network Manager CLI ing piranti Linux, tindakake pandhuan iki (nmcli).

CATETAN

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

1. Instal WireGuard Tools 

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.

2. Download konfigurasi 

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]

3. Impor setelan

Ngimpor file konfigurasi sing diwenehake nggunakake nmcli:

sudo nmcli sambungan ngimpor jinis file wireguard /path/to/configuration.conf

CATETAN

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]

4. Sambungake utawa pedhot

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.

Sambungan Auto

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

Nggawe Multi-Factor Authentication kasedhiya

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.

Split Tunnel VPN

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.

 

1. Konfigurasi IP sing diidini 

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.



CATETAN

Firezone milih antarmuka egress sing digandhengake karo rute sing paling tepat nalika nemtokake rute paket.

 

2. Regenerate konfigurasi WireGuard

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

Terowongan Mundur

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.

 

Node menyang Node 

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.

 

Piranti A

 

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.



piranti B

 

AllowedIPs = 10.3.2.3/32

Iki minangka IP utawa sawetara IP Piranti A

PersistentKeepalive = 25

Kasus Admin - Siji nganti Akeh Node

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.

 

Piranti A (Simpul Administrator)

 

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.

 

Piranti B

 

  • AllowedIPs = 10.3.2.2/32: Iki minangka IP utawa sawetara IP Piranti A
  • PersistentKeepalive = 25

Piranti C

 

  • AllowedIPs = 10.3.2.2/32: Iki minangka IP utawa sawetara IP Piranti A
  • PersistentKeepalive = 25

Piranti D

 

  • AllowedIPs = 10.3.2.2/32: Iki minangka IP utawa sawetara IP Piranti A
  • PersistentKeepalive = 25

Lawang NAT

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.

Tuladha AWS

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.

 

1. Instal server Firezone

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]<<<<<<<<<<<<<<<<<<<<<<<<

 

2. Watesi akses menyang sumber daya sing dilindhungi

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).

 

3. Gunakake server VPN kanggo ngarahake lalu lintas menyang sumber sing dilindhungi

 

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.

Tambah Teks Kepala Sampeyan

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']

Aktifake utawa mateni HSTS.

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']

Hash opsi kanggo ngirim menyang: ssl_opts pilihan nalika nyambung liwat SSL. Delengen Ecto.Adapters.Postgres dokumentasi.

{}

default['firezone']['database']['parameter']

Hash paramèter kanggo dikirim menyang opsi: parameter nalika nyambung menyang database. Delengen Ecto.Adapters.Postgres dokumentasi.

{}

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']

server ACME digunakake kanggo certificate ditokake / nganyari maneh. Bisa wae server acme.sh sing bener

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



________________________________________________________________

 

Lokasi File lan Direktori

 

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.



__________________________________________________________

 

Cithakan Firewall

 

Kaca iki kosong ing docs

 

_____________________________________________________________

 

Nftables Firewall Cithakan

 

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:

  • Antarmuka WireGuard dijenengi wg-firezone. Yen iki ora bener, ganti variabel DEV_WIREGUARD supaya cocog karo pilihan konfigurasi standar ['firezone']['wireguard']['interface_name'].
  • Port WireGuard ngrungokake iku 51820. Yen sampeyan ora nggunakake port standar ngganti variabel WIREGUARD_PORT.
  • Mung lalu lintas mlebu ing ngisor iki sing bakal diidini menyang server:
    • SSH (port TCP 22)
    • HTTP (port TCP 80)
    • HTTPS (port TCP 443)
    • WireGuard (port UDP WIREGUARD_PORT)
    • UDP traceroute (port UDP 33434-33524, tarif diwatesi nganti 500/detik)
    • ICMP lan ICMPv6 (tingkat respon ping/ping diwatesi nganti 2000/detik)
  • Mung lalu lintas metu ing ngisor iki sing bakal diidini saka server:
    • DNS (Port UDP lan TCP 53)
    • HTTP (port TCP 80)
    • NTP (port UDP 123)
    • HTTPS (port TCP 443)
    • Kiriman SMTP (port TCP 587)
    • UDP traceroute (port UDP 33434-33524, tarif diwatesi nganti 500/detik)
  • Lalu lintas sing ora cocog bakal dicathet. Aturan sing digunakake kanggo logging dipisahake saka aturan kanggo nyelehake lalu lintas lan diwatesi. Mbusak aturan logging sing cocog ora bakal mengaruhi lalu lintas.

Aturan Ngatur Firezone

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

Base Firewall Cithakan

#!/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

 }

 

}

Dianggo

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.



_______________________________________________________________



Telemetry

 

Dokumen iki menehi ringkesan babagan telemetri Firezone sing diklumpukake saka conto sing di-host dhewe lan carane mateni.

Napa Firezone ngumpulake telemetri

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:

  • Pira wong sing nginstal, nggunakake, lan mandheg nggunakake Firezone?
  • Apa fitur sing paling larang regane, lan sing ora ana gunane?
  • Fungsi apa sing mbutuhake dandan paling akeh?
  • Nalika ana sing rusak, kenapa rusak, lan kepiye carane nyegah kedadeyan kasebut ing mangsa ngarep?

Carane kita ngumpulake telemetri

Ana telung panggonan utama ing ngendi telemetri dikumpulake ing Firezone:

  1. Paket telemetri. Kalebu acara kayata nginstal, mbusak, lan nganyarke.
  2. Telemetri CLI saka printah firezone-ctl.
  3. Telemetri produk sing digandhengake karo portal Web.

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": ""

}

Cara mateni telemetri

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.