Hailbytes VPN Sareng Dokuméntasi Firezone Firewall

Daptar eusi

perlu Mimitian

Pitunjuk léngkah-léngkah pikeun nyebarkeun Hailbytes VPN sareng Firezone GUI disayogikeun di dieu. 

Administrator: Nyetél conto server langsung aya hubunganana sareng bagian ieu.

Pituduh Pamaké: Dokumén mantuan anu tiasa ngajarkeun anjeun kumaha ngagunakeun Firezone sareng ngarengsekeun masalah anu biasa. Saatos server geus hasil deployed, tingal bagian ieu.

Pituduh pikeun Konfigurasi umum

Split Tunneling: Anggo VPN ngan ukur ngirim lalu lintas ka rentang IP khusus.

Whitelisting: Setel alamat IP statik server VPN pikeun ngagunakeun whitelisting.

Torowongan Balik: Jieun torowongan antara sababaraha peers nganggo torowongan sabalikna.

meunangkeun Rojongan

Kami resep ngabantosan anjeun upami anjeun peryogi bantosan masang, ngaropea, atanapi nganggo Hailbytes VPN.

auténtikasi

Sateuacan pangguna tiasa ngahasilkeun atanapi ngaunduh file konfigurasi alat, Firezone tiasa dikonpigurasi pikeun meryogikeun auténtikasi. Pamaké ogé kedah périodik nga-auténtikasi deui supados sambungan VPN tetep aktip.

Sanaos metode login standar Firezone nyaéta email sareng kecap akses lokal, éta ogé tiasa dihijikeun sareng panyadia identitas OpenID Connect (OIDC) anu standar. Pamaké ayeuna tiasa lebet kana Firezone nganggo Okta, Google, Azure AD, atanapi kredensial panyadia identitas pribadi.

 

Ngahijikeun Panyadia OIDC Generik

Parameter konfigurasi diperlukeun ku Firezone pikeun ngidinan SSO ngagunakeun panyadia OIDC ditémbongkeun dina conto di handap ieu. Di /etc/firezone/firezone.rb, anjeun tiasa mendakan file konfigurasi. Jalankeun firezone-ctl reconfigure sareng firezone-ctl balikan deui pikeun ngapdet aplikasi sareng ngalaksanakeun parobihan.

 

# Ieu conto ngagunakeun Google sareng Okta salaku panyadia identitas SSO.

# Sababaraha konfigurasi OIDC tiasa ditambah kana conto Firezone anu sami.

 

# Firezone tiasa nganonaktipkeun VPN pangguna upami aya kasalahan anu dideteksi nalika nyobian

# pikeun refresh access_token maranéhanana. Ieu diverifikasi dianggo pikeun Google, Okta, jeung

# Azure SSO sareng dianggo pikeun otomatis megatkeun sambungan VPN pangguna upami aranjeunna dihapus

# ti panyadia OIDC. Ninggalkeun ieu ditumpurkeun lamun panyadia OIDC Anjeun

# boga masalah refreshing aksés tokens sakumaha eta bisa disangka ngaganggu a

# sési VPN pangguna.

standar['firezone']['auténtikasi']['disable_vpn_on_oidc_error'] = palsu

 

standar['firezone']['auténtikasi']['oidc'] = {

  google: {

    discovery_document_uri: "https://accounts.google.com/.well-known/openid-configuration",

    id_klien: " ”,

    klien_rahasia: " ”,

    redirect_uri: "https://instance-id.yourfirezone.com/auth/oidc/google/callback/",

    response_type: "kode",

    wengkuan: "propil email kabuka",

    label: "Google"

  },

  okta: {

    discovery_document_uri: "https:// /.well-known/openid-configuration",

    id_klien: " ”,

    klien_rahasia: " ”,

    redirect_uri: "https://instance-id.yourfirezone.com/auth/oidc/okta/callback/",

    response_type: "kode",

    wengkuan: "profil email kabuka offline_aksés",

    label: "Okta"

  }

}



