Hailbytes VPN Sa Firezone Firewall Documentation

Talaan ng nilalaman

Magsimula

Ang mga sunud-sunod na tagubilin para sa pag-deploy ng Hailbytes VPN na may Firezone GUI ay ibinibigay dito. 

Pangasiwaan: Ang pag-set up ng instance ng server ay direktang nauugnay sa bahaging ito.

Mga Gabay sa Gumagamit: Mga kapaki-pakinabang na dokumento na maaaring magturo sa iyo kung paano gamitin ang Firezone at lutasin ang mga karaniwang problema. Pagkatapos na matagumpay na mai-deploy ang server, sumangguni sa seksyong ito.

Mga Gabay para sa Mga Karaniwang Configuration

Split Tunneling: Gamitin ang VPN upang magpadala lamang ng trapiko sa mga partikular na hanay ng IP.

Whitelisting: Magtakda ng static na IP address ng VPN server upang magamit ang whitelisting.

Mga Baliktad na Tunnel: Gumawa ng mga tunnel sa pagitan ng ilang mga kapantay gamit ang mga reverse tunnel.

Kumuha ng suporta

Ikinalulugod naming tulungan ka kung kailangan mo ng tulong sa pag-install, pag-customize, o paggamit ng Hailbytes VPN.

Pagpapatunay

Bago makagawa o makapag-download ang mga user ng mga file ng configuration ng device, maaaring i-configure ang Firezone upang mangailangan ng pagpapatunay. Maaaring kailanganin din ng mga user na pana-panahong muling mag-authenticate para mapanatiling aktibo ang kanilang koneksyon sa VPN.

Bagama't ang default na paraan ng pag-login ng Firezone ay lokal na email at password, maaari rin itong isama sa anumang standardized na OpenID Connect (OIDC) identity provider. Nagagawa na ngayon ng mga user na mag-log in sa Firezone gamit ang kanilang mga kredensyal sa Okta, Google, Azure AD, o private identity provider.

 

Isama ang Isang Pangkalahatang OIDC Provider

Ang mga parameter ng pagsasaayos na kailangan ng Firezone upang payagan ang SSO gamit ang isang OIDC provider ay ipinapakita sa halimbawa sa ibaba. Sa /etc/firezone/firezone.rb, maaari mong mahanap ang configuration file. Patakbuhin ang firezone-ctl reconfigure at firezone-ctl restart upang i-update ang application at magkabisa ang mga pagbabago.

 

# Ito ay isang halimbawa gamit ang Google at Okta bilang isang tagapagbigay ng pagkakakilanlan ng SSO.

# Maaaring magdagdag ng maraming OIDC config sa parehong instance ng Firezone.

 

Maaaring i-disable ng # Firezone ang VPN ng isang user kung may nakitang error na sinusubukan

# upang i-refresh ang kanilang access_token. Ito ay na-verify na gagana para sa Google, Okta, at

# Azure SSO at ginagamit para awtomatikong idiskonekta ang VPN ng user kung aalisin sila

# mula sa OIDC provider. Iwanan itong naka-disable kung ang iyong OIDC provider

# ay may mga isyu sa pagre-refresh ng mga token ng pag-access dahil maaari itong hindi inaasahang makagambala a

# session ng VPN ng user.

default['firezone']['authentication']['disable_vpn_on_oidc_error'] = false

 

default['firezone']['authentication']['oidc'] = {

  google: {

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

    ID ng kliyente: " ”,

    client_secret: “ ”,

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

    response_type: “code”,

    saklaw: "openid email profile",

    label: "Google"

  },

  okta: {

    discovery_document_uri: “https:// /.well-known/openid-configuration”,

    ID ng kliyente: " ”,

    client_secret: “ ”,

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

    response_type: “code”,

    saklaw: "openid email profile offline_access",

    label: “Okta”

  }

}



