Hailbytes VPN Dengan Dokumentasi Firewall Firezone

Daftar Isi

Memulai

Petunjuk langkah demi langkah untuk menerapkan Hailbytes VPN dengan Firezone GUI disediakan di sini. 

Administer: Menyiapkan instance server berhubungan langsung dengan bagian ini.

Panduan Pengguna: Dokumen bermanfaat yang dapat mengajari Anda cara menggunakan Firezone dan memecahkan masalah umum. Setelah server berhasil di-deploy, lihat bagian ini.

Panduan untuk Konfigurasi Umum

Split Tunneling: Gunakan VPN untuk hanya mengirimkan lalu lintas ke rentang IP tertentu.

Daftar putih: Tetapkan alamat IP statis server VPN untuk menggunakan daftar putih.

Terowongan Terbalik: Buat terowongan di antara beberapa peer menggunakan terowongan terbalik.

Dapatkan Dukungan

Kami dengan senang hati membantu Anda jika Anda memerlukan bantuan untuk menginstal, menyesuaikan, atau menggunakan Hailbytes VPN.

Otentikasi

Sebelum pengguna dapat membuat atau mengunduh file konfigurasi perangkat, Firezone dapat dikonfigurasi untuk meminta autentikasi. Pengguna mungkin juga perlu mengautentikasi ulang secara berkala agar koneksi VPN mereka tetap aktif.

Meskipun metode login default Firezone adalah email dan kata sandi lokal, metode ini juga dapat diintegrasikan dengan penyedia identitas OpenID Connect (OIDC) standar apa pun. Pengguna sekarang dapat masuk ke Firezone menggunakan kredensial Okta, Google, Azure AD, atau penyedia identitas pribadi mereka.

 

Mengintegrasikan Penyedia OIDC Generik

Parameter konfigurasi yang diperlukan oleh Firezone untuk mengizinkan SSO menggunakan penyedia OIDC ditunjukkan pada contoh di bawah ini. Di /etc/firezone/firezone.rb, Anda dapat menemukan file konfigurasi. Jalankan konfigurasi ulang firezone-ctl dan restart firezone-ctl untuk memperbarui aplikasi dan menerapkan perubahan.

 

# Ini adalah contoh penggunaan Google dan Okta sebagai penyedia identitas SSO.

# Beberapa konfigurasi OIDC dapat ditambahkan ke instance Firezone yang sama.

 

# Firezone dapat menonaktifkan VPN pengguna jika ada kesalahan yang terdeteksi saat mencoba

# untuk menyegarkan access_token mereka. Ini diverifikasi berfungsi untuk Google, Okta, dan

# Azure SSO dan digunakan untuk memutuskan sambungan VPN pengguna secara otomatis jika dihapus

# dari penyedia OIDC. Biarkan ini dinonaktifkan jika penyedia OIDC Anda

# memiliki masalah menyegarkan token akses karena dapat mengganggu a

# sesi VPN pengguna.

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

 

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

  google: {

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

    client_id: “ ”,

    rahasia_klien: “ ”,

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

    response_type: "kode",

    ruang lingkup: "profil email openid",

    label: “Google”

  },

  oke: {

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

    client_id: “ ”,

    rahasia_klien: “ ”,

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

    response_type: "kode",

    ruang lingkup: "profil email openid offline_access",

    label: “Okta”

  }

}