Setélan config di handap ieu diperlukeun pikeun integrasi:

  1. discovery_document_uri: The URI konfigurasi panyadia OpenID Connect nu mulih hiji dokumen JSON dipaké pikeun nyusunna requests saterusna ka panyadia OIDC ieu.
  2. client_id: ID klien tina aplikasi.
  3. client_secret: Rahasia klien tina aplikasi.
  4. redirect_uri: Instructs panyadia OIDC dimana alihan sanggeus auténtikasi. Ieu kedah Firezone Anjeun EXTERNAL_URL + /auth/oidc/ /callback/ (contona https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Setel kana kode.
  6. wengkuan: lingkup OIDC pikeun ménta ti panyadia OIDC Anjeun. Ieu kudu disetel ka openid profil email atawa openid profil email offline_access gumantung panyadia.
  7. labél: Téks labél tombol nu nembongkeun up dina layar login Firezone Anjeun.

URL geulis

Pikeun unggal panyadia OIDC, URL geulis anu cocog diciptakeun pikeun alihan ka URL asup panyadia anu dikonpigurasi. Pikeun conto konfigurasi OIDC di luhur, URLna nyaéta:

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

Parentah Pikeun Setup Firezone Jeung Panyadia Identity Popular

Panyadia kami gaduh dokuméntasi pikeun:

  • Google
  • Okta
  • Diréktori Azure Aktip
  • Onelogin
  • Auténtikasi Lokal

 

Upami panyadia idéntitas anjeun gaduh panyambung OIDC umum sareng henteu didaptarkeun di luhur, mangga buka dokuméntasina kanggo inpormasi ngeunaan cara nyandak setélan konfigurasi anu diperyogikeun.

Ngajaga Biasa Re-Auténtikasi

Setélan dina setélan/kaamanan bisa dirobah pikeun merlukeun auténtikasi ulang periodik. Ieu tiasa dianggo pikeun ngalaksanakeun sarat yén pangguna asup kana Firezone sacara rutin pikeun neraskeun sési VPN na.

Panjang sési tiasa dikonpigurasi janten antara sajam sareng salapan puluh dinten. Ku netepkeun ieu Never, anjeun tiasa ngaktipkeun sesi VPN iraha waé. Ieu standar.

Re-auténtikasi

A pamaké kudu nungtungan sési VPN maranéhanana sarta asup ka portal Firezone guna ulang auténtikasi sési VPN kadaluwarsa (URL dieusian salila deployment).

Anjeun tiasa nga-auténtikasi deui sési anjeun ku nuturkeun paréntah klien anu tepat anu aya di dieu.

 

Status Sambungan VPN

Kolom tabel VPN Connection kaca Pamaké mintonkeun status sambungan pamaké. Ieu mangrupikeun status sambungan:

DIaktipkeun - Sambungan diaktipkeun.

Ditumpurkeun - Sambungan dipareuman ku administrator atanapi gagal refresh OIDC.

EXPIRED - Sambungan dipareuman kusabab kadaluwarsa auténtikasi atanapi pangguna henteu acan asup pikeun kahiji kalina.

Google

Ngaliwatan panyambung OIDC umum, Firezone ngaktifkeun Single Sign-On (SSO) sareng Google Workspace sareng Cloud Identity. Pituduh ieu bakal nunjukkeun anjeun kumaha kéngingkeun parameter konfigurasi anu didaptarkeun di handap, anu dipikabutuh pikeun integrasi:

  1. discovery_document_uri: The URI konfigurasi panyadia OpenID Connect nu mulih hiji dokumen JSON dipaké pikeun nyusunna requests saterusna ka panyadia OIDC ieu.
  2. client_id: ID klien tina aplikasi.
  3. client_secret: Rahasia klien tina aplikasi.
  4. redirect_uri: Instructs panyadia OIDC dimana alihan sanggeus auténtikasi. Ieu kedah Firezone Anjeun EXTERNAL_URL + /auth/oidc/ /callback/ (contona https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Setel kana kode.
  6. wengkuan: lingkup OIDC pikeun ménta ti panyadia OIDC Anjeun. Ieu kedah disetel ka profil email anu dibuka pikeun nyayogikeun Firezone sareng email pangguna dina klaim anu dipulangkeun.
  7. labél: Téks labél tombol nu nembongkeun up dina layar login Firezone Anjeun.

Meunangkeun Setélan Konfigurasi

1. Layar OAuth Config

Upami ieu pertama kalina anjeun nyiptakeun ID klien OAuth énggal, anjeun bakal dipenta pikeun ngonpigurasikeun layar idin.

*Pilih Internal pikeun jinis pangguna. Ieu mastikeun ngan ukur akun milik pangguna dina Organisasi Google Workspace anjeun tiasa ngadamel konfigurasi alat. ULAH pilih Eksternal kecuali anjeun hoyong ngaktipkeun saha waé anu gaduh Akun Google anu sah pikeun nyiptakeun konfigurasi alat.

 

Dina layar inpormasi App:

  1. Ngaran aplikasi: Firezone
  2. Logo aplikasi: logo Firezone (simpen link salaku).
  3. Halaman imah aplikasi: URL instance Firezone anjeun.
  4. Domain otorisasi: domain tingkat luhur tina conto Firezone anjeun.

 

 

2. Jieun ID Klién OAuth

Bagian ieu dumasar kana dokuméntasi Google sorangan dina nyetél OAuth 2.0.

Nganjang ka Google Cloud Console Kaca Kapercayaan kaca, klik + Jieun Kapercayaan tur pilih ID klien OAuth.

Dina layar kreasi ID klien OAuth:

  1. Setel Jenis Aplikasi ka aplikasi Wéb
  2. Tambahkeun Firezone Anjeun EXTERNAL_URL + /auth/oidc/google/callback/ (misalna https://instance-id.yourfirezone.com/auth/oidc/google/callback/) salaku entri ka URI alihan Otorisasi.

 

Saatos nyiptakeun ID klien OAuth, anjeun bakal dibéré ID Klién sareng Rahasia Klién. Ieu bakal dipaké babarengan jeung URI alihan dina lengkah saterusna.

Pamaduan Firezone

édit /etc/firezone/firezone.rb ngawengku pilihan di handap:

 

# Ngagunakeun Google salaku panyadia identitas SSO

standar['firezone']['auténtikasi']['oidc'] = {

  google: {

    discovery_document_uri: "https://accounts.google.com/.well-known/openid-configuration",

    id_klien: " ”,

    klien_rahasia: " ”,

    redirect_uri: "https://instance-id.yourfirezone.com/auth/oidc/google/callback/",

    response_type: "kode",

    wengkuan: "propil email kabuka",

    label: "Google"

  }

}

 

Jalankeun firezone-ctl reconfigure sareng firezone-ctl balikan deui pikeun ngapdet aplikasi. Ayeuna anjeun kedah ningali tombol Asup sareng Google dina akar URL Firezone.

Okta

Firezone ngagunakeun konektor OIDC generik pikeun mempermudah Single Sign-On (SSO) kalawan Okta. Tutorial ieu bakal nunjukkeun anjeun kumaha kéngingkeun parameter konfigurasi anu didaptarkeun di handap, anu dipikabutuh pikeun integrasi:

  1. discovery_document_uri: The URI konfigurasi panyadia OpenID Connect nu mulih hiji dokumen JSON dipaké pikeun nyusunna requests saterusna ka panyadia OIDC ieu.
  2. client_id: ID klien tina aplikasi.
  3. client_secret: Rahasia klien tina aplikasi.
  4. redirect_uri: Instructs panyadia OIDC dimana alihan sanggeus auténtikasi. Ieu kedah Firezone Anjeun EXTERNAL_URL + /auth/oidc/ /callback/ (contona https://instance-id.yourfirezone.com/auth/oidc/okta/callback/).
  5. response_type: Setel kana kode.
  6. wengkuan: lingkup OIDC pikeun ménta ti panyadia OIDC Anjeun. Ieu kedah disetel pikeun muka profil email offline_access pikeun nyayogikeun Firezone sareng email pangguna dina klaim anu dipulangkeun.
  7. labél: Téks labél tombol nu nembongkeun up dina layar login Firezone Anjeun.

 

Ngahijikeun Okta App

Bagian pituduh ieu dumasar kana Dokuméntasi Okta.

Dina Konsol Admin, buka Aplikasi> Aplikasi teras klik Jieun Integrasi Aplikasi. Setel metode asup ka OICD - OpenID Connect sareng jinis Aplikasi kana aplikasi wéb.

Konpigurasikeun setelan ieu:

  1. Ngaran aplikasi: Firezone
  2. Logo aplikasi: logo Firezone (simpen link salaku).
  3. Jenis Hibah: Pariksa kotak Refresh Token. Ieu mastikeun Firezone nyingkronkeun sareng panyadia idéntitas sareng aksés VPN ditungtungan saatos pangguna dipiceun.
  4. URI alihan asup: Tambihkeun Firezone EXTERNAL_URL + /auth/oidc/okta/callback/ (misalna https://instance-id.yourfirezone.com/auth/oidc/okta/callback/) salaku éntri kana URI alihan Otorisasi .
  5. Tugas: Wates ka grup anu anjeun hoyong masihan aksés kana conto Firezone anjeun.

Saatos setélan disimpen, anjeun bakal dibéré ID Klién, Rahasia Klién, sareng Domain Okta. 3 nilai ieu bakal dianggo dina Lengkah 2 pikeun ngonpigurasikeun Firezone.

Ngahijikeun Firezone

édit /etc/firezone/firezone.rb pikeun ngawengku pilihan di handap. Anjeun discovery_document_url bakal /.well-dipikawanoh/openid-configuration appended ka tungtung Anjeun okta_domain.

 

# Ngagunakeun Okta salaku panyadia identitas SSO

standar['firezone']['auténtikasi']['oidc'] = {

  okta: {

    discovery_document_uri: "https:// /.well-known/openid-configuration",

    id_klien: " ”,

    klien_rahasia: " ”,

    redirect_uri: "https://instance-id.yourfirezone.com/auth/oidc/okta/callback/",

    response_type: "kode",

    wengkuan: "profil email kabuka offline_aksés",

    label: "Okta"

  }

}

 

Jalankeun firezone-ctl reconfigure sareng firezone-ctl balikan deui pikeun ngapdet aplikasi. Ayeuna anjeun kedah ningali tombol Asup sareng Okta dina akar URL Firezone.

 

Watesan Aksés Ka Pamaké Tinangtu

Pangguna anu tiasa ngaksés aplikasi Firezone tiasa diwatesan ku Okta. Buka halaman Tugas Okta Admin Console's Firezone App Integration's Assignments pikeun ngalengkepan ieu.

Diréktori Azure Aktip

Ngaliwatan konektor OIDC generik, Firezone ngaktifkeun Single Sign-On (SSO) sareng Azure Active Directory. Manual ieu bakal nunjukkeun anjeun kumaha carana kéngingkeun parameter konfigurasi anu didaptarkeun di handap, anu dipikabutuh pikeun integrasi:

  1. discovery_document_uri: The URI konfigurasi panyadia OpenID Connect nu mulih hiji dokumen JSON dipaké pikeun nyusunna requests saterusna ka panyadia OIDC ieu.
  2. client_id: ID klien tina aplikasi.
  3. client_secret: Rahasia klien tina aplikasi.
  4. redirect_uri: Instructs panyadia OIDC dimana alihan sanggeus auténtikasi. Ieu kedah Firezone Anjeun EXTERNAL_URL + /auth/oidc/ /callback/ (contona https://instance-id.yourfirezone.com/auth/oidc/azure/callback/).
  5. response_type: Setel kana kode.
  6. wengkuan: lingkup OIDC pikeun ménta ti panyadia OIDC Anjeun. Ieu kedah disetel pikeun muka profil email offline_access pikeun nyayogikeun Firezone sareng email pangguna dina klaim anu dipulangkeun.
  7. labél: Téks labél tombol nu nembongkeun up dina layar login Firezone Anjeun.

Meunangkeun Setélan Konfigurasi

Pituduh ieu dicokot tina Azure Active Directory Docs.

 

Buka halaman Azure Active Directory portal Azure. Pilih pilihan menu Atur, pilih Pendaptaran Anyar, teras ngadaptarkeun ku nyayogikeun inpormasi di handap ieu:

  1. Ngaran: Firezone
  2. Jenis akun anu dirojong: (Diréktori Default wungkul - Panyewa Tunggal)
  3. Alihan URI: Ieu kedah firezone Anjeun EXTERNAL_URL + /auth/oidc/azure/callback/ (misalna https://instance-id.yourfirezone.com/auth/oidc/azure/callback/). Pastikeun anjeun kaasup slash labuh. Ieu bakal nilai redirect_uri.

 

Saatos ngadaptar, buka tampilan detil aplikasi sareng salin file Aplikasi (klien) ID. Ieu bakal nilai client_id. Salajengna, buka ménu titik tungtung pikeun meunangkeun deui Dokumén metadata OpenID Connect. Ieu bakal nilai discovery_document_uri.

 

Jieun rusiah klien anyar ku ngaklik pilihan Sertipikat & Rahasia dina menu Atur. Nyalin rusiah klien; nilai rusiah klien bakal kieu.

 

Anu pamungkas, pilih tautan idin API dina menu Atur, klik Tambahkeun idin, Tur pilih Microsoft Grafik, nambah email, dibuka, offline_aksés jeung keureutan ka idin diperlukeun.

Pamaduan Firezone

édit /etc/firezone/firezone.rb ngawengku pilihan di handap:

 

# Ngagunakeun Azure Active Directory salaku panyadia identitas SSO

standar['firezone']['auténtikasi']['oidc'] = {

  biruang: {

    discovery_document_uri: "https://login.microsoftonline.com/ /v2.0/.well-known/openid-configuration",

    id_klien: " ”,

    klien_rahasia: " ”,

    redirect_uri: "https://instance-id.yourfirezone.com/auth/oidc/azure/callback/",

    response_type: "kode",

    wengkuan: "profil email kabuka offline_aksés",

    Label: "Azure"

  }

}

 

Jalankeun firezone-ctl reconfigure sareng firezone-ctl balikan deui pikeun ngapdet aplikasi. Ayeuna anjeun kedah ningali tombol Asup sareng Azure dina akar URL Firezone.

Kumaha Carana: Watesan Aksés Ka Anggota Sawatara

Azure AD ngamungkinkeun pangurus ngawatesan aksés aplikasi ka grup pangguna khusus di perusahaan anjeun. Inpormasi langkung seueur ngeunaan cara ngalakukeun ieu tiasa dipendakan dina dokuméntasi Microsoft.

Ngatur

  • ngonpigurasikeun
  • Ngatur Pamasangan
  • pamutahiran
  • Troubleshoot
  • Pertimbangan Kaamanan
  • Ngajalankeun Query SQL

ngonpigurasikeun

Chef Omnibus dianggo ku Firezone pikeun ngatur tugas kalebet bungkusan pelepasan, pangawasan prosés, manajemén log, sareng seueur deui.

Kode Ruby nyusun file konfigurasi primér, anu perenahna di /etc/firezone/firezone.rb. Balikan deui sudo firezone-ctl reconfigure saatos ngadamel modifikasi kana file ieu nyababkeun Chef ngakuan perobahan sareng nerapkeunana kana sistem operasi ayeuna.

Tingali rujukan file konfigurasi pikeun daptar lengkep variabel konfigurasi sareng pedaranana.

Ngatur Pamasangan

Instance Firezone anjeun tiasa diurus via firezone-ctl paréntah, sakumaha ditémbongkeun di handap. Paling subcommands merlukeun prefixing kalawan sudo.

 

akar @ demo: ~ # firezone-ctl

omnibus-ctl: paréntah (subcommand)

Paréntah umum:

  cleanse

    Pupus * sadaya * data firezone, tur mimitian ti scratch.

  jieun-atawa-reset-admin

    Ngareset kecap akses pikeun admin sareng email anu ditunjuk sacara standar['firezone']['admin_email'] atanapi ngadamel admin énggal upami email éta teu aya.

  Tulung

    Nyitak pesen pitulung ieu.

  ngonpigurasikeun deui

    Reconfigure aplikasi.

  reset-jaringan

    Resets nftables, panganteur WireGuard, sarta routing tabel balik ka standar Firezone.

  némbongkeun-config

    Témbongkeun konfigurasi nu bakal dihasilkeun ku reconfigure.

  teardown-jaringan

    Ngahapus panganteur WireGuard na firezone nftables tabel.

  gaya-cert-pembaharuan

    Maksakeun pembaharuan sertipikat ayeuna sanajan tacan kadaluwarsa.

  eureun-cert-pembaharuan

    Ngahapus cronjob nu renews sertipikat.

  uninstall

    Maéhan sadaya prosés sareng cabut pamasangan pengawas prosés (data bakal dilestarikan).

  Vérsi

    Témbongkeun versi kiwari Firezone

Paréntah Manajemén Layanan:

  anggun-maéhan

    Coba eureun anggun, lajeng SIGKILL sakabéh grup prosés.

  hup

    Kirimkeun jasa HUP.

  int

    Kirimkeun jasa INT.

  maehan

    Kirimkeun jasa KILL.

  sakali

    Mimitian jasa upami aranjeunna turun. Ulah balikan deui lamun aranjeunna eureun.

  uihan deui

    Ngeureunkeun jasa upami aranjeunna ngajalankeun, teras ngamimitian deui.

  jasa-daptar

    Daptar sadaya jasa (jasa anu diaktipkeun muncul nganggo *.)

  ngamimitian

    Mimitian jasa upami aranjeunna turun, sareng balikan deui upami aranjeunna lirén.

  status

    Tampilkeun status sadaya jasa.

  Eureun

    Ngeureunkeun jasa, sareng ulah ngamimitian deui.

  buntut

    Lalajo log jasa sadaya jasa anu diaktipkeun.

  istilah

    Kirimkeun jasa hiji TERM.

  usr1

    Kirimkeun jasa a USR1.

  usr2

    Kirimkeun jasa a USR2.

pamutahiran

Sadaya sesi VPN kedah ditungtungan sateuacan ningkatkeun Firezone, anu ogé nyauran pikeun mareuman UI Wéb. Upami aya anu salah salami pamutahiran, kami nyarankeun nyéépkeun sajam kanggo pangropéa.

 

Pikeun ningkatkeun Firezone, laksanakeun tindakan ieu:

  1. Ningkatkeun pakét firezone nganggo hiji-paréntah install: sudo -E bash -c "$(curl -fsSL https://github.com/firezone/firezone/raw/master/scripts/install.sh)"
  2. Jalankeun firezone-ctl reconfigure pikeun nyandak parobihan énggal.
  3. Jalankeun firezone-ctl restart pikeun ngamimitian deui jasa.

Mun aya masalah timbul, mangga wartosan kami ku ngirimkeun tikét rojongan.

Ningkatkeun Ti <0.5.0 ka >=0.5.0

Aya sababaraha parobahan putus jeung modifikasi konfigurasi dina 0.5.0 nu kudu kajawab. Panggihan leuwih handap.

Dibuntel Nginx non_ssl_port (HTTP) requests dihapus

Nginx henteu deui ngadukung gaya SSL sareng parameter port non-SSL dina versi 0.5.0. Kusabab Firezone peryogi SSL pikeun dianggo, kami mamatahan miceun paket Nginx jasa ku netepkeun standar ['firezone']['nginx']['diaktipkeun'] = palsu sareng ngarahkeun proxy sabalikna anjeun ka aplikasi Phoenix dina port 13000 tibatan (sacara standar. ).

Rojongan Protokol ACME

0.5.0 ngenalkeun dukungan protokol ACME pikeun otomatis nganyarankeun sertipikat SSL sareng jasa Nginx anu dibuntel. Pikeun ngaktifkeun,

  • Pastikeun default['firezone']['external_url'] ngandung FQDN valid nu ngumbar ka alamat IP publik server anjeun.
  • Pastikeun port 80/tcp tiasa dihontal
  • Aktipkeun rojongan protokol ACME kalawan standar['firezone']['ssl']['acme']['diaktipkeun'] = leres dina file config Anjeun.

Tumpang tindih Egress Aturan Tujuan

Kamungkinan pikeun nambahkeun aturan jeung duplikat tujuan musna di Firezone 0.5.0. Skrip migrasi urang bakal otomatis ngakuan kaayaan ieu salila pamutahiran ka 0.5.0 sarta ngan tetep aturan nu tujuanana ngawengku aturan séjén. Henteu aya anu anjeun kedah laksanakeun upami ieu henteu kunanaon.

Upami teu kitu, sateuacan ningkatkeun, kami nyarankeun ngarobih aturan anjeun pikeun ngaleungitkeun kaayaan ieu.

Preconfiguring Okta jeung Google SSO

Firezone 0.5.0 ngaluarkeun rojongan pikeun Okta heubeul-gaya na Google SSO konfigurasi dina ni'mat anyar, konfigurasi basis OIDC leuwih fleksibel. 

Upami anjeun ngagaduhan konfigurasi dina konci standar['firezone']['authentication']['okta'] atanapi default['firezone']['authentication']['google'], anjeun kedah migrasikeun ieu ka OIDC kami -konfigurasi dumasar ngagunakeun pituduh handap.

Konfigurasi Google OAuth anu aya

Hapus garis-garis ieu anu ngandung configs Google OAuth anu lami tina file konfigurasi anjeun anu aya di /etc/firezone/firezone.rb

 

standar['firezone']['auténtikasi']['google']['diaktipkeun']

standar['firezone']['auténtikasi']['google']['client_id']

standar['firezone']['auténtikasi']['google']['client_secret']

standar['firezone']['auténtikasi']['google']['redirect_uri']

 

Teras, konfigurasi Google salaku panyadia OIDC ku nuturkeun prosedur di dieu.

(Nyadiakeun pituduh link)<<<<<<<<<<<<<<<<

 

Konpigurasikeun Google OAuth nu aya 

Cabut garis ieu anu ngandung konfigurasi Okta OAuth lami tina file konfigurasi anjeun anu aya di /etc/firezone/firezone.rb

 

standar['firezone']['auténtikasi']['okta']['diaktipkeun']

standar['firezone']['auténtikasi']['okta']['client_id']

standar['firezone']['auténtikasi']['okta']['client_secret']

Default['firezone']['auténtikasi']['okta']['situs']

 

Lajeng, ngonpigurasikeun Okta salaku panyadia OIDC ku nuturkeun prosedur di dieu.

Ningkatkeun tina 0.3.x ka > = 0.3.16

Gumantung kana setelan sareng versi anjeun ayeuna, turutan petunjuk di handap ieu:

Upami anjeun parantos gaduh integrasi OIDC:

Kanggo sababaraha panyadia OIDC, ningkatkeun ka>= 0.3.16 peryogi kéngingkeun token refresh pikeun ruang lingkup aksés offline. Ku ngalakukeun ieu, mastikeun yén Firezone ngamutahirkeun sareng panyadia idéntitas sareng sambungan VPN dipareuman saatos pangguna dihapus. Iterasi Firezone sateuacana henteu gaduh fitur ieu. Dina sababaraha kasus, pangguna anu dihapus tina panyadia idéntitas anjeun masih tiasa nyambung ka VPN.

Perlu ngalebetkeun aksés offline dina parameter wengkuan konfigurasi OIDC anjeun pikeun panyadia OIDC anu ngadukung wengkuan aksés offline. Firezone-ctl reconfigure kudu dieksekusi guna nerapkeun parobahan dina file konfigurasi Firezone, anu perenahna di /etc/firezone/firezone.rb.

Pikeun pangguna anu parantos dioténtikasi ku panyadia OIDC anjeun, anjeun bakal ningali judul OIDC Connections dina halaman wincik pangguna UI wéb upami Firezone tiasa suksés nyandak token refresh.

Upami ieu henteu tiasa dianggo, anjeun kedah ngahapus aplikasi OAuth anjeun anu tos aya sareng malikan deui léngkah-léngkah pangaturan OIDC ka nyieun integrasi aplikasi anyar .

Kuring boga integrasi OAuth aya

Sateuacan 0.3.11, Firezone nganggo panyadia OAuth2 anu tos dikonpigurasikeun. 

Turutan pitunjuk na Ieuh pikeun migrasi ka OIDC.

Kuring geus teu terpadu hiji panyadia identitas

Taya aksi diperlukeun. 

Anjeun tiasa turutan parentah Ieuh pikeun ngaktipkeun SSO ngaliwatan panyadia OIDC.

Ningkatkeun tina 0.3.1 ka >= 0.3.2

Gantina, standar['firezone']['url éksternal'] geus ngagantikeun pilihan konfigurasi standar['firezone']['fqdn']. 

Setel ieu kana URL portal online Firezone anjeun anu tiasa diaksés ku masarakat umum. Éta bakal ditunakeun kana https: // ditambah FQDN tina server anjeun upami ditinggalkeun henteu ditangtukeun.

File konfigurasi perenahna di /etc/firezone/firezone.rb. Tingali rujukan file konfigurasi pikeun daptar lengkep variabel konfigurasi sareng pedaranana.

Ningkatkeun tina 0.2.x ka 0.3.x

Firezone henteu deui nyimpen konci pribadi alat dina server Firezone dina versi 0.3.0. 

UI Web Firezone moal ngidinan Anjeun pikeun ngundeur ulang atawa ningali konfigurasi ieu, tapi sagala alat nu aya kudu terus beroperasi sakumaha-nyaéta.

Ningkatkeun tina 0.1.x ka 0.2.x

Upami anjeun ngamutahirkeun tina Firezone 0.1.x, aya sababaraha parobahan file konfigurasi anu kedah ditangani sacara manual. 

Pikeun nyieun modifikasi diperlukeun pikeun file /etc/firezone/firezone.rb anjeun, ngajalankeun paréntah di handap salaku root.

 

cp /etc/firezone/firezone.rb /etc/firezone/firezone.rb.bak

sed -i "s/\['enable'\]/\['enabled'\]/" /etc/firezone/firezone.rb

gema "standar ['firezone']['connectivity_checks']['diaktipkeun'] = leres" >> /etc/firezone/firezone.rb

gema "standar ['firezone']['connectivity_checks']['interval'] = 3_600" >> /etc/firezone/firezone.rb

firezone-ctl reconfigure

firezone-ctl balikan deui

Pamérésan masalah

Mariksa log Firezone mangrupikeun léngkah munggaran anu wijaksana pikeun sagala masalah anu tiasa kajantenan.

Jalankeun sudo firezone-ctl tail pikeun ningali log Firezone.

Debugging Masalah Konéktipitas

Mayoritas masalah konektipitas sareng Firezone disababkeun ku aturan iptables atanapi nftables anu teu cocog. Anjeun kudu mastikeun yén sagala aturan anjeun boga pangaruh teu pasea jeung aturan Firezone.

Konektipitas Internét Turun nalika Torowongan Aktif

Pastikeun ranté FORWARD ngijinkeun pakét ti klien WireGuard anjeun ka lokasi anu anjeun hoyongkeun ngalangkungan Firezone upami konektipitas Internét anjeun mudun unggal waktos anjeun ngaktipkeun torowongan WireGuard anjeun.

 

Ieu tiasa dihontal upami anjeun nganggo ufw ku mastikeun yén kawijakan routing standar diidinan:

 

ubuntu @ fz:~$ sudo ufw standar ngidinan routed

Kabijakan jalur standar dirobah jadi 'ngidinan'

(Pastikeun pikeun ngapdet aturan anjeun sasuai)

 

A Wow status pikeun server Firezone has bisa kasampak kawas kieu:

 

ubuntu@fz:~$ sudo ufw status verbose

Status: aktip

Logging: on (rendah)

Default: mungkir (asup), ngidinan (kaluar), ngidinan (routed)

propil anyar: skip

 

Pikeun Aksi Ti

————-

22/tcp AYA DI MANA-MANA

80/tcp AYA DI MANA-MANA

443/tcp AYUDKEUN DI Dimana waé

51820 / udp Ngidinan IN mana

22/tcp (v6) Idinan di mana waé (v6)

80/tcp (v6) Idinan di mana waé (v6)

443/tcp (v6) IZIN DI Dimana waé (v6)

51820/udp (v6) NYAAH DI Dimana waé (v6)

Pertimbangan Kaamanan

Kami mamatahan ngawatesan aksés ka antarmuka wéb pikeun panyebaran produksi anu sénsitip pisan sareng kritis, sakumaha anu dijelaskeun di handap ieu.

Jasa & Palabuhan

 

palayanan

Port Default

Dengekeun Alamat

gambaran

Nginx

80, 443

sadaya

Port HTTP (S) publik pikeun administering Firezone jeung facilitating auténtikasi.

penjaga kawat

51820

sadaya

Port WireGuard umum dipaké pikeun sesi VPN. (UDP)

postgresql

15432

127.0.0.1

Port lokal-hijina dipaké pikeun server Postgresql dibuntel.

Phoenix

13000

127.0.0.1

Port lokal-hijina dipaké ku server aplikasi elixir hulu.

Deployments Produksi

Kami mamatahan anjeun mikir ngeunaan ngabatesan aksés ka UI wéb Firezone sacara umum (sacara standar port 443/tcp sareng 80/tcp) sareng nganggo torowongan WireGuard pikeun ngatur Firezone pikeun produksi sareng panyebaran anu nyanghareup ka umum dimana hiji administrator bakal tanggung jawab. nyieun jeung ngadistribusikaeun konfigurasi alat ka pamaké tungtung.

 

Salaku conto, upami administrator nyiptakeun konfigurasi alat sareng nyiptakeun torowongan nganggo alamat WireGuard lokal 10.3.2.2, konfigurasi ufw di handap ieu bakal ngamungkinkeun administrator ngakses UI wéb Firezone dina antarmuka wg-firezone server nganggo standar 10.3.2.1. alamat torowongan:

 

root@demo:~# ufw status verbose

Status: aktip

Logging: on (rendah)

Default: mungkir (asup), ngidinan (kaluar), ngidinan (routed)

propil anyar: skip

 

Pikeun Aksi Ti

————-

22/tcp AYA DI MANA-MANA

51820 / udp Ngidinan IN mana

Di mana waé ngawenangkeun IN 10.3.2.2

22/tcp (v6) Idinan di mana waé (v6)

51820/udp (v6) NYAAH DI Dimana waé (v6)

Ieu ngan bakal ninggalkeun 22/tcp kakeunaan pikeun aksés SSH pikeun ngatur server (pilihan), jeung 51820/udp kakeunaan dina raraga ngadegkeun torowongan WireGuard.

Jalankeun SQL Query

Firezone bundles a Postgresql server na cocog psql utilitas anu tiasa dianggo tina cangkang lokal sapertos kieu:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d zona seuneu \

  -h localhost \

  -p 15432 \

  -c "SQL_STATEMENT"

 

Ieu tiasa mantuan pikeun tujuan debugging.

 

Tugas umum:

 

  • Listing sadaya pamaké
  • Listing sadaya alat
  • Ngarobah peran hiji pamaké
  • Nyadangkeun pangkalan data



Daptar sadaya pangguna:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d zona seuneu \

  -h localhost \

  -p 15432 \

  -c "PILIH * TI pamaké;"



Daptar sadaya alat:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d zona seuneu \

  -h localhost \

  -p 15432 \

  -c "PILIH * TI alat;"



Robah peran pamaké:

 

Setel peran ka 'admin' atawa 'unprivileged':

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d zona seuneu \

  -h localhost \

  -p 15432 \

  -c "UPDATE pangguna SET peran = 'admin' WHERE email = 'user@example.com';"



Nyadangkeun pangkalan data:

 

Salajengna, kalebet program pg dump, anu tiasa dianggo pikeun nyandak cadangan pangkalan data biasa. Ngaéksekusi kodeu handap pikeun dump salinan database dina format query SQL umum (ngaganti /path/to/backup.sql jeung lokasi dimana file SQL kudu dijieun):

 

/opt/firezone/embedded/bin/pg_dump \

  -U firezone \

  -d zona seuneu \

  -h localhost \

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

Panungtun pamaké

  • Tambahkeun Pamaké
  • Tambihan Alat
  • Aturan kaluar
  • Parentah klien
  • Split Torowongan VPN
  • Torowongan Balikkeun 
  • NAT Gateway

Tambahkeun Pamaké

Saatos Firezone parantos suksés disebarkeun, anjeun kedah nambihan pangguna pikeun masihan aranjeunna aksés kana jaringan anjeun. UI Wéb dianggo pikeun ngalakukeun ieu.

 

UI Wéb


Ku milih tombol "Tambahkeun Pamaké" dina / pamaké, anjeun tiasa nambihan pangguna. Anjeun bakal diperlukeun nyadiakeun pamaké alamat surélék tur kecap akses. Pikeun ngidinan aksés ka pamaké dina organisasi Anjeun sacara otomatis, Firezone ogé tiasa ngahubungkeun sareng nyingkronkeun sareng panyadia identitas. Langkung rinci aya dina Ngabuktoskeun kaaslianana. <Tambihkeun tautan ka Oténtikasi

Tambihan Alat

Kami mamatahan nyuhunkeun pangguna ngadamel konfigurasi alat sorangan supados konci pribadi ngan katingali ku aranjeunna. Pamaké bisa ngahasilkeun konfigurasi alat sorangan ku nuturkeun arah dina Parentah klien kaca.

 

Ngahasilkeun konfigurasi alat admin

Kabéh konfigurasi alat pamaké bisa dijieun ku admins Firezone. Dina halaman profil pangguna anu aya di / pangguna, pilih pilihan "Tambahkeun Alat" pikeun ngalengkepan ieu.

 

[Selapkeun Potret layar]

 

Anjeun tiasa ngirim email ka pangguna file konfigurasi WireGuard saatos nyiptakeun profil alat.

 

Pamaké jeung alat numbu. Pikeun detil salajengna ngeunaan kumaha carana nambahkeun pamaké, tingali Tambahkeun Pamaké.

Aturan kaluar

Ngaliwatan pamakean sistem netfilter kernel, Firezone ngamungkinkeun kamampuan panyaring kaluar pikeun netepkeun pakét DROP atanapi ACCEPT. Sadaya lalu lintas biasana diidinan.

 

IPv4 sareng IPv6 CIDR sareng alamat IP dirojong masing-masing via Allowlist sareng Denylist. Anjeun tiasa milih wengkuan aturan ka pangguna nalika nambihanana, anu nerapkeun aturan ka sadaya alat pangguna éta.

Parentah klien

Pasang sareng Konpigurasikeun

Pikeun nyieun sambungan VPN nganggo klien WireGuard asli, tingal pituduh ieu.

 

1. Pasang klien WireGuard asli

 

Klién WireGuard resmi anu aya di dieu cocog sareng Firezone:

 

MacOS

 

Windows

 

ios

 

Android

 

Nganjang ka ramatloka resmi WireGuard di https://www.wireguard.com/install/ pikeun sistem OS teu disebutkeun di luhur.

 

2. Ngundeur file konfigurasi alat

 

Boh administrator Firezone anjeun atanapi anjeun nyalira tiasa ngahasilkeun file konfigurasi alat nganggo portal Firezone.

 

Nganjang ka URL nu geus disadiakeun ku administrator Firezone anjeun pikeun nyieun sorangan file konfigurasi alat. teguh anjeun bakal boga URL unik pikeun ieu; dina hal ieu, éta https://instance-id.yourfirezone.com.

 

Asup ka Firezone Okta SSO

 

[Selapkeun Potret layar]

 

3. Tambahkeun konfigurasi klien urang

 

Impor file the.conf kana klien WireGuard ku cara mukakeunana. Ku ngabalikeun saklar Aktipkeun, anjeun tiasa ngamimitian sési VPN.

 

[Selapkeun Potret layar]

Sesi Reauthentication

Turutan pitunjuk di handap upami administrator jaringan anjeun parantos maréntahkeun auténtikasi ulang pikeun ngajaga sambungan VPN anjeun aktip. 



Anjeun peryogi:

 

URL portal Firezone: Tanya administrator jaringan anjeun pikeun sambungan.

Administrator jaringan anjeun kedah tiasa nawiskeun login sareng kecap akses anjeun. Situs Firezone bakal ngajurung anjeun pikeun log in nganggo jasa asup tunggal anu dianggo ku dunungan anjeun (sapertos Google atanapi Okta).

 

1. Pareuman sambungan VPN

 

[Selapkeun Potret layar]

 

2. Oténtikasi deui 

Pindah ka URL portal Firezone sareng log in nganggo kredensial anu disayogikeun ku administrator jaringan anjeun. Upami anjeun parantos lebet, klik tombol Reauthenticate sateuacan asup deui.

 

[Selapkeun Potret layar]

 

Lengkah 3: Jalankeun sési VPN

[Selapkeun Potret layar]

Manajer Jaringan pikeun Linux

Pikeun ngimpor profil konfigurasi WireGuard nganggo Network Manager CLI dina alat Linux, turutan parentah ieu (nmcli).

CATETAN

Upami profilna gaduh dukungan IPv6 diaktipkeun, nyobian ngimpor file konfigurasi nganggo GUI Manajer Jaringan tiasa gagal sareng kasalahan ieu:

ipv6.method: métode "otomatis" teu dirojong pikeun WireGuard

1. Pasang WireGuard Pakakas 

Perlu masang utilitas ruang pangguna WireGuard. Ieu bakal janten pakét anu disebut wireguard atanapi wireguard-tools pikeun distribusi Linux.

Pikeun Ubuntu/Debian:

sudo apt install wireguard

Pikeun nganggo Fedora:

sudo dnf install wireguard-tools

Arch Linux Ubuntu:

sudo pacman -S wireguard-parabot

Didatangan halaman wéb WireGuard resmi di https://www.wireguard.com/install/ kanggo distribusi anu henteu disebatkeun di luhur.

2. Ngundeur konfigurasi 

Boh administrator Firezone anjeun atanapi generasi diri tiasa ngahasilkeun file konfigurasi alat nganggo portal Firezone.

Nganjang ka URL nu geus disadiakeun ku administrator Firezone anjeun pikeun nyieun sorangan file konfigurasi alat. teguh anjeun bakal boga URL unik pikeun ieu; dina hal ieu, éta https://instance-id.yourfirezone.com.

[Selapkeun Potret layar]

3. Setélan impor

Impor file konfigurasi anu disayogikeun nganggo nmcli:

sambungan sudo nmcli tipe impor file wireguard /path/to/configuration.conf

CATETAN

Ngaran file konfigurasi bakal pakait jeung sambungan WireGuard / panganteur. Saatos impor, sambungan tiasa diganti upami diperyogikeun:

sambungan nmcli ngaropéa [ngaran heubeul] connection.id [ngaran anyar]

4. Sambungkeun atawa megatkeun

Ngaliwatan garis paréntah, sambungkeun ka VPN sapertos kieu:

sambungan nmcli [ngaran vpn]

Pikeun pegatkeun sambungan:

sambungan nmcli turun [ngaran vpn]

Applet Network Manager anu tiasa dianggo ogé tiasa dianggo pikeun ngatur sambungan upami nganggo GUI.

Sambungan Otomatis

Ku milih "enya" pikeun pilihan autoconnect, sambungan VPN bisa ngonpigurasi pikeun nyambung otomatis:

 

sambungan nmcli ngaropéa [ngaran vpn] sambungan. <<<<<<<<<<<<<<<<<<<<<<

 

autoconnect enya

 

Pikeun nganonaktipkeun sambungan otomatis set deui ka no:

 

sambungan nmcli ngaropéa [ngaran vpn] sambungan.

 

autoconnect No

Jieun Multi-Factor auténtikasi sadia

Pikeun ngaktipkeun MFA Buka portal Firezone / akun pamaké / ngadaptar kaca mfa. Anggo aplikasi auténtikasi anjeun pikeun nyeken kodeu QR saatos didamel, teras lebetkeun kodeu genep digit.

Hubungi Admin anjeun pikeun ngareset inpormasi aksés akun anjeun upami anjeun salah nempatkeun aplikasi auténtikasi anjeun.

Split Torowongan VPN

Tutorial ieu bakal ngajalanan anjeun dina prosés nyetél fitur tunneling pamisah WireGuard sareng Firezone supados ngan ukur lalu lintas ka rentang IP khusus anu diteruskeun ngaliwatan server VPN.

 

1. Konpigurasikeun IP Diidinan 

Rentang IP dimana klien bakal ngalihkeun lalu lintas jaringan diatur dina widang IP Diidinan anu aya dina / setélan / halaman standar. Ngan konfigurasi torowongan WireGuard anu nembe didamel ku Firezone anu bakal kapangaruhan ku parobihan kana widang ieu.

 

[Selapkeun Potret layar]



Nilai standar nyaéta 0.0.0.0/0, ::/0, anu ngarutekeun sadaya lalu lintas jaringan ti klien ka server VPN.

 

Conto nilai dina widang ieu ngawengku:

 

0.0.0.0/0, ::/0 - sadaya lalu lintas jaringan bakal dialihkeun ka server VPN.

192.0.2.3/32 - ngan lalulintas ka alamat IP tunggal bakal routed ka server VPN.

3.5.140.0/22 ​​- ngan lalulintas ka IP dina rentang 3.5.140.1 - 3.5.143.254 bakal routed ka server VPN. Dina conto ieu, rentang CIDR pikeun wewengkon AWS ap-lor-wétan-2 dipaké.



CATETAN

Firezone milih antarbeungeut jalan kaluar anu aya hubunganana sareng rute anu paling tepat nalika nangtoskeun dimana rute pakét.

 

2. Regenerate konfigurasi WireGuard

Pamaké kedah ngadamel deui file konfigurasi sareng nambihanana ka klien WireGuard aslina pikeun ngapdet alat pangguna anu tos aya sareng konfigurasi torowongan pamisah anyar.

 

Kanggo pitunjuk, tingali tambihan paranti. <<<<<<<<<< Tambahkeun link

Torowongan Balikkeun

Manual ieu bakal nunjukkeun kumaha nyambungkeun dua alat nganggo Firezone salaku relay. Hiji kasus pamakéan has pikeun ngaktipkeun administrator pikeun ngakses server, wadahna, atawa mesin nu ditangtayungan ku NAT atawa firewall.

 

Node ka Node 

Ilustrasi ieu nembongkeun skenario lugas dimana Alat A jeung B ngawangun torowongan.

 

[Selapkeun gambar arsitéktur firezone]

 

Mimitian ku nyieun Alat A sareng Alat B ku nganapigasi ka /users/[user_id]/new_device. Dina setélan pikeun tiap alat, pastikeun parameter di handap ieu disetel ka nilai nu didaptarkeun di handap. Anjeun tiasa nyetel setelan alat nalika nyieun config alat (tingali Tambahkeun Alat). Upami anjeun kedah ngapdet setélan dina alat anu tos aya, anjeun tiasa ngalakukeunana ku ngahasilkeun config alat anyar.

 

Catet yén sadaya alat gaduh halaman / setélan / standar dimana PersistentKeepalive tiasa dikonpigurasikeun.

 

Alat A

 

AllowedIPs = 10.3.2.2/32

  Ieu mangrupikeun IP atanapi rentang IP Alat B

PersistentKeepalive = 25

  Upami alatna aya di tukangeun NAT, ieu ngajamin yén alat éta tiasa ngajaga torowongan hirup sareng teras nampi pakét tina antarmuka WireGuard. Biasana nilai 25 cukup, tapi anjeun kedah ngirangan nilai ieu gumantung kana lingkungan anjeun.



alat B

 

AllowedIPs = 10.3.2.3/32

Ieu mangrupikeun IP atanapi rentang IP Alat A

PersistentKeepalive = 25

Kasus Admin - Hiji ka Seueur Titik

Conto ieu nunjukkeun kaayaan dimana Alat A tiasa komunikasi sareng Alat B dugi ka D dina dua arah. Setélan ieu tiasa ngagambarkeun insinyur atanapi administrator anu ngaksés seueur sumber (server, wadah, atanapi mesin) dina sababaraha jaringan.

 

[Diagram Arsitéktur]<<<<<<<<<<<<<<<<<<<<<<<<

 

Pastikeun setelan di handap ieu dilakukeun dina setelan unggal alat ka nilai nu saluyu. Nalika nyieun konfigurasi alat, Anjeun bisa nangtukeun setelan alat (tingali Tambahkeun Alat). Konfigurasi alat anyar tiasa didamel upami setélan dina alat anu tos aya kedah diropéa.

 

Alat A (Node Administrator)

 

AllowedIPs = 10.3.2.3/32, 10.3.2.4/32, 10.3.2.5/32 

    Ieu mangrupikeun IP alat B dugi ka D. IP Alat B dugi ka D kedah kalebet dina rentang IP anu anjeun pilih pikeun disetel.

PersistentKeepalive = 25 

    Ieu ngajamin yén alat éta tiasa ngajaga torowongan sareng teras nampi pakét tina antarmuka WireGuard sanaos ditangtayungan ku NAT. Dina kalolobaan kasus, nilai 25 nyukupan, tapi gumantung kana sakuliling anjeun, Anjeun bisa jadi kudu nurunkeun angka ieu.

 

Alat B

 

  • AllowedIPs = 10.3.2.2/32: Ieu mangrupikeun IP atanapi rentang IP Alat A
  • PersistentKeepalive = 25

Alat C

 

  • AllowedIPs = 10.3.2.2/32: Ieu mangrupikeun IP atanapi rentang IP Alat A
  • PersistentKeepalive = 25

Alat D

 

  • AllowedIPs = 10.3.2.2/32: Ieu mangrupikeun IP atanapi rentang IP Alat A
  • PersistentKeepalive = 25

NAT Gateway

Pikeun nawiskeun IP egress statik tunggal pikeun sadaya lalu lintas tim anjeun kaluar, Firezone tiasa dianggo salaku gateway NAT. Kaayaan ieu ngalibatkeun sering dianggo:

 

Konsultasi Engagements: Nyuhunkeun palanggan anjeun whitelist alamat IP statik tunggal tinimbang IP alat unik unggal pagawe.

Ngagunakeun proxy atawa masking sumber IP Anjeun pikeun kaperluan kaamanan atawa privasi.

 

Conto saderhana pikeun ngabatesan aksés kana aplikasi wéb anu di-host ka hiji IP statik whitelisted anu ngajalankeun Firezone bakal ditingalikeun dina tulisan ieu. Dina ilustrasi ieu, Firezone jeung sumberdaya nu ditangtayungan aya di wewengkon VPC béda.

 

Solusi ieu sering dianggo pikeun ngatur daptar bodas IP pikeun seueur pangguna akhir, anu tiasa nyéépkeun waktos nalika daptar aksés ngalegaan.

Conto AWS

Tujuan kami nyaéta nyetél server Firezone dina conto EC2 pikeun alihan lalu lintas VPN ka sumber anu diwatesan. Dina conto ieu, Firezone ngalayanan salaku proxy jaringan atanapi gateway NAT pikeun masihan unggal alat anu disambungkeun IP egress umum anu unik.

 

1. Pasang server Firezone

Dina hal ieu, instance EC2 anu dingaranan tc2.micro gaduh instance Firezone dipasang di dinya. Kanggo inpo tentang deploying Firezone, buka Panungtun Deployment. Dina hubungan AWS, pastikeun:

 

Grup kaamanan instance Firezone EC2 ngijinkeun lalu lintas kaluar ka alamat IP sumber daya anu ditangtayungan.

Instance Firezone hadir sareng IP elastis. Lalu lintas anu diteruskeun ngaliwatan conto Firezone ka tujuan luar bakal ngagaduhan ieu salaku alamat IP sumberna. Alamat IP anu dimaksud nyaéta 52.202.88.54.

 

[Selapkeun Potret layar]<<<<<<<<<<<<<<<<<<<<<<<<

 

2. Ngawatesan aksés ka sumberdaya nu keur ditangtayungan

Aplikasi wéb anu di-host sorangan janten sumber anu ditangtayungan dina hal ieu. Aplikasi wéb ngan ukur tiasa diaksés ku pamundut anu asalna tina alamat IP 52.202.88.54. Gumantung kana sumberdaya, bisa jadi diperlukeun pikeun ngidinan lalulintas inbound dina rupa palabuhan sarta tipe lalulintas. Ieu teu katutupan dina manual ieu.

 

[Selapkeun Potret layar]<<<<<<<<<<<<<<<<<<<<<<<<

 

Mangga wartosan pihak katilu nu jawab sumberdaya nu ditangtayungan yén lalulintas ti IP statik didefinisikeun dina Lengkah 1 kudu diijinkeun (dina hal ieu 52.202.88.54).

 

3. Paké server VPN pikeun lalulintas langsung ka sumberdaya nu ditangtayungan

 

Sacara standar, sadaya lalu lintas pangguna bakal ngalangkungan server VPN sareng asalna tina IP statik anu dikonpigurasi dina Lengkah 1 (dina hal ieu 52.202.88.54). Sanajan kitu, lamun split tunneling geus diaktipkeun, setelan bisa jadi diperlukeun pikeun mastikeun IP tujuan sumberdaya nu ditangtayungan urang didaptarkeun diantara IP nu Diidinan.

Tambihkeun Teks Judul Anjeun Di dieu

Ditémbongkeun di handap ieu daptar lengkep pilihan konfigurasi sadia di /etc/firezone/firezone.rb.



pilihan

gambaran

nilai standar

standar['firezone']['external_url']

URL dipaké pikeun ngaksés portal wéb tina conto Firezone ieu.

"https://#{node['fqdn'] || titik [ 'hostname']}"

standar['firezone']['config_directory']

Diréktori tingkat luhur pikeun konfigurasi Firezone.

/etc/firezone'

standar['firezone']['install_directory']

Diréktori tingkat luhur pikeun masang Firezone ka.

/opt/firezone'

standar['firezone']['app_directory']

Diréktori tingkat luhur pikeun masang aplikasi wéb Firezone.

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

standar['firezone']['log_directory']

Diréktori tingkat luhur pikeun log Firezone.

/var/log/firezone'

standar['firezone']['var_directory']

Diréktori tingkat luhur pikeun file runtime Firezone.

/var/opt/firezone'

standar['firezone']['pamaké']

Ngaran pangguna Linux anu teu boga hak istimewa anu paling seueur jasa sareng file bakal milik.

zona seuneu'

standar['firezone']['grup']

Ngaran grup Linux anu paling seueur jasa sareng file bakal janten milik.

zona seuneu'

standar['firezone']['admin_email']

Alamat surélék pikeun pamaké Firezone awal.

"firezone@localhost"

standar['firezone']['max_devices_per_user']

Jumlah maksimum alat nu bisa boga pamaké.

10

standar['firezone']['allow_unprivileged_device_management']

Ngidinan pangguna non-admin pikeun nyiptakeun sareng ngahapus alat.

BENER

standar['firezone']['allow_unprivileged_device_configuration']

Ngidinan pangguna non-admin ngarobih konfigurasi alat. Nalika ditumpurkeun, nyegah pamaké unprivileged ti ngarobah sakabeh widang alat iwal ngaran jeung déskripsi.

BENER

standar['firezone']['egress_interface']

Ngaran panganteur dimana lalulintas torowongan bakal kaluar. Upami teu aya, antarmuka rute standar bakal dianggo.

nihil

standar['firezone']['fips_enabled']

Aktipkeun atanapi nonaktipkeun mode OpenSSL FIPs.

nihil

standar['firezone']['logging']['diaktipkeun']

Aktipkeun atawa mareuman logging sakuliah Firezone. Setel ka false pikeun nganonaktipkeun logging sagemblengna.

BENER

standar['perusahaan']['ngaran']

Ngaran dipaké ku Chef 'perusahaan' cookbook.

zona seuneu'

standar['firezone']['install_path']

Pasang jalur anu dianggo ku buku masak Chef 'perusahaan'. Kudu disetel ka sarua jeung install_directory luhur.

titik [ 'firezone'] ['install_directory']

standar['firezone']['sysvinit_id']

Hiji identifier dipaké dina /etc/inittab. Kudu runtuyan unik tina 1-4 karakter.

SUP'

standar['firezone']['auténtikasi']['lokal']['diaktipkeun']

Aktipkeun atanapi nonaktipkeun auténtikasi email/sandi lokal.

BENER

standar['firezone']['auténtikasi']['auto_create_oidc_users']

Jieun otomatis pamaké asup ti OIDC pikeun kahiji kalina. Pareuman pikeun ngan ukur pangguna anu tos aya pikeun asup ngalangkungan OIDC.

BENER

standar['firezone']['auténtikasi']['disable_vpn_on_oidc_error']

Pareuman VPN pangguna upami aya kasalahan anu dideteksi nyobian nga-refresh token OIDC na.

PALSU

standar['firezone']['auténtikasi']['oidc']

OpenID Connect config, dina format {"provider" => [config...]} - Tingali Dokuméntasi OpenIDConnect pikeun conto config.

{}

standar['firezone']['nginx']['diaktipkeun']

Aktipkeun atanapi mareuman server nginx anu dibuntel.

BENER

standar['firezone']['nginx']['ssl_port']

HTTPS ngadangukeun port.

443

standar['firezone']['nginx']['diréktori']

Diréktori pikeun nyimpen konfigurasi host virtual nginx nu patali Firezone.

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

standar['firezone']['nginx']['log_directory']

Diréktori pikeun nyimpen file log nginx anu aya hubunganana sareng Firezone.

"#{node['firezone']['log_directory']}/nginx"

standar['firezone']['nginx']['log_rotation']['file_maxbytes']

Ukuran file pikeun muterkeun file log Nginx.

104857600

standar['firezone']['nginx']['log_rotation']['num_to_keep']

Jumlah file log Firezone nginx pikeun tetep sateuacan dipiceun.

10

standar['firezone']['nginx']['log_x_forwarded_for']

Naha rék log Firezone nginx x-forwarded-for header.

BENER

standar['firezone']['nginx']['hsts_header']['diaktipkeun']

Aktipkeun atanapi nganonaktipkeun HSTS.

BENER

standar['firezone']['nginx']['hsts_header']['include_subdomains']

Aktipkeun atawa mareuman includeSubDomains pikeun lulugu HSTS.

BENER

standar['firezone']['nginx']['hsts_header']['max_age']

Umur maksimum pikeun lulugu HSTS.

31536000

standar['firezone']['nginx']['redirect_to_canonical']

Naha alihan URL kana FQDN kanonik anu dijelaskeun di luhur

PALSU

standar['firezone']['nginx']['cache']['diaktipkeun']

Aktipkeun atanapi mareuman cache nginx Firezone.

PALSU

standar['firezone']['nginx']['cache']['diréktori']

Diréktori pikeun Firezone nginx cache.

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

standar['firezone']['nginx']['pamaké']

Pamaké nginx Firezone.

titik [ 'firezone'][ 'pamaké']

standar['firezone']['nginx']['group']

Grup Firezone nginx.

titik [ 'firezone'][ 'grup']

standar['firezone']['nginx']['dir']

Diréktori konfigurasi nginx tingkat luhur.

titik [ 'firezone'][ 'nginx']['diréktori']

standar['firezone']['nginx']['log_dir']

Diréktori log nginx tingkat luhur.

titik [ 'firezone'][ 'nginx']['log_directory']

standar['firezone']['nginx']['pid']

Lokasi pikeun file nginx pid.

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

standar['firezone']['nginx']['daemon_disable']

Pareuman mode daemon nginx supados urang tiasa ngawaskeunana.

BENER

standar['firezone']['nginx']['gzip']

Hurungkeun atanapi pareumkeun komprési nginx gzip.

dina '

standar['firezone']['nginx']['gzip_static']

Hurungkeun atanapi pareumkeun komprési nginx gzip pikeun file statik.

peureum'

standar['firezone']['nginx']['gzip_http_version']

Vérsi HTTP dipaké pikeun ngalayanan file statik.

1.0 '

standar['firezone']['nginx']['gzip_comp_level']

tingkat komprési nginx gzip.

2 '

standar['firezone']['nginx']['gzip_proxied']

Aktipkeun atanapi nganonaktipkeun gzipping réspon pikeun pamundut proksi gumantung kana pamundut sareng réspon.

sagala'

standar['firezone']['nginx']['gzip_vary']

Aktipkeun atanapi nganonaktipkeun nyelapkeun lulugu réspon "Vary: Accept-encoding".

peureum'

standar['firezone']['nginx']['gzip_buffers']

Nyetél jumlah sareng ukuran panyangga anu dianggo pikeun niiskeun réspon. Upami nil, standar nginx dianggo.

nihil

standar['firezone']['nginx']['gzip_types']

Jenis MIME pikeun ngaktipkeun komprési gzip pikeun.

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

standar['firezone']['nginx']['gzip_min_length']

Panjang file minimum pikeun ngaktipkeun komprési gzip file pikeun.

1000

standar['firezone']['nginx']['gzip_disable']

matcher pamaké-agén pikeun nganonaktipkeun komprési gzip pikeun.

MSIE [1-6]\.'

standar['firezone']['nginx']['keepalive']

Aktipkeun cache pikeun sambungan ka server hulu.

dina '

standar['firezone']['nginx']['keepalive_timeout']

Waktos dina sababaraha detik kanggo sambungan keepalive ka server hulu.

65

standar['firezone']['nginx']['worker_processes']

Jumlah prosés worker nginx.

node['cpu'] && node['cpu']['total'] ? titik [ 'cpu'][ 'total'] : 1

standar['firezone']['nginx']['worker_connections']

Jumlah maksimum sambungan simultaneous nu bisa dibuka ku prosés worker.

1024

standar['firezone']['nginx']['worker_rlimit_nofile']

Ngarobah wates jumlah maksimum file kabuka pikeun prosés worker. Ngagunakeun nginx standar lamun nihil.

nihil

standar ['firezone']['nginx']['multi_accept']

Naha pagawe kedah nampi hiji sambungan dina hiji waktu atawa sababaraha.

BENER

standar['firezone']['nginx']['acara']

Nangtukeun metode pangolahan sambungan pikeun dianggo dina konteks acara nginx.

epoll'

standar['firezone']['nginx']['server_tokens']

Aktipkeun atanapi nganonaktipkeun émisi vérsi nginx dina halaman kasalahan sareng dina kolom lulugu réspon "Server".

nihil

standar['firezone']['nginx']['server_names_hash_bucket_size']

Nyetél ukuran LIPI pikeun tabel Hash ngaran server.

64

standar['firezone']['nginx']['sendfile']

Aktipkeun atawa disables pamakéan nginx urang sendfile ().

dina '

standar['firezone']['nginx']['access_log_options']

Nyetél pilihan log aksés nginx.

nihil

standar['firezone']['nginx']['error_log_options']

Nyetél pilihan log kasalahan nginx.

nihil

standar['firezone']['nginx']['disable_access_log']

Nonaktipkeun log aksés nginx.

PALSU

standar['firezone']['nginx']['types_hash_max_size']

tipe nginx hash max ukuran.

2048

standar['firezone']['nginx']['types_hash_bucket_size']

tipe nginx ukuran ember hash.

64

standar['firezone']['nginx']['proxy_read_timeout']

nginx proxy maca seep. Setel ka nil pikeun nganggo nginx standar.

nihil

standar['firezone']['nginx']['klien_body_buffer_size']

ukuran panyangga awak klien nginx. Setel ka nil pikeun nganggo nginx standar.

nihil

standar['firezone']['nginx']['client_max_body_size']

nginx klien max ukuran awak.

250 m'

standar['firezone']['nginx']['standar']['modul']

Sebutkeun modul nginx tambahan.

[]

standar['firezone']['nginx']['enable_rate_limiting']

Aktipkeun atanapi nonaktipkeun ngawatesan laju nginx.

BENER

standar['firezone']['nginx']['rate_limiting_zone_name']

Nginx laju ngawatesan ngaran zone.

zona seuneu'

standar['firezone']['nginx']['rate_limiting_backoff']

Laju Nginx ngawatesan mundur.

10 m'

standar['firezone']['nginx']['rate_limit']

wates laju Nginx.

10r/s'

standar['firezone']['nginx']['ipv6']

Ngidinan nginx ngadangukeun pamundut HTTP pikeun IPv6 salian IPv4.

BENER

standar ['firezone']['postgresql']['diaktipkeun']

Aktipkeun atanapi mareuman Postgresql anu dibuntel. Setel ka palsu sareng eusian pilihan database di handap pikeun nganggo conto Postgresql anjeun nyalira.

BENER

standar['firezone']['postgresql']['ngaran pamaké']

Ngaran pamaké pikeun Postgresql.

titik [ 'firezone'][ 'pamaké']

standar['firezone']['postgresql']['data_directory']

Diréktori data Postgresql.

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

standar['firezone']['postgresql']['log_directory']

Diréktori log Postgresql.

"#{node['firezone']['log_directory']}/postgresql"

standar['firezone']['postgresql']['log_rotation']['file_maxbytes']

Ukuran maksimum file log Postgresql sateuacan diputer.

104857600

standar['firezone']['postgresql']['log_rotation']['num_to_keep']

Jumlah file log Postgresql pikeun tetep.

10

standar['firezone']['postgresql']['checkpoint_completion_target']

Target parantosan titik pamariksaan Postgresql.

0.5

standar['firezone']['postgresql']['checkpoint_segments']

Jumlah bagéan pos pamariksaan Postgresql.

3

standar ['firezone']['postgresql']['checkpoint_timeout']

Postgresql checkpoint timeout.

5 mnt

standar['firezone']['postgresql']['checkpoint_warning']

Waktos peringatan titik pamariksaan Postgresql dina detik.

30s'

standar['firezone']['postgresql']['effective_cache_size']

Postgresql ukuran cache éféktif.

128 MB'

standar ['firezone']['postgresql']['listen_address']

Alamat ngadangukeun Postgresql.

127.0.0.1 '

standar ['firezone']['postgresql']['max_connections']

Postgresql sambungan max.

350

standar ['firezone']['postgresql']['md5_auth_cidr_addresses']

Postgresql CIDRs pikeun ngidinan pikeun md5 auth.

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

standar['firezone']['postgresql']['port']

Port déngékeun Postgresql.

15432

standar['firezone']['postgresql']['shared_buffers']

Postgresql dibagikeun ukuran buffers.

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

standar['firezone']['postgresql']['shmmax']

Postgresql shmmax dina bait.

17179869184

standar['firezone']['postgresql']['shmall']

Postgresql shmall dina bait.

4194304

standar['firezone']['postgresql']['work_mem']

Ukuran mémori damel Postgresql.

8 MB'

standar['firezone']['database']['pamaké']

Nangtukeun ngaran pamaké Firezone bakal dipaké pikeun nyambung ka DB.

titik [ 'firezone']['postgresql']['ngaran pamaké']

standar['firezone']['database']['sandi']

Lamun make hiji DB éksternal, nangtukeun sandi Firezone bakal dipaké pikeun nyambung ka DB.

robah_kuring'

standar['firezone']['database']['ngaran']

Database anu bakal dianggo ku Firezone. Bakal dijieun lamun teu aya.

zona seuneu'

standar['firezone']['database']['host']

Host database anu Firezone bakal nyambung.

titik [ 'firezone']['postgresql']['listen_address']

standar['firezone']['database']['port']

Port database anu Firezone bakal nyambung ka.

titik [ 'firezone']['postgresql']['port']

standar['firezone']['database']['kolam renang']

Ukuran kolam renang databés Firezone bakal dianggo.

[10, jsb.nprocessors].max

standar['firezone']['database']['ssl']

Naha nyambung ka database ngaliwatan SSL.

PALSU

standar['firezone']['database']['ssl_opts']

Hash tina pilihan pikeun ngirim ka: ssl_opts pilihan nalika nyambungkeun ngaliwatan SSL. Tingali dokuméntasi Ecto.Adapters.Postgres.

{}

standar['firezone']['database']['parameter']

Hash parameter pikeun dikirim ka: pilihan parameter nalika nyambungkeun kana pangkalan data. Tingali dokuméntasi Ecto.Adapters.Postgres.

{}

standar['firezone']['database']['ekstensi']

Ekstensi database pikeun ngaktipkeun.

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

standar['firezone']['phoenix']['diaktipkeun']

Aktipkeun atawa nonaktipkeun aplikasi wéb Firezone.

BENER

standar['firezone']['phoenix']['listen_address']

Alamat ngadangukeun aplikasi wéb Firezone. Ieu bakal alamat ngadangukeun hulu anu nginx proxies.

127.0.0.1 '

standar['firezone']['phoenix']['port']

Firezone aplikasi wéb ngadangukeun port. Ieu bakal janten port hulu anu nginx proxies.

13000

standar['firezone']['phoenix']['log_directory']

Diréktori log aplikasi wéb Firezone.

"#{node['firezone']['log_directory']}/phoenix"

standar['firezone']['phoenix']['log_rotation']['file_maxbytes']

Ukuran file log aplikasi wéb Firezone.

104857600

standar['firezone']['phoenix']['log_rotation']['num_to_keep']

Jumlah file log aplikasi wéb Firezone pikeun dijaga.

10

standar['firezone']['phoenix']['crash_detection']['diaktipkeun']

Aktipkeun atanapi nonaktipkeun ngaunduh aplikasi wéb Firezone nalika kacilakaan dideteksi.

BENER

standar['firezone']['phoenix']['external_trusted_proxies']

Daptar proxy sabalikna anu dipercaya diformat salaku Array IP sareng/atawa CIDR.

[]

standar['firezone']['phoenix']['private_clients']

Daptar klien HTTP jaringan pribadi, formatna Array IP jeung/atawa CIDRs.

[]

standar['firezone']['wireguard']['diaktipkeun']

Aktipkeun atanapi nonaktipkeun manajemén WireGuard anu dibuntel.

BENER

standar['firezone']['wireguard']['log_directory']

Log diréktori pikeun manajemén WireGuard dibuntel.

"#{node['firezone']['log_directory']}/wireguard"

standar['firezone']['wireguard']['log_rotation']['file_maxbytes']

WireGuard log file ukuran max.

104857600

standar['firezone']['wireguard']['log_rotation']['num_to_keep']

Jumlah file log WireGuard pikeun tetep.

10

standar['firezone']['wireguard']['interface_name']

Ngaran panganteur WireGuard. Ngarobah parameter ieu bisa ngabalukarkeun leungitna samentara dina konektipitas VPN.

wg-firezone'

standar['firezone']['wireguard']['port']

WireGuard ngadangukeun port.

51820

standar['firezone']['wireguard']['mtu']

WireGuard panganteur MTU pikeun server ieu sareng pikeun konfigurasi alat.

1280

standar['firezone']['wireguard']['endpoint']

WireGuard Endpoint pikeun dianggo pikeun ngahasilkeun konfigurasi alat. Upami teu aya, standar kana alamat IP umum pangladén.

nihil

standar['firezone']['wireguard']['dns']

WireGuard DNS pikeun dianggo pikeun konfigurasi alat anu dihasilkeun.

1.1.1.1′

standar['firezone']['wireguard']['allowed_ips']

WireGuard AllowedIPs dianggo pikeun konfigurasi alat anu dihasilkeun.

0.0.0.0/0, ::/0′

standar['firezone']['wireguard']['persistent_keepalive']

Setelan PersistentKeepalive standar pikeun konfigurasi alat dihasilkeun. A nilai 0 disables.

0

standar['firezone']['wireguard']['ipv4']['diaktipkeun']

Aktipkeun atawa nonaktipkeun IPv4 pikeun jaringan WireGuard.

BENER

standar['firezone']['wireguard']['ipv4']['masquerade']

Aktipkeun atawa mareuman masquerade pikeun pakét ninggalkeun torowongan IPv4.

BENER

standar['firezone']['wireguard']['ipv4']['jaringan']

WireGuard jaringan alamat IPv4 kolam renang.

10.3.2.0/24 ′

standar['firezone']['wireguard']['ipv4']['alamat']

Alamat IPv4 panganteur WireGuard. Kedah aya dina kolam renang alamat WireGuard.

10.3.2.1 '

standar['firezone']['wireguard']['ipv6']['diaktipkeun']

Aktipkeun atawa nonaktipkeun IPv6 pikeun jaringan WireGuard.

BENER

standar['firezone']['wireguard']['ipv6']['masquerade']

Aktipkeun atawa mareuman masquerade pikeun pakét ninggalkeun torowongan IPv6.

BENER

standar['firezone']['wireguard']['ipv6']['jaringan']

WireGuard jaringan alamat IPv6 kolam renang.

fd00::3:2:0/120′

standar['firezone']['wireguard']['ipv6']['alamat']

Alamat IPv6 panganteur WireGuard. Kedah aya dina kolam renang alamat IPv6.

fd00::3:2:1′

standar['firezone']['runit']['svlogd_bin']

Runit svlogd bin lokasi.

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

standar['firezone']['ssl']['diréktori']

diréktori SSL pikeun nyimpen certs dihasilkeun.

/var/opt/firezone/ssl'

standar['firezone']['ssl']['email_address']

Alamat email anu dianggo pikeun sertipikat anu ditandatanganan diri sareng bewara pembaharuan protokol ACME.

anjeun@conto.com'

standar['firezone']['ssl']['acme']['diaktipkeun']

Aktipkeun ACME pikeun provisioning sertipikat SSL otomatis. Pareuman ieu pikeun nyegah Nginx ngadangukeun dina port 80. Tingali Ieuh pikeun pitunjuk langkung lengkep.

PALSU

standar['firezone']['ssl']['acme']['server']

server ACME ngagunakeun pikeun sertipikat issuance / pembaharuan. Bisa wae server acme.sh valid

letsencrypt

standar['firezone']['ssl']['acme']['panjang konci']

Sebutkeun jinis konci sareng panjangna pikeun sertipikat SSL. Tingali Ieuh

ec-256

standar['firezone']['ssl']['sertipikat']

Jalur ka file sertipikat pikeun FQDN Anjeun. Overrides setelan ACME luhur lamun dieusian. Upami duanana ACME sareng ieu nihil, sertipikat anu ditandatanganan diri bakal dibangkitkeun.

nihil

standar['firezone']['ssl']['certificate_key']

Jalur ka file sertipikat.

nihil

standar['firezone']['ssl']['ssl_dhparam']

nginx ssl dh_param.

nihil

standar['firezone']['ssl']['country_name']

Ngaran nagara pikeun sertipikat anu ditandatanganan sorangan.

URANG'

standar['firezone']['ssl']['state_name']

Ngaran nagara pikeun sertipikat anu ditandatanganan diri.

CA '

standar['firezone']['ssl']['locality_name']

Ngaran lokalitas pikeun sertipikat anu ditandatanganan sorangan.

San Fransisco'

standar['firezone']['ssl']['company_name']

Ngaran perusahaan sertipikat ditandatanganan sorangan.

Perusahaan abdi'

standar['firezone']['ssl']['organizational_unit_name']

Ngaran unit organisasi pikeun sertipikat anu ditandatanganan sorangan.

Operasi '

standar['firezone']['ssl']['ciphers']

SSL ciphers pikeun nginx ngagunakeun.

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

ciphers SSL pikeun modeu FIPs.

FIPS@STRENGTH:!aNULL:!eNULL'

standar['firezone']['ssl']['protokol']

protokol TLS ngagunakeun.

TLSv1 TLSv1.1 TLSv1.2′

standar['firezone']['ssl']['session_cache']

cache sési SSL.

dibagikeun: SSL: 4m'

standar['firezone']['ssl']['session_timeout']

sési SSL timeout.

5 m'

standar['firezone']['robots_allow']

robot nginx ngidinan.

/'

standar['firezone']['robots_disallow']

robot nginx ngalarang.

nihil

standar['firezone']['outbound_email']['ti']

Surélék kaluar ti alamat.

nihil

standar['firezone']['outbound_email']['provider']

Panyadia jasa email outbound.

nihil

standar['firezone']['outbound_email']['configs']

Konfigurasi panyadia email outbound.

tingali omnibus / cookbooks / firezone / atribut / default.rb

standar['firezone']['telemétri']['diaktipkeun']

Aktipkeun atanapi nonaktipkeun telemétri produk anonim.

BENER

standar['firezone']['connectivity_checks']['diaktipkeun']

Aktipkeun atanapi nonaktipkeun jasa cek konektipitas Firezone.

BENER

standar['firezone']['connectivity_checks']['interval']

Interval antara cék konektipitas dina detik.

3_600



________________________________________________________________

 

Lokasi File Sareng Diréktori

 

Di dieu anjeun bakal mendakan daptar file sareng diréktori anu aya hubunganana sareng pamasangan Firezone biasa. Ieu tiasa robih gumantung kana parobihan kana file konfigurasi anjeun.



jalan

gambaran

/var/opt/firezone

Diréktori tingkat luhur anu ngandung data sareng konfigurasi anu dibangkitkeun pikeun jasa dibuntel Firezone.

/opt/firezone

Diréktori tingkat luhur anu ngandung perpustakaan diwangun, binér sareng file runtime anu diperyogikeun ku Firezone.

/usr/bin/firezone-ctl

firezone-ctl utilitas pikeun ngatur pamasangan Firezone Anjeun.

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

file unit systemd pikeun ngamimitian prosés pengawas Firezone runsvdir.

/etc/firezone

file konfigurasi Firezone.



__________________________________________________________

 

Témplat firewall

 

Kaca ieu kosong dina docs

 

_____________________________________________________________

 

Nftables firewall Citakan

 

The nftables firewall template handap bisa dipaké pikeun ngamankeun server ngajalankeun Firezone. Citakan teu nyieun sababaraha asumsi; Anjeun panginten kedah nyaluyukeun aturan pikeun nyocogkeun kana kasus pamakean anjeun:

  • Antarbeungeut WireGuard dingaranan wg-firezone. Upami ieu henteu leres, robih variabel DEV_WIREGUARD pikeun cocog sareng pilihan konfigurasi standar ['firezone']['wireguard']['interface_name'].
  • The port WireGuard dengekeun on nyaeta 51820. Mun anjeun teu make port standar robah variabel WIREGUARD_PORT.
  • Ngan lalulintas asup di handap ieu bakal diidinan ka server:
    • SSH (Port TCP 22)
    • HTTP (Port TCP 80)
    • HTTPS (Port TCP 443)
    • WireGuard (port UDP WIREGUARD_PORT)
    • UDP traceroute (port UDP 33434-33524, laju dugi ka 500/detik)
    • ICMP sareng ICMPv6 (laju réspon ping/ping dugi ka 2000/detik)
  • Ngan patalimarga kaluar handap bakal diwenangkeun ti server:
    • DNS (UDP sareng TCP port 53)
    • HTTP (Port TCP 80)
    • NTP (Port UDP 123)
    • HTTPS (Port TCP 443)
    • Kiriman SMTP (Port TCP 587)
    • UDP traceroute (port UDP 33434-33524, laju dugi ka 500/detik)
  • Lalu lintas anu teu cocog bakal asup. Aturan anu dianggo pikeun logging dipisahkeun tina aturan pikeun turunkeun lalu lintas sareng tingkatna terbatas. Ngahapus aturan logging relevan moal mangaruhan lalulintas.

Aturan Diurus Firezone

Firezone ngonpigurasikeun aturan nftables sorangan pikeun ngijinkeun / nolak lalu lintas ka tujuan anu dikonpigurasi dina antarmuka wéb sareng nanganan NAT kaluar pikeun lalu lintas klien.

Nerapkeun témplat firewall di handap dina server anu parantos jalan (henteu dina waktos boot) bakal nyababkeun aturan Firezone diberesihan. Ieu tiasa gaduh implikasi kaamanan.

Pikeun ngungkulan ieu balikan deui jasa phoenix:

firezone-ctl balikan deui phoenix

Dasar firewall Citakan

#!/usr/sbin/nft -f

 

## Hapus / siram sadaya aturan anu aya

aturan siram

 

################################## VARIABEL ################## ##############

## Ngaran panganteur Internét/WAN

nangtukeun DEV_WAN = eth0

 

## Ngaran panganteur WireGuard

nangtukeun DEV_WIREGUARD = wg-firezone

 

## WireGuard ngadangukeun port

nangtukeun WIREGUARD_PORT = 51820

################################ VARIABEL TAMAT #################### ############

 

# Méja nyaring kulawarga inet utama

tabél inet filter {

 

 # Aturan pikeun lalu lintas diteruskeun

 # Ranté ieu diolah sateuacan ranté payun Firezone

 ranté maju {

   tipe filter hook forward priority filter – 5; kawijakan narima

 }

 

 # Aturan pikeun lalu lintas input

 asupan ranté {

   tipe filter hook input prioritas filter; turunna kawijakan

 

   ## Ngidinan lalulintas inbound ka panganteur loopback

   upami kitu \

     narima \

     komentar "Idinan sadaya lalu lintas asup tina antarmuka loopback"

 

   ## Idin ngadegkeun tur patali sambungan

   ct kaayaan ngadegkeun, patali \

     narima \

     komentar "Idin ngadegkeun / sambungan patali"

 

   ## Ngidinan lalulintas WireGuard asup

   upami $DEV_WAN udp dport $WIREGUARD_PORT \

     counter \

     narima \

     komentar "Izin lalu lintas WireGuard asup"

 

   ## Asup jeung leupaskeun pakét TCP non-SYN anyar

   umbul tcp != syn ct state new \

     laju wates 100/ menit burst 150 pakét \

     awalan log "IN - Anyar !SYN: " \

     komentar "Log wates laju pikeun sambungan anyar anu teu gaduh set bendera SYN TCP"

   umbul tcp != syn ct state new \

     counter \

     turun \

     komentar "Leupaskeun sambungan anyar nu teu boga set bendera SYN TCP"

 

   ## Asup tur teundeun pakét TCP kalawan fin / syn flag set teu valid

   tcp bandéra & (fin|syn) == (fin|syn) \

     laju wates 100/ menit burst 150 pakét \

     awalan log "IN - TCP FIN|SIN: " \

     komentar "Log wates laju pikeun pakét TCP kalayan set bandéra fin/syn teu valid"

   tcp bandéra & (fin|syn) == (fin|syn) \

     counter \

     turun \

     komentar "Leupaskeun pakét TCP sareng set bendera fin/syn anu teu valid"

 

   ## Asup sareng teundeun pakét TCP sareng syn / bandéra munggaran anu teu sah

   tcp bandéra & (syn|mimitina) == (syn|mimitina) \

     laju wates 100/ menit burst 150 pakét \

     awalan log "IN - TCP SYN|RST:" \

     komentar "Log wates laju pikeun pakét TCP sareng syn / bandéra munggaran anu teu sah"

   tcp bandéra & (syn|mimitina) == (syn|mimitina) \

     counter \

     turun \

     komentar "Leupaskeun pakét TCP sareng syn / bandéra munggaran anu teu sah"

 

   ## Log sareng leupaskeun umbul TCP anu teu sah

   tcp bandéra & (fin|syn|mimitina|psh|ack|urg) < (fin) \

     laju wates 100/ menit burst 150 pakét \

     awalan log "IN - FIN:" \

     komentar "Log wates laju pikeun umbul TCP teu valid (fin|syn|rst|psh|ack|urg) < (fin)"

   tcp bandéra & (fin|syn|mimitina|psh|ack|urg) < (fin) \

     counter \

     turun \

     komentar "Turunkeun pakét TCP nganggo bandéra (fin|syn|rst|psh|ack|urg) < (fin)"

 

   ## Log sareng leupaskeun umbul TCP anu teu sah

   tcp bandéra & (fin|syn|mimitina|psh|ack|urg) == (fin|psh|urg) \

     laju wates 100/ menit burst 150 pakét \

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

     komentar "Log wates laju pikeun umbul TCP teu sah (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)"

   tcp bandéra & (fin|syn|mimitina|psh|ack|urg) == (fin|psh|urg) \

     counter \

     turun \

     komentar "Turunkeun pakét TCP nganggo bandéra (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)"

 

   ## Leupaskeun lalulintas kalayan kaayaan sambungan teu valid

   kaayaan ct teu valid \

     laju wates 100/ menit burst 150 pakét \

     log bandéra sadayana awalan "IN - Teu valid:" \

     komentar "Log wates laju pikeun lalu lintas sareng kaayaan sambungan teu valid"

   kaayaan ct teu valid \

     counter \

     turun \

     komentar "Turunkeun patalimarga sareng kaayaan sambungan teu valid"

 

   ## Idin IPv4 ping/ping réspon tapi laju wates ka 2000 PPS

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

     laju wates 2000/detik \

     counter \

     narima \

     komentar "Idin inbound IPv4 echo (ping) dugi ka 2000 PPS"

 

   ## Idin sadaya inbound IPv4 ICMP séjén

   ip protokol icmp \

     counter \

     narima \

     komentar "Idin sadaya ICMP IPv4 séjén"

 

   ## Idin IPv6 ping/ping réspon tapi laju wates ka 2000 PPS

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

     laju wates 2000/detik \

     counter \

     narima \

     komentar "Idin inbound IPv6 echo (ping) dugi ka 2000 PPS"

 

   ## Idin sadaya inbound IPv6 ICMP séjén

   meta l4proto {icmpv6} \

     counter \

     narima \

     komentar "Idin sadaya ICMP IPv6 séjén"

 

   ## Idin inbound traceroute palabuhan UDP tapi wates ka 500 PPS

   udp dport 33434-33524 \

     laju wates 500/detik \

     counter \

     narima \

     komentar "Idin inbound UDP traceroute dugi ka 500 PPS"

 

   ## Idin inbound SSH

   tcp dport ssh ct kaayaan anyar \

     counter \

     narima \

     komentar "Idinkeun sambungan SSH asup"

 

   ## Idin inbound HTTP na HTTPS

   tcp dport {http, HTTPS} ct kaayaan anyar \

     counter \

     narima \

     komentar "Idin inbound HTTP na HTTPS sambungan"

 

   ## Asupkeun sagala patalimarga anu teu cocog tapi laju wates log nepi ka maksimum 60 pesen/menit

   ## Kabijakan standar bakal diterapkeun ka lalu lintas anu teu cocog

   laju wates 60/ menit burst 100 pakét \

     awalan log "IN - Drop:" \

     komentar "Asupkeun lalu lintas anu teu cocog"

 

   ## Ngitung lalu lintas anu teu cocog

   counter \

     komentar "Itung lalu lintas anu teu cocog"

 }

 

 # Aturan pikeun lalu lintas kaluaran

 kaluaran ranté {

   tipe filter hook kaluaran prioritas filter; turunna kawijakan

 

   ## Ngidinan lalulintas kaluar pikeun panganteur loopback

   heueuh \

     narima \

     komentar "Idinan sadaya lalu lintas kaluar ka antarmuka loopback"

 

   ## Idin ngadegkeun tur patali sambungan

   ct kaayaan ngadegkeun, patali \

     counter \

     narima \

     komentar "Idin ngadegkeun / sambungan patali"

 

   ## Idin patalimarga WireGuard kaluar samemeh leupaskeun sambungan kalawan kaayaan goréng

   oif $DEV_WAN olahraga udp $WIREGUARD_PORT \

     counter \

     narima \

     komentar "Izinkeun lalu lintas kaluar WireGuard"

 

   ## Leupaskeun lalulintas kalayan kaayaan sambungan teu valid

   kaayaan ct teu valid \

     laju wates 100/ menit burst 150 pakét \

     log bandéra sadayana awalan "KELUAR - Teu valid:" \

     komentar "Log wates laju pikeun lalu lintas sareng kaayaan sambungan teu valid"

   kaayaan ct teu valid \

     counter \

     turun \

     komentar "Turunkeun patalimarga sareng kaayaan sambungan teu valid"

 

   ## Idin sagala outbound IPv4 ICMP séjén

   ip protokol icmp \

     counter \

     narima \

     komentar "Idin sadaya jinis IPv4 ICMP"

 

   ## Idin sagala outbound IPv6 ICMP séjén

   meta l4proto {icmpv6} \

     counter \

     narima \

     komentar "Idin sadaya jinis IPv6 ICMP"

 

   ## Idin outbound traceroute palabuhan UDP tapi wates ka 500 PPS

   udp dport 33434-33524 \

     laju wates 500/detik \

     counter \

     narima \

     komentar "Idin outbound UDP traceroute dugi ka 500 PPS"

 

   ## Idin sambungan HTTP na HTTPS outbound

   tcp dport {http, HTTPS} ct kaayaan anyar \

     counter \

     narima \

     komentar "Idin sambungan HTTP na HTTPS outbound"

 

   ## Idin kaluman SMTP outbound

   tcp dport kaluman ct kaayaan anyar \

     counter \

     narima \

     komentar "Idin kaluman SMTP outbound"

 

   ## Idin requests DNS outbound

   udp dport 53 \

     counter \

     narima \

     komentar "Idinkeun pamundut DNS UDP kaluar"

   tcp dport 53 \

     counter \

     narima \

     komentar "Idinkeun pamundut DNS TCP outbound"

 

   ## Idin outbound NTP requests

   udp dport 123 \

     counter \

     narima \

     komentar "Idinkeun pamundut NTP kaluar"

 

   ## Asupkeun sagala patalimarga anu teu cocog tapi laju wates log nepi ka maksimum 60 pesen/menit

   ## Kabijakan standar bakal diterapkeun ka lalu lintas anu teu cocog

   laju wates 60/ menit burst 100 pakét \

     awalan log "KELUAR - Leupaskeun:" \

     komentar "Asupkeun lalu lintas anu teu cocog"

 

   ## Ngitung lalu lintas anu teu cocog

   counter \

     komentar "Itung lalu lintas anu teu cocog"

 }

 

}

 

# Méja panyaring NAT utama

tabel inet nat {

 

 # Aturan pikeun lalu lintas NAT pre-routing

 ranté prerouting {

   ngetik nat hook prerouting prioritas dstnat; kawijakan narima

 }

 

 # Aturan pikeun lalu lintas NAT post-routing

 # tabél ieu diolah saméméh ranté pos-routing Firezone

 ranté postrouting {

   tipe nat hook postrouting prioritas srcnat - 5; kawijakan narima

 }

 

}

pamakéan

Firewall kudu disimpen dina lokasi relevan pikeun distribusi Linux Ubuntu nu keur jalan. Pikeun Debian/Ubuntu ieu /etc/nftables.conf jeung RHEL ieu /etc/sysconfig/nftables.conf.

nftables.service kedah dikonpigurasikeun pikeun ngamimitian nalika boot (upami henteu acan) disetel:

systemctl ngaktipkeun nftables.service

Upami ngadamel parobihan kana citakan firewall, sintaksis tiasa disahkeun ku ngajalankeun paréntah cek:

nft -f /path/to/nftables.conf -c

Pastikeun pikeun nga-validasi firewall jalan saperti nu diharapkeun salaku fitur nftables tangtu bisa jadi teu sadia gumantung kana release ngajalankeun on server.



_______________________________________________________________



Telemetry

 

Dokumén ieu nampilkeun tinjauan ngeunaan telemétri Firezone anu dikumpulkeun tina conto anu di-host sorangan sareng cara nganonaktipkeunana.

Naha Firezone ngumpulkeun telemétri

Zona seuneu gumantungkeun dina telemétri pikeun prioritas peta jalan urang sareng ngaoptimalkeun sumber daya rékayasa anu urang gaduh pikeun ngajantenkeun Firezone langkung saé pikeun sadayana.

Telemétri anu kami kumpulkeun tujuanana pikeun ngajawab patarosan ieu:

  • Sabaraha jalma masang, ngagunakeun, sareng ngeureunkeun nganggo Firezone?
  • Fitur naon anu paling berharga, sareng anu mana anu henteu tiasa dianggo?
  • Fungsi naon anu peryogi perbaikan anu paling?
  • Nalika aya anu rusak, naha éta rusak, sareng kumaha urang tiasa nyegah éta kajantenan di hareup?

Kumaha urang ngumpulkeun telemetry

Aya tilu tempat utama dimana telemétri dikumpulkeun di Firezone:

  1. Paket telemétri. Ngawengku acara sapertos install, uninstall, sareng ningkatkeun.
  2. Telemétri CLI tina paréntah firezone-ctl.
  3. telemétri produk pakait sareng portal Web.

Dina unggal tilu konteks ieu, urang candak jumlah minimum data diperlukeun pikeun ngajawab patarosan dina bagian luhur.

Surélék admin dikumpulkeun ngan lamun anjeun sacara eksplisit milih-in apdet produk. Upami teu kitu, inpormasi anu tiasa diidentipikasi sacara pribadi teu kungsi dikumpulkeun.

Firezone nyimpen telemétri dina conto anu di-host sorangan tina PostHog dijalankeun dina kluster Kubernetes swasta, ngan tiasa diaksés ku tim Firezone. Ieu conto acara telemétri anu dikirimkeun ti conto Firezone anjeun ka server telemétri kami:

{

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

   "cap waktu": “2022-07-22T18:30:39.748000+00:00”,

   "acara": "fz_http_started",

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

   "properties":{

       “$geoip_city_name”: "Ashburn",

       "$geoip_continent_code": "NA",

       “$geoip_continent_name”: "Amérika Kalér",

       "$geoip_country_code": "URANG",

       “$geoip_country_name”: "Amérika 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”: “Amérika/New_York”,

       "$ip": "52.200.241.107",

       "$plugins_deferred": [],

       "$plugins_gagal": [],

       "$plugins_succeeded": [

           "GeoIP (3)"

       ],

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

       "fqdn": "awsdemo.firezone.dev",

       "versi kernel": "linux 5.13.0",

       "versi": "0.4.6"

   },

   "rantai_unsur": ""

}

Kumaha mareuman telemetry

CATETAN

Tim ngembangkeun Firezone gumantungkeun on analytics produk sangkan Firezone hadé for everyone. Ninggalkeun telemétri diaktipkeun mangrupikeun sumbangan anu paling berharga anu anjeun tiasa laksanakeun pikeun pangwangunan Firezone. Kitu cenah, kami ngartos sababaraha pangguna gaduh syarat privasi atanapi kaamanan anu langkung luhur sareng langkung milih mareuman telemétri sadayana. Upami éta anjeun, teraskeun maca.

Telemétri diaktipkeun sacara standar. Pikeun nganonaktipkeun telemétri produk lengkep, setel pilihan konfigurasi di handap pikeun palsu dina /etc/firezone/firezone.rb tur ngajalankeun sudo firezone-ctl reconfigure pikeun nyokot parobahan.

standar['zona seuneu']['telemétri']['diaktipkeun'] = palsu

Éta bakal nganonaktipkeun sadayana telemétri produk.