Ang mga sumusunod na setting ng config ay kinakailangan para sa pagsasama:

  1. discovery_document_uri: Ang URI ng configuration ng provider ng OpenID Connect na nagbabalik ng JSON na dokumento na ginamit sa pagbuo ng mga kasunod na kahilingan sa OIDC provider na ito.
  2. client_id: Ang client ID ng application.
  3. client_secret: Ang sikreto ng kliyente ng application.
  4. redirect_uri: Nagtuturo sa OIDC provider kung saan magre-redirect pagkatapos ng authentication. Ito dapat ang iyong Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (hal. https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Itakda sa code.
  6. saklaw: Mga saklaw ng OIDC upang makuha mula sa iyong OIDC provider. Dapat itong itakda sa openid email profile o openid email profile offline_access depende sa provider.
  7. label: Ang text label ng button na lumalabas sa iyong screen sa pag-log in sa Firezone.

Mga magagandang URL

Para sa bawat provider ng OIDC, nilikha ang katumbas na magandang URL para sa pag-redirect sa URL ng pag-sign in ng naka-configure na provider. Para sa halimbawang OIDC config sa itaas, ang mga URL ay:

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

Mga Tagubilin Para sa Pag-setup ng Firezone Sa Mga Sikat na Identity Provider

Mga provider na mayroon kaming dokumentasyon para sa:

  • Google
  • Okta
  • Azure Active Directory
  • Onelogin
  • Lokal na Pagpapatotoo

 

Kung ang iyong identity provider ay may generic na OIDC connector at hindi nakalista sa itaas, mangyaring pumunta sa kanilang dokumentasyon para sa impormasyon kung paano kunin ang mga kinakailangang setting ng configuration.

Panatilihin ang Regular na Re-Authentication

Ang setting sa ilalim ng mga setting/seguridad ay maaaring baguhin upang mangailangan ng pana-panahong muling pagpapatotoo. Magagamit ito para ipatupad ang pangangailangan na regular na pumasok ang mga user sa Firezone para maipagpatuloy ang kanilang VPN session.

Maaaring i-configure ang haba ng session na nasa pagitan ng isang oras at siyamnapung araw. Sa pamamagitan ng pagtatakda nito sa Huwag kailanman, maaari mong paganahin ang mga sesyon ng VPN anumang oras. Ito ang pamantayan.

Muling pagpapatunay

Dapat wakasan ng isang user ang kanilang session sa VPN at mag-log in sa portal ng Firezone upang muling mapatotohanan ang isang nag-expire na session ng VPN (tinukoy ang URL sa panahon ng deployment).

Maaari mong muling patotohanan ang iyong session sa pamamagitan ng pagsunod sa tumpak na mga tagubilin ng kliyente na makikita dito.

 

Katayuan ng VPN Connection

Ipinapakita ng column ng talahanayan ng VPN Connection ng page ng Mga User ang status ng koneksyon ng user. Ito ang mga katayuan ng koneksyon:

ENABLED – Ang koneksyon ay pinagana.

DISABLED – Ang koneksyon ay hindi pinagana ng isang administrator o OIDC refresh failure.

EXPIRED – Ang koneksyon ay hindi pinagana dahil sa pag-expire ng pagpapatunay o ang isang user ay hindi naka-sign in sa unang pagkakataon.

Google

Sa pamamagitan ng pangkalahatang OIDC connector, pinapagana ng Firezone ang Single Sign-On (SSO) gamit ang Google Workspace at Cloud Identity. Ipapakita sa iyo ng gabay na ito kung paano makuha ang mga parameter ng pagsasaayos na nakalista sa ibaba, na kinakailangan para sa pagsasama:

  1. discovery_document_uri: Ang URI ng configuration ng provider ng OpenID Connect na nagbabalik ng JSON na dokumento na ginamit sa pagbuo ng mga kasunod na kahilingan sa OIDC provider na ito.
  2. client_id: Ang client ID ng application.
  3. client_secret: Ang sikreto ng kliyente ng application.
  4. redirect_uri: Nagtuturo sa OIDC provider kung saan magre-redirect pagkatapos ng authentication. Ito dapat ang iyong Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (hal. https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Itakda sa code.
  6. saklaw: Mga saklaw ng OIDC upang makuha mula sa iyong OIDC provider. Dapat itong itakda sa nakabukas na profile ng email upang maibigay sa Firezone ang email ng user sa mga ibinalik na claim.
  7. label: Ang text label ng button na lumalabas sa iyong screen sa pag-log in sa Firezone.

Kumuha ng Mga Setting ng Configuration

1. OAuth Config Screen

Kung ito ang unang pagkakataon na gagawa ka ng bagong OAuth client ID, hihilingin sa iyong mag-configure ng screen ng pahintulot.

*Piliin ang Panloob para sa uri ng user. Tinitiyak nito na ang mga account lang na pagmamay-ari ng mga user sa iyong Google Workspace Organization ang makakagawa ng mga config ng device. HUWAG piliin ang Panlabas maliban kung gusto mong paganahin ang sinumang may wastong Google Account na gumawa ng mga config ng device.

 

Sa screen ng impormasyon ng App:

  1. Pangalan ng app: Firezone
  2. Logo ng app: Logo ng Firezone (I-save ang Link Bilang).
  3. Home page ng application: ang URL ng iyong instance sa Firezone.
  4. Mga awtorisadong domain: ang pinakamataas na antas ng domain ng iyong instance sa Firezone.

 

 

2. Lumikha ng mga OAuth Client ID

Ang seksyong ito ay batay sa sariling dokumentasyon ng Google sa pag-set up ng OAuth 2.0.

Bisitahin ang Google Cloud Console Pahina ng mga kredensyal page, i-click ang + Lumikha ng Mga Kredensyal at piliin ang OAuth client ID.

Sa screen ng paggawa ng OAuth client ID:

  1. Itakda ang Uri ng Application sa Web application
  2. Idagdag ang iyong Firezone EXTERNAL_URL + /auth/oidc/google/callback/ (hal. https://instance-id.yourfirezone.com/auth/oidc/google/callback/) bilang entry sa Mga Awtorisadong URI ng pag-redirect.

 

Pagkatapos gawin ang OAuth client ID, bibigyan ka ng Client ID at Client Secret. Gagamitin ang mga ito kasama ng redirect URI sa susunod na hakbang.

Pagsasama ng Firezone

Edit /etc/firezone/firezone.rb upang isama ang mga opsyon sa ibaba:

 

# Paggamit ng Google bilang tagapagbigay ng pagkakakilanlan ng SSO

default['firezone']['authentication']['oidc'] = {

  google: {

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

    ID ng kliyente: " ”,

    client_secret: “ ”,

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

    response_type: “code”,

    saklaw: "openid email profile",

    label: "Google"

  }

}

 

Patakbuhin ang firezone-ctl reconfigure at firezone-ctl restart upang i-update ang application. Dapat ka na ngayong makakita ng button na Mag-sign in gamit ang Google sa root Firezone URL.

Okta

Ginagamit ng Firezone ang generic na OIDC connector para mapadali ang Single Sign-On (SSO) sa Okta. Ipapakita sa iyo ng tutorial na ito kung paano makuha ang mga parameter ng pagsasaayos na nakalista sa ibaba, na kinakailangan para sa pagsasama:

  1. discovery_document_uri: Ang URI ng configuration ng provider ng OpenID Connect na nagbabalik ng JSON na dokumento na ginamit sa pagbuo ng mga kasunod na kahilingan sa OIDC provider na ito.
  2. client_id: Ang client ID ng application.
  3. client_secret: Ang sikreto ng kliyente ng application.
  4. redirect_uri: Nagtuturo sa OIDC provider kung saan magre-redirect pagkatapos ng authentication. Ito dapat ang iyong Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (hal. https://instance-id.yourfirezone.com/auth/oidc/okta/callback/).
  5. response_type: Itakda sa code.
  6. saklaw: Mga saklaw ng OIDC upang makuha mula sa iyong OIDC provider. Dapat itong itakda sa openid email profile offline_access upang maibigay sa Firezone ang email ng user sa mga ibinalik na claim.
  7. label: Ang text label ng button na lumalabas sa iyong screen sa pag-log in sa Firezone.

 

Isama ang Okta App

Ang seksyong ito ng gabay ay batay sa Ang dokumentasyon ni Okta.

Sa Admin Console, pumunta sa Applications > Applications at i-click ang Create App Integration. Itakda ang paraan ng pag-sign-in sa OICD – OpenID Connect at Uri ng Application sa Web application.

I-configure ang mga setting na ito:

  1. Pangalan ng App: Firezone
  2. Logo ng app: Logo ng Firezone (I-save ang Link Bilang).
  3. Uri ng Grant: Lagyan ng check ang kahon ng Refresh Token. Tinitiyak nito na nagsi-sync ang Firezone sa provider ng pagkakakilanlan at ang pag-access sa VPN ay wawakasan kapag naalis ang user.
  4. Mga URI ng pag-redirect sa pag-sign-in: Idagdag ang iyong Firezone EXTERNAL_URL + /auth/oidc/okta/callback/ (hal. https://instance-id.yourfirezone.com/auth/oidc/okta/callback/) bilang isang entry sa Mga Awtorisadong URI ng pag-redirect .
  5. Mga Takdang-aralin: Limitahan ang mga pangkat na gusto mong bigyan ng access sa iyong instance ng Firezone.

Kapag na-save na ang mga setting, bibigyan ka ng Client ID, Client Secret, at Okta Domain. Gagamitin ang 3 value na ito sa Hakbang 2 para i-configure ang Firezone.

Isama ang Firezone

Edit /etc/firezone/firezone.rb upang isama ang mga opsyon sa ibaba. Iyong discovery_document_url ay /.well-known/openid-configuration nakadugtong sa dulo ng iyong okta_domain.

 

# Paggamit ng Okta bilang tagapagbigay ng pagkakakilanlan ng SSO

default['firezone']['authentication']['oidc'] = {

  okta: {

    discovery_document_uri: “https:// /.well-known/openid-configuration”,

    ID ng kliyente: " ”,

    client_secret: “ ”,

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

    response_type: “code”,

    saklaw: "openid email profile offline_access",

    label: “Okta”

  }

}

 

Patakbuhin ang firezone-ctl reconfigure at firezone-ctl restart upang i-update ang application. Dapat ka na ngayong makakita ng button na Mag-sign in gamit ang Okta sa root Firezone URL.

 

Limitahan ang Access Sa Ilang Mga User

Ang mga user na makaka-access sa Firezone app ay maaaring paghigpitan ng Okta. Pumunta sa page ng Mga Assignment ng Firezone App Integration ng iyong Okta Admin Console para magawa ito.

Azure Active Directory

Sa pamamagitan ng generic na OIDC connector, pinapagana ng Firezone ang Single Sign-On (SSO) na may Azure Active Directory. Ipapakita sa iyo ng manual na ito kung paano makuha ang mga parameter ng configuration na nakalista sa ibaba, na kinakailangan para sa pagsasama:

  1. discovery_document_uri: Ang URI ng configuration ng provider ng OpenID Connect na nagbabalik ng JSON na dokumento na ginamit sa pagbuo ng mga kasunod na kahilingan sa OIDC provider na ito.
  2. client_id: Ang client ID ng application.
  3. client_secret: Ang sikreto ng kliyente ng application.
  4. redirect_uri: Nagtuturo sa OIDC provider kung saan magre-redirect pagkatapos ng authentication. Ito dapat ang iyong Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (hal. https://instance-id.yourfirezone.com/auth/oidc/azure/callback/).
  5. response_type: Itakda sa code.
  6. saklaw: Mga saklaw ng OIDC upang makuha mula sa iyong OIDC provider. Dapat itong itakda sa openid email profile offline_access upang maibigay sa Firezone ang email ng user sa mga ibinalik na claim.
  7. label: Ang text label ng button na lumalabas sa iyong screen sa pag-log in sa Firezone.

Kunin ang Mga Setting ng Configuration

Ang gabay na ito ay nakuha mula sa Azure Active Directory Docs.

 

Pumunta sa pahina ng Azure Active Directory ng Azure portal. Piliin ang opsyong Pamahalaan ang menu, piliin ang Bagong Pagpaparehistro, pagkatapos ay magparehistro sa pamamagitan ng pagbibigay ng impormasyon sa ibaba:

  1. Pangalan: Firezone
  2. Mga sinusuportahang uri ng account: (Default na Direktoryo lamang – Nag-iisang nangungupahan)
  3. I-redirect ang URI: Ito dapat ang iyong firezone EXTERNAL_URL + /auth/oidc/azure/callback/ (hal. https://instance-id.yourfirezone.com/auth/oidc/azure/callback/). Tiyaking isasama mo ang trailing slash. Ito ang magiging halaga ng redirect_uri.

 

Pagkatapos magparehistro, buksan ang view ng mga detalye ng application at kopyahin ang Application (client) ID. Ito ang magiging value ng client_id. Susunod, buksan ang menu ng mga endpoint upang makuha ang OpenID Connect metadata na dokumento. Ito ang magiging halaga ng discovery_document_uri.

 

Gumawa ng bagong sikreto ng kliyente sa pamamagitan ng pag-click sa opsyong Mga Certificate at lihim sa ilalim ng menu na Pamahalaan. Kopyahin ang lihim ng kliyente; ang lihim na halaga ng kliyente ay ito.

 

Panghuli, piliin ang link ng mga pahintulot ng API sa ilalim ng menu na Pamahalaan, i-click Magdagdag ng pahintulot, at piliin Microsoft Graph, magdagdag email, openid, offline_access at profile sa mga kinakailangang pahintulot.

Pagsasama ng Firezone

Edit /etc/firezone/firezone.rb upang isama ang mga opsyon sa ibaba:

 

# Paggamit ng Azure Active Directory bilang tagapagbigay ng pagkakakilanlan ng SSO

default['firezone']['authentication']['oidc'] = {

  azure: {

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

    ID ng kliyente: " ”,

    client_secret: “ ”,

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

    response_type: “code”,

    saklaw: "openid email profile offline_access",

    label: "Azure"

  }

}

 

Patakbuhin ang firezone-ctl reconfigure at firezone-ctl restart upang i-update ang application. Dapat ka na ngayong makakita ng button na Mag-sign in gamit ang Azure sa root Firezone URL.

Paano Upang: Paghigpitan ang Pag-access Sa Ilang Miyembro

Binibigyang-daan ng Azure AD ang mga administrator na limitahan ang access sa app sa isang partikular na pangkat ng mga user sa loob ng iyong kumpanya. Ang higit pang impormasyon sa kung paano gawin ito ay matatagpuan sa dokumentasyon ng Microsoft.

Pangasiwaan

  • I-configure ang
  • Pamahalaan ang Pag-install
  • I-upgrade
  • I-troubleshoot
  • Mga Pagsasaalang-alang sa Seguridad
  • Pagpapatakbo ng SQL Query

I-configure ang

Ang Chef Omnibus ay ginagamit ng Firezone upang pamahalaan ang mga gawain kabilang ang release packaging, pangangasiwa sa proseso, pamamahala ng log, at higit pa.

Binubuo ng Ruby code ang pangunahing configuration file, na matatagpuan sa /etc/firezone/firezone.rb. Ang pag-restart ng sudo firezone-ctl reconfigure pagkatapos gumawa ng mga pagbabago sa file na ito ay nagiging sanhi ng Chef na makilala ang mga pagbabago at ilapat ang mga ito sa kasalukuyang operating system.

Tingnan ang sanggunian ng configuration file para sa kumpletong listahan ng mga variable ng configuration at ang kanilang mga paglalarawan.

Pamahalaan ang Pag-install

Maaaring pamahalaan ang iyong instance ng Firezone sa pamamagitan ng firezone-ctl command, tulad ng ipinapakita sa ibaba. Karamihan sa mga subcommand ay nangangailangan ng prefixing sa sudo.

 

ugat@demo:~# firezone-ctl

omnibus-ctl: command (subcommand)

Pangkalahatang Utos:

  linisin

    Tanggalin *lahat* ang data ng firezone, at magsimula sa simula.

  gumawa-o-reset-admin

    Nire-reset ang password para sa admin gamit ang email na tinukoy bilang default['firezone']['admin_email'] o gagawa ng bagong admin kung wala ang email na iyon.

  Tulungan

    I-print ang mensahe ng tulong na ito.

  reconfigure

    Muling i-configure ang application.

  reset-network

    Nire-reset ang mga nftable, interface ng WireGuard, at routing table pabalik sa mga default ng Firezone.

  show-config

    Ipakita ang configuration na mabubuo sa pamamagitan ng reconfigure.

  teardown-network

    Inaalis ang WireGuard interface at firezone nftables table.

  puwersa-cert-renewal

    Pilitin ang pag-renew ng certificate ngayon kahit na hindi pa ito nag-expire.

  stop-cert-renewal

    Inaalis ang cronjob na nagre-renew ng mga certificate.

  i-uninstall

    Patayin ang lahat ng proseso at i-uninstall ang supervisor ng proseso (papanatilihin ang data).

  bersyon

    Ipakita ang kasalukuyang bersyon ng Firezone

Mga Utos sa Pamamahala ng Serbisyo:

  graceful-kill

    Subukan ang isang magandang paghinto, pagkatapos ay SIGKILL ang buong pangkat ng proseso.

  hup

    Ipadala ang mga serbisyo ng isang HUP.

  int

    Ipadala ang mga serbisyo ng isang INT.

  pumatay

    Ipadala ang mga serbisyo ng isang KILL.

  minsan

    Simulan ang mga serbisyo kung down ang mga ito. Huwag i-restart ang mga ito kung hihinto sila.

  i-restart ang

    Itigil ang mga serbisyo kung tumatakbo ang mga ito, pagkatapos ay simulan muli ang mga ito.

  listahan ng serbisyo

    Ilista ang lahat ng mga serbisyo (lumalabas ang mga naka-enable na serbisyo na may *.)

  simula

    Simulan ang mga serbisyo kung hindi gumagana ang mga ito, at i-restart ang mga ito kung huminto ang mga ito.

  katayuan

    Ipakita ang katayuan ng lahat ng serbisyo.

  itigil

    Itigil ang mga serbisyo, at huwag i-restart ang mga ito.

  buntot

    Panoorin ang mga log ng serbisyo ng lahat ng pinaganang serbisyo.

  termino

    Ipadala ang mga serbisyo ng TERM.

  usr1

    Ipadala ang mga serbisyo ng USR1.

  usr2

    Ipadala ang mga serbisyo ng USR2.

I-upgrade

Dapat wakasan ang lahat ng session ng VPN bago i-upgrade ang Firezone, na nangangailangan din ng pag-shut down sa Web UI. Kung sakaling magkaroon ng mali sa panahon ng pag-upgrade, ipinapayo namin na maglaan ng isang oras para sa pagpapanatili.

 

Upang mapahusay ang Firezone, gawin ang mga sumusunod na aksyon:

  1. I-upgrade ang firezone package gamit ang one-command install: sudo -E bash -c “$(curl -fsSL https://github.com/firezone/firezone/raw/master/scripts/install.sh)”
  2. Patakbuhin ang firezone-ctl reconfigure upang kunin ang mga bagong pagbabago.
  3. Patakbuhin ang firezone-ctl restart upang i-restart ang mga serbisyo.

Kung may anumang mga problema na lumitaw, mangyaring ipaalam sa amin sa pamamagitan ng pagsusumite ng tiket ng suporta.

Mag-upgrade Mula <0.5.0 hanggang >=0.5.0

Mayroong ilang mga paglabag sa mga pagbabago at mga pagbabago sa configuration sa 0.5.0 na dapat matugunan. Alamin ang higit pa sa ibaba.

Inalis ang mga naka-bundle na Nginx non_ssl_port (HTTP).

Hindi na sinusuportahan ng Nginx ang force SSL at non-SSL port na mga parameter mula sa bersyon 0.5.0. Dahil kailangan ng Firezone ang SSL upang gumana, ipinapayo namin na alisin ang bundle na serbisyo ng Nginx sa pamamagitan ng pagtatakda ng default['firezone']['nginx']['enabled'] = false at idirekta ang iyong reverse proxy sa Phoenix app sa port 13000 sa halip (bilang default ).

Suporta sa ACME Protocol

Ipinakilala ng 0.5.0 ang suporta sa protocol ng ACME para sa awtomatikong pag-renew ng mga SSL certificate na may kasamang serbisyo ng Nginx. Upang paganahin,

  • Tiyaking naglalaman ang default['firezone']['external_url'] ng wastong FQDN na nagre-resolve sa pampublikong IP address ng iyong server.
  • Tiyaking naaabot ang port 80/tcp
  • I-enable ang suporta sa ACME protocol na may default['firezone']['ssl']['acme']['enabled'] = true sa iyong config file.

Nag-o-overlap na Mga Destinasyon ng Panuntunan sa Paglabas

Ang posibilidad na magdagdag ng mga panuntunan na may mga duplicate na destinasyon ay nawala sa Firezone 0.5.0. Awtomatikong makikilala ng aming script sa paglilipat ang mga sitwasyong ito sa panahon ng pag-upgrade sa 0.5.0 at pananatilihin lamang ang mga panuntunan kung saan kasama sa patutunguhan ang ibang panuntunan. Wala kang kailangang gawin kung ito ay okay.

Kung hindi, bago mag-upgrade, ipinapayo namin na baguhin ang iyong set ng panuntunan upang maalis ang mga sitwasyong ito.

Paunang pag-configure ng Okta at Google SSO

Ang Firezone 0.5.0 ay nag-aalis ng suporta para sa lumang istilong Okta at Google SSO na configuration sa pabor sa bago, mas flexible na configuration na nakabatay sa OIDC. 

Kung mayroon kang anumang configuration sa ilalim ng default na['firezone']['authentication']['okta'] o default['firezone']['authentication']['google'] key, kailangan mong i-migrate ang mga ito sa aming OIDC -based na configuration gamit ang gabay sa ibaba.

Kasalukuyang configuration ng Google OAuth

Alisin ang mga linyang ito na naglalaman ng mga lumang Google OAuth config mula sa iyong configuration file na matatagpuan sa /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']

 

Pagkatapos, i-configure ang Google bilang isang provider ng OIDC sa pamamagitan ng pagsunod sa mga pamamaraan dito.

(Magbigay ng mga tagubilin sa link)<<<<<<<<<<<<<<<<

 

I-configure ang Kasalukuyang Google OAuth 

Alisin ang mga linyang ito na naglalaman ng mga lumang Okta OAuth config mula sa iyong configuration file na matatagpuan sa /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']

 

Pagkatapos, i-configure ang Okta bilang isang OIDC provider sa pamamagitan ng pagsunod sa mga pamamaraan dito.

Mag-upgrade mula 0.3.x hanggang >= 0.3.16

Depende sa iyong kasalukuyang setup at bersyon, sumunod sa mga direksyon sa ibaba:

Kung mayroon ka nang OIDC integration:

Para sa ilang OIDC provider, ang pag-upgrade sa >= 0.3.16 ay nangangailangan ng pagkuha ng refresh token para sa offline na saklaw ng access. Sa paggawa nito, tinitiyak na ang Firezone ay nag-a-update sa provider ng pagkakakilanlan at ang koneksyon ng VPN ay isinara pagkatapos matanggal ang isang user. Ang mga naunang pag-ulit ng Firezone ay kulang sa feature na ito. Sa ilang pagkakataon, ang mga user na na-delete mula sa iyong identity provider ay maaari pa ring konektado sa isang VPN.

Kinakailangang isama ang offline na pag-access sa parameter ng saklaw ng iyong configuration ng OIDC para sa mga provider ng OIDC na sumusuporta sa saklaw ng offline na pag-access. Dapat isagawa ang Firezone-ctl reconfigure upang mailapat ang mga pagbabago sa file ng configuration ng Firezone, na matatagpuan sa /etc/firezone/firezone.rb.

Para sa mga user na na-authenticate ng iyong OIDC provider, makikita mo ang heading ng OIDC Connections sa page ng mga detalye ng user ng web UI kung matagumpay na makuha ng Firezone ang refresh token.

Kung hindi ito gumana, kakailanganin mong tanggalin ang iyong umiiral nang OAuth app at ulitin ang mga hakbang sa pag-setup ng OIDC upang lumikha ng bagong pagsasama ng app .

Mayroon akong umiiral nang OAuth integration

Bago ang 0.3.11, gumamit ang Firezone ng mga paunang na-configure na provider ng OAuth2. 

Sundin ang mga panuto dito upang lumipat sa OIDC.

Hindi ako nagsama ng isang tagapagbigay ng pagkakakilanlan

Hindi kailangan ng aksyon. 

Maaari mong sundin ang mga tagubilin dito upang paganahin ang SSO sa pamamagitan ng isang OIDC provider.

Mag-upgrade mula 0.3.1 hanggang >= 0.3.2

Sa lugar nito, pinalitan ng default['firezone']['external url'] ang default na opsyon sa configuration['firezone']['fqdn']. 

Itakda ito sa URL ng iyong online na portal ng Firezone na naa-access ng pangkalahatang publiko. Magde-default ito sa https:// kasama ang FQDN ng iyong server kung hindi natukoy.

Ang configuration file ay matatagpuan sa /etc/firezone/firezone.rb. Tingnan ang sanggunian ng configuration file para sa kumpletong listahan ng mga variable ng configuration at ang kanilang mga paglalarawan.

Mag-upgrade mula 0.2.x hanggang 0.3.x

Hindi na pinapanatili ng Firezone ang mga pribadong key ng device sa server ng Firezone mula sa bersyon 0.3.0. 

Hindi ka papayagan ng Firezone Web UI na i-download muli o makita ang mga configuration na ito, ngunit dapat na patuloy na gumana ang anumang mga kasalukuyang device.

Mag-upgrade mula 0.1.x hanggang 0.2.x

Kung nag-a-upgrade ka mula sa Firezone 0.1.x, may ilang pagbabago sa configuration file na dapat manu-manong tugunan. 

Upang gawin ang mga kinakailangang pagbabago sa iyong /etc/firezone/firezone.rb file, patakbuhin ang mga command sa ibaba bilang 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

I-restart ang firezone-ctl

Troubleshooting

Ang pagsuri sa mga log ng Firezone ay isang matalinong unang hakbang para sa anumang mga isyu na maaaring mangyari.

Patakbuhin ang sudo firezone-ctl tail upang tingnan ang mga log ng Firezone.

Pag-debug sa Mga Isyu sa Pagkakakonekta

Ang karamihan sa mga problema sa koneksyon sa Firezone ay dala ng mga hindi tugmang iptable o mga panuntunan ng nftable. Dapat mong tiyakin na ang anumang mga tuntunin na mayroon ka sa bisa ay hindi sumasalungat sa mga panuntunan ng Firezone.

Bumababa ang Koneksyon sa Internet kapag Aktibo ang Tunnel

Tiyaking pinahihintulutan ng FORWARD chain ang mga packet mula sa iyong mga kliyente ng WireGuard papunta sa mga lokasyong gusto mong daanan sa Firezone kung lumalala ang iyong koneksyon sa Internet sa tuwing ina-activate mo ang iyong WireGuard tunnel.

 

Maaari itong makamit kung gumagamit ka ng ufw sa pamamagitan ng pagtiyak na pinapayagan ang default na patakaran sa pagruruta:

 

ubuntu@fz:~$ sudo ufw default allow routed

Ginawang 'payagan' ang default na patakaran sa ruta

(siguraduhing i-update ang iyong mga panuntunan nang naaayon)

 

A ufw ang katayuan para sa isang tipikal na server ng Firezone ay maaaring magmukhang ganito:

 

ubuntu@fz:~$ sudo ufw status verbose

Katayuan: aktibo

Pag-log: naka-on (mababa)

Default: tanggihan (papasok), payagan (papalabas), payagan (iruta)

Mga bagong profile: laktawan

 

Mula sa Pagkilos

— —— —-

22/tcp PAYAW SA Kahit Saan

80/tcp PAYAW SA Kahit Saan

443/tcp PAYAW SA Kahit Saan

51820/udp PAYAW SA Kahit Saan

22/tcp (v6) PAYAW SA Kahit Saan (v6)

80/tcp (v6) PAYAW SA Kahit Saan (v6)

443/tcp (v6) PAYAW SA Kahit Saan (v6)

51820/udp (v6) PAYAW SA Kahit Saan (v6)

Mga Pagsasaalang-alang sa Seguridad

Pinapayuhan namin na limitahan ang pag-access sa web interface para sa sobrang sensitibo at kritikal sa misyon na mga deployment ng produksyon, gaya ng ipinaliwanag sa ibaba.

Mga Serbisyo at Port

 

serbisyo

Default na Port

Pakinggan ang Address

paglalarawan

Nginx

80, 443

lahat

Pampublikong HTTP(S) port para sa pangangasiwa ng Firezone at pagpapadali sa pagpapatotoo.

Si Wireguard

51820

lahat

Pampublikong WireGuard port na ginagamit para sa mga sesyon ng VPN. (UDP)

postgresql

15432

127.0.0.1

Lokal-lamang na port na ginagamit para sa naka-bundle na Postgresql server.

Piniks

13000

127.0.0.1

Lokal-lamang na port na ginagamit ng upstream na elixir app server.

Mga Deployment ng Produksyon

Pinapayuhan ka naming pag-isipan ang tungkol sa paghihigpit sa pag-access sa nakalantad na web UI ng Firezone sa publiko (bilang mga default na port na 443/tcp at 80/tcp) at sa halip ay gamitin ang WireGuard tunnel upang pamahalaan ang Firezone para sa produksyon at mga deployment na nakaharap sa publiko kung saan isang administrator ang mamamahala. ng paggawa at pamamahagi ng mga configuration ng device sa mga end user.

 

Halimbawa, kung gumawa ang isang administrator ng configuration ng device at gumawa ng tunnel na may lokal na WireGuard address na 10.3.2.2, ang sumusunod na configuration ng ufw ay magbibigay-daan sa administrator na ma-access ang Firezone web UI sa wg-firezone interface ng server gamit ang default na 10.3.2.1 tunnel address:

 

ugat@demo:~# ufw status verbose

Katayuan: aktibo

Pag-log: naka-on (mababa)

Default: tanggihan (papasok), payagan (papalabas), payagan (iruta)

Mga bagong profile: laktawan

 

Mula sa Pagkilos

— —— —-

22/tcp PAYAW SA Kahit Saan

51820/udp PAYAW SA Kahit Saan

Kahit saan PAYAW SA 10.3.2.2

22/tcp (v6) PAYAW SA Kahit Saan (v6)

51820/udp (v6) PAYAW SA Kahit Saan (v6)

Aalis lang ito 22/tcp nakalantad para sa SSH access upang pamahalaan ang server (opsyonal), at 51820/udp nakalantad upang makapagtatag ng mga WireGuard tunnel.

Patakbuhin ang SQL Query

Ang Firezone ay nag-bundle ng isang Postgresql server at tumutugma psql utility na maaaring magamit mula sa lokal na shell tulad nito:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d firezone \

  -h localhost \

  -p 15432 \

  -c “SQL_STATEMENT”

 

Makakatulong ito para sa mga layunin ng pag-debug.

 

Mga Karaniwang Gawain:

 

  • Listahan ng lahat ng mga gumagamit
  • Listahan ng lahat ng mga device
  • Pagbabago ng tungkulin ng isang user
  • Pag-back up ng database



Listahan ng lahat ng mga gumagamit:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d firezone \

  -h localhost \

  -p 15432 \

  -c “PUMILI * MULA SA mga user;”



Listahan ng lahat ng device:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d firezone \

  -h localhost \

  -p 15432 \

  -c “PUMILI * MULA sa mga device;”



Baguhin ang tungkulin ng user:

 

Itakda ang tungkulin sa 'admin' o 'unprivileged':

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d firezone \

  -h localhost \

  -p 15432 \

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



Pag-back up ng database:

 

Higit pa rito, kasama ang pg dump program, na maaaring gamitin upang kumuha ng mga regular na backup ng database. Ipatupad ang sumusunod na code para mag-dump ng kopya ng database sa karaniwang format ng query sa SQL (palitan ang /path/to/backup.sql ng lokasyon kung saan dapat gawin ang SQL file):

 

/opt/firezone/embedded/bin/pg_dump \

  -U firezone \

  -d firezone \

  -h localhost \

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

Guides User

  • Magdagdag ng Mga Gumagamit
  • Magdagdag ng Mga Device
  • Mga Panuntunan sa Paglabas
  • Mga Tagubilin sa Kliyente
  • Hatiin ang Tunnel VPN
  • Baliktad na Tunnel 
  • Gateway ng NAT

Magdagdag ng Mga Gumagamit

Pagkatapos na matagumpay na mai-deploy ang Firezone, dapat kang magdagdag ng mga user para mabigyan sila ng access sa iyong network. Ginagamit ang Web UI para gawin ito.

 

Web UI


Sa pamamagitan ng pagpili sa button na “Magdagdag ng User” sa ilalim ng /users, maaari kang magdagdag ng user. Kakailanganin mong bigyan ang user ng email address at password. Upang awtomatikong payagan ang access sa mga user sa iyong organisasyon, maaari ding mag-interface at mag-sync ang Firezone sa isang identity provider. Higit pang mga detalye ay magagamit sa Patunayan. < Magdagdag ng link sa Authenticate

Magdagdag ng Mga Device

Pinapayuhan namin ang paghiling sa mga user na gumawa ng sarili nilang mga configuration ng device para ang pribadong key ay makikita lang nila. Maaaring bumuo ang mga user ng sarili nilang mga configuration ng device sa pamamagitan ng pagsunod sa mga direksyon sa Mga Tagubilin sa Kliyente pahina.

 

Bumubuo ng configuration ng admin device

Ang lahat ng configuration ng device ng user ay maaaring gawin ng mga admin ng Firezone. Sa pahina ng profile ng user na matatagpuan sa /users, piliin ang opsyong "Magdagdag ng Device" upang magawa ito.

 

[Ipasok ang screenshot]

 

Maaari mong i-email sa user ang WireGuard configuration file pagkatapos gawin ang profile ng device.

 

Naka-link ang mga user at device. Para sa karagdagang detalye kung paano magdagdag ng user, tingnan Magdagdag ng Mga Gumagamit.

Mga Panuntunan sa Paglabas

Sa pamamagitan ng paggamit ng netfilter system ng kernel, pinapagana ng Firezone ang mga kakayahan sa pag-filter ng labasan upang tukuyin ang DROP o ACCEPT packet. Ang lahat ng trapiko ay karaniwang pinahihintulutan.

 

Ang mga IPv4 at IPv6 CIDR at IP address ay sinusuportahan sa pamamagitan ng Allowlist at Denylist, ayon sa pagkakabanggit. Maaari mong piliing saklawin ang isang panuntunan sa isang user kapag idinaragdag ito, na inilalapat ang panuntunan sa lahat ng device ng user na iyon.

Mga Tagubilin sa Kliyente

I-install at i-configure

Upang magtatag ng koneksyon sa VPN gamit ang katutubong WireGuard client, sumangguni sa gabay na ito.

 

1. I-install ang native na WireGuard client

 

Ang mga Opisyal na kliyente ng WireGuard na matatagpuan dito ay katugma sa Firezone:

 

MacOS

 

Windows

 

iOS

 

Android

 

Bisitahin ang opisyal na website ng WireGuard sa https://www.wireguard.com/install/ para sa mga OS system na hindi nabanggit sa itaas.

 

2. I-download ang configuration file ng device

 

Maaaring buuin ng iyong administrator ng Firezone o ang iyong sarili ang file ng configuration ng device gamit ang portal ng Firezone.

 

Bisitahin ang URL na ibinigay ng iyong Firezone administrator upang makabuo ng sariling configuration file ng device. Ang iyong kumpanya ay magkakaroon ng natatanging URL para dito; sa kasong ito, ito ay https://instance-id.yourfirezone.com.

 

Mag-login sa Firezone Okta SSO

 

[Ipasok ang Screenshot]

 

3. Idagdag ang configuration ng kliyente

 

I-import ang.conf file sa WireGuard client sa pamamagitan ng pagbubukas nito. Sa pamamagitan ng pag-flip sa Activate switch, maaari kang magsimula ng VPN session.

 

[Ipasok ang Screenshot]

Reauthentication ng Session

Sundin ang mga tagubilin sa ibaba kung ang iyong network administrator ay nag-utos ng paulit-ulit na pagpapatunay upang panatilihing aktibo ang iyong koneksyon sa VPN. 



Kailangan mo:

 

URL ng portal ng Firezone: Tanungin ang iyong network administrator para sa koneksyon.

Dapat na maialok ng administrator ng iyong network ang iyong login at password. Ipo-prompt ka ng site ng Firezone na mag-log in gamit ang single sign-on service na ginagamit ng iyong employer (gaya ng Google o Okta).

 

1. I-off ang koneksyon sa VPN

 

[Ipasok ang Screenshot]

 

2. Patotohanan muli 

Pumunta sa URL ng portal ng Firezone at mag-log in gamit ang mga kredensyal na ibinigay ng administrator ng iyong network. Kung naka-sign in ka na, i-click ang button na Reauthenticate bago mag-sign in muli.

 

[Ipasok ang Screenshot]

 

Hakbang 3: Maglunsad ng session ng VPN

[Ipasok ang Screenshot]

Network Manager para sa Linux

Upang i-import ang profile ng configuration ng WireGuard gamit ang Network Manager CLI sa mga Linux device, sundin ang mga tagubiling ito (nmcli).

NOTA

Kung ang profile ay may naka-enable na suporta sa IPv6, ang pagtatangkang i-import ang configuration file gamit ang Network Manager GUI ay maaaring mabigo sa sumusunod na error:

ipv6.method: hindi sinusuportahan ang method na “auto” para sa WireGuard

1. I-install ang WireGuard Tools 

Kinakailangang i-install ang WireGuard userspace utility. Ito ay isang pakete na tinatawag na wireguard o wireguard-tools para sa mga pamamahagi ng Linux.

Para sa Ubuntu/Debian:

sudo apt install wireguard

Upang gamitin ang Fedora:

sudo dnf i-install ang wireguard-tools

Arch Linux:

sudo pacman -S wireguard-tools

Bisitahin ang opisyal na website ng WireGuard sa https://www.wireguard.com/install/ para sa mga pamamahagi na hindi nabanggit sa itaas.

2. I-download ang configuration 

Maaaring buuin ng iyong Firezone administrator o self-generation ang configuration file ng device gamit ang Firezone portal.

Bisitahin ang URL na ibinigay ng iyong Firezone administrator upang makabuo ng sariling configuration file ng device. Ang iyong kumpanya ay magkakaroon ng natatanging URL para dito; sa kasong ito, ito ay https://instance-id.yourfirezone.com.

[Ipasok ang Screenshot]

3. Mag-import ng mga setting

I-import ang ibinigay na configuration file gamit ang nmcli:

sudo nmcli connection import type wireguard file /path/to/configuration.conf

NOTA

Ang pangalan ng configuration file ay tumutugma sa koneksyon/interface ng WireGuard. Pagkatapos ng pag-import, maaaring palitan ang pangalan ng koneksyon kung kinakailangan:

pagbabago ng koneksyon ng nmcli [lumang pangalan] connection.id [bagong pangalan]

4. Ikonekta o idiskonekta

Sa pamamagitan ng command line, kumonekta sa VPN tulad ng sumusunod:

pagkonekta ng nmcli [pangalan ng vpn]

Upang idiskonekta:

mahina ang koneksyon ng nmcli [pangalan ng vpn]

Ang naaangkop na Network Manager applet ay maaari ding gamitin upang pamahalaan ang koneksyon kung gumagamit ng isang GUI.

Auto Connection

Sa pamamagitan ng pagpili sa "oo" para sa opsyong autoconnect, ang koneksyon ng VPN ay maaaring i-configure upang awtomatikong kumonekta:

 

Ang koneksyon ng nmcli ay nagbabago ng [pangalan ng vpn] na koneksyon. <<<<<<<<<<<<<<<<<<<<<<

 

autoconnect oo

 

Upang huwag paganahin ang awtomatikong koneksyon, ibalik ito sa no:

 

Ang koneksyon ng nmcli ay nagbabago ng [pangalan ng vpn] na koneksyon.

 

autoconnect no

Gawing Available ang Multi-Factor Authentication

Upang i-activate ang MFA Pumunta sa portal ng Firezone / user account/magrehistro ng mfa page. Gamitin ang iyong authenticator app upang i-scan ang QR code pagkatapos itong mabuo, pagkatapos ay ilagay ang anim na digit na code.

Makipag-ugnayan sa iyong Admin upang i-reset ang impormasyon sa pag-access ng iyong account kung nailagay mo ang iyong authenticator app.

Hatiin ang Tunnel VPN

Gagabayan ka ng tutorial na ito sa proseso ng pag-set up ng tampok na split tunneling ng WireGuard sa Firezone upang ang trapiko lamang sa mga partikular na saklaw ng IP ang maipapasa sa pamamagitan ng VPN server.

 

1. I-configure ang Mga Pinahihintulutang IP 

Ang mga hanay ng IP kung saan dadalhin ng kliyente ang trapiko sa network ay itinakda sa field na Allowed IPs na matatagpuan sa /settings/default na pahina. Tanging ang mga bagong likhang WireGuard tunnel configuration na ginawa ng Firezone ang maaapektuhan ng mga pagbabago sa field na ito.

 

[Ipasok ang Screenshot]



Ang default na halaga ay 0.0.0.0/0, ::/0, na nagruruta sa lahat ng trapiko sa network mula sa kliyente patungo sa VPN server.

 

Kasama sa mga halimbawa ng mga halaga sa field na ito ang:

 

0.0.0.0/0, ::/0 – lahat ng trapiko sa network ay iruruta sa VPN server.

192.0.2.3/32 – traffic lang sa isang IP address ang iruruta sa VPN server.

3.5.140.0/22 ​​– traffic lang sa mga IP sa 3.5.140.1 – 3.5.143.254 range ang iruruta sa VPN server. Sa halimbawang ito, ginamit ang hanay ng CIDR para sa rehiyon ng ap-northeast-2 AWS.



NOTA

Pinipili ng Firezone ang interface ng paglabas na nauugnay sa pinakatumpak na ruta muna kapag tinutukoy kung saan iruruta ang isang packet.

 

2. I-regenerate ang mga configuration ng WireGuard

Dapat na muling buuin ng mga user ang mga configuration file at idagdag ang mga ito sa kanilang katutubong WireGuard client para ma-update ang mga kasalukuyang device ng user gamit ang bagong split tunnel configuration.

 

Para sa mga tagubilin, tingnan magdagdag ng aparato. <<<<<<<<<< Magdagdag ng link

Baliktad na Tunnel

Ipapakita ng manual na ito kung paano i-link ang dalawang device gamit ang Firezone bilang relay. Ang isang karaniwang kaso ng paggamit ay ang paganahin ang isang administrator na ma-access ang isang server, container, o machine na protektado ng isang NAT o firewall.

 

Node sa Node 

Ang paglalarawang ito ay nagpapakita ng isang tuwirang senaryo kung saan ang Mga Device A at B ay gumagawa ng isang tunnel.

 

[Ipasok ang larawan ng arkitektura ng firezone]

 

Magsimula sa pamamagitan ng paggawa ng Device A at Device B sa pamamagitan ng pag-navigate sa /users/[user_id]/new_device. Sa mga setting para sa bawat device, tiyaking nakatakda ang mga sumusunod na parameter sa mga value na nakalista sa ibaba. Maaari mong itakda ang mga setting ng device kapag gumagawa ng config ng device (tingnan ang Magdagdag ng Mga Device). Kung kailangan mong i-update ang mga setting sa isang kasalukuyang device, magagawa mo ito sa pamamagitan ng pagbuo ng bagong config ng device.

 

Tandaan na ang lahat ng device ay may /settings/defaults page kung saan maaaring i-configure ang PersistentKeepalive.

 

Device A

 

AllowedIPs = 10.3.2.2/32

  Ito ang IP o hanay ng mga IP ng Device B

PersistentKeepalive = 25

  Kung ang device ay nasa likod ng isang NAT, tinitiyak nito na mapapanatili ng device na buhay ang tunnel at patuloy na makakatanggap ng mga packet mula sa interface ng WireGuard. Kadalasan ay sapat na ang halagang 25, ngunit maaaring kailanganin mong bawasan ang halagang ito depende sa iyong kapaligiran.



B device

 

AllowedIPs = 10.3.2.3/32

Ito ang IP o hanay ng mga IP ng Device A

PersistentKeepalive = 25

Admin Case - Isa hanggang Maraming Node

Ang halimbawang ito ay nagpapakita ng isang sitwasyon kung saan ang Device A ay maaaring makipag-ugnayan sa Mga Device B hanggang D sa parehong direksyon. Ang setup na ito ay maaaring kumatawan sa isang engineer o administrator na nag-a-access ng maraming mapagkukunan (server, container, o machine) sa iba't ibang network.

 

[Diagram ng Arkitektura]<<<<<<<<<<<<<<<<<<<<<<<<

 

Tiyaking ang mga sumusunod na setting ay ginawa sa mga setting ng bawat device sa mga katumbas na halaga. Kapag gumagawa ng configuration ng device, maaari mong tukuyin ang mga setting ng device (tingnan ang Magdagdag ng Mga Device). Maaaring gumawa ng bagong config ng device kung kailangang i-update ang mga setting sa isang kasalukuyang device.

 

Device A (Administrator Node)

 

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

    Ito ang IP ng mga device B hanggang D. Ang mga IP ng Device B hanggang D ay dapat kasama sa anumang hanay ng IP na pipiliin mong itakda.

PersistentKeepalive = 25 

    Tinitiyak nito na mapanatili ng device ang tunnel at patuloy na makakatanggap ng mga packet mula sa interface ng WireGuard kahit na protektado ito ng isang NAT. Sa karamihan ng mga kaso, ang halaga na 25 ay sapat, gayunpaman depende sa iyong kapaligiran, maaaring kailanganin mong babaan ang figure na ito.

 

Device B

 

  • AllowedIPs = 10.3.2.2/32: Ito ang IP o hanay ng mga IP ng Device A
  • PersistentKeepalive = 25

Device C

 

  • AllowedIPs = 10.3.2.2/32: Ito ang IP o hanay ng mga IP ng Device A
  • PersistentKeepalive = 25

Device D

 

  • AllowedIPs = 10.3.2.2/32: Ito ang IP o hanay ng mga IP ng Device A
  • PersistentKeepalive = 25

Gateway ng NAT

Upang mag-alok ng isang solong, static na egress IP para sa lahat ng trapiko ng iyong team na lumabas, maaaring gamitin ang Firezone bilang isang NAT gateway. Kasama sa mga sitwasyong ito ang madalas nitong paggamit:

 

Mga Pakikipag-ugnayan sa Pagkonsulta: Hilingin na i-whitelist ng iyong customer ang isang solong static na IP address kaysa sa natatanging IP ng device ng bawat empleyado.

Paggamit ng proxy o pag-mask sa iyong pinagmulang IP para sa mga layunin ng seguridad o privacy.

 

Ang isang simpleng halimbawa ng paglilimita sa pag-access sa isang self-host na web application sa isang naka-whitelist na static na IP na tumatakbo sa Firezone ay ipapakita sa post na ito. Sa paglalarawang ito, ang Firezone at ang protektadong mapagkukunan ay nasa iba't ibang lugar ng VPC.

 

Ang solusyon na ito ay madalas na ginagamit bilang kapalit ng pamamahala ng isang IP whitelist para sa maraming end user, na maaaring magtagal habang lumalawak ang listahan ng access.

Halimbawa ng AWS

Ang aming layunin ay mag-set up ng isang Firezone server sa isang EC2 instance upang i-redirect ang trapiko ng VPN sa pinaghihigpitang mapagkukunan. Sa pagkakataong ito, nagsisilbi ang Firezone bilang isang network proxy o NAT gateway upang bigyan ang bawat konektadong device ng isang natatanging pampublikong egress IP.

 

1. I-install ang Firezone server

Sa kasong ito, ang isang EC2 instance na pinangalanang tc2.micro ay mayroong Firezone instance na naka-install dito. Para sa impormasyon tungkol sa pag-deploy ng Firezone, pumunta sa Deployment Guide. Kaugnay ng AWS, siguraduhing:

 

Ang grupo ng seguridad ng Firezone EC2 instance ay nagpapahintulot sa papalabas na trapiko sa IP address ng protektadong mapagkukunan.

Ang instance ng Firezone ay may nababanat na IP. Ang trapiko na ipinapasa sa pamamagitan ng instance ng Firezone sa labas ng mga destinasyon ay magkakaroon nito bilang pinagmulan nitong IP address. Ang IP address na pinag-uusapan ay 52.202.88.54.

 

[Ipasok ang Screenshot]<<<<<<<<<<<<<<<<<<<<<<<<

 

2. Limitahan ang pag-access sa mapagkukunan na pinoprotektahan

Ang isang self-host na web application ay nagsisilbing protektadong mapagkukunan sa kasong ito. Maa-access lang ang web app sa pamamagitan ng mga kahilingang nagmumula sa IP address na 52.202.88.54. Depende sa mapagkukunan, maaaring kailanganin na payagan ang papasok na trapiko sa iba't ibang mga port at uri ng trapiko. Hindi ito saklaw sa manwal na ito.

 

[Ipasok ang screenshot]<<<<<<<<<<<<<<<<<<<<<<<<

 

Pakisabi sa third party na namamahala sa protektadong mapagkukunan na ang trapiko mula sa static na IP na tinukoy sa Hakbang 1 ay dapat pahintulutan (sa kasong ito 52.202.88.54).

 

3. Gamitin ang VPN server upang idirekta ang trapiko sa protektadong mapagkukunan

 

Bilang default, dadaan ang lahat ng trapiko ng user sa VPN server at magmumula sa static na IP na na-configure sa Hakbang 1 (sa kasong ito 52.202.88.54). Gayunpaman, kung pinagana ang split tunneling, maaaring kailanganin ang mga setting upang matiyak na ang destination IP ng protektadong mapagkukunan ay nakalista sa mga Allowed IP.

Idagdag ang Iyong Pangunahing Teksto Dito

Ipinapakita sa ibaba ang kumpletong listahan ng mga opsyon sa pagsasaayos na available sa /etc/firezone/firezone.rb.



opsyon

paglalarawan

default na halaga

default['firezone']['external_url']

URL na ginamit upang ma-access ang web portal ng instance ng Firezone na ito.

“https://#{node['fqdn'] || node['hostname']}”

default['firezone']['config_directory']

Top-level na direktoryo para sa configuration ng Firezone.

/etc/firezone'

default['firezone']['install_directory']

Top-level na direktoryo kung saan i-install ang Firezone.

/opt/firezone'

default['firezone']['app_directory']

Top-level na direktoryo upang i-install ang Firezone web application.

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

default['firezone']['log_directory']

Top-level na direktoryo para sa mga log ng Firezone.

/var/log/firezone'

default['firezone']['var_directory']

Direktoryo sa nangungunang antas para sa mga file ng runtime ng Firezone.

/var/opt/firezone'

default['firezone']['user']

Pangalan ng walang pribilehiyong gumagamit ng Linux na pag-aari ng karamihan sa mga serbisyo at file.

firezone'

default['firezone']['group']

Pangalan ng pangkat ng Linux na pag-aari ng karamihan sa mga serbisyo at file.

firezone'

default['firezone']['admin_email']

Email address para sa paunang gumagamit ng Firezone.

“firezone@localhost”

default['firezone']['max_devices_per_user']

Maximum na bilang ng mga device na maaaring magkaroon ng user.

10

default['firezone']['allow_unprivileged_device_management']

Nagbibigay-daan sa mga user na hindi admin na gumawa at magtanggal ng mga device.

TRUE

default['firezone']['allow_unprivileged_device_configuration']

Nagbibigay-daan sa mga user na hindi admin na baguhin ang mga configuration ng device. Kapag hindi pinagana, pinipigilan ang mga walang pribilehiyong user na baguhin ang lahat ng field ng device maliban sa pangalan at paglalarawan.

TRUE

default['firezone']['egress_interface']

Pangalan ng interface kung saan lalabas ang tunneled na trapiko. Kung wala, ang default na interface ng ruta ang gagamitin.

kawalan

default['firezone']['fips_enabled']

Paganahin o huwag paganahin ang OpenSSL FIPs mode.

kawalan

default['firezone']['logging']['enabled']

Paganahin o huwag paganahin ang pag-log sa Firezone. Itakda sa false upang ganap na huwag paganahin ang pag-log.

TRUE

default['enterprise']['pangalan']

Pangalan na ginamit ng Chef 'enterprise' cookbook.

firezone'

default['firezone']['install_path']

I-install ang path na ginagamit ng Chef 'enterprise' cookbook. Dapat itakda sa kapareho ng install_directory sa itaas.

node['firezone']['install_directory']

default['firezone']['sysvinit_id']

Isang identifier na ginamit sa /etc/inittab. Dapat ay isang natatanging sequence ng 1-4 na character.

SUP'

default['firezone']['authentication']['local']['enabled']

Paganahin o huwag paganahin ang lokal na pagpapatunay ng email/password.

TRUE

default['firezone']['authentication']['auto_create_oidc_users']

Awtomatikong gumawa ng mga user na nagsa-sign in mula sa OIDC sa unang pagkakataon. Huwag paganahin upang payagan lamang ang mga umiiral na user na mag-sign in sa pamamagitan ng OIDC.

TRUE

default['firezone']['authentication']['disable_vpn_on_oidc_error']

I-disable ang VPN ng user kung may nakitang error na sinusubukang i-refresh ang kanilang OIDC token.

FALSE

default['firezone']['authentication']['oidc']

OpenID Connect config, sa format na {“provider” => [config…]} – Tingnan Dokumentasyon ng OpenIDConnect para sa mga halimbawa ng config.

{}

default['firezone']['nginx']['enabled']

Paganahin o huwag paganahin ang naka-bundle na nginx server.

TRUE

default['firezone']['nginx']['ssl_port']

HTTPS listen port.

443

default['firezone']['nginx']['directory']

Direktoryo upang mag-imbak ng configuration ng virtual host ng nginx na nauugnay sa Firezone.

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

default['firezone']['nginx']['log_directory']

Direktoryo upang mag-imbak ng mga file ng nginx na nauugnay sa Firezone.

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

default['firezone']['nginx']['log_rotation']['file_maxbytes']

Laki ng file kung saan i-rotate ang mga file ng log ng Nginx.

104857600

default['firezone']['nginx']['log_rotation']['num_to_keep']

Bilang ng mga file ng log ng Firezone nginx na dapat itago bago itapon.

10

default['firezone']['nginx']['log_x_forwarded_for']

Kung mag-log Firezone nginx x-forwarded-for header.

TRUE

default['firezone']['nginx']['hsts_header']['enabled']

Paganahin o huwag paganahin HSTS.

TRUE

default['firezone']['nginx']['hsts_header']['include_subdomains']

I-enable o i-disable ang includeSubDomains para sa HSTS header.

TRUE

default['firezone']['nginx']['hsts_header']['max_age']

Max na edad para sa HSTS header.

31536000

default['firezone']['nginx']['redirect_to_canonical']

Kung ire-redirect ang mga URL sa canonical FQDN na tinukoy sa itaas

FALSE

default['firezone']['nginx']['cache']['enabled']

Paganahin o huwag paganahin ang Firezone nginx cache.

FALSE

default['firezone']['nginx']['cache']['directory']

Direktoryo para sa Firezone nginx cache.

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

default['firezone']['nginx']['user']

Firezone nginx user.

node['firezone']['user']

default['firezone']['nginx']['group']

Firezone nginx group.

node['firezone']['group']

default['firezone']['nginx']['dir']

Top-level na direktoryo ng configuration nginx.

node['firezone']['nginx']['directory']

default['firezone']['nginx']['log_dir']

Top-level nginx log directory.

node['firezone']['nginx']['log_directory']

default['firezone']['nginx']['pid']

Lokasyon para sa nginx pid file.

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

default['firezone']['nginx']['daemon_disable']

Huwag paganahin ang nginx daemon mode para masubaybayan namin ito sa halip.

TRUE

default['firezone']['nginx']['gzip']

I-on o i-off ang nginx gzip compression.

sa '

default['firezone']['nginx']['gzip_static']

I-on o i-off ang nginx gzip compression para sa mga static na file.

off'

default['firezone']['nginx']['gzip_http_version']

Bersyon ng HTTP na gagamitin para sa paghahatid ng mga static na file.

1.0 '

default['firezone']['nginx']['gzip_comp_level']

nginx gzip compression level.

2 '

default['firezone']['nginx']['gzip_proxied']

Pinapagana o hindi pinapagana ang pag-gzip ng mga tugon para sa mga na-proxy na kahilingan depende sa kahilingan at tugon.

anumang'

default['firezone']['nginx']['gzip_vary']

Pinapagana o hindi pinapagana ang pagpasok ng header ng tugon na "Iba-iba: Tanggapin-Pag-encode."

off'

default['firezone']['nginx']['gzip_buffers']

Itinatakda ang bilang at laki ng mga buffer na ginamit upang i-compress ang isang tugon. Kung wala, nginx default ang ginagamit.

kawalan

default['firezone']['nginx']['gzip_types']

Mga uri ng MIME para paganahin ang gzip compression.

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

Pinakamababang haba ng file para paganahin ang gzip compression ng file.

1000

default['firezone']['nginx']['gzip_disable']

User-agent matcher para hindi paganahin ang gzip compression.

MSIE [1-6]\.'

default['firezone']['nginx']['keepalive']

Ina-activate ang cache para sa koneksyon sa mga upstream na server.

sa '

default['firezone']['nginx']['keepalive_timeout']

Timeout sa ilang segundo para sa keepalive na koneksyon sa upstream server.

65

default['firezone']['nginx']['worker_processes']

Bilang ng mga proseso ng nginx worker.

node['cpu'] && node['cpu']['kabuuan'] ? node['cpu']['kabuuan'] : 1

default['firezone']['nginx']['worker_connections']

Pinakamataas na bilang ng mga sabay-sabay na koneksyon na maaaring mabuksan ng proseso ng manggagawa.

1024

default['firezone']['nginx']['worker_rlimit_nofile']

Binabago ang limitasyon sa maximum na bilang ng mga bukas na file para sa mga proseso ng manggagawa. Gumagamit ng nginx default kung wala.

kawalan

default['firezone']['nginx']['multi_accept']

Kung dapat tanggapin ng mga manggagawa ang isang koneksyon sa isang pagkakataon o maramihan.

TRUE

default['firezone']['nginx']['event']

Tinutukoy ang paraan ng pagpoproseso ng koneksyon na gagamitin sa konteksto ng mga kaganapan ng nginx.

epoll'

default['firezone']['nginx']['server_tokens']

Pinapagana o hindi pinapagana ang paglabas ng bersyon ng nginx sa mga pahina ng error at sa field ng header ng tugon na "Server".

kawalan

default['firezone']['nginx']['server_names_hash_bucket_size']

Itinatakda ang laki ng bucket para sa mga hash table ng mga pangalan ng server.

64

default['firezone']['nginx']['sendfile']

Pinapagana o hindi pinapagana ang paggamit ng sendfile() ng nginx.

sa '

default['firezone']['nginx']['access_log_options']

Nagtatakda ng mga opsyon sa log ng pag-access ng nginx.

kawalan

default['firezone']['nginx']['error_log_options']

Nagtatakda ng mga opsyon sa log ng error ng nginx.

kawalan

default['firezone']['nginx']['disable_access_log']

Hindi pinapagana ang log ng access ng nginx.

FALSE

default['firezone']['nginx']['types_hash_max_size']

nginx type hash max size.

2048

default['firezone']['nginx']['types_hash_bucket_size']

nginx type hash bucket size.

64

default['firezone']['nginx']['proxy_read_timeout']

nginx proxy read timeout. Itakda sa nil para gumamit ng nginx default.

kawalan

default['firezone']['nginx']['client_body_buffer_size']

laki ng buffer ng katawan ng kliyente ng nginx. Itakda sa nil upang gamitin ang nginx default.

kawalan

default['firezone']['nginx']['client_max_body_size']

nginx client max body size.

250m'

default['firezone']['nginx']['default']['modules']

Tukuyin ang mga karagdagang module ng nginx.

[]

default['firezone']['nginx']['enable_rate_limiting']

Paganahin o huwag paganahin ang paglilimita ng rate ng nginx.

TRUE

default['firezone']['nginx']['rate_limiting_zone_name']

Pangalan ng zone na naglilimita sa rate ng Nginx.

firezone'

default['firezone']['nginx']['rate_limiting_backoff']

Nginx rate na naglilimita sa backoff.

10m'

default['firezone']['nginx']['rate_limit']

Limitasyon sa rate ng Nginx.

10r/s'

default['firezone']['nginx']['ipv6']

Payagan ang nginx na makinig para sa mga kahilingan sa HTTP para sa IPv6 bilang karagdagan sa IPv4.

TRUE

default['firezone']['postgresql']['enabled']

Paganahin o huwag paganahin ang naka-bundle na Postgresql. Itakda sa false at punan ang mga opsyon sa database sa ibaba upang magamit ang iyong sariling Postgresql instance.

TRUE

default['firezone']['postgresql']['username']

Username para sa Postgresql.

node['firezone']['user']

default['firezone']['postgresql']['data_directory']

Direktoryo ng data ng Postgresql.

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

default['firezone']['postgresql']['log_directory']

Direktoryo ng log ng Postgresql.

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

default['firezone']['postgresql']['log_rotation']['file_maxbytes']

Pinakamataas na laki ng postgresql log file bago ito paikutin.

104857600

default['firezone']['postgresql']['log_rotation']['num_to_keep']

Bilang ng mga Postgresql log file na dapat panatilihin.

10

default['firezone']['postgresql']['checkpoint_completion_target']

Target ng pagkumpleto ng postgresql checkpoint.

0.5

default['firezone']['postgresql']['checkpoint_segments']

Bilang ng mga segment ng postgresql checkpoint.

3

default['firezone']['postgresql']['checkpoint_timeout']

Postgresql checkpoint timeout.

5min'

default['firezone']['postgresql']['checkpoint_warning']

Oras ng babala ng postgresql checkpoint sa ilang segundo.

30s'

default['firezone']['postgresql']['effective_cache_size']

Epektibong laki ng cache ng Postgresql.

128MB'

default['firezone']['postgresql']['listen_address']

Postgresql listen address.

127.0.0.1 '

default['firezone']['postgresql']['max_connections']

Postgresql max na mga koneksyon.

350

default['firezone']['postgresql']['md5_auth_cidr_addresses']

Postgresql CIDRs upang payagan ang md5 auth.

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

default['firezone']['postgresql']['port']

Postgresql listen port.

15432

default['firezone']['postgresql']['shared_buffers']

Postgresql nakabahaging laki ng buffer.

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

default['firezone']['postgresql']['shmmax']

Postgresql shmmax sa bytes.

17179869184

default['firezone']['postgresql']['shmall']

Postgresql shmall sa bytes.

4194304

default['firezone']['postgresql']['work_mem']

Laki ng memorya ng gumaganang postgresql.

8MB'

default['firezone']['database']['user']

Tinutukoy ang username na gagamitin ng Firezone para kumonekta sa DB.

node['firezone']['postgresql']['username']

default['firezone']['database']['password']

Kung gumagamit ng panlabas na DB, tinutukoy ang password na gagamitin ng Firezone para kumonekta sa DB.

Baguhin mo ako'

default['firezone']['database']['pangalan']

Database na gagamitin ng Firezone. Gagawin kung wala ito.

firezone'

default['firezone']['database']['host']

Database host kung saan kokonekta ang Firezone.

node['firezone']['postgresql']['listen_address']

default['firezone']['database']['port']

Database port kung saan kokonekta ang Firezone.

node['firezone']['postgresql']['port']

default['firezone']['database']['pool']

Laki ng database pool na gagamitin ng Firezone.

[10, Etc.nprocessors].max

default['firezone']['database']['ssl']

Kung kumonekta sa database gamit ang SSL.

FALSE

default['firezone']['database']['ssl_opts']

Hash ng mga opsyon na ipapadala sa :ssl_opts na opsyon kapag kumokonekta sa SSL. Tingnan mo Dokumentasyon ng Ecto.Adapters.Postgres.

{}

default['firezone']['database']['parameters']

Hash ng mga parameter na ipapadala sa opsyong :parameters kapag kumokonekta sa database. Tingnan mo Dokumentasyon ng Ecto.Adapters.Postgres.

{}

default['firezone']['database']['extension']

Mga extension ng database upang paganahin.

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

default['firezone']['phoenix']['enabled']

Paganahin o huwag paganahin ang Firezone web application.

TRUE

default['firezone']['phoenix']['listen_address']

Firezone web application listen address. Ito ang magiging upstream listen address na ibinibigay ng nginx.

127.0.0.1 '

default['firezone']['phoenix']['port']

Firezone web application listen port. Ito ay ang upstream port na nginx proxy.

13000

default['firezone']['phoenix']['log_directory']

Direktoryo ng log ng firezone web application.

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

default['firezone']['phoenix']['log_rotation']['file_maxbytes']

Laki ng file ng log ng firezone web application.

104857600

default['firezone']['phoenix']['log_rotation']['num_to_keep']

Bilang ng mga file ng log ng Firezone web application na dapat panatilihin.

10

default['firezone']['phoenix']['crash_detection']['enabled']

Paganahin o huwag paganahin ang pagbaba ng Firezone web application kapag may nakitang pag-crash.

TRUE

default['firezone']['phoenix']['external_trusted_proxies']

Listahan ng mga pinagkakatiwalaang reverse proxy na na-format bilang Array ng mga IP at/o CIDR.

[]

default['firezone']['phoenix']['private_clients']

Listahan ng mga pribadong network HTTP client, na na-format ng Array ng mga IP at/o CIDR.

[]

default['firezone']['wireguard']['enabled']

Paganahin o huwag paganahin ang naka-bundle na pamamahala ng WireGuard.

TRUE

default['firezone']['wireguard']['log_directory']

Direktoryo ng log para sa naka-bundle na pamamahala ng WireGuard.

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

default['firezone']['wireguard']['log_rotation']['file_maxbytes']

Max size ng file ng log ng WireGuard.

104857600

default['firezone']['wireguard']['log_rotation']['num_to_keep']

Bilang ng mga WireGuard log file na dapat panatilihin.

10

default['firezone']['wireguard']['interface_name']

Pangalan ng interface ng WireGuard. Ang pagbabago sa parameter na ito ay maaaring magdulot ng pansamantalang pagkawala sa koneksyon sa VPN.

wg-firezone'

default['firezone']['wireguard']['port']

WireGuard makinig port.

51820

default['firezone']['wireguard']['mtu']

WireGuard interface MTU para sa server na ito at para sa mga configuration ng device.

1280

default['firezone']['wireguard']['endpoint']

WireGuard Endpoint na gagamitin para sa pagbuo ng mga configuration ng device. Kung wala, nagde-default sa pampublikong IP address ng server.

kawalan

default['firezone']['wireguard']['dns']

WireGuard DNS na gagamitin para sa mga nabuong configuration ng device.

1.1.1.1, 1.0.0.1′

default['firezone']['wireguard']['allowed_ips']

WireGuard AllowedIPs na gamitin para sa mga nabuong configuration ng device.

0.0.0.0/0, ::/0′

default['firezone']['wireguard']['persistent_keepalive']

Default na setting ng PersistentKeepalive para sa mga nabuong configuration ng device. Ang isang halaga ng 0 ay hindi pinapagana.

0

default['firezone']['wireguard']['ipv4']['enabled']

Paganahin o huwag paganahin ang IPv4 para sa WireGuard network.

TRUE

default['firezone']['wireguard']['ipv4']['masquerade']

I-enable o i-disable ang masquerade para sa mga packet na umaalis sa IPv4 tunnel.

TRUE

default['firezone']['wireguard']['ipv4']['network']

WireGuard network IPv4 address pool.

10.3.2.0/24 ′

default['firezone']['wireguard']['ipv4']['address']

IPv4 address ng interface ng WireGuard. Dapat ay nasa WireGuard address pool.

10.3.2.1 '

default['firezone']['wireguard']['ipv6']['enabled']

Paganahin o huwag paganahin ang IPv6 para sa WireGuard network.

TRUE

default['firezone']['wireguard']['ipv6']['masquerade']

I-enable o i-disable ang masquerade para sa mga packet na umaalis sa IPv6 tunnel.

TRUE

default['firezone']['wireguard']['ipv6']['network']

WireGuard network IPv6 address pool.

fd00::3:2:0/120′

default['firezone']['wireguard']['ipv6']['address']

IPv6 address ng interface ng WireGuard. Dapat ay nasa loob ng IPv6 address pool.

fd00::3:2:1′

default['firezone']['runit']['svlogd_bin']

Lokasyon ng runit svlogd bin.

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

default['firezone']['ssl']['directory']

Direktoryo ng SSL para sa pag-iimbak ng mga nabuong sertipikasyon.

/var/opt/firezone/ssl'

default['firezone']['ssl']['email_address']

Email address na gagamitin para sa mga self-signed certs at mga abiso sa pag-renew ng protocol ng ACME.

you@example.com'

default['firezone']['ssl']['acme']['enabled']

I-enable ang ACME para sa awtomatikong SSL cert provisioning. Huwag paganahin ito upang maiwasan ang Nginx sa pakikinig sa port 80. Tingnan dito para sa karagdagang tagubilin.

FALSE

default['firezone']['ssl']['acme']['server']

ACME server na gagamitin para sa pagpapalabas/pag-renew ng sertipiko. Maaaring maging anuman wastong acme.sh server

letsencrypt

default['firezone']['ssl']['acme']['keylength']

Tukuyin ang uri at haba ng key para sa mga SSL certificate. Tingnan mo dito

ec-256

default['firezone']['ssl']['certificate']

Path sa certificate file para sa iyong FQDN. Ino-override ang setting ng ACME sa itaas kung tinukoy. Kung pareho ang ACME at ito ay wala, isang self-signed cert ang bubuo.

kawalan

default['firezone']['ssl']['certificate_key']

Path sa certificate file.

kawalan

default['firezone']['ssl']['ssl_dhparam']

nginx ssl dh_param.

kawalan

default['firezone']['ssl']['country_name']

Pangalan ng bansa para sa self-signed cert.

US'

default['firezone']['ssl']['state_name']

Pangalan ng estado para sa self-signed cert.

CA '

default['firezone']['ssl']['locality_name']

Pangalan ng lokalidad para sa self-signed cert.

San Francisco'

default['firezone']['ssl']['company_name']

Self-signed na sertipiko ng pangalan ng kumpanya.

Ang aking kumpanya'

default['firezone']['ssl']['organizational_unit_name']

Pangalan ng unit ng organisasyon para sa self-signed cert.

Mga operasyon'

default['firezone']['ssl']['ciphers']

Mga SSL cipher para magamit ng nginx.

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’

default['firezone']['ssl']['fips_ciphers']

Mga SSL cipher para sa FIPs mode.

FIPS@STRENGTH:!aNULL:!eNULL'

default['firezone']['ssl']['protocols']

TLS protocol na gagamitin.

TLSv1 TLSv1.1 TLSv1.2′

default['firezone']['ssl']['session_cache']

SSL session cache.

ibinahagi:SSL:4m'

default['firezone']['ssl']['session_timeout']

SSL session timeout.

5m'

default['firezone']['robots_allow']

pinapayagan ng nginx robots.

/ '

default['firezone']['robots_disallow']

hindi pinapayagan ng nginx robots.

kawalan

default['firezone']['outbound_email']['from']

Papalabas na email mula sa address.

kawalan

default['firezone']['outbound_email']['provider']

Outbound na email service provider.

kawalan

default['firezone']['outbound_email']['configs']

Mga config ng provider ng papalabas na email.

tingnan ang omnibus/cookbooks/firezone/attributes/default.rb

default['firezone']['telemetry']['enabled']

Paganahin o huwag paganahin ang hindi nakikilalang telemetry ng produkto.

TRUE

default['firezone']['connectivity_checks']['enabled']

Paganahin o huwag paganahin ang serbisyo ng mga pagsusuri sa pagkakakonekta ng Firezone.

TRUE

default['firezone']['connectivity_checks']['interval']

Ang agwat sa pagitan ng mga pagsusuri sa pagkakakonekta sa mga segundo.

3_600



________________________________________________________________

 

Mga Lokasyon ng File At Direktoryo

 

Dito makikita mo ang isang listahan ng mga file at direktoryo na nauugnay sa isang karaniwang pag-install ng Firezone. Maaaring magbago ang mga ito depende sa mga pagbabago sa iyong configuration file.



landas

paglalarawan

/var/opt/firezone

Top-level na direktoryo na naglalaman ng data at nabuong configuration para sa mga serbisyong naka-bundle ng Firezone.

/opt/firezone

Top-level na direktoryo na naglalaman ng mga built library, binary at runtime file na kailangan ng Firezone.

/usr/bin/firezone-ctl

firezone-ctl utility para sa pamamahala ng iyong pag-install ng Firezone.

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

systemd unit file para sa pagsisimula ng proseso ng superbisor ng Firezone runsvdir.

/etc/firezone

Firezone configuration file.



__________________________________________________________

 

Mga Template ng Firewall

 

Walang laman ang page na ito sa docs

 

_____________________________________________________________

 

Template ng Nftables Firewall

 

Maaaring gamitin ang sumusunod na template ng firewall ng nftables upang ma-secure ang server na nagpapatakbo ng Firezone. Ang template ay gumagawa ng ilang mga pagpapalagay; maaaring kailanganin mong ayusin ang mga panuntunan upang umangkop sa iyong kaso ng paggamit:

  • Ang interface ng WireGuard ay pinangalanang wg-firezone. Kung hindi ito tama, baguhin ang DEV_WIREGUARD variable upang tumugma sa default na ['firezone']['wireguard']['interface_name'] na opsyon sa configuration.
  • Ang port na pinakikinggan ng WireGuard ay 51820. Kung hindi mo ginagamit ang default na port, baguhin ang variable na WIREGUARD_PORT.
  • Tanging ang mga sumusunod na papasok na trapiko ang papayagan sa server:
    • SSH (TCP port 22)
    • HTTP (TCP port 80)
    • HTTPS (TCP port 443)
    • WireGuard (UDP port WIREGUARD_PORT)
    • UDP traceroute (UDP port 33434-33524, limitado ang rate sa 500/segundo)
    • ICMP at ICMPv6 (limitado sa 2000/segundo ang rate ng mga tugon sa ping/ping)
  • Tanging ang mga sumusunod na papalabas na trapiko ang papayagan mula sa server:
    • DNS (UDP at TCP port 53)
    • HTTP (TCP port 80)
    • NTP (UDP port 123)
    • HTTPS (TCP port 443)
    • Pagsusumite ng SMTP (TCP port 587)
    • UDP traceroute (UDP port 33434-33524, limitado ang rate sa 500/segundo)
  • Mala-log ang walang kaparis na trapiko. Ang mga panuntunang ginagamit para sa pag-log ay hiwalay mula sa mga panuntunan sa pagbaba ng trapiko at limitado ang rate. Hindi makakaapekto sa trapiko ang pag-alis sa mga nauugnay na panuntunan sa pag-log.

Mga Panuntunan na Pinamamahalaan ng Firezone

Kino-configure ng Firezone ang sarili nitong mga panuntunan sa nftables upang pahintulutan/tanggihan ang trapiko sa mga destinasyong na-configure sa web interface at upang pangasiwaan ang papalabas na NAT para sa trapiko ng kliyente.

Ang paglalapat ng template sa ibaba ng firewall sa isang tumatakbo nang server (hindi sa oras ng pag-boot) ay magreresulta sa pagka-clear sa mga panuntunan ng Firezone. Maaaring may implikasyon ito sa seguridad.

Upang ayusin ito, i-restart ang serbisyo ng phoenix:

firezone-ctl i-restart ang phoenix

Base Firewall Template

#!/usr/sbin/nft -f

 

## I-clear/flush ang lahat ng umiiral na panuntunan

flush ruleset

 

################################ VARIABLE ################## ##############

## Pangalan ng interface ng Internet/WAN

tukuyin ang DEV_WAN = eth0

 

## Pangalan ng interface ng WireGuard

tukuyin ang DEV_WIREGUARD = wg-firezone

 

## WireGuard makinig port

tukuyin ang WIREGUARD_PORT = 51820

################################ VARIABLE END #################### ############

 

# Pangunahing inet family filtering table

mesa inet filter {

 

 # Mga panuntunan para sa ipinasa na trapiko

 # Ang chain na ito ay pinoproseso bago ang Firezone forward chain

 chain forward {

   uri ng filter hook forward priority filter - 5; pagtanggap ng patakaran

 }

 

 # Mga Panuntunan para sa trapiko ng input

 chain input {

   uri ng filter hook input priority filter; pagbaba ng patakaran

 

   ## Pahintulutan ang papasok na trapiko sa loopback na interface

   kung narito \

     tanggapin \

     puna "Pahintulutan ang lahat ng trapiko mula sa loopback na interface"

 

   ## Naitatag at nauugnay na mga koneksyon ang permit

   ct state itinatag, nauugnay \

     tanggapin \

     puna "Nakatatag/kaugnay na mga koneksyon ang permit"

 

   ## Pahintulutan ang papasok na trapiko ng WireGuard

   iif $DEV_WAN udp dport $WIREGUARD_PORT \

     counter \

     tanggapin \

     puna "Pahintulutan ang papasok na trapiko ng WireGuard"

 

   ## Mag-log at mag-drop ng mga bagong TCP non-SYN packet

   tcp flags != syn ct state new \

     limitasyon rate 100/minutong pagsabog 150 mga pakete \

     log prefix “IN – Bago !SYN: “ \

     puna "Pag-log sa limitasyon ng rate para sa mga bagong koneksyon na walang nakatakdang flag ng SYN TCP"

   tcp flags != syn ct state new \

     counter \

     ihulog \

     puna "I-drop ang mga bagong koneksyon na walang nakatakdang flag ng SYN TCP"

 

   ## Mag-log at mag-drop ng mga TCP packet na may di-wastong fin/syn flag set

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

     limitasyon rate 100/minutong pagsabog 150 mga pakete \

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

     puna "Pag-log sa limitasyon ng rate para sa mga TCP packet na may di-wastong fin/syn flag set"

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

     counter \

     ihulog \

     puna "I-drop ang mga TCP packet na may di-wastong fin/syn flag set"

 

   ## Mag-log at mag-drop ng mga TCP packet na may di-wastong syn/rst flag set

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

     limitasyon rate 100/minutong pagsabog 150 mga pakete \

     log prefix “SA – TCP SYN|RST: “ \

     puna "Pag-log sa limitasyon ng rate para sa mga TCP packet na may di-wastong syn/rst flag set"

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

     counter \

     ihulog \

     puna "I-drop ang mga TCP packet na may di-wastong syn/unang flag set"

 

   ## Mag-log at mag-drop ng mga di-wastong TCP flag

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

     limitasyon rate 100/minutong pagsabog 150 mga pakete \

     log prefix “IN – FIN:” \

     puna "Pag-log sa limitasyon ng rate para sa mga di-wastong TCP flag (fin|syn|rst|psh|ack|urg) < (fin)"

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

     counter \

     ihulog \

     puna “I-drop ang mga TCP packet na may mga flag (fin|syn|rst|psh|ack|urg) < (fin)”

 

   ## Mag-log at mag-drop ng mga di-wastong TCP flag

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

     limitasyon rate 100/minutong pagsabog 150 mga pakete \

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

     puna "Pag-log sa limitasyon ng rate para sa mga di-wastong TCP flag (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)"

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

     counter \

     ihulog \

     puna “I-drop ang mga TCP packet na may mga flag (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)”

 

   ## I-drop ang trapiko na may di-wastong estado ng koneksyon

   ct state invalid \

     limitasyon rate 100/minutong pagsabog 150 mga pakete \

     log flag lahat ng prefix “IN – Di-wasto: “ \

     puna "Pag-log sa limitasyon ng rate para sa trapiko na may di-wastong estado ng koneksyon"

   ct state invalid \

     counter \

     ihulog \

     puna "I-drop ang trapiko na may di-wastong estado ng koneksyon"

 

   ## Pahintulutan ang mga tugon ng IPv4 ping/ping ngunit limitasyon ng rate sa 2000 PPS

   ip protocol icmp icmp type { echo-reply, echo-request } \

     limitasyon rate 2000/segundo \

     counter \

     tanggapin \

     puna "Pahintulutan ang papasok na IPv4 echo (ping) na limitado sa 2000 PPS"

 

   ## Pahintulutan ang lahat ng iba pang papasok na IPv4 ICMP

   ip protocol icmp \

     counter \

     tanggapin \

     puna "Pahintulutan ang lahat ng iba pang IPv4 ICMP"

 

   ## Pahintulutan ang mga tugon ng IPv6 ping/ping ngunit limitasyon ng rate sa 2000 PPS

   uri ng icmpv6 { echo-reply, echo-request } \

     limitasyon rate 2000/segundo \

     counter \

     tanggapin \

     puna "Pahintulutan ang papasok na IPv6 echo (ping) na limitado sa 2000 PPS"

 

   ## Pahintulutan ang lahat ng iba pang papasok na IPv6 ICMP

   meta l4proto { icmpv6 } \

     counter \

     tanggapin \

     puna "Pahintulutan ang lahat ng iba pang IPv6 ICMP"

 

   ## Pahintulutan ang mga papasok na traceroute na UDP port ngunit limitahan sa 500 PPS

   udp dport 33434-33524 \

     limitasyon rate 500/segundo \

     counter \

     tanggapin \

     puna “Limitado sa 500 PPS ang papasok na UDP traceroute”

 

   ## Pahintulutan ang papasok na SSH

   tcp dport SSH ct state new \

     counter \

     tanggapin \

     puna "Pahintulutan ang mga papasok na koneksyon sa SSH"

 

   ## Pahintulutan ang papasok na HTTP at HTTPS

   tcp dport { http, https } ct state new \

     counter \

     tanggapin \

     puna "Pahintulutan ang mga papasok na HTTP at HTTPS na koneksyon"

 

   ## Mag-log ng anumang walang kaparis na trapiko ngunit limitasyon ng rate sa pag-log sa maximum na 60 mensahe/minuto

   ## Ilalapat ang default na patakaran sa walang kapantay na trapiko

   limitasyon rate 60/minutong pagsabog 100 mga pakete \

     log prefix “IN – Drop: “ \

     puna "Mag-log ng anumang walang kaparis na trapiko"

 

   ## Bilangin ang walang kaparis na trapiko

   counter \

     puna “Bilangin ang anumang walang kapantay na trapiko”

 }

 

 # Mga panuntunan para sa trapiko ng output

 chain output {

   uri ng filter hook output priority filter; pagbaba ng patakaran

 

   ## Pahintulutan ang papalabas na trapiko sa loopback na interface

   oif narito \

     tanggapin \

     puna "Pahintulutan ang lahat ng trapiko sa loopback na interface"

 

   ## Naitatag at nauugnay na mga koneksyon ang permit

   ct state itinatag, nauugnay \

     counter \

     tanggapin \

     puna "Nakatatag/kaugnay na mga koneksyon ang permit"

 

   ## Pahintulutan ang palabas na WireGuard na trapiko bago i-drop ang mga koneksyon na may masamang kalagayan

   oif $DEV_WAN udp sport $WIREGUARD_PORT \

     counter \

     tanggapin \

     puna "Pahintulutan ang palabas na trapiko ng WireGuard"

 

   ## I-drop ang trapiko na may di-wastong estado ng koneksyon

   ct state invalid \

     limitasyon rate 100/minutong pagsabog 150 mga pakete \

     log flag lahat ng prefix “LABAS – Di-wasto: “ \

     puna "Pag-log sa limitasyon ng rate para sa trapiko na may di-wastong estado ng koneksyon"

   ct state invalid \

     counter \

     ihulog \

     puna "I-drop ang trapiko na may di-wastong estado ng koneksyon"

 

   ## Pahintulutan ang lahat ng iba pang papalabas na IPv4 ICMP

   ip protocol icmp \

     counter \

     tanggapin \

     puna "Pahintulutan ang lahat ng uri ng IPv4 ICMP"

 

   ## Pahintulutan ang lahat ng iba pang papalabas na IPv6 ICMP

   meta l4proto { icmpv6 } \

     counter \

     tanggapin \

     puna "Pahintulutan ang lahat ng uri ng IPv6 ICMP"

 

   ## Pahintulutan ang mga outbound traceroute na UDP port ngunit limitahan sa 500 PPS

   udp dport 33434-33524 \

     limitasyon rate 500/segundo \

     counter \

     tanggapin \

     puna "Pahintulutan ang palabas na UDP traceroute na limitado sa 500 PPS"

 

   ## Pahintulutan ang mga papalabas na HTTP at HTTPS na koneksyon

   tcp dport { http, https } ct state new \

     counter \

     tanggapin \

     puna "Pahintulutan ang mga papalabas na HTTP at HTTPS na koneksyon"

 

   ## Pahintulutan ang pagsumite ng outbound na SMTP

   tcp dport submission ct state new \

     counter \

     tanggapin \

     puna "Pahintulutan ang pagsumite ng outbound SMTP"

 

   ## Pahintulutan ang mga papalabas na kahilingan sa DNS

   udp dport 53 \

     counter \

     tanggapin \

     puna "Pahintulutan ang mga papalabas na UDP DNS na kahilingan"

   tcp dport 53 \

     counter \

     tanggapin \

     puna "Pahintulutan ang mga hiling na papalabas na TCP DNS"

 

   ## Pahintulutan ang mga papalabas na kahilingan sa NTP

   udp dport 123 \

     counter \

     tanggapin \

     puna "Pahintulutan ang mga papalabas na kahilingan sa NTP"

 

   ## Mag-log ng anumang walang kaparis na trapiko ngunit limitasyon ng rate sa pag-log sa maximum na 60 mensahe/minuto

   ## Ilalapat ang default na patakaran sa walang kapantay na trapiko

   limitasyon rate 60/minutong pagsabog 100 mga pakete \

     log prefix "LABAS - Ihulog:" \

     puna "Mag-log ng anumang walang kaparis na trapiko"

 

   ## Bilangin ang walang kaparis na trapiko

   counter \

     puna “Bilangin ang anumang walang kapantay na trapiko”

 }

 

}

 

# Pangunahing talahanayan ng pag-filter ng NAT

table inet nat {

 

 # Mga Panuntunan para sa pre-routing ng trapiko ng NAT

 chain prerouting {

   type nat hook prerouting priority dstnat; pagtanggap ng patakaran

 }

 

 # Mga Panuntunan para sa post-routing ng trapiko ng NAT

 # Ang talahanayang ito ay pinoproseso bago ang Firezone post-routing chain

 chain postrouting {

   type nat hook postrouting priority srcnat – 5; pagtanggap ng patakaran

 }

 

}

Paggamit

Ang firewall ay dapat na naka-imbak sa nauugnay na lokasyon para sa pamamahagi ng Linux na tumatakbo. Para sa Debian/Ubuntu ito ay /etc/nftables.conf at para sa RHEL ito ay /etc/sysconfig/nftables.conf.

Ang nftables.service ay kailangang i-configure upang magsimula sa boot (kung hindi pa) itinakda:

systemctl paganahin ang nftables.service

Kung gumagawa ng anumang mga pagbabago sa template ng firewall ang syntax ay maaaring mapatunayan sa pamamagitan ng pagpapatakbo ng check command:

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

Tiyaking i-validate ang firewall na gumagana gaya ng inaasahan dahil maaaring hindi available ang ilang feature ng nftables depende sa release na tumatakbo sa server.



_______________________________________________________________



Telemetry

 

Ang dokumentong ito ay nagpapakita ng pangkalahatang-ideya ng telemetry na kinokolekta ng Firezone mula sa iyong self-host na instance at kung paano ito i-disable.

Bakit nangongolekta ang Firezone ng telemetry

Zone ng sunog umaasa sa telemetry upang unahin ang aming roadmap at i-optimize ang mga mapagkukunan ng engineering na mayroon kami upang gawing mas mahusay ang Firezone para sa lahat.

Ang telemetry na kinokolekta namin ay naglalayong sagutin ang mga sumusunod na tanong:

  • Ilang tao ang nag-install, gumagamit, at huminto sa paggamit ng Firezone?
  • Anong mga tampok ang pinakamahalaga, at alin sa mga ito ang hindi nakakakita ng anumang gamit?
  • Anong functionality ang nangangailangan ng higit na pagpapabuti?
  • Kapag nasira ang isang bagay, bakit ito nasira, at paano natin ito mapipigilan na mangyari sa hinaharap?

Paano namin kinokolekta ang telemetry

May tatlong pangunahing lugar kung saan kinokolekta ang telemetry sa Firezone:

  1. Package telemetry. Kasama ang mga kaganapan tulad ng pag-install, pag-uninstall, at pag-upgrade.
  2. CLI telemetry mula sa mga command ng firezone-ctl.
  3. Telemetry ng produkto na nauugnay sa Web portal.

Sa bawat isa sa tatlong kontekstong ito, kinukuha namin ang pinakamababang halaga ng data na kinakailangan upang masagot ang mga tanong sa seksyon sa itaas.

Kinokolekta lang ang mga email ng admin kung tahasan kang mag-opt in sa mga update ng produkto. Kung hindi, ang personal na nakakapagpakilalang impormasyon ay hindi kailanman tinipon

Ang Firezone ay nag-iimbak ng telemetry sa isang self-host na halimbawa ng PostHog na tumatakbo sa isang pribadong Kubernetes cluster, na maa-access lang ng Firezone team. Narito ang isang halimbawa ng isang telemetry event na ipinadala mula sa iyong instance ng Firezone sa aming telemetry server:

{

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

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

   “kaganapan”: “fz_http_started”,

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

   "ari-arian":{

       “$geoip_city_name”: "Ashburn",

       “$geoip_continent_code”: “NA”,

       “$geoip_continent_name”: "Hilagang Amerika",

       “$geoip_country_code”: “US”,

       “$geoip_country_name”: "Estados Unidos",

       “$geoip_latitude”: 39.0469,

       “$geoip_longitude”: -77.4903,

       “$geoip_postal_code”: "20149",

       “$geoip_subdivision_1_code”: “VA”,

       “$geoip_subdivision_1_name”: “Virginia”,

       “$geoip_time_zone”: “Amerika/New_York”,

       “$ip”: "52.200.241.107",

       “$plugins_deferred”: []

       “$plugins_failed”: []

       “$plugins_succeeded”: [

           “GeoIP (3)”

       ],

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

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

       "bersyon_kernel": "linux 5.13.0",

       "bersyon": "0.4.6"

   },

   “Elements_chain”: ""

}

Paano hindi paganahin ang telemetry

NOTA

Ang Firezone development team umaasa sa analytics ng produkto upang gawing mas mahusay ang Firezone para sa lahat. Ang pag-iwan sa telemetry na pinagana ay ang nag-iisang pinakamahalagang kontribusyon na maaari mong gawin sa pag-unlad ng Firezone. Iyon ay sinabi, nauunawaan namin na ang ilang mga gumagamit ay may mas mataas na privacy o mga kinakailangan sa seguridad at mas gugustuhin na i-disable ang telemetry nang buo. Kung ikaw yan, ipagpatuloy mo ang pagbabasa.

Ang telemetry ay pinagana bilang default. Upang ganap na i-disable ang telemetry ng produkto, itakda ang sumusunod na opsyon sa configuration sa false sa /etc/firezone/firezone.rb at patakbuhin ang sudo firezone-ctl reconfigure upang kunin ang mga pagbabago.

default['firezone']['telemetry']['pinagana'] = hindi totoo

Iyon ay ganap na hindi paganahin ang lahat ng telemetry ng produkto.