VPN Hailbytes Dengan Dokumentasi Firezone Firewall

Jadual Kandungan

Bermula

Arahan langkah demi langkah untuk menggunakan VPN Hailbytes dengan GUI Firezone disediakan di sini. 

Mentadbir: Menyediakan contoh pelayan berkaitan secara langsung dengan bahagian ini.

Panduan Pengguna: Dokumen berguna yang boleh mengajar anda cara menggunakan Firezone dan menyelesaikan masalah biasa. Selepas pelayan berjaya digunakan, rujuk bahagian ini.

Panduan untuk Konfigurasi Biasa

Terowong Split: Gunakan VPN untuk menghantar trafik ke julat IP tertentu sahaja.

Penyenaraian putih: Tetapkan alamat IP statik pelayan VPN untuk menggunakan senarai putih.

Terowong Terbalik: Buat terowong antara beberapa rakan sebaya menggunakan terowong terbalik.

Dapatkan Sokongan

Kami berbesar hati untuk membantu anda jika anda memerlukan bantuan untuk memasang, menyesuaikan atau menggunakan VPN Hailbytes.

Pengesahan

Sebelum pengguna boleh menghasilkan atau memuat turun fail konfigurasi peranti, Firezone boleh dikonfigurasikan untuk memerlukan pengesahan. Pengguna juga mungkin perlu membuat pengesahan semula secara berkala untuk memastikan sambungan VPN mereka aktif.

Walaupun kaedah log masuk lalai Firezone ialah e-mel dan kata laluan tempatan, ia juga boleh disepadukan dengan mana-mana pembekal identiti OpenID Connect (OIDC) standard. Pengguna kini boleh log masuk ke Firezone menggunakan bukti kelayakan Okta, Google, Azure AD atau pembekal identiti peribadi mereka.

 

Integrasikan Pembekal OIDC Generik

Parameter konfigurasi yang diperlukan oleh Firezone untuk membenarkan SSO menggunakan pembekal OIDC ditunjukkan dalam contoh di bawah. Di /etc/firezone/firezone.rb, anda mungkin menemui fail konfigurasi. Jalankan firezone-ctl reconfigure dan firezone-ctl restart untuk mengemas kini aplikasi dan melaksanakan perubahan.

 

# Ini ialah contoh menggunakan Google dan Okta sebagai pembekal identiti SSO.

# Berbilang konfigurasi OIDC boleh ditambah pada contoh Firezone yang sama.

 

# Firezone boleh melumpuhkan VPN pengguna jika terdapat sebarang ralat dikesan semasa mencuba

# untuk menyegarkan akses_token mereka. Ini disahkan berfungsi untuk Google, Okta dan

# Azure SSO dan digunakan untuk memutuskan sambungan VPN pengguna secara automatik jika ia dialih keluar

# daripada pembekal OIDC. Biarkan ini dilumpuhkan jika pembekal OIDC anda

# mempunyai isu menyegarkan token akses kerana ia boleh mengganggu a

# sesi VPN pengguna.

lalai['firezone']['authentication']['disable_vpn_on_oidc_error'] = palsu

 

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

  google: {

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

    client_id: “ ”,

    rahsia_pelanggan: “ ”,

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

    response_type: “kod”,

    skop: "profil e-mel terbuka",

    label: "Google"

  },

  okta: {

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

    client_id: “ ”,

    rahsia_pelanggan: “ ”,

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

    response_type: “kod”,

    skop: "profil e-mel terbuka offline_access",

    label: "Okta"

  }

}