Pengaturan konfigurasi berikut diperlukan untuk integrasi:

  1. discovery_document_uri: Itu URI konfigurasi penyedia OpenID Connect yang mengembalikan dokumen JSON yang digunakan untuk membuat permintaan berikutnya ke penyedia OIDC ini.
  2. client_id: ID klien aplikasi.
  3. client_secret: Rahasia klien dari aplikasi.
  4. redirect_uri: Menginstruksikan penyedia OIDC ke mana mengarahkan ulang setelah otentikasi. Ini harus menjadi Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (misalnya https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Setel ke kode.
  6. cakupan: cakupan OIDC untuk diperoleh dari penyedia OIDC Anda. Ini harus disetel ke profil email openid atau profil email openid offline_access tergantung pada penyedia.
  7. label: Teks label tombol yang muncul di layar login Firezone Anda.

URL cantik

Untuk setiap penyedia OIDC, URL cantik yang sesuai dibuat untuk mengarahkan ulang ke URL masuk penyedia yang dikonfigurasi. Untuk contoh config OIDC di atas, URL-nya adalah:

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

Petunjuk Untuk Penyiapan Firezone Dengan Penyedia Identitas Populer

Penyedia kami memiliki dokumentasi untuk:

  • Google
  • Okta
  • Azure Active Directory
  • Masuk sekali
  • Otentikasi Lokal

 

Jika penyedia identitas Anda memiliki konektor OIDC generik dan tidak tercantum di atas, buka dokumentasinya untuk informasi tentang cara mengambil pengaturan konfigurasi yang diperlukan.

Pertahankan Otentikasi Ulang Reguler

Pengaturan di bawah pengaturan/keamanan dapat diubah untuk memerlukan otentikasi ulang berkala. Ini dapat digunakan untuk menegakkan persyaratan agar pengguna masuk ke Firezone secara teratur untuk melanjutkan sesi VPN mereka.

Durasi sesi dapat dikonfigurasi antara satu jam hingga sembilan puluh hari. Dengan menyetelnya ke Never, Anda dapat mengaktifkan sesi VPN kapan saja. Ini standarnya.

Otentikasi ulang

Pengguna harus mengakhiri sesi VPN mereka dan masuk ke portal Firezone untuk mengautentikasi ulang sesi VPN yang kedaluwarsa (URL ditentukan selama penerapan).

Anda dapat mengautentikasi ulang sesi Anda dengan mengikuti instruksi klien yang tepat yang ditemukan di sini.

 

Status Koneksi VPN

Kolom tabel Koneksi VPN halaman Pengguna menampilkan status koneksi pengguna. Ini adalah status koneksi:

DIAKTIFKAN – Koneksi diaktifkan.

DINONAKTIFKAN – Koneksi dinonaktifkan oleh administrator atau kegagalan penyegaran OIDC.

KADALUARSA – Koneksi dinonaktifkan karena autentikasi kedaluwarsa atau pengguna belum masuk untuk pertama kali.

Google

Melalui konektor OIDC umum, Firezone mengaktifkan Single Sign-On (SSO) dengan Google Workspace dan Cloud Identity. Panduan ini akan menunjukkan cara mendapatkan parameter konfigurasi yang tercantum di bawah ini, yang diperlukan untuk integrasi:

  1. discovery_document_uri: Itu URI konfigurasi penyedia OpenID Connect yang mengembalikan dokumen JSON yang digunakan untuk membuat permintaan berikutnya ke penyedia OIDC ini.
  2. client_id: ID klien aplikasi.
  3. client_secret: Rahasia klien dari aplikasi.
  4. redirect_uri: Menginstruksikan penyedia OIDC ke mana mengarahkan ulang setelah otentikasi. Ini harus menjadi Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (misalnya https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Setel ke kode.
  6. cakupan: cakupan OIDC untuk diperoleh dari penyedia OIDC Anda. Ini harus disetel ke profil email openid untuk memberikan Firezone email pengguna dalam klaim yang dikembalikan.
  7. label: Teks label tombol yang muncul di layar login Firezone Anda.

Dapatkan Pengaturan Konfigurasi

1. Layar Konfigurasi OAuth​,war

Jika ini adalah pertama kalinya Anda membuat ID klien OAuth baru, Anda akan diminta untuk mengonfigurasi layar izin.

*Pilih Internal untuk jenis pengguna. Hal ini memastikan hanya akun milik pengguna di Google Workspace Organization Anda yang dapat membuat konfigurasi perangkat. JANGAN pilih Eksternal kecuali Anda ingin mengizinkan siapa pun dengan Akun Google yang valid untuk membuat konfigurasi perangkat.

 

Di layar informasi Aplikasi:

  1. Nama aplikasi: Firezone
  2. Logo aplikasi: Logo zona api (Simpan tautan sebagai).
  3. Laman beranda aplikasi: URL instans Firezone Anda.
  4. Domain yang diotorisasi: domain level teratas dari instans Firezone Anda.

 

 

2. Buat ID Klien OAuth​,war

Bagian ini didasarkan pada dokumentasi Google sendiri tentang menyiapkan OAuth 2.0.

Kunjungi Google Cloud Console halaman Kredensial halaman, klik + Buat Kredensial dan pilih ID klien OAuth.

Di layar pembuatan ID klien OAuth:

  1. Setel Jenis Aplikasi ke aplikasi Web
  2. Tambahkan Firezone EXTERNAL_URL + /auth/oidc/google/callback/ (mis. https://instance-id.yourfirezone.com/auth/oidc/google/callback/) sebagai entri ke URI pengalihan Resmi.

 

Setelah membuat ID klien OAuth, Anda akan diberikan ID Klien dan Rahasia Klien. Ini akan digunakan bersama dengan redirect URI di langkah selanjutnya.

Integrasi Zona Api

Edit /etc/firezone/firezone.rb untuk menyertakan opsi di bawah ini:

 

# Menggunakan Google sebagai penyedia identitas SSO

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

  google: {

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

    client_id: “ ”,

    rahasia_klien: “ ”,

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

    response_type: "kode",

    ruang lingkup: "profil email openid",

    label: “Google”

  }

}

 

Jalankan konfigurasi ulang firezone-ctl dan restart firezone-ctl untuk memperbarui aplikasi. Anda sekarang akan melihat tombol Masuk dengan Google di URL root Firezone.

Okta

Firezone menggunakan konektor OIDC generik untuk memfasilitasi Single Sign-On (SSO) dengan Okta. Tutorial ini akan menunjukkan cara mendapatkan parameter konfigurasi yang tercantum di bawah ini, yang diperlukan untuk integrasi:

  1. discovery_document_uri: Itu URI konfigurasi penyedia OpenID Connect yang mengembalikan dokumen JSON yang digunakan untuk membuat permintaan berikutnya ke penyedia OIDC ini.
  2. client_id: ID klien aplikasi.
  3. client_secret: Rahasia klien dari aplikasi.
  4. redirect_uri: Menginstruksikan penyedia OIDC ke mana mengarahkan ulang setelah otentikasi. Ini harus menjadi Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (misalnya https://instance-id.yourfirezone.com/auth/oidc/okta/callback/).
  5. response_type: Setel ke kode.
  6. cakupan: cakupan OIDC untuk diperoleh dari penyedia OIDC Anda. Ini harus disetel ke openid profil email offline_access untuk memberi Firezone email pengguna dalam klaim yang dikembalikan.
  7. label: Teks label tombol yang muncul di layar login Firezone Anda.

 

Integrasikan Aplikasi Okta

Bagian panduan ini didasarkan pada dokumentasi Okta.

Di Konsol Admin, buka Aplikasi > Aplikasi dan klik Buat Integrasi Aplikasi. Setel metode Masuk ke OICD – OpenID Connect dan Jenis aplikasi ke aplikasi Web.

Konfigurasikan pengaturan ini:

  1. Nama Aplikasi: Firezone
  2. Logo aplikasi: Logo zona api (Simpan tautan sebagai).
  3. Jenis Hibah: Centang kotak Segarkan Token. Ini memastikan sinkronisasi Firezone dengan penyedia identitas dan akses VPN diakhiri setelah pengguna dihapus.
  4. URI pengalihan masuk: Tambahkan Firezone EXTERNAL_URL + /auth/oidc/okta/callback/ Anda (mis. https://instance-id.yourfirezone.com/auth/oidc/okta/callback/) sebagai entri ke URI pengalihan resmi .
  5. Tugas: Batasi ke grup yang ingin Anda beri akses ke instans Firezone Anda.

Setelah pengaturan disimpan, Anda akan diberikan ID Klien, Rahasia Klien, dan Domain Okta. 3 nilai ini akan digunakan pada Langkah 2 untuk mengonfigurasi Firezone.

Integrasikan Firezone

Edit /etc/firezone/firezone.rb untuk menyertakan opsi di bawah ini. Milikmu penemuan_dokumen_url akan /.well-known/openid-configuration ditambahkan ke akhir Anda okta_domain.

 

# Menggunakan Okta sebagai penyedia identitas SSO

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

  oke: {

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

    client_id: “ ”,

    rahasia_klien: “ ”,

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

    response_type: "kode",

    ruang lingkup: "profil email openid offline_access",

    label: “Okta”

  }

}

 

Jalankan konfigurasi ulang firezone-ctl dan restart firezone-ctl untuk memperbarui aplikasi. Anda sekarang akan melihat tombol Masuk dengan Okta di URL root Firezone.

 

Batasi Akses Untuk Pengguna Tertentu

Pengguna yang dapat mengakses aplikasi Firezone dapat dibatasi oleh Okta. Buka halaman Penugasan Integrasi Aplikasi Firezone Konsol Admin Okta untuk melakukannya.

Azure Active Directory

Melalui konektor OIDC generik, Firezone mengaktifkan Single Sign-On (SSO) dengan Azure Active Directory. Panduan ini akan menunjukkan cara mendapatkan parameter konfigurasi yang tercantum di bawah ini, yang diperlukan untuk integrasi:

  1. discovery_document_uri: Itu URI konfigurasi penyedia OpenID Connect yang mengembalikan dokumen JSON yang digunakan untuk membuat permintaan berikutnya ke penyedia OIDC ini.
  2. client_id: ID klien aplikasi.
  3. client_secret: Rahasia klien dari aplikasi.
  4. redirect_uri: Menginstruksikan penyedia OIDC ke mana mengarahkan ulang setelah otentikasi. Ini harus menjadi Firezone EXTERNAL_URL + /auth/oidc/ /callback/ (misalnya https://instance-id.yourfirezone.com/auth/oidc/azure/callback/).
  5. response_type: Setel ke kode.
  6. cakupan: cakupan OIDC untuk diperoleh dari penyedia OIDC Anda. Ini harus disetel ke openid profil email offline_access untuk memberi Firezone email pengguna dalam klaim yang dikembalikan.
  7. label: Teks label tombol yang muncul di layar login Firezone Anda.

Dapatkan Pengaturan Konfigurasi

Panduan ini diambil dari Dokumen Direktori Aktif Azure.

 

Buka halaman Azure Active Directory portal Azure. Pilih opsi menu Kelola, pilih Registrasi Baru, lalu daftar dengan memberikan informasi di bawah ini:

  1. Nama: Firezone
  2. Jenis akun yang didukung: (Hanya Direktori Default – Penyewa tunggal)
  3. Redirect URI: Ini harus menjadi firezone EXTERNAL_URL + /auth/oidc/azure/callback/ Anda (mis. https://instance-id.yourfirezone.com/auth/oidc/azure/callback/). Pastikan Anda menyertakan garis miring. Ini akan menjadi nilai redirect_uri.

 

Setelah mendaftar, buka tampilan detail aplikasi dan salin ID aplikasi (klien). Ini akan menjadi nilai client_id. Selanjutnya, buka menu titik akhir untuk mengambil Dokumen metadata OpenID Connect. Ini akan menjadi nilai discovery_document_uri.

 

Buat rahasia klien baru dengan mengeklik opsi Sertifikat & rahasia di bawah menu Kelola. Salin rahasia klien; nilai rahasia klien akan menjadi ini.

 

Terakhir, pilih tautan izin API di bawah menu Kelola, klik Tambahkan izin, Lalu pilih Microsoft Graph. menambahkan e-mail, terbuka, offline_akses dan profil untuk izin yang diperlukan.

Integrasi Zona Api

Edit /etc/firezone/firezone.rb untuk menyertakan opsi di bawah ini:

 

# Menggunakan Azure Active Directory sebagai penyedia identitas SSO

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

  biru langit: {

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

    client_id: “ ”,

    rahasia_klien: “ ”,

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

    response_type: "kode",

    ruang lingkup: "profil email openid offline_access",

    label: "Azure"

  }

}

 

Jalankan konfigurasi ulang firezone-ctl dan restart firezone-ctl untuk memperbarui aplikasi. Anda sekarang akan melihat tombol Masuk dengan Azure di URL root Firezone.

Cara: Membatasi Akses ke Anggota Tertentu

Azure AD memungkinkan administrator untuk membatasi akses aplikasi ke grup pengguna tertentu di dalam perusahaan Anda. Informasi lebih lanjut tentang cara melakukannya dapat ditemukan di dokumentasi Microsoft.

Mengelola

  • Konfigurasi
  • Kelola Instalasi
  • Meningkatkan
  • memecahkan
  • Pertimbangan Keamanan
  • Menjalankan Kueri SQL

Konfigurasi

Chef Omnibus digunakan oleh Firezone untuk mengelola tugas termasuk pengemasan rilis, pengawasan proses, manajemen log, dan banyak lagi.

Kode Ruby membuat file konfigurasi utama, yang terletak di /etc/firezone/firezone.rb. Restart sudo firezone-ctl reconfigure setelah melakukan modifikasi pada file ini menyebabkan Chef mengenali perubahan dan menerapkannya pada sistem operasi saat ini.

Lihat referensi file konfigurasi untuk daftar lengkap variabel konfigurasi dan deskripsinya.

Kelola Instalasi

Mesin virtual Firezone Anda dapat dikelola melalui zona api-ctl perintah, seperti yang ditunjukkan di bawah ini. Sebagian besar subperintah membutuhkan awalan dengan sudo.

 

root@demo:~# firezone-ctl

omnibus-ctl: perintah (subperintah)

Perintah Umum:

  membersihkan

    Hapus *semua* data firezone, dan mulai dari awal.

  buat-atau-reset-admin

    Setel ulang kata sandi untuk admin dengan email yang ditentukan secara default['firezone']['admin_email'] atau buat admin baru jika email itu tidak ada.

  membantu

    Cetak pesan bantuan ini.

  konfigurasikan ulang

    Konfigurasi ulang aplikasi.

  ulang-jaringan

    Mereset nftables, antarmuka WireGuard, dan tabel perutean kembali ke default Firezone.

  tampilkan-config

    Tunjukkan konfigurasi yang akan dihasilkan oleh reconfigure.

  jaringan pembongkaran

    Menghapus antarmuka WireGuard dan tabel nftables firezone.

  paksa-sertifikat-perpanjangan

    Paksa pembaruan sertifikat sekarang meskipun belum kedaluwarsa.

  stop-sertifikat-perpanjangan

    Menghapus cronjob yang memperbarui sertifikat.

  uninstall

    Bunuh semua proses dan hapus instalan pengawas proses (data akan dipertahankan).

  versi

    Menampilkan versi Firezone saat ini

Perintah Manajemen Layanan:

  anggun-membunuh

    Coba berhenti dengan anggun, lalu SIGKILL seluruh grup proses.

  mempercepatkan

    Kirim layanan HUP.

  int

    Kirim layanan INT.

  membunuh

    Kirim layanan KILL.

  sekali

    Mulai layanan jika sedang down. Jangan mulai ulang jika berhenti.

  Restart

    Hentikan layanan jika sedang berjalan, lalu mulai lagi.

  daftar layanan

    Buat daftar semua layanan (layanan yang diaktifkan muncul dengan *.)

  awal

    Mulai layanan jika sedang down, dan mulai ulang jika berhenti.

  status

    Tampilkan status semua layanan.

  berhenti

    Hentikan layanan, dan jangan mulai ulang.

  ekor

    Tonton log layanan dari semua layanan yang diaktifkan.

  istilah

    Kirim layanan TERM.

  usr1

    Kirim layanan USR1.

  usr2

    Kirim layanan USR2.

Meningkatkan

Semua sesi VPN harus diakhiri sebelum memutakhirkan Firezone, yang juga meminta untuk mematikan UI Web. Jika terjadi kesalahan selama pemutakhiran, kami sarankan menyisihkan satu jam untuk pemeliharaan.

 

Untuk meningkatkan Firezone, lakukan tindakan berikut:

  1. Tingkatkan paket firezone menggunakan pemasangan satu perintah: sudo -E bash -c “$(curl -fsSL https://github.com/firezone/firezone/raw/master/scripts/install.sh)”
  2. Jalankan konfigurasi ulang firezone-ctl untuk mengambil perubahan baru.
  3. Jalankan firezone-ctl restart untuk memulai kembali layanan.

Jika ada masalah yang muncul, beri tahu kami melalui mengirimkan tiket dukungan.

Tingkatkan Dari <0.5.0 ke >=0.5.0

Ada beberapa perubahan dan modifikasi konfigurasi di 0.5.0 yang harus diatasi. Cari tahu lebih lanjut di bawah ini.

Permintaan bundel Nginx non_ssl_port (HTTP) dihapus

Nginx tidak lagi mendukung parameter port force SSL dan non-SSL pada versi 0.5.0. Karena Firezone membutuhkan SSL untuk berfungsi, kami menyarankan untuk menghapus bundel layanan Nginx dengan menyetel default['firezone']['nginx']['enabled'] = false dan mengarahkan proxy balik Anda ke aplikasi Phoenix pada port 13000 sebagai gantinya (secara default ).

Dukungan Protokol ACME

0.5.0 memperkenalkan dukungan protokol ACME untuk memperbarui sertifikat SSL secara otomatis dengan paket layanan Nginx. Untuk mengaktifkan,

  • Pastikan default['firezone']['external_url'] berisi FQDN valid yang menyelesaikan ke alamat IP publik server Anda.
  • Pastikan port 80/tcp dapat dijangkau
  • Aktifkan dukungan protokol ACME dengan default['firezone']['ssl']['acme']['enabled'] = true di file konfigurasi Anda.

Tujuan Aturan Jalan Keluar Tumpang Tindih

Kemungkinan untuk menambahkan aturan dengan tujuan duplikat hilang di Firezone 0.5.0. Skrip migrasi kami akan mengenali situasi ini secara otomatis selama pemutakhiran ke 0.5.0 dan hanya menyimpan aturan yang tujuannya menyertakan aturan lainnya. Tidak ada yang perlu Anda lakukan jika ini baik-baik saja.

Jika tidak, sebelum memutakhirkan, kami menyarankan untuk mengubah aturan Anda untuk menyingkirkan situasi ini.

Prakonfigurasi Okta dan Google SSO

Firezone 0.5.0 menghapus dukungan untuk Okta gaya lama dan konfigurasi Google SSO demi konfigurasi berbasis OIDC baru yang lebih fleksibel. 

Jika Anda memiliki konfigurasi dengan kunci default['firezone']['authentication']['okta'] atau default['firezone']['authentication']['google'], Anda perlu memigrasikannya ke OIDC kami konfigurasi berbasis menggunakan panduan di bawah ini.

Konfigurasi Google OAuth yang sudah ada

Hapus baris ini yang berisi konfigurasi Google OAuth lama dari file konfigurasi Anda yang terletak di /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']

 

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

(Berikan instruksi tautan)<<<<<<<<<<<<<<<<

 

Konfigurasikan Google OAuth yang Ada 

Hapus baris ini yang berisi konfigurasi Okta OAuth lama dari file konfigurasi Anda yang terletak di /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']

 

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

Tingkatkan dari 0.3.x ke >= 0.3.16

Bergantung pada penyiapan dan versi Anda saat ini, patuhi petunjuk di bawah:

Jika Anda sudah memiliki integrasi OIDC:

Untuk beberapa penyedia OIDC, pemutakhiran ke >= 0.3.16 memerlukan token penyegaran untuk cakupan akses luring. Dengan melakukan ini, dipastikan bahwa Firezone memperbarui dengan penyedia identitas dan koneksi VPN dimatikan setelah pengguna dihapus. Iterasi Firezone sebelumnya tidak memiliki fitur ini. Dalam beberapa kasus, pengguna yang dihapus dari penyedia identitas Anda mungkin masih tersambung ke VPN.

Akses offline harus disertakan dalam parameter cakupan konfigurasi OIDC Anda untuk penyedia OIDC yang mendukung cakupan akses offline. Konfigurasi ulang Firezone-ctl harus dijalankan untuk menerapkan perubahan pada file konfigurasi Firezone, yang terletak di /etc/firezone/firezone.rb.

Untuk pengguna yang telah diautentikasi oleh penyedia OIDC Anda, Anda akan melihat judul Koneksi OIDC di halaman detail pengguna UI web jika Firezone berhasil mengambil token penyegaran.

Jika ini tidak berhasil, Anda harus menghapus aplikasi OAuth yang ada dan mengulangi langkah penyiapan OIDC membuat integrasi aplikasi baru .

Saya memiliki integrasi OAuth yang sudah ada

Sebelum 0.3.11, Firezone menggunakan penyedia OAuth2 yang telah dikonfigurasi sebelumnya. 

Ikuti petunjuk di sini untuk bermigrasi ke OIDC.

Saya belum mengintegrasikan penyedia identitas

Tidak perlu tindakan. 

Anda dapat mengikuti petunjuk di sini untuk mengaktifkan SSO melalui penyedia OIDC.

Tingkatkan dari 0.3.1 ke >= 0.3.2

Sebagai gantinya, default['firezone']['external url'] telah menggantikan opsi konfigurasi default['firezone']['fqdn']. 

Tetapkan ini ke URL portal online Firezone Anda yang dapat diakses oleh masyarakat umum. Ini akan default ke https:// ditambah FQDN server Anda jika tidak ditentukan.

File konfigurasi terletak di /etc/firezone/firezone.rb. Lihat referensi file konfigurasi untuk daftar lengkap variabel konfigurasi dan deskripsinya.

Tingkatkan dari 0.2.x ke 0.3.x

Firezone tidak lagi menyimpan kunci pribadi perangkat di server Firezone mulai versi 0.3.0. 

UI Web Firezone tidak akan mengizinkan Anda mengunduh ulang atau melihat konfigurasi ini, tetapi semua perangkat yang ada harus terus beroperasi apa adanya.

Tingkatkan dari 0.1.x ke 0.2.x

Jika Anda memutakhirkan dari Firezone 0.1.x, ada beberapa perubahan file konfigurasi yang harus ditangani secara manual. 

Untuk melakukan modifikasi yang diperlukan pada file /etc/firezone/firezone.rb Anda, jalankan perintah di bawah ini sebagai root.

 

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

sed -i “s/\['aktifkan'\]/\['diaktifkan'\]/” /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

konfigurasi ulang firezone-ctl

firezone-ctl dimulai ulang

Penyelesaian masalah

Memeriksa log Firezone adalah langkah pertama yang bijak untuk setiap masalah yang dapat terjadi.

Jalankan sudo firezone-ctl tail untuk melihat log Firezone.

Men-debug Masalah Konektivitas

Sebagian besar masalah konektivitas dengan Firezone disebabkan oleh aturan iptables atau nftables yang tidak kompatibel. Anda harus memastikan bahwa aturan apa pun yang Anda berlakukan tidak berbenturan dengan aturan Firezone.

Konektivitas Internet Turun saat Tunnel Aktif

Pastikan rantai FORWARD mengizinkan paket dari klien WireGuard Anda ke lokasi yang ingin Anda biarkan melalui Firezone jika konektivitas Internet Anda memburuk setiap kali Anda mengaktifkan terowongan WireGuard Anda.

 

Ini dapat dicapai jika Anda menggunakan ufw dengan memastikan bahwa kebijakan perutean default diizinkan:

 

ubuntu@fz:~$ sudo ufw default memungkinkan dialihkan

Kebijakan dialihkan default diubah menjadi 'izinkan'

(pastikan untuk memperbarui aturan Anda sesuai)

 

A ufw status untuk server Firezone tipikal mungkin terlihat seperti ini:

 

ubuntu@fz:~$ sudo ufw status bertele-tele

Status: aktif

Masuk: aktif (rendah)

Default: tolak (masuk), izinkan (keluar), izinkan (diarahkan)

Profil baru: lewati

 

Untuk Bertindak Dari

— —— —-

22/tcp IZINKAN DI Mana Saja

80/tcp IZINKAN DI Mana Saja

443/tcp IZINKAN DI Mana Saja

51820/udp BOLEH DIMANA SAJA

22/tcp (v6) IZINKAN DI Mana Saja (v6)

80/tcp (v6) IZINKAN DI Mana Saja (v6)

443/tcp (v6) IZINKAN DI Mana Saja (v6)

51820/udp (v6) IZINKAN DI Mana Saja (v6)

Pertimbangan Keamanan

Kami menyarankan untuk membatasi akses ke antarmuka web untuk penerapan produksi yang sangat sensitif dan sangat penting, seperti yang dijelaskan di bawah ini.

Layanan & Pelabuhan

 

Pelayanan

Pelabuhan Bawaan

Dengarkan Alamat

Deskripsi Produk

Nginx

80, 443

semua

Port HTTP(S) publik untuk mengelola Firezone dan memfasilitasi autentikasi.

Penjaga kawat

51820

semua

Port WireGuard publik digunakan untuk sesi VPN. (UDP)

Postgresql

15432

127.0.0.1

Port khusus lokal yang digunakan untuk server Postgresql yang dibundel.

Phoenix

13000

127.0.0.1

Port khusus lokal yang digunakan oleh server aplikasi eliksir hulu.

Penerapan Produksi

Kami menyarankan Anda untuk berpikir tentang membatasi akses ke UI web Firezone yang diekspos secara publik (dengan port default 443/tcp dan 80/tcp) dan alih-alih menggunakan terowongan WireGuard untuk mengelola Firezone untuk produksi dan penyebaran publik di mana satu administrator akan bertanggung jawab membuat dan mendistribusikan konfigurasi perangkat ke pengguna akhir.

 

Misalnya, jika administrator membuat konfigurasi perangkat dan membuat terowongan dengan alamat WireGuard lokal 10.3.2.2, konfigurasi ufw berikut akan memungkinkan administrator mengakses UI web Firezone pada antarmuka wg-firezone server menggunakan 10.3.2.1 default alamat terowongan:

 

root@demo:~# status ufw bertele-tele

Status: aktif

Masuk: aktif (rendah)

Default: tolak (masuk), izinkan (keluar), izinkan (diarahkan)

Profil baru: lewati

 

Untuk Bertindak Dari

— —— —-

22/tcp IZINKAN DI Mana Saja

51820/udp BOLEH DIMANA SAJA

Di Mana Saja IZINKAN DI 10.3.2.2

22/tcp (v6) IZINKAN DI Mana Saja (v6)

51820/udp (v6) IZINKAN DI Mana Saja (v6)

Ini hanya akan meninggalkan 22/tcp terbuka untuk akses SSH untuk mengelola server (opsional), dan 51820/udp terbuka untuk membangun terowongan WireGuard.

Jalankan Kueri SQL

Firezone menggabungkan server dan pencocokan Postgresql psql utilitas yang dapat digunakan dari shell lokal seperti:

 

/opt/firezone/tertanam/bin/psql \

  -U zona api \

  -d zona api \

  -h localhost\

  -p 15432\

  -c "SQL_STATEMENT"

 

Ini dapat membantu untuk tujuan debugging.

 

Tugas Umum:

 

  • Daftar semua pengguna
  • Daftar semua perangkat
  • Mengubah peran pengguna
  • Mencadangkan database



Daftar semua pengguna:

 

/opt/firezone/tertanam/bin/psql \

  -U zona api \

  -d zona api \

  -h localhost\

  -p 15432\

  -c "PILIH * DARI pengguna;"



Daftar semua perangkat:

 

/opt/firezone/tertanam/bin/psql \

  -U zona api \

  -d zona api \

  -h localhost\

  -p 15432\

  -c "PILIH * DARI perangkat;"



Mengubah peran pengguna:

 

Setel peran ke 'admin' atau 'unprivileged':

 

/opt/firezone/tertanam/bin/psql \

  -U zona api \

  -d zona api \

  -h localhost\

  -p 15432\

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



Mencadangkan basis data:

 

Selain itu, termasuk program dump pg, yang dapat digunakan untuk mengambil cadangan basis data secara teratur. Jalankan kode berikut untuk membuang salinan database dalam format kueri SQL umum (ganti /path/to/backup.sql dengan lokasi tempat file SQL harus dibuat):

 

/opt/firezone/tertanam/bin/pg_dump \

  -U zona api \

  -d zona api \

  -h localhost\

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

Panduan pengguna

  • Tambahkan Pengguna
  • Tambahkan Perangkat
  • Aturan Jalan Keluar
  • Instruksi Klien
  • VPN Terowongan Terpisah
  • Terowongan Terbalik 
  • Gerbang NAT

Tambahkan Pengguna

Setelah Firezone berhasil diterapkan, Anda harus menambahkan pengguna untuk memberi mereka akses ke jaringan Anda. UI Web digunakan untuk melakukan ini.

 

UI web


Dengan memilih tombol “Tambah Pengguna” di bawah /pengguna, Anda dapat menambahkan pengguna. Anda akan diminta untuk memberikan alamat email dan kata sandi kepada pengguna. Untuk mengizinkan akses ke pengguna di organisasi Anda secara otomatis, Firezone juga dapat menghubungkan dan menyinkronkan dengan penyedia identitas. Rincian lebih lanjut tersedia di Otentikasi. < Tambahkan tautan ke Otentikasi

Tambahkan Perangkat

Kami menyarankan agar pengguna membuat konfigurasi perangkat mereka sendiri sehingga kunci privat hanya dapat dilihat oleh mereka. Pengguna dapat membuat konfigurasi perangkat mereka sendiri dengan mengikuti petunjuk di Instruksi Klien halaman.

 

Membuat konfigurasi perangkat admin

Semua konfigurasi perangkat pengguna dapat dibuat oleh admin Firezone. Pada halaman profil pengguna yang terletak di /pengguna, pilih opsi "Tambahkan Perangkat" untuk melakukannya.

 

[Masukkan tangkapan layar]

 

Anda dapat mengirimkan file konfigurasi WireGuard melalui email kepada pengguna setelah membuat profil perangkat.

 

Pengguna dan perangkat ditautkan. Untuk detail lebih lanjut tentang cara menambahkan pengguna, lihat Tambahkan Pengguna.

Aturan Jalan Keluar

Melalui penggunaan sistem netfilter kernel, Firezone mengaktifkan kemampuan penyaringan jalan keluar untuk menentukan paket DROP atau ACCEPT. Semua lalu lintas biasanya diizinkan.

 

IPv4 dan IPv6 CIDR dan alamat IP masing-masing didukung melalui Allowlist dan Denylist. Anda dapat memilih untuk membatasi aturan ke pengguna saat menambahkannya, yang menerapkan aturan ke semua perangkat pengguna tersebut.

Instruksi Klien

Instal dan konfigurasikan

Untuk membuat koneksi VPN menggunakan klien WireGuard asli, lihat panduan ini.

 

1. Instal klien WireGuard asli

 

Klien Resmi WireGuard yang berlokasi di sini kompatibel dengan Firezone:

 

MacOS

 

Windows

 

iOS

 

Android

 

Kunjungi situs resmi WireGuard di https://www.wireguard.com/install/ untuk sistem OS yang tidak disebutkan di atas.

 

2. Unduh file konfigurasi perangkat

 

Administrator Firezone Anda atau Anda sendiri dapat membuat file konfigurasi perangkat menggunakan portal Firezone.

 

Kunjungi URL yang disediakan administrator Firezone Anda untuk membuat sendiri file konfigurasi perangkat. Perusahaan Anda akan memiliki URL unik untuk ini; dalam hal ini adalah https://instance-id.yourfirezone.com.

 

Masuk ke Firezone Okta SSO

 

[Masukkan Tangkapan Layar]

 

3. Tambahkan konfigurasi klien

 

Impor file .conf ke klien WireGuard dengan membukanya. Dengan membalik tombol Aktifkan, Anda dapat memulai sesi VPN.

 

[Masukkan Tangkapan Layar]

Autentikasi Ulang Sesi

Ikuti petunjuk di bawah ini jika administrator jaringan Anda telah mengamanatkan autentikasi berulang untuk menjaga koneksi VPN Anda tetap aktif. 



Anda membutuhkan:

 

URL portal Firezone: Minta koneksi ke administrator jaringan Anda.

Administrator jaringan Anda harus dapat menawarkan login dan kata sandi Anda. Situs Firezone akan meminta Anda untuk masuk menggunakan layanan sistem masuk tunggal yang digunakan perusahaan Anda (seperti Google atau Okta).

 

1. Matikan koneksi VPN

 

[Masukkan Tangkapan Layar]

 

2. Otentikasi lagi 

Buka URL portal Firezone dan masuk menggunakan kredensial yang disediakan administrator jaringan Anda. Jika Anda sudah masuk, klik tombol Autentikasi ulang sebelum masuk kembali.

 

[Masukkan Tangkapan Layar]

 

Langkah 3: Luncurkan sesi VPN

[Masukkan Tangkapan Layar]

Manajer Jaringan untuk Linux

Untuk mengimpor profil konfigurasi WireGuard menggunakan Network Manager CLI di perangkat Linux, ikuti petunjuk ini (nmcli).

CATATAN

Jika profil memiliki dukungan IPv6 yang diaktifkan, mencoba mengimpor file konfigurasi menggunakan GUI Manajer Jaringan mungkin gagal dengan kesalahan berikut:

ipv6.method: metode "otomatis" tidak didukung untuk WireGuard

1. Instal Alat WireGuard 

Anda perlu menginstal utilitas ruang pengguna WireGuard. Ini akan menjadi paket yang disebut wireguard atau wireguard-tools untuk distribusi Linux.

Untuk Ubuntu/Debian:

sudo apt install wireguard

Untuk menggunakan Fedora:

sudo dnf install alat wireguard

Linux Arch:

sudo pacman -S alat pelindung kabel

Kunjungi situs resmi WireGuard di https://www.wireguard.com/install/ untuk distribusi yang tidak disebutkan di atas.

2. Unduh konfigurasi 

Baik administrator Firezone Anda atau pembuatan sendiri dapat membuat file konfigurasi perangkat menggunakan portal Firezone.

Kunjungi URL yang disediakan administrator Firezone Anda untuk membuat sendiri file konfigurasi perangkat. Perusahaan Anda akan memiliki URL unik untuk ini; dalam hal ini adalah https://instance-id.yourfirezone.com.

[Masukkan Tangkapan Layar]

3. Pengaturan impor

Impor file konfigurasi yang disediakan menggunakan nmcli:

koneksi sudo nmcli jenis impor wireguard file /path/to/configuration.conf

CATATAN

Nama file konfigurasi akan sesuai dengan koneksi/antarmuka WireGuard. Setelah diimpor, koneksi dapat diganti namanya jika perlu:

koneksi nmcli memodifikasi [nama lama] koneksi.id [nama baru]

4. Hubungkan atau putuskan

Melalui baris perintah, sambungkan ke VPN sebagai berikut:

koneksi nmcli naik [nama vpn]

Untuk memutuskan:

koneksi nmcli down [nama vpn]

Applet Network Manager yang berlaku juga dapat digunakan untuk mengelola koneksi jika menggunakan GUI.

Koneksi Otomatis

Dengan memilih “ya” untuk opsi koneksi otomatis, koneksi VPN dapat dikonfigurasi untuk terhubung secara otomatis:

 

koneksi nmcli memodifikasi koneksi [nama vpn]. <<<<<<<<<<<<<<<<<<<<<<<<

 

sambung otomatis ya

 

Untuk menonaktifkan koneksi otomatis atur kembali ke no:

 

koneksi nmcli memodifikasi koneksi [nama vpn].

 

sambung otomatis no

Jadikan Otentikasi Multi-Faktor Tersedia

Untuk mengaktifkan MFA Buka halaman / akun pengguna / daftar mfa portal Firezone. Gunakan aplikasi autentikator Anda untuk memindai kode QR setelah dibuat, lalu masukkan kode enam digit.

Hubungi Admin Anda untuk menyetel ulang informasi akses akun Anda jika Anda salah menempatkan aplikasi pengautentikasi Anda.

VPN Terowongan Terpisah

Tutorial ini akan memandu Anda melalui proses penyiapan fitur tunneling terpisah WireGuard dengan Firezone sehingga hanya lalu lintas ke rentang IP tertentu yang diteruskan melalui server VPN.

 

1. Konfigurasikan IP yang Diizinkan 

Rentang IP yang akan dirutekan lalu lintas jaringan oleh klien ditetapkan di bidang IP yang Diizinkan yang terletak di halaman /pengaturan/default. Hanya konfigurasi terowongan WireGuard yang baru dibuat yang diproduksi oleh Firezone yang akan terpengaruh oleh perubahan pada kolom ini.

 

[Masukkan Tangkapan Layar]



Nilai default adalah 0.0.0.0/0, ::/0, yang merutekan semua lalu lintas jaringan dari klien ke server VPN.

 

Contoh nilai dalam bidang ini meliputi:

 

0.0.0.0/0, ::/0 – semua lalu lintas jaringan akan dialihkan ke server VPN.

192.0.2.3/32 – hanya lalu lintas ke satu alamat IP yang akan dialihkan ke server VPN.

3.5.140.0/22 ​​– hanya lalu lintas ke IP dalam rentang 3.5.140.1 – 3.5.143.254 yang akan dialihkan ke server VPN. Dalam contoh ini, rentang CIDR untuk wilayah AWS ap-northeast-2 digunakan.



CATATAN

Firezone memilih antarmuka jalan keluar yang terkait dengan rute paling tepat terlebih dahulu saat menentukan ke mana harus merutekan paket.

 

2. Regenerasi konfigurasi WireGuard

Pengguna harus membuat ulang file konfigurasi dan menambahkannya ke klien WireGuard asli mereka untuk memperbarui perangkat pengguna yang ada dengan konfigurasi terowongan terpisah yang baru.

 

Untuk instruksi, lihat tambahkan perangkat. <<<<<<<<<<< Tambahkan tautan

Terowongan Terbalik

Panduan ini akan mendemonstrasikan cara menautkan dua perangkat menggunakan Firezone sebagai relai. Salah satu kasus penggunaan umum adalah memungkinkan administrator untuk mengakses server, wadah, atau mesin yang dilindungi oleh NAT atau firewall.

 

simpul ke simpul 

Ilustrasi ini menunjukkan skenario langsung di mana Perangkat A dan B membangun sebuah terowongan.

 

[Masukkan gambar arsitektur firezone]

 

Mulailah dengan membuat Perangkat A dan Perangkat B dengan membuka /users/[user_id]/new_device. Dalam pengaturan untuk setiap perangkat, pastikan parameter berikut disetel ke nilai yang tercantum di bawah. Anda dapat mengatur pengaturan perangkat saat membuat konfigurasi perangkat (lihat Menambahkan Perangkat). Jika Anda perlu memperbarui pengaturan pada perangkat yang ada, Anda dapat melakukannya dengan membuat konfigurasi perangkat baru.

 

Perhatikan bahwa semua perangkat memiliki halaman /settings/defaults tempat PersistentKeepalive dapat dikonfigurasi.

 

Perangkat A

 

IP yang diizinkan = 10.3.2.2/32

  Ini adalah IP atau rentang IP Perangkat B

PersistenKeepalive = 25

  Jika perangkat berada di belakang NAT, ini memastikan perangkat dapat menjaga terowongan tetap hidup dan terus menerima paket dari antarmuka WireGuard. Biasanya nilai 25 sudah cukup, tetapi Anda mungkin perlu menurunkan nilai ini tergantung pada lingkungan Anda.



perangkat B

 

IP yang diizinkan = 10.3.2.3/32

Ini adalah IP atau rentang IP Perangkat A

PersistenKeepalive = 25

Kasus Admin - Satu ke Banyak Node

Contoh ini menunjukkan situasi di mana Perangkat A dapat berkomunikasi dengan Perangkat B melalui D di kedua arah. Penyiapan ini dapat mewakili seorang insinyur atau administrator yang mengakses banyak sumber daya (server, wadah, atau mesin) di berbagai jaringan.

 

[Diagram Arsitektur]<<<<<<<<<<<<<<<<<<<<<<<<<

 

Pastikan pengaturan berikut dibuat di pengaturan masing-masing perangkat ke nilai yang sesuai. Saat membuat konfigurasi perangkat, Anda dapat menentukan pengaturan perangkat (lihat Menambahkan Perangkat). Konfigurasi perangkat baru dapat dibuat jika pengaturan pada perangkat yang ada perlu diperbarui.

 

Perangkat A (Node Administrator)

 

IP yang diizinkan = 10.3.2.3/32, 10.3.2.4/32, 10.3.2.5/32 

    Ini adalah IP perangkat B hingga D. IP Perangkat B hingga D harus disertakan dalam rentang IP apa pun yang Anda pilih untuk disetel.

PersistenKeepalive = 25 

    Ini menjamin bahwa perangkat dapat memelihara terowongan dan terus menerima paket dari antarmuka WireGuard meskipun dilindungi oleh NAT. Dalam kebanyakan kasus, nilai 25 sudah cukup, namun bergantung pada lingkungan Anda, Anda mungkin perlu menurunkan angka ini.

 

Perangkat B

 

  • AllowedIPs = 10.3.2.2/32: Ini adalah IP atau rentang IP Perangkat A
  • PersistenKeepalive = 25

Perangkat C

 

  • AllowedIPs = 10.3.2.2/32: Ini adalah IP atau rentang IP Perangkat A
  • PersistenKeepalive = 25

Perangkat D

 

  • AllowedIPs = 10.3.2.2/32: Ini adalah IP atau rentang IP Perangkat A
  • PersistenKeepalive = 25

Gerbang NAT

Untuk menawarkan satu IP jalan keluar statis agar semua lalu lintas tim Anda mengalir keluar, Firezone dapat digunakan sebagai gateway NAT. Situasi ini melibatkan penggunaan yang sering:

 

Keterlibatan Konsultasi: Minta pelanggan Anda memasukkan satu alamat IP statis ke dalam daftar putih alih-alih IP perangkat unik setiap karyawan.

Menggunakan proxy atau menutupi IP sumber Anda untuk tujuan keamanan atau privasi.

 

Contoh sederhana untuk membatasi akses ke aplikasi web yang dihosting sendiri ke satu IP statis yang masuk daftar putih yang menjalankan Firezone akan diperlihatkan di pos ini. Dalam ilustrasi ini, Firezone dan sumber daya yang dilindungi berada di area VPC yang berbeda.

 

Solusi ini sering digunakan sebagai pengganti pengelolaan daftar putih IP untuk banyak pengguna akhir, yang dapat memakan waktu karena daftar akses bertambah.

Contoh AWS

Tujuan kami adalah menyiapkan server Firezone pada instans EC2 untuk mengalihkan lalu lintas VPN ke sumber daya yang dibatasi. Dalam hal ini, Firezone berfungsi sebagai proxy jaringan atau gateway NAT untuk memberi setiap perangkat yang terhubung IP jalan keluar publik yang unik.

 

1. Instal server Firezone

Dalam hal ini, instans EC2 bernama tc2.micro memiliki instans Firezone yang terinstal di dalamnya. Untuk informasi tentang penerapan Firezone, buka Panduan Penerapan. Sehubungan dengan AWS, pastikan:

 

Grup keamanan instans Firezone EC2 mengizinkan lalu lintas keluar ke alamat IP sumber daya yang dilindungi.

Instance Firezone hadir dengan IP elastis. Lalu lintas yang diteruskan melalui instance Firezone ke tujuan luar akan memiliki ini sebagai alamat IP sumbernya. Alamat IP yang dimaksud adalah 52.202.88.54.

 

[Masukkan Tangkapan Layar]<<<<<<<<<<<<<<<<<<<<<<<<<<

 

2. Batasi akses ke sumber daya yang dilindungi

Aplikasi web yang dihosting sendiri berfungsi sebagai sumber daya yang dilindungi dalam kasus ini. Aplikasi web hanya dapat diakses dengan permintaan yang berasal dari alamat IP 52.202.88.54. Bergantung pada sumber dayanya, mungkin diperlukan untuk mengizinkan lalu lintas masuk di berbagai port dan jenis lalu lintas. Ini tidak tercakup dalam manual ini.

 

[Masukkan tangkapan layar]<<<<<<<<<<<<<<<<<<<<<<<<<<

 

Tolong beri tahu pihak ketiga yang bertanggung jawab atas sumber daya yang dilindungi bahwa lalu lintas dari IP statis yang ditentukan pada Langkah 1 harus diizinkan (dalam hal ini 52.202.88.54).

 

3. Gunakan server VPN untuk mengarahkan lalu lintas ke sumber daya yang dilindungi

 

Secara default, semua lalu lintas pengguna akan melewati server VPN dan berasal dari IP statis yang telah dikonfigurasi pada Langkah 1 (dalam hal ini 52.202.88.54). Namun, jika tunneling terpisah telah diaktifkan, pengaturan mungkin diperlukan untuk memastikan IP tujuan sumber daya yang dilindungi terdaftar di antara IP yang Diizinkan.

Tambahkan Teks Judul Anda Di Sini

Ditunjukkan di bawah ini adalah daftar lengkap dari opsi konfigurasi yang tersedia di /etc/firezone/firezone.rb.



Option

deskripsi

nilai default

default['firezone']['external_url']

URL yang digunakan untuk mengakses portal web instance Firezone ini.

“https://#{simpul['fqdn'] || simpul['nama host']}”

default['firezone']['config_directory']

Direktori tingkat atas untuk konfigurasi Firezone.

/etc/zona api'

default['firezone']['install_directory']

Direktori tingkat atas untuk menginstal Firezone.

/opt/firezone'

default['firezone']['app_directory']

Direktori tingkat atas untuk menginstal aplikasi web Firezone.

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

default['firezone']['log_directory']

Direktori tingkat teratas untuk log Firezone.

/var/log/zona api'

default['firezone']['var_directory']

Direktori tingkat atas untuk file runtime Firezone.

/var/opt/firezone'

default['zona api']['pengguna']

Nama pengguna Linux unprivileged sebagian besar layanan dan file akan menjadi miliknya.

zona api'

default['zona api']['grup']

Nama grup Linux untuk sebagian besar layanan dan file.

zona api'

default['firezone']['admin_email']

Alamat email untuk pengguna Firezone awal.

“zona api@localhost”

default['firezone']['max_devices_per_user']

Jumlah maksimum perangkat yang dapat dimiliki pengguna.

10

default['firezone']['allow_unprivileged_device_management']

Mengizinkan pengguna non-admin untuk membuat dan menghapus perangkat.

BENAR

default['firezone']['allow_unprivileged_device_configuration']

Mengizinkan pengguna non-admin mengubah konfigurasi perangkat. Jika dinonaktifkan, mencegah pengguna yang tidak memiliki hak untuk mengubah semua kolom perangkat kecuali nama dan deskripsi.

BENAR

default['firezone']['egress_interface']

Nama antarmuka tempat lalu lintas terowongan akan keluar. Jika nihil, antarmuka rute default akan digunakan.

nol

default['firezone']['fips_enabled']

Mengaktifkan atau menonaktifkan mode FIP OpenSSL.

nol

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

Aktifkan atau nonaktifkan logging di Firezone. Setel ke false untuk menonaktifkan logging seluruhnya.

BENAR

default['perusahaan']['nama']

Nama yang digunakan oleh buku masak Chef 'enterprise'.

zona api'

default['firezone']['install_path']

Instal jalur yang digunakan oleh buku masak 'perusahaan' Chef. Harus disetel sama dengan install_directory di atas.

node['firezone']['install_directory']

default['firezone']['sysvinit_id']

Pengenal yang digunakan di /etc/inittab. Harus urutan unik yang terdiri dari 1-4 karakter.

SUP'

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

Mengaktifkan atau menonaktifkan autentikasi email/sandi lokal.

BENAR

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

Secara otomatis membuat pengguna yang masuk dari OIDC untuk pertama kalinya. Nonaktifkan untuk mengizinkan hanya pengguna yang ada untuk masuk melalui OIDC.

BENAR

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

Nonaktifkan VPN pengguna jika kesalahan terdeteksi saat mencoba menyegarkan token OIDC mereka.

SALAH

default['firezone']['otentikasi']['oidc']

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

{}

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

Aktifkan atau nonaktifkan server nginx yang dibundel.

BENAR

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

Port mendengarkan HTTPS.

443

default['zona api']['nginx']['direktori']

Direktori untuk menyimpan konfigurasi host virtual nginx terkait Firezone.

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

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

Direktori untuk menyimpan file log nginx terkait Firezone.

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

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

Ukuran file untuk memutar file log Nginx.

104857600

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

Jumlah file log nginx Firezone yang harus disimpan sebelum dibuang.

10

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

Apakah akan mencatat Firezone nginx x-forwarded-for header.

BENAR

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

Aktifkan atau nonaktifkan HSTS.

BENAR

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

Mengaktifkan atau menonaktifkan includeSubDomains untuk header HSTS.

BENAR

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

Usia maksimal untuk tajuk HSTS.

31536000

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

Apakah akan mengalihkan URL ke FQDN kanonis yang ditentukan di atas

SALAH

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

Aktifkan atau nonaktifkan cache nginx Firezone.

SALAH

default['zona api']['nginx']['cache']['direktori']

Direktori untuk cache nginx Firezone.

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

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

Pengguna nginx zona api.

simpul['zona api']['pengguna']

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

Grup nginx zona api.

simpul['zona api']['grup']

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

Direktori konfigurasi nginx tingkat atas.

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

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

Direktori log nginx tingkat atas.

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

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

Lokasi untuk file nginx pid.

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

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

Nonaktifkan mode daemon nginx agar kami dapat memantaunya.

BENAR

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

Mengaktifkan atau menonaktifkan kompresi nginx gzip.

di'

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

Mengaktifkan atau menonaktifkan kompresi nginx gzip untuk file statis.

mati'

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

Versi HTTP yang akan digunakan untuk menyajikan file statis.

1.0 '

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

tingkat kompresi nginx gzip.

2 '

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

Mengaktifkan atau menonaktifkan gzipping respons untuk permintaan yang di-proxy bergantung pada permintaan dan respons.

setiap'

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

Mengaktifkan atau menonaktifkan penyisipan tajuk respons "Vary: Accept-Encoding".

mati'

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

Menetapkan jumlah dan ukuran buffer yang digunakan untuk mengompresi respons. Jika nihil, default nginx digunakan.

nol

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

Jenis MIME untuk mengaktifkan kompresi gzip.

['teks/polos', 'teks/css', 'aplikasi/x-javascript', 'teks/xml', 'aplikasi/xml', 'aplikasi/rss+xml', 'aplikasi/atom+xml', ' teks/javascript', 'aplikasi/javascript', 'aplikasi/json']

default['firezone']['nginx']['gzip_min_length']

Panjang file minimum untuk mengaktifkan kompresi file gzip.

1000

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

Pencocokan agen pengguna untuk menonaktifkan kompresi gzip.

MSIE [1-6]\.'

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

Mengaktifkan cache untuk koneksi ke server upstream.

di'

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

Batas waktu dalam hitungan detik untuk koneksi keepalive ke server upstream.

65

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

Jumlah proses pekerja nginx.

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

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

Jumlah maksimal koneksi simultan yang dapat dibuka oleh proses pekerja.

1024

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

Mengubah batas jumlah maksimum file terbuka untuk proses pekerja. Menggunakan default nginx jika nihil.

nol

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

Apakah pekerja harus menerima satu koneksi pada satu waktu atau beberapa.

BENAR

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

Menentukan metode pemrosesan koneksi untuk digunakan di dalam konteks peristiwa nginx.

epoll'

default['firezone']['nginx']['server_token']

Mengaktifkan atau menonaktifkan emisi versi nginx pada halaman error dan di kolom header respons "Server".

nol

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

Menetapkan ukuran keranjang untuk tabel hash nama server.

64

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

Mengaktifkan atau menonaktifkan penggunaan sendfile() nginx.

di'

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

Mengatur opsi log akses nginx.

nol

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

Menyetel opsi log kesalahan nginx.

nol

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

Nonaktifkan log akses nginx.

SALAH

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

tipe nginx ukuran hash maks.

2048

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

tipe nginx ukuran ember hash.

64

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

batas waktu pembacaan proxy nginx. Setel ke nil untuk menggunakan default nginx.

nol

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

ukuran buffer tubuh klien nginx. Setel ke nil untuk menggunakan default nginx.

nol

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

ukuran tubuh maks klien nginx.

250m'

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

Tentukan modul nginx tambahan.

[]

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

Aktifkan atau nonaktifkan pembatasan kecepatan nginx.

BENAR

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

Nama zona pembatas kecepatan Nginx.

zona api'

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

Kecepatan Nginx membatasi mundur.

10m'

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

Batas kecepatan Nginx.

10r/dtk'

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

Izinkan nginx mendengarkan permintaan HTTP untuk IPv6 selain IPv4.

BENAR

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

Aktifkan atau nonaktifkan Postgresql yang dibundel. Setel ke false dan isi opsi database di bawah ini untuk menggunakan instance Postgresql Anda sendiri.

BENAR

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

Nama pengguna untuk Postgresql.

simpul['zona api']['pengguna']

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

Direktori data Postgresql.

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

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

Direktori log Postgresql.

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

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

Ukuran maksimum file log Postgresql sebelum diputar.

104857600

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

Jumlah file log Postgresql untuk disimpan.

10

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

Target penyelesaian pos pemeriksaan postgresql.

0.5

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

Jumlah segmen pos pemeriksaan Postgresql.

3

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

Batas waktu pos pemeriksaan postgresql.

5 menit'

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

Waktu peringatan pos pemeriksaan Postgresql dalam hitungan detik.

30-an

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

Ukuran cache efektif Postgresql.

128MB'

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

Alamat mendengarkan Postgresql.

127.0.0.1 '

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

Koneksi maks postgresql.

350

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

CIDR Postgresql untuk mengizinkan md5 auth.

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

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

Port mendengarkan Postgresql.

15432

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

Ukuran buffer bersama Postgresql.

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

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

Postgresql shmmax dalam byte.

17179869184

default['firezone']['postgresql']['small']

Postgresql kecil dalam byte.

4194304

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

Ukuran memori kerja Postgresql.

8MB'

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

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

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

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

Jika menggunakan DB eksternal, tentukan kata sandi yang akan digunakan Firezone untuk terhubung ke DB.

ubah_saya'

default['firezone']['database']['name']

Database yang akan digunakan Firezone. Akan dibuat jika tidak ada.

zona api'

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

Host database tempat Firezone akan terhubung.

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

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

Port database tempat Firezone akan terhubung.

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

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

Ukuran kumpulan basis data yang akan digunakan Firezone.

[10, Dll.nprosesor].maks

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

Apakah akan terhubung ke database melalui SSL.

SALAH

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

Hash opsi untuk dikirim ke opsi :ssl_opts saat menghubungkan melalui SSL. Melihat Dokumentasi Ecto.Adapters.Postgres.

{}

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

Hash parameter untuk dikirim ke opsi :parameters saat menghubungkan ke database. Melihat Dokumentasi Ecto.Adapters.Postgres.

{}

default['firezone']['database']['extensions']

Ekstensi basis data untuk diaktifkan.

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

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

Mengaktifkan atau menonaktifkan aplikasi web Firezone.

BENAR

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

Alamat mendengarkan aplikasi web Firezone. Ini akan menjadi alamat mendengarkan upstream yang di-proxy nginx.

127.0.0.1 '

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

Aplikasi web firezone mendengarkan port. Ini akan menjadi port hulu yang diproksi oleh nginx.

13000

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

Direktori log aplikasi web Firezone.

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

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

Ukuran file log aplikasi web Firezone.

104857600

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

Jumlah file log aplikasi web Firezone yang akan disimpan.

10

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

Mengaktifkan atau menonaktifkan mematikan aplikasi web Firezone saat kerusakan terdeteksi.

BENAR

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

Daftar proxy terbalik tepercaya yang diformat sebagai Array IP dan/atau CIDR.

[]

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

Daftar klien HTTP jaringan pribadi, yang diformat dalam Array IP dan/atau CIDR.

[]

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

Aktifkan atau nonaktifkan manajemen WireGuard yang dibundel.

BENAR

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

Direktori log untuk manajemen WireGuard yang dibundel.

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

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

Ukuran maksimal file log WireGuard.

104857600

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

Jumlah file log WireGuard yang akan disimpan.

10

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

Nama antarmuka WireGuard. Mengubah parameter ini dapat menyebabkan hilangnya konektivitas VPN untuk sementara.

wg-zona api'

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

port mendengarkan WireGuard.

51820

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

Antarmuka WireGuard MTU untuk server ini dan untuk konfigurasi perangkat.

1280

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

WireGuard Endpoint digunakan untuk membuat konfigurasi perangkat. Jika nihil, default ke alamat IP publik server.

nol

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

DNS WireGuard yang akan digunakan untuk konfigurasi perangkat yang dihasilkan.

1.1.1.1, 1.0.0.1'

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

WireGuard AllowedIPs digunakan untuk konfigurasi perangkat yang dibuat.

0.0.0.0/0, ::/0′

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

Pengaturan PersistentKeepalive default untuk konfigurasi perangkat yang dibuat. Nilai 0 menonaktifkan.

0

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

Aktifkan atau nonaktifkan IPv4 untuk jaringan WireGuard.

BENAR

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

Mengaktifkan atau menonaktifkan penyamaran untuk paket yang meninggalkan terowongan IPv4.

BENAR

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

Kumpulan alamat IPv4 jaringan WireGuard.

10.3.2.0/24 ′

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

Alamat IPv4 antarmuka WireGuard. Harus berada dalam kumpulan alamat WireGuard.

10.3.2.1 '

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

Aktifkan atau nonaktifkan IPv6 untuk jaringan WireGuard.

BENAR

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

Mengaktifkan atau menonaktifkan penyamaran untuk paket yang meninggalkan terowongan IPv6.

BENAR

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

Kumpulan alamat IPv6 jaringan WireGuard.

fd00::3:2:0/120′

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

Alamat IPv6 antarmuka WireGuard. Harus berada dalam kumpulan alamat IPv6.

fd00::3:2:1′

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

Jalankan lokasi bin svlogd.

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

default['zona api']['ssl']['direktori']

Direktori SSL untuk menyimpan sertifikat yang dihasilkan.

/var/opt/firezone/ssl'

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

Alamat email yang akan digunakan untuk sertifikat yang ditandatangani sendiri dan pemberitahuan pembaruan protokol ACME.

anda@contoh.com'

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

Aktifkan ACME untuk penyediaan sertifikat SSL otomatis. Nonaktifkan ini untuk mencegah Nginx mendengarkan pada port 80. Lihat di sini untuk instruksi lebih lanjut.

SALAH

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

Server ACME yang akan digunakan untuk penerbitan/perpanjangan sertifikat. Bisa apa saja server acme.sh yang valid

letsencrypt

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

Tentukan jenis dan panjang kunci untuk sertifikat SSL. Melihat di sini

ec-256

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

Jalur ke file sertifikat untuk FQDN Anda. Menimpa setelan ACME di atas jika ditentukan. Jika ACME dan ini nihil, sertifikat yang ditandatangani sendiri akan dihasilkan.

nol

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

Jalur ke file sertifikat.

nol

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

nginx ssl dh_param.

nol

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

Nama negara untuk sertifikat yang ditandatangani sendiri.

KITA'

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

Nama negara bagian untuk sertifikat yang ditandatangani sendiri.

CA'

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

Nama lokalitas untuk sertifikat yang ditandatangani sendiri.

San Fransisco'

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

Sertifikat yang ditandatangani sendiri oleh nama perusahaan.

Perusahaanku'

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

Nama unit organisasi untuk sertifikat yang ditandatangani sendiri.

Operasi'

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

Cipher 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’

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

Cipher SSL untuk mode FIP.

FIPS@KEKUATAN:!aNULL:!eNULL'

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

protokol TLS untuk digunakan.

TLSv1 TLSv1.1 TLSv1.2′

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

Tembolok sesi SSL.

dibagikan:SSL:4m'

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

Batas waktu sesi SSL.

5m'

default['firezone']['robots_allow']

robot nginx mengizinkan.

/'

default['firezone']['robots_disallow']

robot nginx tidak mengizinkan.

nol

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

Email keluar dari alamat.

nol

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

Penyedia layanan email keluar.

nol

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

Konfigurasi penyedia email keluar.

lihat omnibus/cookbooks/firezone/attributes/default.rb

default['firezone']['telemetri']['diaktifkan']

Mengaktifkan atau menonaktifkan telemetri produk anonim.

BENAR

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

Mengaktifkan atau menonaktifkan layanan pemeriksaan konektivitas Firezone.

BENAR

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

Interval antara pemeriksaan konektivitas dalam hitungan detik.

3_600



________________________________________________________________

 

Lokasi File Dan Direktori

 

Di sini Anda akan menemukan daftar file dan direktori yang terkait dengan instalasi khas Firezone. Ini dapat berubah tergantung pada perubahan pada file konfigurasi Anda.



path

deskripsi

/var/opt/zona api

Direktori tingkat atas yang berisi data dan konfigurasi yang dihasilkan untuk layanan bundel Firezone.

/memilih/zona api

Direktori tingkat atas yang berisi pustaka bawaan, binari, dan file runtime yang diperlukan oleh Firezone.

/usr/bin/firezone-ctl

utilitas firezone-ctl untuk mengelola instalasi Firezone Anda.

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

file unit systemd untuk memulai proses supervisor runvdir Firezone.

/etc/firezone

File konfigurasi zona api.



__________________________________________________________

 

Templat Firewall

 

Halaman ini kosong di dokumen

 

_____________________________________________________________

 

Templat Firewall Nftables

 

Template firewall nftables berikut dapat digunakan untuk mengamankan server yang menjalankan Firezone. Template memang membuat beberapa asumsi; Anda mungkin perlu menyesuaikan aturan agar sesuai dengan kasus penggunaan Anda:

  • Antarmuka WireGuard diberi nama wg-firezone. Jika ini tidak benar, ubah variabel DEV_WIREGUARD agar sesuai dengan opsi konfigurasi default['firezone']['wireguard']['interface_name'].
  • Port yang didengarkan WireGuard adalah 51820. Jika Anda tidak menggunakan port default, ubah variabel WIREGUARD_PORT.
  • Hanya lalu lintas masuk berikut yang akan diizinkan ke server:
    • SSH (port TCP 22)
    • HTTP (porta TCP 80)
    • HTTPS (port TCP 443)
    • WireGuard (port UDP WIREGUARD_PORT)
    • Traceroute UDP (port UDP 33434-33524, kecepatan dibatasi hingga 500/detik)
    • ICMP dan ICMPv6 (tingkat respons ping/ping dibatasi hingga 2000/detik)
  • Hanya lalu lintas keluar berikut yang akan diizinkan dari server:
    • DNS (port UDP dan TCP 53)
    • HTTP (porta TCP 80)
    • NTP (port UDP 123)
    • HTTPS (port TCP 443)
    • Pengajuan SMTP (port TCP 587)
    • Traceroute UDP (port UDP 33434-33524, kecepatan dibatasi hingga 500/detik)
  • Lalu lintas yang tidak cocok akan dicatat. Aturan yang digunakan untuk penebangan terpisah dari aturan untuk menghentikan lalu lintas dan dibatasi tarif. Menghapus aturan logging yang relevan tidak akan memengaruhi lalu lintas.

Aturan yang Dikelola Firezone​,war

Firezone mengonfigurasi aturan nftablesnya sendiri untuk mengizinkan/menolak lalu lintas ke tujuan yang dikonfigurasi di antarmuka web dan untuk menangani NAT keluar untuk lalu lintas klien.

Menerapkan template firewall di bawah ini pada server yang sudah berjalan (bukan saat boot) akan mengakibatkan aturan Firezone dihapus. Ini mungkin memiliki implikasi keamanan.

Untuk mengatasinya, restart layanan phoenix:

firezone-ctl restart phoenix

Templat Firewall Dasar​,war

#!/usr/sbin/nft -f

 

## Hapus/siram semua aturan yang ada

aturan siram

 

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

## Nama antarmuka Internet/WAN

tentukan DEV_WAN = eth0

 

## nama antarmuka WireGuard

tentukan DEV_WIREGUARD = wg-firezone

 

## Port mendengarkan WireGuard

tentukan WIREGUARD_PORT = 51820

############################## VARIABEL AKHIR ################## ############

 

# Tabel penyaringan keluarga inet utama

filter tabel inet {

 

 # Aturan untuk lalu lintas yang diteruskan

 # Rantai ini diproses sebelum rantai maju Firezone

 rantai ke depan {

   ketik filter hook forward filter prioritas – 5; kebijakan menerima

 }

 

 # Aturan untuk lalu lintas masukan

 masukan berantai {

   ketik filter prioritas masukan kait filter; penurunan kebijakan

 

   ## Mengizinkan lalu lintas masuk ke antarmuka loopback

   aku mau \

     menerima \

     komentar “Izinkan semua lalu lintas masuk dari antarmuka loopback”

 

   ## Mengizinkan sambungan yang dibuat dan terkait

   ct negara didirikan, terkait \

     menerima \

     komentar “Izin koneksi yang didirikan/terkait”

 

   ## Izinkan lalu lintas masuk WireGuard

   iif $DEV_WAN udp dport $WIREGUARD_PORT \

     menangkal \

     menerima \

     komentar “Izinkan lalu lintas WireGuard masuk”

 

   ## Log dan taruh paket non-SYN TCP baru

   tcp flags != syn ct state baru \

     tingkat batas 100/ menit meledak 150 paket \

     awalan log “IN – Baru !SYN: “ \

     komentar “Pencatatan batas kecepatan untuk koneksi baru yang tidak memiliki flag SYN TCP”

   tcp flags != syn ct state baru \

     menangkal \

     menjatuhkan \

     komentar “Lepaskan koneksi baru yang tidak memiliki set flag SYN TCP”

 

   ## Log dan drop paket TCP dengan set flag fin/syn yang tidak valid

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

     tingkat batas 100/ menit meledak 150 paket \

     awalan log “MASUK – SIRIP TCP|DOSA: “ \

     komentar “Pencatatan batas kecepatan untuk paket TCP dengan set flag fin/syn yang tidak valid”

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

     menangkal \

     menjatuhkan \

     komentar “Jatuhkan paket TCP dengan set fin/syn flag yang tidak valid”

 

   ## Log dan taruh paket TCP dengan set flag syn/first yang tidak valid

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

     tingkat batas 100/ menit meledak 150 paket \

     awalan log “MASUK – TCP SYN|Pertama: “ \

     komentar “Pencatatan batas kecepatan untuk paket TCP dengan kumpulan tanda syn/pertama yang tidak valid”

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

     menangkal \

     menjatuhkan \

     komentar “Jatuhkan paket TCP dengan kumpulan tanda syn/pertama yang tidak valid”

 

   ## Log dan jatuhkan flag TCP yang tidak valid

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

     tingkat batas 100/ menit meledak 150 paket \

     awalan log “DI – TERAKHIR:” \

     komentar “Pencatatan batas nilai untuk flag TCP yang tidak valid (fin|syn|first|psh|ack|urg) < (fin)”

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

     menangkal \

     menjatuhkan \

     komentar “Lepaskan paket TCP dengan flag (fin|syn|first|psh|ack|urg) < (fin)”

 

   ## Log dan jatuhkan flag TCP yang tidak valid

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

     tingkat batas 100/ menit meledak 150 paket \

     awalan log “MASUK – SELESAI|PSH|URG:” \

     komentar “Pencatatan batas nilai untuk flag TCP yang tidak valid (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)”

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

     menangkal \

     menjatuhkan \

     komentar “Lepaskan paket TCP dengan flag (fin|syn|first|psh|ack|urg) == (fin|psh|urg)”

 

   ## Hentikan lalu lintas dengan status koneksi tidak valid

   status ct tidak valid \

     tingkat batas 100/ menit meledak 150 paket \

     log menandai semua awalan “MASUK – Tidak sah:” \

     komentar “Pencatatan batas kecepatan untuk lalu lintas dengan status koneksi tidak valid”

   status ct tidak valid \

     menangkal \

     menjatuhkan \

     komentar “Hentikan lalu lintas dengan status koneksi tidak valid”

 

   ## Mengizinkan respons ping/ping IPv4 tetapi batas kecepatan hingga 2000 PPS

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

     tingkat batas 2000/Kedua \

     menangkal \

     menerima \

     komentar “Izinkan gema IPv4 masuk (ping) dibatasi hingga 2000 PPS”

 

   ## Izinkan semua ICMP IPv4 masuk lainnya

   ip icmp protokol \

     menangkal \

     menerima \

     komentar “Izinkan semua ICMP IPv4 lainnya”

 

   ## Mengizinkan respons ping/ping IPv6 tetapi batas kecepatan hingga 2000 PPS

   tipe icmpv6 { balasan gema, permintaan gema } \

     tingkat batas 2000/Kedua \

     menangkal \

     menerima \

     komentar “Izinkan gema IPv6 masuk (ping) dibatasi hingga 2000 PPS”

 

   ## Izinkan semua ICMP IPv6 masuk lainnya

   meta l4proto { icmpv6 } \

     menangkal \

     menerima \

     komentar “Izinkan semua ICMP IPv6 lainnya”

 

   ## Izinkan port UDP traceroute masuk tetapi batasi hingga 500 PPS

   udp dport 33434-33524\

     tingkat batas 500/Kedua \

     menangkal \

     menerima \

     komentar “Izinkan traceroute UDP masuk dibatasi hingga 500 PPS”

 

   ## Mengizinkan SSH masuk

   tcp dport ssh ct status baru \

     menangkal \

     menerima \

     komentar “Izinkan koneksi SSH masuk”

 

   ## Mengizinkan HTTP dan HTTPS masuk

   tcp dport { http, https } ct status baru \

     menangkal \

     menerima \

     komentar “Izinkan koneksi HTTP dan HTTPS masuk”

 

   ## Catat setiap lalu lintas yang tidak cocok tetapi pencatatan batas kecepatan hingga maksimum 60 pesan/menit

   ## Kebijakan default akan diterapkan pada traffic yang tidak cocok

   tingkat batas 60/ menit meledak 100 paket \

     awalan log "DI - Jatuhkan:" \

     komentar “Catat setiap lalu lintas yang tak tertandingi”

 

   ## Hitung lalu lintas yang tak tertandingi

   menangkal \

     komentar “Hitung lalu lintas yang tidak tertandingi”

 }

 

 # Aturan untuk lalu lintas keluaran

 keluaran rantai {

   jenis filter kait keluaran filter prioritas; penurunan kebijakan

 

   ## Izinkan lalu lintas keluar ke antarmuka loopback

   oh iya \

     menerima \

     komentar “Izinkan semua lalu lintas keluar ke antarmuka loopback”

 

   ## Mengizinkan sambungan yang dibuat dan terkait

   ct negara didirikan, terkait \

     menangkal \

     menerima \

     komentar “Izin koneksi yang didirikan/terkait”

 

   ## Mengizinkan lalu lintas WireGuard keluar sebelum memutus koneksi dengan kondisi buruk

   oif $DEV_WAN olahraga udp $WIREGUARD_PORT \

     menangkal \

     menerima \

     komentar “Izinkan lalu lintas keluar WireGuard”

 

   ## Hentikan lalu lintas dengan status koneksi tidak valid

   status ct tidak valid \

     tingkat batas 100/ menit meledak 150 paket \

     log menandai semua awalan “KELUAR – Tidak sah:” \

     komentar “Pencatatan batas kecepatan untuk lalu lintas dengan status koneksi tidak valid”

   status ct tidak valid \

     menangkal \

     menjatuhkan \

     komentar “Hentikan lalu lintas dengan status koneksi tidak valid”

 

   ## Izinkan semua ICMP IPv4 keluar lainnya

   ip icmp protokol \

     menangkal \

     menerima \

     komentar “Izinkan semua jenis ICMP IPv4”

 

   ## Izinkan semua ICMP IPv6 keluar lainnya

   meta l4proto { icmpv6 } \

     menangkal \

     menerima \

     komentar “Izinkan semua jenis ICMP IPv6”

 

   ## Izinkan port UDP traceroute keluar tetapi batasi hingga 500 PPS

   udp dport 33434-33524\

     tingkat batas 500/Kedua \

     menangkal \

     menerima \

     komentar “Izin keluar traceroute UDP dibatasi hingga 500 PPS”

 

   ## Mengizinkan koneksi HTTP dan HTTPS keluar

   tcp dport { http, https } ct status baru \

     menangkal \

     menerima \

     komentar “Izinkan koneksi HTTP dan HTTPS keluar”

 

   ## Mengizinkan pengiriman SMTP keluar

   tcp dport penyerahan ct menyatakan baru \

     menangkal \

     menerima \

     komentar “Izinkan pengiriman SMTP keluar”

 

   ## Mengizinkan permintaan DNS keluar

   udp dport 53 \

     menangkal \

     menerima \

     komentar “Izinkan permintaan DNS UDP keluar”

   tcp dport 53 \

     menangkal \

     menerima \

     komentar “Izinkan permintaan DNS TCP keluar”

 

   ## Mengizinkan permintaan NTP keluar

   udp dport 123 \

     menangkal \

     menerima \

     komentar “Izinkan permintaan NTP keluar”

 

   ## Catat setiap lalu lintas yang tidak cocok tetapi pencatatan batas kecepatan hingga maksimum 60 pesan/menit

   ## Kebijakan default akan diterapkan pada traffic yang tidak cocok

   tingkat batas 60/ menit meledak 100 paket \

     awalan log "KELUAR - Jatuhkan:" \

     komentar “Catat setiap lalu lintas yang tak tertandingi”

 

   ## Hitung lalu lintas yang tak tertandingi

   menangkal \

     komentar “Hitung lalu lintas yang tidak tertandingi”

 }

 

}

 

# Tabel pemfilteran NAT utama

tabel inet nat {

 

 # Aturan untuk pra-perutean lalu lintas NAT

 praperutean rantai {

   ketik nat hook prerouting prioritas dstnat; kebijakan menerima

 }

 

 # Aturan untuk lalu lintas pasca-perutean NAT

 # Tabel ini diproses sebelum rantai pasca-perutean Firezone

 rantai postrouting {

   ketik nat hook postrouting prioritas srcnat – 5; kebijakan menerima

 }

 

}

penggunaan​,war

Firewall harus disimpan di lokasi yang relevan untuk distribusi Linux yang sedang berjalan. Untuk Debian/Ubuntu ini adalah /etc/nftables.conf dan untuk RHEL ini adalah /etc/sysconfig/nftables.conf.

nftables.service perlu dikonfigurasi untuk memulai saat boot (jika belum) setel:

systemctl aktifkan nftables.service

Jika membuat perubahan apa pun pada templat firewall, sintaks dapat divalidasi dengan menjalankan perintah pemeriksaan:

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

Pastikan untuk memvalidasi firewall berfungsi seperti yang diharapkan karena fitur nftables tertentu mungkin tidak tersedia tergantung pada rilis yang berjalan di server.



_______________________________________________________________



Telemetri

 

Dokumen ini menyajikan ikhtisar telemetri yang dikumpulkan Firezone dari instans yang dihosting sendiri dan cara menonaktifkannya.

Mengapa Firezone mengumpulkan telemetri​,war

zona api bergantung pada telemetri untuk memprioritaskan peta jalan kami dan mengoptimalkan sumber daya teknis yang kami miliki untuk menjadikan Firezone lebih baik untuk semua orang.

Telemetri yang kami kumpulkan bertujuan untuk menjawab pertanyaan-pertanyaan berikut:

  • Berapa banyak orang yang menginstal, menggunakan, dan berhenti menggunakan Firezone?
  • Fitur apa yang paling berharga, dan mana yang tidak berguna?
  • Fungsionalitas apa yang paling perlu ditingkatkan?
  • Ketika sesuatu rusak, mengapa rusak, dan bagaimana kita dapat mencegahnya terjadi di masa depan?

Bagaimana kami mengumpulkan telemetri​,war

Ada tiga tempat utama pengumpulan telemetri di Firezone:

  1. Telemetri paket. Mencakup peristiwa seperti pemasangan, pencopotan, dan pemutakhiran.
  2. Telemetri CLI dari perintah firezone-ctl.
  3. Telemetri produk yang terkait dengan portal Web.

Dalam masing-masing dari ketiga konteks ini, kami menangkap jumlah data minimum yang diperlukan untuk menjawab pertanyaan di bagian di atas.

Email admin dikumpulkan hanya jika Anda secara eksplisit ikut serta dalam pembaruan produk. Kalau tidak, informasi pengenal pribadi adalah tak pernah dikumpulkan.

Firezone menyimpan telemetri dalam instance PostHog yang dihosting sendiri yang berjalan di kluster Kubernetes pribadi, hanya dapat diakses oleh tim Firezone. Berikut adalah contoh peristiwa telemetri yang dikirim dari instans Firezone Anda ke server telemetri kami:

{

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

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

   "peristiwa": “fz_http_mulai”,

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

   "properti": {

       “$geoip_nama_kota”: “Abu terbakar”,

       “$geoip_continent_code”: “TA”,

       “$geoip_continent_name”: "Amerika Utara",

       “$geoip_kode_negara”: "KITA",

       “$geoip_nama_negara”: "Amerika Serikat",

       “$geoip_latitude”: 39.0469,

       “$geoip_bujur”: -77.4903,

       “$geoip_postal_code”: "20149",

       “$geoip_subdivision_1_code”: “VA”,

       “$geoip_subdivisi_1_nama”: “Virginia”,

       “$geoip_time_zone”: “Amerika/New_York”,

       “$ip”: "52.200.241.107",

       “$plugins_ditangguhkan”: [],

       “$plugins_gagal”: [],

       “$plugins_berhasil”: [

           “GeoIP (3)”

       ],

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

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

       “versi_kernel”: “linux 5.13.0”,

       "Versi: kapan": "0.4.6"

   },

   "elemen_rantai": ""

}

Cara menonaktifkan telemetri​,war

CATATAN

Tim pengembangan Firezone bergantung pada analitik produk untuk menjadikan Firezone lebih baik bagi semua orang. Membiarkan telemetri diaktifkan adalah satu-satunya kontribusi paling berharga yang dapat Anda berikan untuk pengembangan Firezone. Meskipun demikian, kami memahami beberapa pengguna memiliki persyaratan privasi atau keamanan yang lebih tinggi dan lebih memilih untuk menonaktifkan telemetri sama sekali. Jika itu Anda, teruslah membaca.

Telemetri diaktifkan secara default. Untuk sepenuhnya menonaktifkan telemetri produk, setel opsi konfigurasi berikut ke false di /etc/firezone/firezone.rb dan jalankan sudo firezone-ctl reconfigure untuk mengambil perubahan.

bawaan['zona api']['telemetri']['diaktifkan'] = palsu

Itu akan sepenuhnya menonaktifkan semua telemetri produk.