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.
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.
Kami dengan senang hati membantu Anda jika Anda memerlukan bantuan untuk menginstal, menyesuaikan, atau menggunakan Hailbytes VPN.
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:
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:
Penyedia kami memiliki dokumentasi untuk:
Jika penyedia identitas Anda memiliki konektor OIDC generik dan tidak tercantum di atas, buka dokumentasinya untuk informasi tentang cara mengambil pengaturan konfigurasi yang diperlukan.
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.
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.
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. 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:
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:
Setelah membuat ID klien OAuth, Anda akan diberikan ID Klien dan Rahasia Klien. Ini akan digunakan bersama dengan redirect URI di langkah selanjutnya.
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.
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:
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:
Setelah pengaturan disimpan, Anda akan diberikan ID Klien, Rahasia Klien, dan Domain Okta. 3 nilai ini akan digunakan pada Langkah 2 untuk mengonfigurasi 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.
Pengguna yang dapat mengakses aplikasi Firezone dapat dibatasi oleh Okta. Buka halaman Penugasan Integrasi Aplikasi Firezone Konsol Admin Okta untuk melakukannya.
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:
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:
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.
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.
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.
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.
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.
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:
Jika ada masalah yang muncul, beri tahu kami melalui mengirimkan tiket dukungan.
Ada beberapa perubahan dan modifikasi konfigurasi di 0.5.0 yang harus diatasi. Cari tahu lebih lanjut di bawah ini.
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 ).
0.5.0 memperkenalkan dukungan protokol ACME untuk memperbarui sertifikat SSL secara otomatis dengan paket layanan Nginx. Untuk mengaktifkan,
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.
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.
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.
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.
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.
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
Memeriksa log Firezone adalah langkah pertama yang bijak untuk setiap masalah yang dapat terjadi.
Jalankan sudo firezone-ctl tail untuk melihat log Firezone.
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.
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)
Kami menyarankan untuk membatasi akses ke antarmuka web untuk penerapan produksi yang sangat sensitif dan sangat penting, seperti yang dijelaskan di bawah ini.
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. |
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.
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:
/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
Setelah Firezone berhasil diterapkan, Anda harus menambahkan pengguna untuk memberi mereka akses ke jaringan Anda. UI Web digunakan untuk melakukan ini.
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
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.
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.
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.
Instal dan konfigurasikan
Untuk membuat koneksi VPN menggunakan klien WireGuard asli, lihat panduan ini.
Klien Resmi WireGuard yang berlokasi di sini kompatibel dengan Firezone:
Kunjungi situs resmi WireGuard di https://www.wireguard.com/install/ untuk sistem OS yang tidak disebutkan di atas.
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]
Impor file .conf ke klien WireGuard dengan membukanya. Dengan membalik tombol Aktifkan, Anda dapat memulai sesi VPN.
[Masukkan Tangkapan Layar]
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).
[Masukkan Tangkapan Layar]
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]
[Masukkan Tangkapan Layar]
Untuk mengimpor profil konfigurasi WireGuard menggunakan Network Manager CLI di perangkat Linux, ikuti petunjuk ini (nmcli).
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
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.
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]
Impor file konfigurasi yang disediakan menggunakan nmcli:
koneksi sudo nmcli jenis impor wireguard file /path/to/configuration.conf
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]
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.
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
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.
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.
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.
Firezone memilih antarmuka jalan keluar yang terkait dengan rute paling tepat terlebih dahulu saat menentukan ke mana harus merutekan paket.
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
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.
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.
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.
IP yang diizinkan = 10.3.2.3/32
Ini adalah IP atau rentang IP Perangkat A
PersistenKeepalive = 25
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.
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.
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.
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.
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]<<<<<<<<<<<<<<<<<<<<<<<<<<
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).
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.
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'] | 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'] | {} | |
default['firezone']['database']['parameter'] | {} | |
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'] | 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 |
________________________________________________________________
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. |
__________________________________________________________
Halaman ini kosong di dokumen
_____________________________________________________________
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:
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
#!/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
}
}
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.
_______________________________________________________________
Dokumen ini menyajikan ikhtisar telemetri yang dikumpulkan Firezone dari instans yang dihosting sendiri dan cara menonaktifkannya.
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:
Ada tiga tempat utama pengumpulan telemetri di Firezone:
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": ""
}
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.
Salambyte
9511 Penjaga Ratu Ct.
Laurel, MD 20723
Telepon: (732) 771-9995
Surel: info@hailbytes.com