Tetapan konfigurasi berikut diperlukan untuk penyepaduan:

  1. discovery_document_uri: The URI konfigurasi pembekal OpenID Connect yang mengembalikan dokumen JSON yang digunakan untuk membina permintaan seterusnya kepada pembekal OIDC ini.
  2. client_id: ID pelanggan aplikasi.
  3. client_secret: Rahsia klien aplikasi.
  4. redirect_uri: Mengarahkan penyedia OIDC tempat untuk mengubah hala selepas pengesahan. Ini sepatutnya Firezone anda EXTERNAL_URL + /auth/oidc/ /callback/ (cth https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Tetapkan kepada kod.
  6. skop: Skop OIDC untuk mendapatkan daripada pembekal OIDC anda. Ini harus ditetapkan kepada membuka profil e-mel atau membuka profil e-mel offline_access bergantung pada pembekal.
  7. label: Teks label butang yang dipaparkan pada skrin log masuk Firezone anda.

URL yang cantik

Untuk setiap pembekal OIDC, URL cantik yang sepadan dicipta untuk mengubah hala ke URL log masuk pembekal yang dikonfigurasikan. Untuk contoh konfigurasi OIDC di atas, URL ialah:

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

Arahan Untuk Persediaan Firezone Dengan Pembekal Identiti Popular

Pembekal kami mempunyai dokumentasi untuk:

  • Google
  • Okta
  • Direktori Aktif Azure
  • Onelogin
  • Pengesahan Setempat

 

Jika pembekal identiti anda mempunyai penyambung OIDC generik dan tidak disenaraikan di atas, sila pergi ke dokumentasi mereka untuk mendapatkan maklumat tentang cara mendapatkan semula tetapan konfigurasi yang diperlukan.

Mengekalkan Pengesahan Semula Berkala

Tetapan di bawah tetapan/keselamatan boleh ditukar untuk memerlukan pengesahan semula berkala. Ini boleh digunakan untuk menguatkuasakan keperluan pengguna memasuki Firezone secara tetap untuk meneruskan sesi VPN mereka.

Tempoh sesi boleh dikonfigurasikan antara satu jam dan sembilan puluh hari. Dengan menetapkan ini kepada Jangan sekali-kali, anda boleh mendayakan sesi VPN pada bila-bila masa. Ini adalah standard.

Pengesahan semula

Pengguna mesti menamatkan sesi VPN mereka dan log masuk ke portal Firezone untuk mengesahkan semula sesi VPN yang telah tamat tempoh (URL ditentukan semasa penggunaan).

Anda boleh mengesahkan semula sesi anda dengan mengikut arahan pelanggan tepat yang terdapat di sini.

 

Status Sambungan VPN

Lajur jadual Sambungan VPN halaman Pengguna memaparkan status sambungan pengguna. Ini ialah status sambungan:

DIDAYAKAN – Sambungan didayakan.

DIHIDAPKAN – Sambungan dilumpuhkan oleh pentadbir atau kegagalan muat semula OIDC.

TAMAT TEMPOH – Sambungan dilumpuhkan kerana tamat tempoh pengesahan atau pengguna tidak melog masuk buat kali pertama.

Google

Melalui penyambung OIDC umum, Firezone mendayakan Single Sign-On (SSO) dengan Google Workspace dan Cloud Identity. Panduan ini akan menunjukkan kepada anda cara mendapatkan parameter konfigurasi yang disenaraikan di bawah, yang diperlukan untuk penyepaduan:

  1. discovery_document_uri: The URI konfigurasi pembekal OpenID Connect yang mengembalikan dokumen JSON yang digunakan untuk membina permintaan seterusnya kepada pembekal OIDC ini.
  2. client_id: ID pelanggan aplikasi.
  3. client_secret: Rahsia klien aplikasi.
  4. redirect_uri: Mengarahkan penyedia OIDC tempat untuk mengubah hala selepas pengesahan. Ini sepatutnya Firezone anda EXTERNAL_URL + /auth/oidc/ /callback/ (cth https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Tetapkan kepada kod.
  6. skop: Skop OIDC untuk mendapatkan daripada pembekal OIDC anda. Ini harus ditetapkan kepada profil e-mel yang dibuka untuk menyediakan Firezone dengan e-mel pengguna dalam tuntutan yang dikembalikan.
  7. label: Teks label butang yang dipaparkan pada skrin log masuk Firezone anda.

Dapatkan Tetapan Konfigurasi

1. Skrin Konfigurasi OAuth

Jika ini kali pertama anda membuat ID klien OAuth baharu, anda akan diminta untuk mengkonfigurasi skrin persetujuan.

*Pilih Dalaman untuk jenis pengguna. Ini memastikan hanya akaun milik pengguna dalam Organisasi Google Workspace anda boleh membuat konfigurasi peranti. JANGAN pilih Luaran melainkan anda mahu mendayakan sesiapa yang mempunyai Akaun Google yang sah untuk membuat konfigurasi peranti.

 

Pada skrin maklumat Apl:

  1. Nama apl: Firezone
  2. Logo apl: Logo Firezone (simpan link sebagai).
  3. Halaman utama aplikasi: URL tika Firezone anda.
  4. Domain dibenarkan: domain peringkat atas tika Firezone anda.

 

 

2. Cipta ID Klien OAuth

Bahagian ini adalah berdasarkan dokumentasi Google sendiri tentang menyediakan OAuth 2.0.

Lawati Google Cloud Console Halaman kelayakan halaman, klik + Cipta Bukti kelayakan dan pilih ID klien OAuth.

Pada skrin penciptaan ID klien OAuth:

  1. Tetapkan Jenis Aplikasi kepada aplikasi Web
  2. Tambahkan Firezone EXTERNAL_URL + /auth/oidc/google/callback/ (cth https://instance-id.yourfirezone.com/auth/oidc/google/callback/) sebagai entri ke URI ubah hala Dibenarkan.

 

Selepas mencipta ID pelanggan OAuth, anda akan diberikan ID Pelanggan dan Rahsia Pelanggan. Ini akan digunakan bersama-sama dengan URI ubah hala dalam langkah seterusnya.

Integrasi Firezone

Edit /etc/firezone/firezone.rb untuk memasukkan pilihan di bawah:

 

# Menggunakan Google sebagai pembekal identiti SSO

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

  google: {

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

    client_id: “ ”,

    rahsia_pelanggan: “ ”,

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

    response_type: “kod”,

    skop: "profil e-mel terbuka",

    label: "Google"

  }

}

 

Jalankan firezone-ctl reconfigure dan firezone-ctl restart untuk mengemas kini aplikasi. Anda kini sepatutnya melihat butang Log masuk dengan Google di URL Firezone akar.

Okta

Firezone menggunakan penyambung OIDC generik untuk memudahkan Single Sign-On (SSO) dengan Okta. Tutorial ini akan menunjukkan kepada anda cara untuk mendapatkan parameter konfigurasi yang disenaraikan di bawah, yang diperlukan untuk penyepaduan:

  1. discovery_document_uri: The URI konfigurasi pembekal OpenID Connect yang mengembalikan dokumen JSON yang digunakan untuk membina permintaan seterusnya kepada pembekal OIDC ini.
  2. client_id: ID pelanggan aplikasi.
  3. client_secret: Rahsia klien aplikasi.
  4. redirect_uri: Mengarahkan penyedia OIDC tempat untuk mengubah hala selepas pengesahan. Ini sepatutnya Firezone anda EXTERNAL_URL + /auth/oidc/ /callback/ (cth https://instance-id.yourfirezone.com/auth/oidc/okta/callback/).
  5. response_type: Tetapkan kepada kod.
  6. skop: Skop OIDC untuk mendapatkan daripada pembekal OIDC anda. Ini harus ditetapkan kepada membuka profil e-mel offline_access untuk menyediakan Firezone dengan e-mel pengguna dalam tuntutan yang dikembalikan.
  7. label: Teks label butang yang dipaparkan pada skrin log masuk Firezone anda.

 

Sepadukan Apl Okta

Bahagian panduan ini adalah berdasarkan dokumentasi Okta.

Dalam Konsol Pentadbiran, pergi ke Aplikasi > Aplikasi dan klik Cipta Penyepaduan Apl. Tetapkan kaedah Log masuk kepada OICD – OpenID Connect dan jenis Aplikasi kepada aplikasi Web.

Konfigurasikan tetapan ini:

  1. Nama Apl: Firezone
  2. Logo apl: Logo Firezone (simpan link sebagai).
  3. Jenis Pemberian: Tandai kotak Token Segar Semula. Ini memastikan Firezone menyegerak dengan pembekal identiti dan akses VPN ditamatkan sebaik sahaja pengguna dialih keluar.
  4. URI ubah hala log masuk: Tambahkan Firezone EXTERNAL_URL + /auth/oidc/okta/callback/ (cth https://instance-id.yourfirezone.com/auth/oidc/okta/callback/) sebagai entri pada URI ubah hala Dibenarkan .
  5. Tugasan: Hadkan kepada kumpulan yang anda ingin berikan akses kepada tika Firezone anda.

Setelah tetapan disimpan, anda akan diberikan ID Pelanggan, Rahsia Pelanggan dan Domain Okta. 3 nilai ini akan digunakan dalam Langkah 2 untuk mengkonfigurasi Firezone.

Sepadukan Firezone

Edit /etc/firezone/firezone.rb untuk memasukkan pilihan di bawah. awak url_dokumen_penemuan akan /.well-known/openid-configuration dilampirkan pada akhir anda okta_domain.

 

# Menggunakan Okta sebagai pembekal identiti SSO

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

  okta: {

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

    client_id: “ ”,

    rahsia_pelanggan: “ ”,

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

    response_type: “kod”,

    skop: "profil e-mel terbuka offline_access",

    label: "Okta"

  }

}

 

Jalankan firezone-ctl reconfigure dan firezone-ctl restart untuk mengemas kini aplikasi. Anda kini sepatutnya melihat butang Log masuk dengan Okta di URL Firezone akar.

 

Hadkan Akses Kepada Pengguna Tertentu

Pengguna yang boleh mengakses apl Firezone boleh dihadkan oleh Okta. Pergi ke halaman Tugasan Penyepaduan Apl Firezone Console Okta anda untuk mencapai perkara ini.

Direktori Aktif Azure

Melalui penyambung OIDC generik, Firezone mendayakan Single Sign-On (SSO) dengan Azure Active Directory. Manual ini akan menunjukkan kepada anda cara mendapatkan parameter konfigurasi yang disenaraikan di bawah, yang diperlukan untuk penyepaduan:

  1. discovery_document_uri: The URI konfigurasi pembekal OpenID Connect yang mengembalikan dokumen JSON yang digunakan untuk membina permintaan seterusnya kepada pembekal OIDC ini.
  2. client_id: ID pelanggan aplikasi.
  3. client_secret: Rahsia klien aplikasi.
  4. redirect_uri: Mengarahkan penyedia OIDC tempat untuk mengubah hala selepas pengesahan. Ini sepatutnya Firezone anda EXTERNAL_URL + /auth/oidc/ /callback/ (cth https://instance-id.yourfirezone.com/auth/oidc/azure/callback/).
  5. response_type: Tetapkan kepada kod.
  6. skop: Skop OIDC untuk mendapatkan daripada pembekal OIDC anda. Ini harus ditetapkan kepada membuka profil e-mel offline_access untuk menyediakan Firezone dengan e-mel pengguna dalam tuntutan yang dikembalikan.
  7. label: Teks label butang yang dipaparkan pada skrin log masuk Firezone anda.

Dapatkan Tetapan Konfigurasi

Panduan ini diambil daripada Dokumen Direktori Aktif Azure.

 

Pergi ke halaman Azure Active Directory portal Azure. Pilih pilihan menu Urus, pilih Pendaftaran Baharu, kemudian daftar dengan memberikan maklumat di bawah:

  1. Nama: Firezone
  2. Jenis akaun yang disokong: (Direktori Lalai sahaja – Penyewa tunggal)
  3. Ubah hala URI: Ini mestilah firezone anda EXTERNAL_URL + /auth/oidc/azure/callback/ (cth https://instance-id.yourfirezone.com/auth/oidc/azure/callback/). Pastikan anda memasukkan garis miring mengekor. Ini akan menjadi nilai redirect_uri.

 

Selepas mendaftar, buka paparan butiran permohonan dan salin ID Permohonan (pelanggan).. Ini akan menjadi nilai client_id. Seterusnya, buka menu titik akhir untuk mendapatkan semula Dokumen metadata OpenID Connect. Ini akan menjadi nilai discovery_document_uri.

 

Cipta rahsia pelanggan baharu dengan mengklik pilihan Sijil & rahsia di bawah menu Urus. Salin rahsia pelanggan; nilai rahsia pelanggan akan menjadi ini.

 

Akhir sekali, pilih pautan kebenaran API di bawah menu Urus, klik Tambahkan kebenaran, And select Grafik Microsoft, menambah e-mel, terbuka, akses_ luar talian and profil kepada kebenaran yang diperlukan.

Integrasi Firezone

Edit /etc/firezone/firezone.rb untuk memasukkan pilihan di bawah:

 

# Menggunakan Azure Active Directory sebagai pembekal identiti SSO

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

  biru: {

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

    client_id: “ ”,

    rahsia_pelanggan: “ ”,

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

    response_type: “kod”,

    skop: "profil e-mel terbuka offline_access",

    label: "Azure"

  }

}

 

Jalankan firezone-ctl reconfigure dan firezone-ctl restart untuk mengemas kini aplikasi. Anda kini sepatutnya melihat butang Log masuk dengan Azure di URL Firezone akar.

Cara: Hadkan Akses Kepada Ahli Tertentu

Azure AD membolehkan pentadbir mengehadkan akses apl kepada kumpulan pengguna tertentu dalam syarikat anda. Maklumat lanjut tentang cara melakukan ini boleh didapati dalam dokumentasi Microsoft.

Mentadbir

  • Konfigurasi
  • Uruskan Pemasangan
  • Naik taraf
  • Selesaikan masalah
  • Pertimbangan Keselamatan
  • Menjalankan Pertanyaan SQL

Konfigurasi

Chef Omnibus digunakan oleh Firezone untuk mengurus tugas termasuk pembungkusan keluaran, penyeliaan proses, pengurusan log dan banyak lagi.

Kod Ruby membentuk fail konfigurasi utama, yang terletak di /etc/firezone/firezone.rb. Memulakan semula konfigurasi semula sudo firezone-ctl selepas membuat pengubahsuaian pada fail ini menyebabkan Chef mengenali perubahan dan menerapkannya pada sistem pengendalian semasa.

Lihat rujukan fail konfigurasi untuk senarai lengkap pembolehubah konfigurasi dan penerangannya.

Uruskan Pemasangan

Instance Firezone anda boleh diuruskan melalui firezone-ctl perintah, seperti yang ditunjukkan di bawah. Kebanyakan subperintah memerlukan awalan dengan sudo.

 

root@demo:~# firezone-ctl

omnibus-ctl: perintah (subperintah)

Perintah Am:

  membersihkan

    Padamkan *semua* data firezone dan mulakan dari awal.

  buat-atau-set semula-pentadbir

    Menetapkan semula kata laluan untuk pentadbir dengan e-mel yang ditentukan secara lalai['firezone']['admin_email'] atau mencipta pentadbir baharu jika e-mel itu tidak wujud.

  membantu

    Cetak mesej bantuan ini.

  kumpulkan semula

    Konfigurasikan semula aplikasi.

  set semula-rangkaian

    Menetapkan semula nftables, antara muka WireGuard dan jadual penghalaan kembali kepada lalai Firezone.

  show-config

    Tunjukkan konfigurasi yang akan dijana dengan konfigurasi semula.

  teardown-network

    Mengalih keluar antara muka WireGuard dan jadual nftable firezone.

  force-cert-renewal

    Paksa pembaharuan sijil sekarang walaupun ia belum tamat tempoh.

  berhenti-sijil-pembaharuan

    Mengalih keluar cronjob yang memperbaharui sijil.

  buang

    Matikan semua proses dan nyahpasang penyelia proses (data akan disimpan).

  versi

    Paparkan versi semasa Firezone

Arahan Pengurusan Perkhidmatan:

  anggun-membunuh

    Cuba perhentian yang anggun, kemudian SIGKILL keseluruhan kumpulan proses.

  hup

    Hantar perkhidmatan HUP.

  int

    Hantar perkhidmatan INT.

  membunuh

    Hantar perkhidmatan BUNUH.

  sekali

    Mulakan perkhidmatan jika ia tidak berfungsi. Jangan mulakan semula jika ia berhenti.

  restart

    Hentikan perkhidmatan jika ia berjalan, kemudian mulakannya semula.

  senarai perkhidmatan

    Senaraikan semua perkhidmatan (perkhidmatan yang didayakan muncul dengan *.)

  permulaan

    Mulakan perkhidmatan jika ia tidak berfungsi, dan mulakan semula jika ia berhenti.

  status

    Tunjukkan status semua perkhidmatan.

  berhenti

    Hentikan perkhidmatan, dan jangan mulakan semula perkhidmatan tersebut.

  ekor

    Tonton log perkhidmatan semua perkhidmatan yang didayakan.

  jangka

    Hantar perkhidmatan TERMA.

  usr1

    Hantar perkhidmatan USR1.

  usr2

    Hantar perkhidmatan USR2.

Naik taraf

Semua sesi VPN mesti ditamatkan sebelum menaik taraf Firezone, yang juga memerlukan untuk menutup UI Web. Sekiranya berlaku masalah semasa naik taraf, kami menasihatkan untuk mengetepikan satu jam untuk penyelenggaraan.

 

Untuk meningkatkan Firezone, ambil tindakan berikut:

  1. Tingkatkan pakej firezone menggunakan pemasangan satu arahan: sudo -E bash -c “$(curl -fsSL https://github.com/firezone/firezone/raw/master/scripts/install.sh)”
  2. Jalankan firezone-ctl reconfigure untuk mengambil perubahan baharu.
  3. Jalankan firezone-ctl restart untuk memulakan semula perkhidmatan.

Jika sebarang masalah timbul, sila maklumkan kepada kami melalui menyerahkan tiket sokongan.

Naik taraf Daripada <0.5.0 kepada >=0.5.0

Terdapat beberapa perubahan pecah dan pengubahsuaian konfigurasi dalam 0.5.0 yang mesti ditangani. Ketahui lebih lanjut di bawah.

Permintaan Nginx non_ssl_port (HTTP) yang digabungkan dialih keluar

Nginx tidak lagi menyokong kekuatan SSL dan parameter port bukan SSL pada versi 0.5.0. Oleh kerana Firezone memerlukan SSL untuk berfungsi, kami menasihatkan agar anda mengalih keluar perkhidmatan Nginx bundle dengan menetapkan lalai['firezone']['nginx']['enabled'] = false dan halakan proksi terbalik anda ke apl Phoenix pada port 13000 sebaliknya (secara lalai ).

Sokongan Protokol ACME

0.5.0 memperkenalkan sokongan protokol ACME untuk memperbaharui sijil SSL secara automatik dengan perkhidmatan Nginx yang digabungkan. Bagi membolehkan,

  • Pastikan lalai['firezone']['external_url'] mengandungi FQDN yang sah yang diselesaikan ke alamat IP awam pelayan anda.
  • Pastikan port 80/tcp boleh dicapai
  • Dayakan sokongan protokol ACME dengan lalai['firezone']['ssl']['acme']['enabled'] = benar dalam fail konfigurasi anda.

Destinasi Peraturan Keluar Bertindih

Kemungkinan untuk menambah peraturan dengan destinasi pendua hilang dalam Firezone 0.5.0. Skrip migrasi kami akan mengenali situasi ini secara automatik semasa peningkatan kepada 0.5.0 dan hanya mengekalkan peraturan yang destinasinya termasuk peraturan lain. Tiada apa yang perlu anda lakukan jika ini okey.

Jika tidak, sebelum menaik taraf, kami menasihatkan menukar set peraturan anda untuk menyingkirkan situasi ini.

Prakonfigurasi Okta dan Google SSO

Firezone 0.5.0 mengalih keluar sokongan untuk konfigurasi Okta dan Google SSO gaya lama yang memihak kepada konfigurasi berasaskan OIDC baharu yang lebih fleksibel. 

Jika anda mempunyai sebarang konfigurasi di bawah kekunci lalai['firezone']['authentication']['okta'] atau['firezone']['authentication']['google'] lalai, anda perlu memindahkannya ke OIDC kami konfigurasi berasaskan menggunakan panduan di bawah.

Konfigurasi Google OAuth sedia ada

Alih keluar baris ini yang mengandungi konfigurasi Google OAuth lama daripada fail konfigurasi anda yang terletak di /etc/firezone/firezone.rb

 

lalai['firezone']['authentication']['google']['enabled']

lalai['firezone']['authentication']['google']['client_id']

lalai['firezone']['authentication']['google']['client_secret']

lalai['firezone']['authentication']['google']['redirect_uri']

 

Kemudian, konfigurasikan Google sebagai penyedia OIDC dengan mengikut prosedur di sini.

(Berikan arahan pautan)<<<<<<<<<<<<<<<<

 

Konfigurasikan Google OAuth Sedia Ada 

Alih keluar baris ini yang mengandungi konfigurasi Okta OAuth lama daripada fail konfigurasi anda yang terletak di /etc/firezone/firezone.rb

 

lalai['firezone']['authentication']['okta']['enabled']

lalai['firezone']['authentication']['okta']['client_id']

lalai['firezone']['authentication']['okta']['client_secret']

Lalai['firezone']['authentication']['okta']['site']

 

Kemudian, konfigurasikan Okta sebagai penyedia OIDC dengan mengikuti prosedur di sini.

Naik taraf daripada 0.3.x kepada >= 0.3.16

Bergantung pada persediaan dan versi semasa anda, patuhi arahan di bawah:

Jika anda sudah mempunyai integrasi OIDC:

Bagi sesetengah penyedia OIDC, peningkatan kepada >= 0.3.16 memerlukan mendapatkan token muat semula untuk skop akses luar talian. Dengan melakukan ini, ia memastikan bahawa Firezone mengemas kini dengan pembekal identiti dan sambungan VPN dimatikan selepas pengguna dipadamkan. Lelaran awal Firezone tidak mempunyai ciri ini. Dalam sesetengah keadaan, pengguna yang dipadamkan daripada pembekal identiti anda mungkin masih disambungkan ke VPN.

Anda perlu memasukkan akses luar talian dalam parameter skop konfigurasi OIDC anda untuk pembekal OIDC yang menyokong skop akses luar talian. Firezone-ctl reconfigure mesti dilaksanakan untuk menggunakan perubahan pada fail konfigurasi Firezone, yang terletak di /etc/firezone/firezone.rb.

Bagi pengguna yang telah disahkan oleh pembekal OIDC anda, anda akan melihat tajuk Sambungan OIDC dalam halaman butiran pengguna UI web jika Firezone berjaya mendapatkan semula token muat semula.

Jika ini tidak berjaya, anda perlu memadamkan apl OAuth sedia ada anda dan ulangi langkah persediaan OIDC untuk buat penyepaduan apl baharu .

Saya mempunyai penyepaduan OAuth sedia ada

Sebelum 0.3.11, Firezone menggunakan penyedia OAuth2 yang diprakonfigurasikan. 

Ikut arahan disini untuk berhijrah ke OIDC.

Saya belum menyepadukan pembekal identiti

Tidak perlu tindakan. 

Anda boleh mengikuti arahan disini untuk membolehkan SSO melalui pembekal OIDC.

Naik taraf daripada 0.3.1 kepada >= 0.3.2

Sebagai gantinya, lalai['firezone']['external url'] telah menggantikan pilihan konfigurasi lalai['firezone']['fqdn']. 

Tetapkan ini pada URL portal dalam talian Firezone anda yang boleh diakses oleh orang awam. Ia akan lalai kepada https:// serta FQDN pelayan anda jika dibiarkan tidak ditentukan.

Fail konfigurasi terletak di /etc/firezone/firezone.rb. Lihat rujukan fail konfigurasi untuk senarai lengkap pembolehubah konfigurasi dan penerangannya.

Naik taraf daripada 0.2.x kepada 0.3.x

Firezone tidak lagi menyimpan kunci peribadi peranti pada pelayan Firezone pada versi 0.3.0. 

UI Web Firezone tidak akan membenarkan anda memuat turun semula atau melihat konfigurasi ini, tetapi mana-mana peranti sedia ada harus terus beroperasi seperti sedia ada.

Naik taraf daripada 0.1.x kepada 0.2.x

Jika anda menaik taraf daripada Firezone 0.1.x, terdapat beberapa perubahan fail konfigurasi yang mesti ditangani secara manual. 

Untuk membuat pengubahsuaian yang diperlukan pada fail /etc/firezone/firezone.rb anda, jalankan arahan di bawah sebagai 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 konfigurasi semula

firezone-ctl dimulakan semula

Penyelesaian masalah

Menyemak log Firezone ialah langkah pertama yang bijak untuk sebarang isu yang boleh berlaku.

Jalankan sudo firezone-ctl tail untuk melihat log Firezone.

Menyahpepijat Isu Ketersambungan

Majoriti masalah sambungan dengan Firezone disebabkan oleh peraturan iptables atau nftables yang tidak serasi. Anda mesti memastikan bahawa mana-mana peraturan yang anda adakan tidak bercanggah dengan peraturan Firezone.

Kesambungan Internet Terputus apabila Terowong Aktif

Pastikan rantaian FORWARD membenarkan paket daripada pelanggan WireGuard anda ke lokasi yang anda ingin biarkan melalui Firezone jika sambungan Internet anda merosot setiap kali anda mengaktifkan terowong WireGuard anda.

 

Ini boleh dicapai jika anda menggunakan ufw dengan memastikan bahawa dasar penghalaan lalai dibenarkan:

 

ubuntu@fz:~$ sudo ufw lalai benarkan dihalakan

Dasar laluan lalai ditukar kepada 'benarkan'

(pastikan anda mengemas kini peraturan anda dengan sewajarnya)

 

A ufw status untuk pelayan Firezone biasa mungkin kelihatan seperti ini:

 

ubuntu@fz:~$ sudo ufw status verbose

Status: aktif

Log: hidup (rendah)

Lalai: tolak (masuk), benarkan (keluar), benarkan (dihalakan)

Profil baharu: langkau

 

Untuk Tindakan Daripada

— —— —-

22/tcp BENARKAN DI Mana-mana

80/tcp BENARKAN DI Mana-mana

443/tcp BENARKAN DI Mana-mana

51820/udp BENARKAN DI Mana-mana

22/tcp (v6) BENARKAN DI Mana-mana (v6)

80/tcp (v6) BENARKAN DI Mana-mana (v6)

443/tcp (v6) BENARKAN DI Mana-mana (v6)

51820/udp (v6) BENARKAN DI Mana-mana (v6)

Pertimbangan Keselamatan

Kami menasihati mengehadkan akses kepada antara muka web untuk penggunaan pengeluaran yang sangat sensitif dan kritikal misi, seperti yang dijelaskan di bawah.

Perkhidmatan & Pelabuhan

 

Servis

Pelabuhan Lalai

Dengar Alamat

Penerangan Produk

Nginx

80, 443

semua

Port HTTP(S) awam untuk mentadbir Firezone dan memudahkan pengesahan.

Pengawal Wire

51820

semua

Port WireGuard awam digunakan untuk sesi VPN. (UDP)

Postgresql

15432

127.0.0.1

Port tempatan sahaja yang digunakan untuk pelayan Postgresql yang digabungkan.

Phoenix

13000

127.0.0.1

Port tempatan sahaja yang digunakan oleh pelayan aplikasi elixir huluan.

Deployment Pengeluaran

Kami menasihatkan anda untuk memikirkan tentang mengehadkan akses kepada UI web Firezone yang terdedah secara terbuka (secara lalai port 443/tcp dan 80/tcp) dan sebaliknya menggunakan terowong WireGuard untuk mengurus Firezone untuk pengeluaran dan penempatan yang dihadapi oleh orang ramai di mana pentadbir tunggal akan bertanggungjawab mencipta dan mengedarkan konfigurasi peranti kepada pengguna akhir.

 

Sebagai contoh, jika pentadbir mencipta konfigurasi peranti dan mencipta terowong dengan alamat WireGuard tempatan 10.3.2.2, konfigurasi ufw berikut akan membolehkan pentadbir mengakses UI web Firezone pada antara muka wg-firezone pelayan menggunakan lalai 10.3.2.1 alamat terowong:

 

root@demo:~# ufw status verbose

Status: aktif

Log: hidup (rendah)

Lalai: tolak (masuk), benarkan (keluar), benarkan (dihalakan)

Profil baharu: langkau

 

Untuk Tindakan Daripada

— —— —-

22/tcp BENARKAN DI Mana-mana

51820/udp BENARKAN DI Mana-mana

Di mana-mana BENARKAN MASUK 10.3.2.2

22/tcp (v6) BENARKAN DI Mana-mana (v6)

51820/udp (v6) BENARKAN DI Mana-mana (v6)

Ini akan meninggalkan sahaja 22/tcp terdedah untuk akses SSH untuk mengurus pelayan (pilihan), dan 51820/udp terdedah untuk mewujudkan terowong WireGuard.

Jalankan Pertanyaan SQL

Firezone menggabungkan pelayan Postgresql dan padanan psql utiliti yang boleh digunakan dari shell tempatan seperti:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d firezone \

  -h localhost \

  -p 15432 \

  -c “SQL_STATEMENT”

 

Ini boleh membantu untuk tujuan penyahpepijatan.

 

Tugasan Biasa:

 

  • Menyenaraikan semua pengguna
  • Menyenaraikan semua peranti
  • Menukar peranan pengguna
  • Menyandarkan pangkalan data



Menyenaraikan semua pengguna:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d firezone \

  -h localhost \

  -p 15432 \

  -c “PILIH * DARI pengguna;”



Menyenaraikan semua peranti:

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d firezone \

  -h localhost \

  -p 15432 \

  -c “PILIH * DARI peranti;”



Tukar peranan pengguna:

 

Tetapkan peranan kepada 'admin' atau 'unprivileged':

 

/opt/firezone/embedded/bin/psql \

  -U firezone \

  -d firezone \

  -h localhost \

  -p 15432 \

  -c “KEMASKINI pengguna SET peranan = 'admin' WHERE e-mel = 'user@example.com';”



Membuat sandaran pangkalan data:

 

Tambahan pula, disertakan ialah program pembuangan pg, yang boleh digunakan untuk mengambil sandaran tetap pangkalan data. Jalankan kod berikut untuk membuang salinan pangkalan data dalam format pertanyaan SQL biasa (gantikan /path/to/backup.sql dengan lokasi di mana fail SQL harus dibuat):

 

/opt/firezone/embedded/bin/pg_dump \

  -U firezone \

  -d firezone \

  -h localhost \

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

Panduan pengguna

  • Tambah Pengguna
  • Tambah Peranti
  • Peraturan Keluar
  • Arahan Pelanggan
  • VPN Terowong Pisah
  • Terowong Terbalik 
  • Gerbang NAT

Tambah Pengguna

Selepas Firezone telah berjaya digunakan, anda mesti menambah pengguna untuk memberikan mereka akses kepada rangkaian anda. UI Web digunakan untuk melakukan ini.

 

UI web


Dengan memilih butang "Tambah Pengguna" di bawah /pengguna, anda boleh menambah pengguna. Anda akan dikehendaki memberikan pengguna alamat e-mel dan kata laluan. Untuk membenarkan akses kepada pengguna dalam organisasi anda secara automatik, Firezone juga boleh antara muka dan penyegerakan dengan pembekal identiti. Butiran lanjut tersedia dalam Pengesahan. < Tambah pautan ke Sahkan

Tambah Peranti

Kami menasihatkan agar pengguna membuat konfigurasi peranti mereka sendiri supaya kunci peribadi hanya boleh dilihat oleh mereka. Pengguna boleh menjana konfigurasi peranti mereka sendiri dengan mengikut arahan pada Arahan Pelanggan muka surat.

 

Menjana konfigurasi peranti pentadbir

Semua konfigurasi peranti pengguna boleh dibuat oleh pentadbir Firezone. Pada halaman profil pengguna yang terletak di /users, pilih pilihan "Tambah Peranti" untuk mencapai ini.

 

[Sisipkan tangkapan skrin]

 

Anda boleh menghantar e-mel kepada pengguna fail konfigurasi WireGuard selepas membuat profil peranti.

 

Pengguna dan peranti dipautkan. Untuk butiran lanjut tentang cara menambah pengguna, lihat Tambah Pengguna.

Peraturan Keluar

Melalui penggunaan sistem penapis bersih kernel, Firezone membolehkan keupayaan penapisan jalan keluar untuk menentukan paket DROP atau ACCEPT. Semua lalu lintas biasanya dibenarkan.

 

IPv4 dan IPv6 CIDR dan alamat IP disokong melalui Senarai Benar dan Senarai Penafian, masing-masing. Anda boleh memilih untuk skop peraturan kepada pengguna apabila menambahkan peraturan itu, yang menggunakan peraturan itu pada semua peranti pengguna tersebut.

Arahan Pelanggan

Pasang dan konfigurasikan

Untuk mewujudkan sambungan VPN menggunakan klien WireGuard asli, rujuk panduan ini.

 

1. Pasang klien WireGuard asli

 

Pelanggan WireGuard Rasmi yang terdapat di sini adalah serasi dengan Firezone:

 

MacOS

 

Windows

 

iOS

 

Android

 

Lawati tapak web WireGuard rasmi di https://www.wireguard.com/install/ untuk sistem OS yang tidak disebutkan di atas.

 

2. Muat turun fail konfigurasi peranti

 

Sama ada pentadbir Firezone anda atau anda sendiri boleh menjana fail konfigurasi peranti menggunakan portal Firezone.

 

Lawati URL yang telah disediakan oleh pentadbir Firezone anda untuk menjana sendiri fail konfigurasi peranti. Firma anda akan mempunyai URL unik untuk ini; dalam kes ini, ia adalah https://instance-id.yourfirezone.com.

 

Log masuk ke Firezone Okta SSO

 

[Sisipkan Tangkapan Skrin]

 

3. Tambah konfigurasi pelanggan

 

Import fail.conf ke dalam klien WireGuard dengan membukanya. Dengan membalikkan suis Aktifkan, anda boleh memulakan sesi VPN.

 

[Sisipkan Tangkapan Skrin]

Pengesahan Semula Sesi

Ikut arahan di bawah jika pentadbir rangkaian anda telah mewajibkan pengesahan berulang untuk memastikan sambungan VPN anda aktif. 



Awak perlu:

 

URL portal Firezone: Tanya pentadbir rangkaian anda untuk sambungan.

Pentadbir rangkaian anda sepatutnya boleh menawarkan log masuk dan kata laluan anda. Tapak Firezone akan menggesa anda untuk log masuk menggunakan perkhidmatan log masuk tunggal yang digunakan oleh majikan anda (seperti Google atau Okta).

 

1. Matikan sambungan VPN

 

[Sisipkan Tangkapan Skrin]

 

2. Sahkan semula 

Pergi ke URL portal Firezone dan log masuk menggunakan bukti kelayakan yang telah diberikan oleh pentadbir rangkaian anda. Jika anda sudah log masuk, klik butang Sahkan semula sebelum log masuk semula.

 

[Sisipkan Tangkapan Skrin]

 

Langkah 3: Lancarkan sesi VPN

[Sisipkan Tangkapan Skrin]

Pengurus Rangkaian untuk Linux

Untuk mengimport profil konfigurasi WireGuard menggunakan Network Manager CLI pada peranti Linux, ikut arahan ini (nmcli).

NOTA

Jika profil mempunyai sokongan IPv6 didayakan, cuba mengimport fail konfigurasi menggunakan GUI Pengurus Rangkaian mungkin gagal dengan ralat berikut:

ipv6.method: kaedah "auto" tidak disokong untuk WireGuard

1. Pasang Alat WireGuard 

Ia adalah perlu untuk memasang utiliti ruang pengguna WireGuard. Ini akan menjadi pakej yang dipanggil wireguard atau wireguard-tools untuk pengedaran Linux.

Untuk Ubuntu/Debian:

sudo apt install wireguard

Untuk menggunakan Fedora:

sudo dnf pasang wireguard-tools

Arch Linux:

sudo pacman -S wireguard-tools

Lawati tapak web WireGuard rasmi di https://www.wireguard.com/install/ untuk pengedaran yang tidak disebutkan di atas.

2. Muat turun konfigurasi 

Sama ada pentadbir Firezone anda atau penjanaan sendiri boleh menjana fail konfigurasi peranti menggunakan portal Firezone.

Lawati URL yang telah disediakan oleh pentadbir Firezone anda untuk menjana sendiri fail konfigurasi peranti. Firma anda akan mempunyai URL unik untuk ini; dalam kes ini, ia adalah https://instance-id.yourfirezone.com.

[Sisipkan Tangkapan Skrin]

3. Tetapan import

Import fail konfigurasi yang dibekalkan menggunakan nmcli:

fail wireguard jenis import sambungan sudo nmcli /path/to/configuration.conf

NOTA

Nama fail konfigurasi akan sepadan dengan sambungan/antara muka WireGuard. Selepas import, sambungan boleh dinamakan semula jika perlu:

sambungan nmcli ubah suai [nama lama] connection.id [nama baharu]

4. Sambung atau putuskan sambungan

Melalui baris arahan, sambung ke VPN seperti berikut:

sambungan nmcli [nama vpn]

Untuk memutuskan sambungan:

sambungan nmcli turun [nama vpn]

Applet Pengurus Rangkaian yang berkenaan juga boleh digunakan untuk mengurus sambungan jika menggunakan GUI.

Sambungan Auto

Dengan memilih "ya" untuk pilihan autosambung, sambungan VPN boleh dikonfigurasikan untuk menyambung secara automatik:

 

sambungan nmcli ubah suai sambungan [nama vpn]. <<<<<<<<<<<<<<<<<<<<<<

 

autosambung ya

 

Untuk melumpuhkan sambungan automatik tetapkannya semula kepada no:

 

sambungan nmcli ubah suai sambungan [nama vpn].

 

autosambung no

Jadikan Pengesahan Berbilang Faktor Tersedia

Untuk mengaktifkan MFA Pergi ke portal Firezone / akaun pengguna/daftar halaman mfa. Gunakan apl pengesah anda untuk mengimbas kod QR selepas ia dijana, kemudian masukkan kod enam digit.

Hubungi Pentadbir anda untuk menetapkan semula maklumat akses akaun anda jika anda tersalah letak apl pengesah anda.

VPN Terowong Pisah

Tutorial ini akan membimbing anda melalui proses menyediakan ciri terowong berpecah WireGuard dengan Firezone supaya hanya trafik ke julat IP tertentu dimajukan melalui pelayan VPN.

 

1. Konfigurasikan IP Dibenarkan 

Julat IP yang pelanggan akan mengarahkan trafik rangkaian dinyatakan dalam medan IP Dibenarkan yang terletak pada halaman /setting/lalai. Hanya konfigurasi terowong WireGuard yang baru dibuat yang dihasilkan oleh Firezone akan terjejas oleh perubahan pada medan ini.

 

[Sisipkan Tangkapan Skrin]



Nilai lalai ialah 0.0.0.0/0, ::/0, yang mengarahkan semua trafik rangkaian daripada klien ke pelayan VPN.

 

Contoh nilai dalam bidang ini termasuk:

 

0.0.0.0/0, ::/0 – semua trafik rangkaian akan dihalakan ke pelayan VPN.

192.0.2.3/32 – hanya trafik ke alamat IP tunggal akan dihalakan ke pelayan VPN.

3.5.140.0/22 ​​– hanya trafik ke IP dalam julat 3.5.140.1 – 3.5.143.254 akan dihalakan ke pelayan VPN. Dalam contoh ini, julat CIDR untuk rantau AWS ap-timur laut-2 telah digunakan.



NOTA

Firezone memilih antara muka jalan keluar yang dikaitkan dengan laluan paling tepat dahulu apabila menentukan tempat untuk menghalakan paket.

 

2. Menjana semula konfigurasi WireGuard

Pengguna mesti menjana semula fail konfigurasi dan menambahkannya pada klien WireGuard asli mereka untuk mengemas kini peranti pengguna sedia ada dengan konfigurasi terowong pisah baharu.

 

Untuk arahan, lihat Tambah peranti. <<<<<<<<<< Tambah pautan

Terowong Terbalik

Manual ini akan menunjukkan cara memautkan dua peranti menggunakan Firezone sebagai geganti. Satu kes penggunaan biasa adalah untuk membolehkan pentadbir mengakses pelayan, bekas atau mesin yang dilindungi oleh NAT atau tembok api.

 

Nod ke Nod 

Ilustrasi ini menunjukkan senario mudah di mana Peranti A dan B membina terowong.

 

[Masukkan gambar seni bina firezone]

 

Mulakan dengan membuat Peranti A dan Peranti B dengan menavigasi ke /users/[user_id]/new_device. Dalam tetapan untuk setiap peranti, pastikan parameter berikut ditetapkan kepada nilai yang disenaraikan di bawah. Anda boleh menetapkan tetapan peranti semasa membuat konfigurasi peranti (lihat Tambah Peranti). Jika anda perlu mengemas kini tetapan pada peranti sedia ada, anda boleh berbuat demikian dengan menjana konfigurasi peranti baharu.

 

Ambil perhatian bahawa semua peranti mempunyai halaman /setting/defaults di mana PersistentKeepalive boleh dikonfigurasikan.

 

Peranti A

 

AllowedIPs = 10.3.2.2/32

  Ini ialah IP atau julat IP Peranti B

PersistentKeepalive = 25

  Jika peranti berada di belakang NAT, ini memastikan peranti dapat memastikan terowong itu hidup dan terus menerima paket daripada antara muka WireGuard. Biasanya nilai 25 sudah memadai, tetapi anda mungkin perlu menurunkan nilai ini bergantung pada persekitaran anda.



peranti B

 

AllowedIPs = 10.3.2.3/32

Ini ialah IP atau julat IP Peranti A

PersistentKeepalive = 25

Kes Pentadbiran - Satu hingga Banyak Nod

Contoh ini menunjukkan situasi di mana Peranti A boleh berkomunikasi dengan Peranti B hingga D dalam kedua-dua arah. Persediaan ini boleh mewakili jurutera atau pentadbir yang mengakses pelbagai sumber (pelayan, bekas atau mesin) merentas pelbagai rangkaian.

 

[Rajah Senibina]<<<<<<<<<<<<<<<<<<<<<<<<

 

Pastikan tetapan berikut dibuat dalam tetapan setiap peranti kepada nilai yang sepadan. Apabila membuat konfigurasi peranti, anda boleh menentukan tetapan peranti (lihat Tambah Peranti). Konfigurasi peranti baharu boleh dibuat jika tetapan pada peranti sedia ada perlu dikemas kini.

 

Peranti A (Nod Pentadbir)

 

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

    Ini ialah IP peranti B hingga D. IP Peranti B hingga D mesti disertakan dalam mana-mana julat IP yang anda pilih untuk tetapkan.

PersistentKeepalive = 25 

    Ini menjamin bahawa peranti boleh mengekalkan terowong dan terus menerima paket daripada antara muka WireGuard walaupun ia dilindungi oleh NAT. Dalam kebanyakan kes, nilai 25 adalah memadai, namun bergantung pada persekitaran anda, anda mungkin perlu menurunkan angka ini.

 

Peranti B

 

  • AllowedIPs = 10.3.2.2/32: Ini ialah IP atau julat IP Peranti A
  • PersistentKeepalive = 25

Peranti C

 

  • AllowedIPs = 10.3.2.2/32: Ini ialah IP atau julat IP Peranti A
  • PersistentKeepalive = 25

Peranti D

 

  • AllowedIPs = 10.3.2.2/32: Ini ialah IP atau julat IP Peranti A
  • PersistentKeepalive = 25

Gerbang NAT

Untuk menawarkan IP keluar statik tunggal untuk semua trafik pasukan anda mengalir keluar, Firezone boleh digunakan sebagai get laluan NAT. Situasi ini melibatkan penggunaannya yang kerap:

 

Penglibatan Perundingan: Minta pelanggan anda menyenarai putih satu alamat IP statik dan bukannya IP peranti unik setiap pekerja.

Menggunakan proksi atau menutup IP sumber anda untuk tujuan keselamatan atau privasi.

 

Contoh mudah mengehadkan akses kepada aplikasi web yang dihoskan sendiri kepada satu IP statik tersenarai putih yang menjalankan Firezone akan ditunjukkan dalam siaran ini. Dalam ilustrasi ini, Firezone dan sumber yang dilindungi berada dalam kawasan VPC yang berbeza.

 

Penyelesaian ini sering digunakan sebagai ganti mengurus senarai putih IP untuk banyak pengguna akhir, yang boleh memakan masa apabila senarai akses berkembang.

Contoh AWS

Objektif kami adalah untuk menyediakan pelayan Firezone pada contoh EC2 untuk mengubah hala trafik VPN ke sumber terhad. Dalam keadaan ini, Firezone berfungsi sebagai proksi rangkaian atau get laluan NAT untuk memberikan setiap peranti yang disambungkan IP keluar awam yang unik.

 

1. Pasang pelayan Firezone

Dalam kes ini, tika EC2 bernama tc2.micro mempunyai tika Firezone dipasang padanya. Untuk mendapatkan maklumat tentang menggunakan Firezone, pergi ke Panduan Penggunaan. Berhubung dengan AWS, pastikan:

 

Kumpulan keselamatan tika Firezone EC2 membenarkan trafik keluar ke alamat IP sumber yang dilindungi.

Contoh Firezone disertakan dengan IP anjal. Trafik yang dimajukan melalui tika Firezone ke destinasi luar akan mempunyai ini sebagai alamat IP sumbernya. Alamat IP yang dimaksudkan ialah 52.202.88.54.

 

[Sisipkan Tangkapan Skrin]<<<<<<<<<<<<<<<<<<<<<<<<

 

2. Hadkan akses kepada sumber yang dilindungi

Aplikasi web yang dihoskan sendiri berfungsi sebagai sumber yang dilindungi dalam kes ini. Apl web hanya boleh diakses dengan permintaan yang datang daripada alamat IP 52.202.88.54. Bergantung pada sumber, adalah perlu untuk membenarkan trafik masuk pada pelbagai pelabuhan dan jenis trafik. Ini tidak diliputi dalam manual ini.

 

[Sisipkan tangkapan skrin]<<<<<<<<<<<<<<<<<<<<<<<<

 

Sila beritahu pihak ketiga yang bertanggungjawab ke atas sumber yang dilindungi bahawa trafik daripada IP statik yang ditakrifkan dalam Langkah 1 mesti dibenarkan (dalam kes ini 52.202.88.54).

 

3. Gunakan pelayan VPN untuk mengarahkan trafik ke sumber yang dilindungi

 

Secara lalai, semua trafik pengguna akan melalui pelayan VPN dan datang daripada IP statik yang telah dikonfigurasikan dalam Langkah 1 (dalam kes ini 52.202.88.54). Walau bagaimanapun, jika terowong berpecah telah didayakan, tetapan mungkin diperlukan untuk memastikan IP destinasi sumber yang dilindungi disenaraikan di antara IP yang Dibenarkan.

Tambah Teks Tajuk Anda Di Sini

Ditunjukkan di bawah ialah senarai lengkap pilihan konfigurasi yang tersedia dalam /etc/firezone/firezone.rb.



pilihan

Penerangan

nilai asal

lalai['firezone']['external_url']

URL yang digunakan untuk mengakses portal web tika Firezone ini.

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

lalai['firezone']['config_directory']

Direktori peringkat atas untuk konfigurasi Firezone.

/etc/firezone'

lalai['firezone']['install_directory']

Direktori peringkat atas untuk memasang Firezone.

/opt/firezone'

lalai['firezone']['app_directory']

Direktori peringkat atas untuk memasang aplikasi web Firezone.

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

lalai['firezone']['log_directory']

Direktori peringkat atas untuk log Firezone.

/var/log/firezone'

lalai['firezone']['var_directory']

Direktori peringkat atas untuk fail masa jalan Firezone.

/var/opt/firezone'

lalai['firezone']['user']

Nama pengguna Linux yang tidak mempunyai hak istimewa yang akan dimiliki oleh kebanyakan perkhidmatan dan fail.

zon kebakaran'

lalai['firezone']['group']

Nama kumpulan Linux kebanyakan perkhidmatan dan fail akan dimiliki.

zon kebakaran'

lalai['firezone']['admin_email']

Alamat e-mel untuk pengguna Firezone awal.

“firezone@localhost”

lalai['firezone']['max_devices_per_user']

Bilangan maksimum peranti yang boleh dimiliki oleh pengguna.

10

lalai['firezone']['allow_unprivileged_device_management']

Membenarkan pengguna bukan pentadbir membuat dan memadam peranti.

TRUE

lalai['firezone']['allow_unprivileged_device_configuration']

Membenarkan pengguna bukan pentadbir mengubah suai konfigurasi peranti. Apabila dilumpuhkan, menghalang pengguna yang tidak mempunyai hak daripada menukar semua medan peranti kecuali nama dan perihalan.

TRUE

lalai['firezone']['egress_interface']

Nama antara muka tempat trafik terowong akan keluar. Jika tiada, antara muka laluan lalai akan digunakan.

tiada

lalai['firezone']['fips_enabled']

Dayakan atau lumpuhkan mod OpenSSL FIPs.

tiada

lalai['firezone']['logging']['enabled']

Dayakan atau lumpuhkan pengelogan merentas Firezone. Tetapkan kepada false untuk melumpuhkan pengelogan sepenuhnya.

TRUE

lalai['perusahaan']['nama']

Nama yang digunakan oleh buku masakan 'perusahaan' Chef.

zon kebakaran'

lalai['firezone']['install_path']

Pasang laluan yang digunakan oleh buku masakan Chef 'enterprise'. Harus ditetapkan kepada sama seperti install_directory di atas.

nod['firezone']['install_directory']

lalai['firezone']['sysvinit_id']

Pengecam yang digunakan dalam /etc/inittab. Mestilah urutan unik 1-4 aksara.

SUP'

lalai['firezone']['authentication']['local']['enabled']

Dayakan atau lumpuhkan pengesahan e-mel/kata laluan setempat.

TRUE

lalai['firezone']['authentication']['auto_create_oidc_users']

Buat pengguna yang log masuk dari OIDC buat kali pertama secara automatik. Lumpuhkan untuk membenarkan hanya pengguna sedia ada log masuk melalui OIDC.

TRUE

lalai['firezone']['authentication']['disable_vpn_on_oidc_error']

Lumpuhkan VPN pengguna jika ralat dikesan semasa cuba memuat semula token OIDC mereka.

SALAH

lalai['firezone']['authentication']['oidc']

Konfigurasi OpenID Connect, dalam format {“provider” => [config…]} – Lihat Dokumentasi OpenIDConnect untuk contoh konfigurasi.

{}

lalai['firezone']['nginx']['enabled']

Dayakan atau lumpuhkan pelayan nginx yang digabungkan.

TRUE

lalai['firezone']['nginx']['ssl_port']

Port mendengar HTTPS.

443

lalai['firezone']['nginx']['direktori']

Direktori untuk menyimpan konfigurasi hos maya nginx berkaitan Firezone.

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

lalai['firezone']['nginx']['log_directory']

Direktori untuk menyimpan fail log nginx berkaitan Firezone.

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

lalai['firezone']['nginx']['log_rotation']['file_maxbait']

Saiz fail untuk memutar fail log Nginx.

104857600

lalai['firezone']['nginx']['log_rotation']['num_to_keep']

Bilangan fail log nginx Firezone untuk disimpan sebelum dibuang.

10

lalai['firezone']['nginx']['log_x_forwarded_for']

Sama ada hendak log Firezone nginx x-forwarded-for header.

TRUE

lalai['firezone']['nginx']['hsts_header']['enabled']

Membolehkan atau menyahdayakan HSTS.

TRUE

lalai['firezone']['nginx']['hsts_header']['include_subdomains']

Dayakan atau lumpuhkan includeSubDomains untuk pengepala HSTS.

TRUE

lalai['firezone']['nginx']['hsts_header']['max_age']

Umur maksimum untuk pengepala HSTS.

31536000

lalai['firezone']['nginx']['redirect_to_canonical']

Sama ada hendak mengubah hala URL ke FQDN berkanun yang dinyatakan di atas

SALAH

lalai['firezone']['nginx']['cache']['enabled']

Dayakan atau lumpuhkan cache nginx Firezone.

SALAH

lalai['firezone']['nginx']['cache']['direktori']

Direktori untuk cache nginx Firezone.

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

lalai['firezone']['nginx']['user']

Pengguna nginx Firezone.

nod['firezone']['user']

lalai['firezone']['nginx']['group']

Kumpulan nginx Firezone.

nod['firezone']['group']

lalai['firezone']['nginx']['dir']

Direktori konfigurasi nginx peringkat atas.

nod['firezone']['nginx']['direktori']

lalai['firezone']['nginx']['log_dir']

Direktori log nginx peringkat atas.

nod['firezone']['nginx']['log_directory']

lalai['firezone']['nginx']['pid']

Lokasi untuk fail nginx pid.

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

lalai['firezone']['nginx']['daemon_disable']

Lumpuhkan mod daemon nginx supaya kami boleh memantaunya.

TRUE

lalai['firezone']['nginx']['gzip']

Hidupkan atau matikan mampatan nginx gzip.

pada '

lalai['firezone']['nginx']['gzip_static']

Hidupkan atau matikan mampatan nginx gzip untuk fail statik.

off'

lalai['firezone']['nginx']['gzip_http_version']

Versi HTTP untuk digunakan untuk menyampaikan fail statik.

1.0 '

lalai['firezone']['nginx']['gzip_comp_level']

tahap mampatan nginx gzip.

2 '

lalai['firezone']['nginx']['gzip_proxied']

Mendayakan atau melumpuhkan gzip respons untuk permintaan proksi bergantung pada permintaan dan respons.

mana-mana'

lalai['firezone']['nginx']['gzip_vary']

Mendayakan atau melumpuhkan memasukkan pengepala respons "Vary: Accept-Encoding".

off'

lalai['firezone']['nginx']['gzip_buffers']

Menetapkan bilangan dan saiz penimbal yang digunakan untuk memampatkan respons. Jika tiada, nginx lalai digunakan.

tiada

lalai['firezone']['nginx']['gzip_types']

Jenis MIME untuk membolehkan pemampatan gzip.

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

lalai['firezone']['nginx']['gzip_min_length']

Panjang fail minimum untuk mendayakan pemampatan gzip fail.

1000

lalai['firezone']['nginx']['gzip_disable']

Pencocokan ejen pengguna untuk melumpuhkan pemampatan gzip.

MSIE [1-6]\.'

lalai['firezone']['nginx']['keepalive']

Mengaktifkan cache untuk sambungan ke pelayan huluan.

pada '

lalai['firezone']['nginx']['keepalive_timeout']

Tamat masa dalam beberapa saat untuk sambungan keepalive ke pelayan huluan.

65

lalai['firezone']['nginx']['worker_processes']

Bilangan proses pekerja nginx.

nod['cpu'] && node['cpu']['total'] ? nod['cpu']['jumlah'] : 1

lalai['firezone']['nginx']['worker_connections']

Bilangan maksimum sambungan serentak yang boleh dibuka oleh proses pekerja.

1024

lalai['firezone']['nginx']['worker_rlimit_nofile']

Menukar had bilangan maksimum fail terbuka untuk proses pekerja. Menggunakan nginx lalai jika tiada.

tiada

lalai['firezone']['nginx']['multi_accept']

Sama ada pekerja harus menerima satu sambungan pada satu masa atau berbilang.

TRUE

lalai['firezone']['nginx']['event']

Menentukan kaedah pemprosesan sambungan untuk digunakan dalam konteks acara nginx.

epoll'

lalai['firezone']['nginx']['server_tokens']

Mendayakan atau melumpuhkan pemancaran versi nginx pada halaman ralat dan dalam medan pengepala respons "Pelayan".

tiada

lalai['firezone']['nginx']['server_names_hash_bucket_size']

Menetapkan saiz baldi untuk jadual cincang nama pelayan.

64

lalai['firezone']['nginx']['sendfile']

Mendayakan atau melumpuhkan penggunaan sendfile() nginx.

pada '

lalai['firezone']['nginx']['access_log_options']

Menetapkan pilihan log akses nginx.

tiada

lalai['firezone']['nginx']['error_log_options']

Menetapkan pilihan log ralat nginx.

tiada

lalai['firezone']['nginx']['disable_access_log']

Melumpuhkan log akses nginx.

SALAH

lalai['firezone']['nginx']['types_hash_max_size']

saiz maks hash jenis nginx.

2048

lalai['firezone']['nginx']['types_hash_bucket_size']

saiz baldi hash jenis nginx.

64

lalai['firezone']['nginx']['proxy_read_timeout']

tamat masa baca proksi nginx. Tetapkan kepada nil untuk menggunakan nginx lalai.

tiada

lalai['firezone']['nginx']['client_body_buffer_size']

saiz penimbal badan klien nginx. Tetapkan kepada nil untuk menggunakan nginx lalai.

tiada

lalai['firezone']['nginx']['client_max_body_size']

saiz badan maksimum pelanggan nginx.

250m'

lalai['firezone']['nginx']['default']['modul']

Tentukan modul nginx tambahan.

[]

lalai['firezone']['nginx']['enable_rate_limiting']

Dayakan atau lumpuhkan pengehadan kadar nginx.

TRUE

lalai['firezone']['nginx']['rate_limiting_zone_name']

Nama zon mengehadkan kadar Nginx.

zon kebakaran'

lalai['firezone']['nginx']['rate_limiting_backoff']

Pengunduran mengehadkan kadar Nginx.

10m'

lalai['firezone']['nginx']['rate_limit']

Had kadar Nginx.

10r/s'

lalai['firezone']['nginx']['ipv6']

Benarkan nginx mendengar permintaan HTTP untuk IPv6 sebagai tambahan kepada IPv4.

TRUE

lalai['firezone']['postgresql']['enabled']

Dayakan atau lumpuhkan Postgresql yang digabungkan. Tetapkan kepada palsu dan isikan pilihan pangkalan data di bawah untuk menggunakan contoh Postgresql anda sendiri.

TRUE

lalai['firezone']['postgresql']['username']

Nama pengguna untuk Postgresql.

nod['firezone']['user']

lalai['firezone']['postgresql']['data_directory']

Direktori data Postgresql.

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

lalai['firezone']['postgresql']['log_directory']

Direktori log Postgresql.

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

lalai['firezone']['postgresql']['log_rotation']['file_maxbait']

Saiz maksimum fail log Postgresql sebelum ia diputar.

104857600

lalai['firezone']['postgresql']['log_rotation']['num_to_keep']

Bilangan fail log Postgresql untuk disimpan.

10

lalai['firezone']['postgresql']['checkpoint_completion_target']

Sasaran penyiapan pusat pemeriksaan Postgresql.

0.5

lalai['firezone']['postgresql']['checkpoint_segments']

Bilangan segmen pusat pemeriksaan Postgresql.

3

lalai['firezone']['postgresql']['checkpoint_timeout']

tamat masa pusat pemeriksaan Postgresql.

5 minit'

lalai['firezone']['postgresql']['checkpoint_warning']

Masa amaran pusat pemeriksaan Postgresql dalam beberapa saat.

30-an

lalai['firezone']['postgresql']['effective_cache_size']

Saiz cache berkesan Postgresql.

128MB'

lalai['firezone']['postgresql']['listen_address']

Alamat dengar Postgresql.

127.0.0.1 '

lalai['firezone']['postgresql']['max_connections']

Sambungan maks Postgresql.

350

lalai['firezone']['postgresql']['md5_auth_cidr_addresses']

CIDR Postgresql untuk membenarkan pengesahan md5.

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

lalai['firezone']['postgresql']['port']

Port mendengar Postgresql.

15432

lalai['firezone']['postgresql']['shared_buffers']

Saiz penimbal dikongsi Postgresql.

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

lalai['firezone']['postgresql']['shmmax']

Postgresql shmmax dalam bait.

17179869184

lalai['firezone']['postgresql']['shmall']

Postgresql shmall dalam bait.

4194304

lalai['firezone']['postgresql']['work_mem']

Saiz memori kerja Postgresql.

8MB'

lalai['firezone']['database']['user']

Menentukan nama pengguna yang akan digunakan Firezone untuk menyambung ke DB.

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

lalai['firezone']['pangkalan data']['kata laluan']

Jika menggunakan DB luaran, tentukan kata laluan yang akan digunakan Firezone untuk menyambung ke DB.

ubah saya'

lalai['firezone']['database']['name']

Pangkalan data yang akan digunakan oleh Firezone. Akan dibuat jika ia tidak wujud.

zon kebakaran'

lalai['firezone']['database']['host']

Hos pangkalan data yang akan disambungkan oleh Firezone.

nod['firezone']['postgresql']['listen_address']

lalai['firezone']['database']['port']

Port pangkalan data yang akan disambungkan oleh Firezone.

nod['firezone']['postgresql']['port']

lalai['firezone']['database']['pool']

Saiz kolam pangkalan data Firezone akan digunakan.

[10, Dsb.npemproses]. maks

lalai['firezone']['database']['ssl']

Sama ada untuk menyambung ke pangkalan data melalui SSL.

SALAH

lalai['firezone']['database']['ssl_opts']

Hash pilihan untuk dihantar ke pilihan :ssl_opts apabila menyambung melalui SSL. Lihat Dokumentasi Ecto.Adapters.Postgres.

{}

lalai['firezone']['pangkalan data']['parameter']

Hash parameter untuk dihantar ke pilihan :parameters apabila menyambung ke pangkalan data. Lihat Dokumentasi Ecto.Adapters.Postgres.

{}

lalai['firezone']['database']['extensions']

Sambungan pangkalan data untuk membolehkan.

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

lalai['firezone']['phoenix']['enabled']

Dayakan atau lumpuhkan aplikasi web Firezone.

TRUE

lalai['firezone']['phoenix']['listen_address']

Alamat mendengar aplikasi web Firezone. Ini akan menjadi alamat dengar huluan yang proksi nginx.

127.0.0.1 '

lalai['firezone']['phoenix']['port']

Port mendengar aplikasi web Firezone. Ini akan menjadi pelabuhan hulu yang proksi nginx.

13000

lalai['firezone']['phoenix']['log_directory']

Direktori log aplikasi web Firezone.

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

lalai['firezone']['phoenix']['log_rotation']['file_maxbait']

Saiz fail log aplikasi web Firezone.

104857600

lalai['firezone']['phoenix']['log_rotation']['num_to_keep']

Bilangan fail log aplikasi web Firezone untuk disimpan.

10

lalai['firezone']['phoenix']['crash_detection']['enabled']

Dayakan atau lumpuhkan menurunkan aplikasi web Firezone apabila ranap sistem dikesan.

TRUE

lalai['firezone']['phoenix']['external_trusted_proxies']

Senarai proksi songsang yang dipercayai diformatkan sebagai Tatasusunan IP dan/atau CIDR.

[]

lalai['firezone']['phoenix']['private_clients']

Senarai klien HTTP rangkaian peribadi, memformatkan Tatasusunan IP dan/atau CIDR.

[]

lalai['firezone']['wireguard']['enabled']

Dayakan atau lumpuhkan pengurusan WireGuard yang digabungkan.

TRUE

lalai['firezone']['wireguard']['log_directory']

Direktori log untuk pengurusan WireGuard yang digabungkan.

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

lalai['firezone']['wireguard']['log_rotation']['file_maxbait']

Saiz maksimum fail log WireGuard.

104857600

lalai['firezone']['wireguard']['log_rotation']['num_to_keep']

Bilangan fail log WireGuard untuk disimpan.

10

lalai['firezone']['wireguard']['interface_name']

Nama antara muka WireGuard. Menukar parameter ini boleh menyebabkan kehilangan sementara dalam sambungan VPN.

wg-firezone'

lalai['firezone']['wireguard']['port']

WireGuard mendengar port.

51820

lalai['firezone']['wireguard']['mtu']

MTU antara muka WireGuard untuk pelayan ini dan untuk konfigurasi peranti.

1280

lalai['firezone']['wireguard']['endpoint']

WireGuard Endpoint untuk digunakan untuk menjana konfigurasi peranti. Jika tiada, lalai kepada alamat IP awam pelayan.

tiada

lalai['firezone']['wireguard']['dns']

WireGuard DNS untuk digunakan untuk konfigurasi peranti yang dijana.

1.1.1.1, 1.0.0.1′

lalai['firezone']['wireguard']['allowed_ips']

WireGuard AllowedIPs untuk digunakan untuk konfigurasi peranti yang dijana.

0.0.0.0/0, ::/0′

lalai['firezone']['wireguard']['persistent_keepalive']

Tetapan PersistentKeepalive lalai untuk konfigurasi peranti yang dijana. Nilai 0 melumpuhkan.

0

lalai['firezone']['wireguard']['ipv4']['enabled']

Dayakan atau lumpuhkan IPv4 untuk rangkaian WireGuard.

TRUE

lalai['firezone']['wireguard']['ipv4']['masquerade']

Dayakan atau lumpuhkan penyamaran untuk paket yang meninggalkan terowong IPv4.

TRUE

lalai['firezone']['wireguard']['ipv4']['network']

Kumpulan alamat IPv4 rangkaian WireGuard.

10.3.2.0/24 ′

lalai['firezone']['wireguard']['ipv4']['alamat']

Alamat IPv4 antara muka WireGuard. Mesti berada dalam kumpulan alamat WireGuard.

10.3.2.1 '

lalai['firezone']['wireguard']['ipv6']['enabled']

Dayakan atau lumpuhkan IPv6 untuk rangkaian WireGuard.

TRUE

lalai['firezone']['wireguard']['ipv6']['masquerade']

Dayakan atau lumpuhkan penyamaran untuk paket yang meninggalkan terowong IPv6.

TRUE

lalai['firezone']['wireguard']['ipv6']['network']

Kumpulan alamat IPv6 rangkaian WireGuard.

fd00::3:2:0/120′

lalai['firezone']['wireguard']['ipv6']['alamat']

Alamat IPv6 antara muka WireGuard. Mesti berada dalam kumpulan alamat IPv6.

fd00::3:2:1′

lalai['firezone']['runit']['svlogd_bin']

Lokasi bin Rinit svlogd.

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

lalai['firezone']['ssl']['direktori']

Direktori SSL untuk menyimpan sijil yang dijana.

/var/opt/firezone/ssl'

lalai['firezone']['ssl']['email_address']

Alamat e-mel untuk digunakan untuk sijil yang ditandatangani sendiri dan notis pembaharuan protokol ACME.

you@example.com'

lalai['firezone']['ssl']['acme']['enabled']

Dayakan ACME untuk peruntukan sijil SSL automatik. Lumpuhkan ini untuk menghalang Nginx daripada mendengar pada port 80. Lihat disini untuk lebih banyak arahan.

SALAH

lalai['firezone']['ssl']['acme']['server']

Pelayan ACME untuk digunakan untuk pengeluaran/pembaharuan sijil. Boleh jadi mana-mana pelayan acme.sh yang sah

penyahgaraman

lalai['firezone']['ssl']['acme']['keylength']

Tentukan jenis dan panjang kunci untuk sijil SSL. Lihat disini

Ec-256

lalai['firezone']['ssl']['sijil']

Laluan ke fail sijil untuk FQDN anda. Mengatasi tetapan ACME di atas jika dinyatakan. Jika kedua-dua ACME dan ini adalah tiada sijil yang ditandatangani sendiri akan dihasilkan.

tiada

lalai['firezone']['ssl']['certificate_key']

Laluan ke fail sijil.

tiada

lalai['firezone']['ssl']['ssl_dhparam']

nginx ssl dh_param.

tiada

lalai['firezone']['ssl']['country_name']

Nama negara untuk sijil yang ditandatangani sendiri.

AS'

lalai['firezone']['ssl']['state_name']

Nyatakan nama untuk sijil yang ditandatangani sendiri.

CA '

lalai['firezone']['ssl']['locality_name']

Nama lokaliti untuk sijil yang ditandatangani sendiri.

San Francisco'

lalai['firezone']['ssl']['company_name']

Sijil ditandatangani sendiri nama syarikat.

Syarikat saya'

lalai['firezone']['ssl']['organizational_unit_name']

Nama unit organisasi untuk sijil yang ditandatangani sendiri.

operasi'

lalai['firezone']['ssl']['ciphers']

Sifir SSL untuk digunakan 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’

lalai['firezone']['ssl']['fips_ciphers']

Sifir SSL untuk mod FIP.

FIPS@STRENGTH:!aNULL:!eNULL'

lalai['firezone']['ssl']['protocols']

protokol TLS untuk digunakan.

TLSv1 TLSv1.1 TLSv1.2′

lalai['firezone']['ssl']['session_cache']

Cache sesi SSL.

dikongsi:SSL:4m'

lalai['firezone']['ssl']['session_timeout']

tamat masa sesi SSL.

5m'

lalai['firezone']['robots_allow']

robot nginx membenarkan.

/'

lalai['firezone']['robots_disallow']

robot nginx tidak membenarkan.

tiada

lalai['firezone']['outbound_email']['from']

E-mel keluar dari alamat.

tiada

lalai['firezone']['outbound_email']['provider']

Pembekal perkhidmatan e-mel keluar.

tiada

lalai['firezone']['outbound_email']['configs']

Konfigurasi pembekal e-mel keluar.

lihat omnibus/buku masakan/firezone/attributes/default.rb

lalai['firezone']['telemetri']['didayakan']

Dayakan atau lumpuhkan telemetri produk tanpa nama.

TRUE

lalai['firezone']['connectivity_checks']['enabled']

Dayakan atau lumpuhkan perkhidmatan semakan sambungan Firezone.

TRUE

lalai['firezone']['connectivity_checks']['interval']

Selang antara semakan ketersambungan dalam beberapa saat.

3_600



________________________________________________________________

 

Fail Dan Lokasi Direktori

 

Di sini anda akan menemui senarai fail dan direktori yang berkaitan dengan pemasangan Firezone biasa. Ini boleh berubah bergantung pada perubahan pada fail konfigurasi anda.



jalan

Penerangan

/var/opt/firezone

Direktori peringkat atas yang mengandungi data dan konfigurasi yang dijana untuk perkhidmatan gabungan Firezone.

/opt/firezone

Direktori peringkat atas yang mengandungi perpustakaan terbina, binari dan fail masa jalan yang diperlukan oleh Firezone.

/usr/bin/firezone-ctl

utiliti firezone-ctl untuk menguruskan pemasangan Firezone anda.

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

fail unit systemd untuk memulakan proses penyelia runsvdir Firezone.

/etc/firezone

Fail konfigurasi Firezone.



__________________________________________________________

 

Templat Firewall

 

Halaman ini kosong dalam dokumen

 

_____________________________________________________________

 

Templat Tembok Api Nftables

 

Templat tembok api nftables berikut boleh digunakan untuk menjamin pelayan yang menjalankan Firezone. Templat membuat beberapa andaian; anda mungkin perlu melaraskan peraturan agar sesuai dengan kes penggunaan anda:

  • Antara muka WireGuard dinamakan wg-firezone. Jika ini tidak betul, tukar pembolehubah DEV_WIREGUARD supaya sepadan dengan pilihan konfigurasi lalai['firezone']['wireguard']['interface_name'].
  • Port WireGuard sedang mendengar ialah 51820. Jika anda tidak menggunakan port lalai tukar pembolehubah WIREGUARD_PORT.
  • Hanya trafik masuk berikut akan dibenarkan ke pelayan:
    • SSH (port TCP 22)
    • HTTP (port TCP 80)
    • HTTPS (port TCP 443)
    • WireGuard (port UDP WIREGUARD_PORT)
    • UDP traceroute (port UDP 33434-33524, kadar terhad kepada 500/saat)
    • ICMP dan ICMPv6 (kadar tindak balas ping/ping terhad kepada 2000/saat)
  • Hanya trafik keluar berikut akan dibenarkan dari pelayan:
    • DNS (port UDP dan TCP 53)
    • HTTP (port TCP 80)
    • NTP (port UDP 123)
    • HTTPS (port TCP 443)
    • Penyerahan SMTP (port TCP 587)
    • UDP traceroute (port UDP 33434-33524, kadar terhad kepada 500/saat)
  • Trafik yang tidak sepadan akan direkodkan. Peraturan yang digunakan untuk pembalakan diasingkan daripada peraturan untuk menurunkan trafik dan kadarnya terhad. Mengalih keluar peraturan pembalakan yang berkaitan tidak akan menjejaskan trafik.

Peraturan Terurus Firezone

Firezone mengkonfigurasi peraturan nftables sendiri untuk membenarkan/menolak trafik ke destinasi yang dikonfigurasikan dalam antara muka web dan untuk mengendalikan NAT keluar untuk trafik pelanggan.

Menggunakan templat tembok api di bawah pada pelayan yang sudah berjalan (bukan pada masa but) akan menyebabkan peraturan Firezone dikosongkan. Ini mungkin mempunyai implikasi keselamatan.

Untuk mengatasi masalah ini mulakan semula perkhidmatan phoenix:

firezone-ctl mulakan semula phoenix

Templat Dinding Api Asas

#!/usr/sbin/nft -f

 

## Kosongkan/siram semua peraturan sedia ada

set peraturan siram

 

################################## PEMBOLEH UBAH ################## ##############

## Nama antara muka Internet/WAN

takrifkan DEV_WAN = eth0

 

## Nama antara muka WireGuard

tentukan DEV_WIREGUARD = wg-firezone

 

## WireGuard mendengar port

takrifkan WIREGUARD_PORT = 51820

################################ PEMBOLEH UBAH TAMAT ################## ############

 

# Jadual penapisan keluarga inet utama

penapis inet jadual {

 

 # Peraturan untuk trafik yang dimajukan

 # Rantaian ini diproses sebelum rantaian hadapan Firezone

 rantai ke hadapan {

   taip penapis keutamaan cangkuk ke hadapan - 5; dasar terima

 }

 

 # Peraturan untuk trafik input

 input rantai {

   penapis keutamaan input cangkuk jenis penapis; kejatuhan dasar

 

   ## Benarkan trafik masuk ke antara muka gelung balik

   kalau betul \

     terima \

     komen "Izinkan semua trafik masuk dari antara muka gelung balik"

 

   ## Permit diwujudkan dan sambungan yang berkaitan

   ct negeri ditubuhkan, berkaitan \

     terima \

     komen "Permit diwujudkan/sambungan berkaitan"

 

   ## Benarkan trafik WireGuard masuk

   iif $DEV_WAN udp dport $WIREGUARD_PORT \

     kaunter \

     terima \

     komen "Izinkan lalu lintas WireGuard masuk"

 

   ## Log dan lepaskan paket TCP bukan SYN baharu

   bendera tcp != syn ct state new \

     kadar had 100/minit pecah 150 paket \

     awalan log “IN – Baharu !SYN: “ \

     komen “Pengelogan had kadar untuk sambungan baharu yang tidak mempunyai set bendera SYN TCP”

   bendera tcp != syn ct state new \

     kaunter \

     jatuhkan \

     komen "Lepaskan sambungan baharu yang tidak mempunyai set bendera SYN TCP"

 

   ## Log dan lepaskan paket TCP dengan set bendera sirip/syn yang tidak sah

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

     kadar had 100/minit pecah 150 paket \

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

     komen “Pengelogan had kadar untuk paket TCP dengan set bendera sirip/syn tidak sah”

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

     kaunter \

     jatuhkan \

     komen "Lepaskan paket TCP dengan set bendera sirip/syn tidak sah"

 

   ## Log dan lepaskan paket TCP dengan set bendera syn/pertama yang tidak sah

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

     kadar had 100/minit pecah 150 paket \

     awalan log “IN – TCP SYN|RST: “ \

     komen “Pengelogan had kadar untuk paket TCP dengan set bendera syn/pertama yang tidak sah”

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

     kaunter \

     jatuhkan \

     komen "Lepaskan paket TCP dengan set syn/bendera pertama yang tidak sah"

 

   ## Log dan lepaskan bendera TCP yang tidak sah

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

     kadar had 100/minit pecah 150 paket \

     awalan log “IN – FIN:” \

     komen “Pengelogan had kadar untuk bendera TCP tidak sah (fin|syn|rst|psh|ack|urg) < (fin)”

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

     kaunter \

     jatuhkan \

     komen “Lepaskan paket TCP dengan bendera (fin|syn|rst|psh|ack|urg) < (fin)”

 

   ## Log dan lepaskan bendera TCP yang tidak sah

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

     kadar had 100/minit pecah 150 paket \

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

     komen “Pengelogan had kadar untuk bendera TCP tidak sah (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)”

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

     kaunter \

     jatuhkan \

     komen “Lepaskan paket TCP dengan bendera (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)”

 

   ## Jatuhkan trafik dengan keadaan sambungan tidak sah

   keadaan ct tidak sah \

     kadar had 100/minit pecah 150 paket \

     bendera log semua awalan “DALAM – Tidak sah: “ \

     komen “Pengelogan had kadar untuk trafik dengan keadaan sambungan tidak sah”

   keadaan ct tidak sah \

     kaunter \

     jatuhkan \

     komen "Lepaskan trafik dengan keadaan sambungan tidak sah"

 

   ## Benarkan respons ping/ping IPv4 tetapi had kadar kepada 2000 PPS

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

     kadar had 2000/saat \

     kaunter \

     terima \

     komen "Izinkan gema IPv4 masuk (ping) terhad kepada 2000 PPS"

 

   ## Benarkan semua ICMP IPv4 masuk lain

   ip protokol icmp \

     kaunter \

     terima \

     komen "Izinkan semua IPv4 ICMP lain"

 

   ## Benarkan respons ping/ping IPv6 tetapi had kadar kepada 2000 PPS

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

     kadar had 2000/saat \

     kaunter \

     terima \

     komen "Izinkan gema IPv6 masuk (ping) terhad kepada 2000 PPS"

 

   ## Benarkan semua ICMP IPv6 masuk lain

   meta l4proto { icmpv6 } \

     kaunter \

     terima \

     komen "Izinkan semua IPv6 ICMP lain"

 

   ## Benarkan port UDP traceroute masuk tetapi hadkan kepada 500 PPS

   udp dport 33434-33524 \

     kadar had 500/saat \

     kaunter \

     terima \

     komen "Permit UDP traceroute masuk terhad kepada 500 PPS"

 

   ## Benarkan SSH masuk

   tcp dport ssh ct negeri baru \

     kaunter \

     terima \

     komen "Izinkan sambungan SSH masuk"

 

   ## Benarkan HTTP dan HTTPS masuk

   tcp dport { http, https } ct keadaan baharu \

     kaunter \

     terima \

     komen "Izinkan sambungan HTTP dan HTTPS masuk"

 

   ## Log sebarang trafik yang tidak sepadan tetapi kadar pengelogan had kepada maksimum 60 mesej/minit

   ## Dasar lalai akan digunakan pada trafik yang tidak sepadan

   kadar had 60/minit pecah 100 paket \

     awalan log “DALAM – Jatuhkan: “ \

     komen “Log sebarang trafik yang tidak sepadan”

 

   ## Kira trafik yang tiada tandingan

   kaunter \

     komen “Kira mana-mana trafik yang tiada tandingan”

 }

 

 # Peraturan untuk trafik output

 keluaran rantai {

   jenis penapis cangkuk keluaran penapis keutamaan; kejatuhan dasar

 

   ## Benarkan trafik keluar ke antara muka gelung balik

   oif lo

     terima \

     komen "Izinkan semua trafik keluar ke antara muka gelung balik"

 

   ## Permit diwujudkan dan sambungan yang berkaitan

   ct negeri ditubuhkan, berkaitan \

     kaunter \

     terima \

     komen "Permit diwujudkan/sambungan berkaitan"

 

   ## Benarkan trafik WireGuard keluar sebelum memutuskan sambungan dengan keadaan buruk

   oif $DEV_WAN sukan udp $WIREGUARD_PORT \

     kaunter \

     terima \

     komen “Izinkan trafik keluar WireGuard”

 

   ## Jatuhkan trafik dengan keadaan sambungan tidak sah

   keadaan ct tidak sah \

     kadar had 100/minit pecah 150 paket \

     bendera log semua awalan “KELUAR – Tidak sah: “ \

     komen “Pengelogan had kadar untuk trafik dengan keadaan sambungan tidak sah”

   keadaan ct tidak sah \

     kaunter \

     jatuhkan \

     komen "Lepaskan trafik dengan keadaan sambungan tidak sah"

 

   ## Benarkan semua ICMP IPv4 keluar lain

   ip protokol icmp \

     kaunter \

     terima \

     komen "Izinkan semua jenis IPv4 ICMP"

 

   ## Benarkan semua ICMP IPv6 keluar lain

   meta l4proto { icmpv6 } \

     kaunter \

     terima \

     komen "Izinkan semua jenis IPv6 ICMP"

 

   ## Benarkan port UDP traceroute keluar tetapi hadkan kepada 500 PPS

   udp dport 33434-33524 \

     kadar had 500/saat \

     kaunter \

     terima \

     komen "Permit laluan penjejak UDP keluar terhad kepada 500 PPS"

 

   ## Benarkan sambungan HTTP dan HTTPS keluar

   tcp dport { http, https } ct keadaan baharu \

     kaunter \

     terima \

     komen "Izinkan sambungan HTTP dan HTTPS keluar"

 

   ## Benarkan penyerahan SMTP keluar

   penyerahan tcp dport ct keadaan baharu \

     kaunter \

     terima \

     komen "Izinkan penyerahan SMTP keluar"

 

   ## Benarkan permintaan DNS keluar

   udp dport 53 \

     kaunter \

     terima \

     komen "Izinkan permintaan DNS UDP keluar"

   tcp dport 53 \

     kaunter \

     terima \

     komen "Izinkan permintaan DNS TCP keluar"

 

   ## Benarkan permintaan NTP keluar

   udp dport 123 \

     kaunter \

     terima \

     komen "Izinkan permintaan NTP keluar"

 

   ## Log sebarang trafik yang tidak sepadan tetapi kadar pengelogan had kepada maksimum 60 mesej/minit

   ## Dasar lalai akan digunakan pada trafik yang tidak sepadan

   kadar had 60/minit pecah 100 paket \

     awalan log “KELUAR – Jatuhkan:” \

     komen “Log sebarang trafik yang tidak sepadan”

 

   ## Kira trafik yang tiada tandingan

   kaunter \

     komen “Kira mana-mana trafik yang tiada tandingan”

 }

 

}

 

# Jadual penapisan NAT utama

jadual inet nat {

 

 # Peraturan untuk pra penghalaan trafik NAT

 pra laluan rantai {

   taip nat hook prerouting priority dstnat; dasar terima

 }

 

 # Peraturan untuk laluan pasca lalu lintas NAT

 # Jadual ini diproses sebelum rantaian pasca penghalaan Firezone

 rantai postrouting {

   taip nat hook postrouting priority srcnat – 5; dasar terima

 }

 

}

Penggunaan

Firewall harus disimpan di lokasi yang berkaitan untuk pengedaran Linux yang sedang berjalan. Untuk Debian/Ubuntu ini ialah /etc/nftables.conf dan untuk RHEL ini ialah /etc/sysconfig/nftables.conf.

nftables.service perlu dikonfigurasikan untuk bermula pada but (jika belum) ditetapkan:

systemctl membolehkan nftables.service

Jika membuat sebarang perubahan pada templat firewall, sintaks boleh disahkan dengan menjalankan arahan semak:

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

Pastikan anda mengesahkan tembok api berfungsi seperti yang diharapkan kerana ciri nftables tertentu mungkin tidak tersedia bergantung pada keluaran yang dijalankan pada pelayan.



_______________________________________________________________



Telemetri

 

Dokumen ini membentangkan gambaran keseluruhan telemetri Firezone yang dikumpulkan daripada contoh yang dihoskan sendiri dan cara untuk melumpuhkannya.

Mengapa Firezone mengumpul telemetri

Zon Kebakaran kemudiannya dipasang pada telemetri untuk mengutamakan pelan hala tuju kami dan mengoptimumkan sumber kejuruteraan yang kami ada untuk menjadikan Firezone lebih baik untuk semua orang.

Telemetri yang kami kumpulkan bertujuan untuk menjawab soalan berikut:

  • Berapa ramai orang memasang, menggunakan dan berhenti menggunakan Firezone?
  • Apakah ciri yang paling berharga, dan yang manakah tidak nampak kegunaannya?
  • Apakah fungsi yang paling memerlukan peningkatan?
  • Apabila sesuatu rosak, mengapa ia pecah, dan bagaimana kita boleh menghalangnya daripada berlaku pada masa hadapan?

Bagaimana kami mengumpul telemetri

Terdapat tiga tempat utama di mana telemetri dikumpulkan di Firezone:

  1. Pakej telemetri. Termasuk acara seperti memasang, menyahpasang dan meningkatkan.
  2. Telemetri CLI daripada arahan firezone-ctl.
  3. Telemetri produk yang dikaitkan dengan portal Web.

Dalam setiap tiga konteks ini, kami menangkap jumlah minimum data yang diperlukan untuk menjawab soalan dalam bahagian di atas.

E-mel pentadbir dikumpulkan hanya jika anda secara eksplisit ikut serta dalam kemas kini produk. Jika tidak, maklumat yang boleh dikenal pasti secara peribadi adalah pernah dikumpulkan.

Firezone menyimpan telemetri dalam contoh PostHog yang dihoskan sendiri yang berjalan dalam kelompok Kubernetes peribadi, hanya boleh diakses oleh pasukan Firezone. Berikut ialah contoh acara telemetri yang dihantar daripada tika Firezone anda ke pelayan telemetri kami:

{

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

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

   “acara”: “fz_http_started”,

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

   “harta benda”{

       “$geoip_city_name”: “Ashburn”,

       “$geoip_continent_code”: “NA”,

       “$geoip_continent_name”: "Amerika Utara",

       “$geoip_country_code”: “AS”,

       “$geoip_country_name”: "Amerika Syarikat",

       “$geoip_latitude”: 39.0469,

       “$geoip_longitude”: -77.4903,

       “$geoip_postal_code”: "20149",

       “$geoip_subdivision_1_code”: “VA”,

       “$geoip_subdivision_1_name”: “Virginia”,

       “$geoip_time_zone”: “Amerika/New_York”,

       “$ip”: "52.200.241.107",

       “$plugins_deferred”: [],

       “$plugins_failed”: [],

       “$plugins_succeeded”: [

           “GeoIP (3)”

       ],

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

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

       “kernel_version”: “linux 5.13.0”,

       "versi": "0.4.6"

   },

   “rantai_unsur”: ""

}

Bagaimana untuk melumpuhkan telemetri

NOTA

Pasukan pembangunan Firezone kemudiannya dipasang pada analisis produk untuk menjadikan Firezone lebih baik untuk semua orang. Membiarkan telemetri didayakan adalah satu-satunya sumbangan paling berharga yang boleh anda berikan kepada pembangunan Firezone. Walau bagaimanapun, kami memahami sesetengah pengguna mempunyai keperluan privasi atau keselamatan yang lebih tinggi dan lebih suka untuk melumpuhkan telemetri sama sekali. Jika itu anda, teruskan membaca.

Telemetri didayakan secara lalai. Untuk melumpuhkan sepenuhnya telemetri produk, tetapkan pilihan konfigurasi berikut kepada palsu dalam /etc/firezone/firezone.rb dan jalankan sudo firezone-ctl reconfigure untuk mengambil perubahan.

lalai['firezone']['telemetri']['didayakan'] = palsu

Itu akan melumpuhkan sepenuhnya semua telemetri produk.