Hailbytes VPN mit Firezone-Firewall-Dokumentation

Inhaltsverzeichnis

Loslegen

Eine Schritt-für-Schritt-Anleitung zum Bereitstellen von Hailbytes VPN mit der Firezone-GUI finden Sie hier. 

Verwalten: Das Einrichten der Serverinstanz steht in direktem Zusammenhang mit diesem Teil.

Benutzerhandbücher: Hilfreiche Dokumente, die Ihnen die Verwendung von Firezone beibringen und typische Probleme lösen können. Nachdem der Server erfolgreich bereitgestellt wurde, lesen Sie diesen Abschnitt.

Leitfäden für allgemeine Konfigurationen

Split-Tunneling: Verwenden Sie das VPN, um Datenverkehr nur an bestimmte IP-Bereiche zu senden.

Whitelisting: Legen Sie die statische IP-Adresse eines VPN-Servers fest, um Whitelisting zu verwenden.

Reverse-Tunnel: Erstellen Sie Tunnel zwischen mehreren Peers mithilfe von Reverse-Tunneln.

Unterstutzung Holen

Wir helfen Ihnen gerne, wenn Sie Hilfe bei der Installation, Anpassung oder Nutzung von Hailbytes VPN benötigen.

Authentifizierung

Bevor Benutzer Gerätekonfigurationsdateien erstellen oder herunterladen können, kann Firezone so konfiguriert werden, dass eine Authentifizierung erforderlich ist. Benutzer müssen sich möglicherweise auch regelmäßig neu authentifizieren, um ihre VPN-Verbindung aktiv zu halten.

Obwohl die Standard-Anmeldemethode von Firezone lokale E-Mail und Passwort ist, kann sie auch in jeden standardisierten OpenID Connect (OIDC)-Identitätsanbieter integriert werden. Benutzer können sich jetzt mit ihren Anmeldeinformationen von Okta, Google, Azure AD oder privaten Identitätsanbietern bei Firezone anmelden.

 

Integrieren Sie einen generischen OIDC-Anbieter

Die von Firezone benötigten Konfigurationsparameter, um SSO über einen OIDC-Anbieter zu ermöglichen, sind im folgenden Beispiel dargestellt. Unter /etc/firezone/firezone.rb finden Sie die Konfigurationsdatei. Führen Sie firezone-ctl reconfigure und firezone-ctl restart aus, um die Anwendung zu aktualisieren und Änderungen zu übernehmen.

 

# Dies ist ein Beispiel mit Google und Okta als SSO-Identitätsanbieter.

# Mehrere OIDC-Konfigurationen können derselben Firezone-Instanz hinzugefügt werden.

 

# Firezone kann das VPN eines Benutzers deaktivieren, wenn beim Versuch ein Fehler erkannt wird

# um ihr access_token zu aktualisieren. Dies funktioniert nachweislich für Google, Okta und

# Azure SSO und wird verwendet, um das VPN eines Benutzers automatisch zu trennen, wenn er entfernt wird

# vom OIDC-Anbieter. Lassen Sie dies bei Ihrem OIDC-Anbieter deaktiviert

# hat Probleme beim Aktualisieren von Zugriffstoken, da es a unerwartet unterbrechen könnte

# VPN-Sitzung des Nutzers.

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

 

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

  Google: {

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

    Kunden ID: " “,

    client_secret: „ “,

    Umleitungs-URI: „https://instance-id.yourfirezone.com/auth/oidc/google/callback/“,

    Antworttyp: "Code",

    Geltungsbereich: „openid-E-Mail-Profil“,

    Bezeichnung: „Google“

  },

  Okta: {

    Discovery_document_uri: „https:// /.well-known/openid-configuration“,

    Kunden ID: " “,

    client_secret: „ “,

    Umleitungs-URI: „https://instance-id.yourfirezone.com/auth/oidc/okta/callback/“,

    Antworttyp: "Code",

    Geltungsbereich: „openid E-Mail-Profil offline_access“,

    Label: „Okta“

  }

}



Für die Integration sind folgende Konfigurationseinstellungen erforderlich:

  1. discovery_document_uri: Die Konfigurations-URI des OpenID Connect-Anbieters die ein JSON-Dokument zurückgibt, das verwendet wird, um nachfolgende Anforderungen an diesen OIDC-Anbieter zu erstellen.
  2. client_id: Die Client-ID der Anwendung.
  3. client_secret: Das Client-Geheimnis der Anwendung.
  4. forward_uri: Weist den OIDC-Anbieter an, wohin er nach der Authentifizierung umleiten soll. Dies sollte Ihre Firezone EXTERNAL_URL + /auth/oidc/ sein /callback/ (zB https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Auf Code gesetzt.
  6. Umfang: OIDC-Bereiche von Ihrem OIDC-Anbieter zu erhalten. Dies sollte je nach Anbieter auf openid email profile oder openid email profile offline_access eingestellt werden.
  7. label: Der Beschriftungstext der Schaltfläche, der auf Ihrem Firezone-Anmeldebildschirm angezeigt wird.

Hübsche URLs

Für jeden OIDC-Anbieter wird eine entsprechende hübsche URL zum Weiterleiten an die Anmelde-URL des konfigurierten Anbieters erstellt. Für die obige Beispiel-OIDC-Konfiguration lauten die URLs:

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

Anweisungen für die Einrichtung von Firezone mit gängigen Identitätsanbietern

Anbieter, für die wir Dokumentation haben:

  • Google
  • Okta
  • Azure Active Directory
  • Onelogin
  • Lokale Authentifizierung

 

Wenn Ihr Identitätsanbieter über einen generischen OIDC-Konnektor verfügt und oben nicht aufgeführt ist, finden Sie in seiner Dokumentation Informationen zum Abrufen der erforderlichen Konfigurationseinstellungen.

Pflegen Sie die regelmäßige Re-Authentifizierung

Die Einstellung unter Einstellungen/Sicherheit kann so geändert werden, dass eine regelmäßige Neuauthentifizierung erforderlich ist. Dies kann verwendet werden, um die Anforderung durchzusetzen, dass Benutzer Firezone regelmäßig betreten müssen, um ihre VPN-Sitzung fortzusetzen.

Die Sitzungsdauer kann zwischen einer Stunde und neunzig Tagen konfiguriert werden. Indem Sie dies auf Nie setzen, können Sie VPN-Sitzungen jederzeit aktivieren. Dies ist die Norm.

Re-Authentifizierung

Ein Benutzer muss seine VPN-Sitzung beenden und sich beim Firezone-Portal anmelden, um eine abgelaufene VPN-Sitzung erneut zu authentifizieren (URL wird während der Bereitstellung angegeben).

Sie können Ihre Sitzung erneut authentifizieren, indem Sie die genauen Client-Anweisungen befolgen, die Sie hier finden.

 

Status der VPN-Verbindung

Die Tabellenspalte „VPN-Verbindung“ auf der Seite „Benutzer“ zeigt den Verbindungsstatus eines Benutzers an. Dies sind die Verbindungsstatus:

ENABLED – Die Verbindung ist aktiviert.

DEAKTIVIERT – Die Verbindung wurde durch einen Administrator oder einen OIDC-Aktualisierungsfehler deaktiviert.

ABGELAUFEN – Die Verbindung wurde aufgrund des Ablaufs der Authentifizierung deaktiviert oder ein Benutzer hat sich nicht zum ersten Mal angemeldet.

Google

Über den allgemeinen OIDC-Konnektor ermöglicht Firezone Single Sign-On (SSO) mit Google Workspace und Cloud Identity. Diese Anleitung zeigt Ihnen, wie Sie die unten aufgeführten Konfigurationsparameter erhalten, die für die Integration notwendig sind:

  1. discovery_document_uri: Die Konfigurations-URI des OpenID Connect-Anbieters die ein JSON-Dokument zurückgibt, das verwendet wird, um nachfolgende Anforderungen an diesen OIDC-Anbieter zu erstellen.
  2. client_id: Die Client-ID der Anwendung.
  3. client_secret: Das Client-Geheimnis der Anwendung.
  4. forward_uri: Weist den OIDC-Anbieter an, wohin er nach der Authentifizierung umleiten soll. Dies sollte Ihre Firezone EXTERNAL_URL + /auth/oidc/ sein /callback/ (zB https://instance-id.yourfirezone.com/auth/oidc/google/callback/).
  5. response_type: Auf Code gesetzt.
  6. Umfang: OIDC-Bereiche von Ihrem OIDC-Anbieter zu erhalten. Dies sollte auf das openid-E-Mail-Profil festgelegt werden, um Firezone die E-Mail-Adresse des Benutzers in den zurückgegebenen Ansprüchen bereitzustellen.
  7. label: Der Beschriftungstext der Schaltfläche, der auf Ihrem Firezone-Anmeldebildschirm angezeigt wird.

Rufen Sie Konfigurationseinstellungen ab

1. OAuth-Konfigurationsbildschirm

Wenn Sie zum ersten Mal eine neue OAuth-Client-ID erstellen, werden Sie aufgefordert, einen Zustimmungsbildschirm zu konfigurieren.

*Wählen Sie Intern als Benutzertyp aus. Dadurch wird sichergestellt, dass nur Konten von Nutzern in Ihrer Google Workspace-Organisation Gerätekonfigurationen erstellen können. Wählen Sie NICHT Extern aus, es sei denn, Sie möchten jedem mit einem gültigen Google-Konto ermöglichen, Gerätekonfigurationen zu erstellen.

 

Auf dem App-Informationsbildschirm:

  1. App-Name: Firezone
  2. App-Logo: Firezone-Logo (Verknüpfung speichern unter).
  3. Anwendungsstartseite: die URL Ihrer Firezone-Instanz.
  4. Autorisierte Domains: die Top-Level-Domain Ihrer Firezone-Instanz.

 

 

2. Erstellen Sie OAuth-Client-IDs

Dieser Abschnitt basiert auf der eigenen Dokumentation von Google OAuth 2.0 einrichten.

Besuchen Sie die Google Cloud Console Anmeldeseite Klicken Sie auf der Seite + Anmeldeinformationen erstellen und wählen Sie OAuth-Client-ID aus.

Auf dem OAuth-Client-ID-Erstellungsbildschirm:

  1. Legen Sie den Anwendungstyp auf Webanwendung fest
  2. Fügen Sie Ihre Firezone EXTERNAL_URL + /auth/oidc/google/callback/ (z. B. https://instance-id.yourfirezone.com/auth/oidc/google/callback/) als Eintrag zu Authorized Redirect URIs hinzu.

 

Nachdem Sie die OAuth-Client-ID erstellt haben, erhalten Sie eine Client-ID und ein Client-Geheimnis. Diese werden im nächsten Schritt zusammen mit der Weiterleitungs-URI verwendet.

Firezone-Integration

Bearbeiten /etc/firezone/firezone.rb um die folgenden Optionen einzuschließen:

 

# Verwendung von Google als SSO-Identitätsanbieter

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

  Google: {

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

    Kunden ID: " “,

    client_secret: „ “,

    Umleitungs-URI: „https://instance-id.yourfirezone.com/auth/oidc/google/callback/“,

    Antworttyp: "Code",

    Geltungsbereich: „openid-E-Mail-Profil“,

    Bezeichnung: „Google“

  }

}

 

Führen Sie firezone-ctl reconfigure und firezone-ctl restart aus, um die Anwendung zu aktualisieren. Sie sollten jetzt eine Schaltfläche „Mit Google anmelden“ unter der Root-Firezone-URL sehen.

Okta

Firezone verwendet den generischen OIDC-Konnektor, um Single Sign-On (SSO) mit Okta zu erleichtern. Dieses Tutorial zeigt Ihnen, wie Sie die unten aufgeführten Konfigurationsparameter erhalten, die für die Integration notwendig sind:

  1. discovery_document_uri: Die Konfigurations-URI des OpenID Connect-Anbieters die ein JSON-Dokument zurückgibt, das verwendet wird, um nachfolgende Anforderungen an diesen OIDC-Anbieter zu erstellen.
  2. client_id: Die Client-ID der Anwendung.
  3. client_secret: Das Client-Geheimnis der Anwendung.
  4. forward_uri: Weist den OIDC-Anbieter an, wohin er nach der Authentifizierung umleiten soll. Dies sollte Ihre Firezone EXTERNAL_URL + /auth/oidc/ sein /callback/ (zB https://instance-id.yourfirezone.com/auth/oidc/okta/callback/).
  5. response_type: Auf Code gesetzt.
  6. Umfang: OIDC-Bereiche von Ihrem OIDC-Anbieter zu erhalten. Dies sollte auf openid email profile offline_access gesetzt werden, um Firezone die E-Mail-Adresse des Benutzers in den zurückgegebenen Ansprüchen bereitzustellen.
  7. label: Der Beschriftungstext der Schaltfläche, der auf Ihrem Firezone-Anmeldebildschirm angezeigt wird.

 

Integrieren Sie die Okta-App

Dieser Abschnitt des Leitfadens basiert auf Oktas Dokumentation.

Gehen Sie in der Admin-Konsole zu Anwendungen > Anwendungen und klicken Sie auf App-Integration erstellen. Legen Sie die Anmeldemethode auf OICD – OpenID Connect und den Anwendungstyp auf Webanwendung fest.

Konfigurieren Sie diese Einstellungen:

  1. App-Name: Firezone
  2. App-Logo: Firezone-Logo (Verknüpfung speichern unter).
  3. Gewährungstyp: Aktivieren Sie das Kontrollkästchen Aktualisierungstoken. Dadurch wird sichergestellt, dass Firezone mit dem Identitätsanbieter synchronisiert und der VPN-Zugriff beendet wird, sobald der Benutzer entfernt wird.
  4. Anmeldeumleitungs-URIs: Fügen Sie Ihre Firezone EXTERNAL_URL + /auth/oidc/okta/callback/ (z. B. https://instance-id.yourfirezone.com/auth/oidc/okta/callback/) als Eintrag zu Autorisierte Umleitungs-URIs hinzu .
  5. Zuweisungen: Beschränken Sie sich auf die Gruppen, denen Sie Zugriff auf Ihre Firezone-Instanz gewähren möchten.

Sobald die Einstellungen gespeichert sind, erhalten Sie eine Client-ID, ein Client-Geheimnis und eine Okta-Domäne. Diese 3 Werte werden in Schritt 2 verwendet, um Firezone zu konfigurieren.

Integrieren Sie Firezone

Bearbeiten /etc/firezone/firezone.rb um die folgenden Optionen einzuschließen. Dein Discovery_document_url wird sein /.well-known/openid-configuration an das Ende Ihrer angehängt okta_domain.

 

# Verwendung von Okta als SSO-Identitätsanbieter

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

  Okta: {

    Discovery_document_uri: „https:// /.well-known/openid-configuration“,

    Kunden ID: " “,

    client_secret: „ “,

    Umleitungs-URI: „https://instance-id.yourfirezone.com/auth/oidc/okta/callback/“,

    Antworttyp: "Code",

    Geltungsbereich: „openid E-Mail-Profil offline_access“,

    Label: „Okta“

  }

}

 

Führen Sie firezone-ctl reconfigure und firezone-ctl restart aus, um die Anwendung zu aktualisieren. Sie sollten jetzt die Schaltfläche Mit Okta anmelden unter der Stamm-Firezone-URL sehen.

 

Beschränken Sie den Zugriff auf bestimmte Benutzer

Die Benutzer, die auf die Firezone-App zugreifen können, können von Okta eingeschränkt werden. Rufen Sie dazu die Seite „Zuweisungen“ der Firezone-App-Integration Ihrer Okta-Admin-Konsole auf.

Azure Active Directory

Über den generischen OIDC-Connector ermöglicht Firezone Single Sign-On (SSO) mit Azure Active Directory. Dieses Handbuch zeigt Ihnen, wie Sie die unten aufgeführten Konfigurationsparameter erhalten, die für die Integration notwendig sind:

  1. discovery_document_uri: Die Konfigurations-URI des OpenID Connect-Anbieters die ein JSON-Dokument zurückgibt, das verwendet wird, um nachfolgende Anforderungen an diesen OIDC-Anbieter zu erstellen.
  2. client_id: Die Client-ID der Anwendung.
  3. client_secret: Das Client-Geheimnis der Anwendung.
  4. forward_uri: Weist den OIDC-Anbieter an, wohin er nach der Authentifizierung umleiten soll. Dies sollte Ihre Firezone EXTERNAL_URL + /auth/oidc/ sein /callback/ (zB https://instance-id.yourfirezone.com/auth/oidc/azure/callback/).
  5. response_type: Auf Code gesetzt.
  6. Umfang: OIDC-Bereiche von Ihrem OIDC-Anbieter zu erhalten. Dies sollte auf openid email profile offline_access gesetzt werden, um Firezone die E-Mail-Adresse des Benutzers in den zurückgegebenen Ansprüchen bereitzustellen.
  7. label: Der Beschriftungstext der Schaltfläche, der auf Ihrem Firezone-Anmeldebildschirm angezeigt wird.

Konfigurationseinstellungen abrufen

Dieser Leitfaden stammt aus der Azure Active Directory-Dokumentation.

 

Wechseln Sie zur Azure Active Directory-Seite des Azure-Portals. Wählen Sie die Menüoption Verwalten, wählen Sie Neue Registrierung und registrieren Sie sich dann, indem Sie die folgenden Informationen angeben:

  1. Name: Feuerzone
  2. Unterstützte Kontotypen: (nur Standardverzeichnis – Einzelmandant)
  3. Umleitungs-URI: Dies sollte Ihre Firezone EXTERNAL_URL + /auth/oidc/azure/callback/ sein (z. B. https://instance-id.yourfirezone.com/auth/oidc/azure/callback/). Stellen Sie sicher, dass Sie den abschließenden Schrägstrich einfügen. Dies ist der forward_uri-Wert.

 

Öffnen Sie nach der Registrierung die Detailansicht der Bewerbung und kopieren Sie die Anwendungs-ID (Client-ID). Dies ist der client_id-Wert. Öffnen Sie als Nächstes das Endpunktmenü, um die abzurufen OpenID Connect-Metadatendokument. Dies ist der Wert discovery_document_uri.

 

Erstellen Sie ein neues Client-Geheimnis, indem Sie im Menü „Verwalten“ auf die Option „Zertifikate und Geheimnisse“ klicken. Kopieren Sie das Client-Geheimnis; Der Client-Secret-Wert ist dies.

 

Wählen Sie zuletzt den Link API-Berechtigungen im Menü Verwalten aus und klicken Sie auf Berechtigung hinzufügen, und wählen Sie Microsoft Graph. Hinzufügen E-Mail, openid, offline_zugriff und profile zu den erforderlichen Berechtigungen.

Firezone-Integration

Bearbeiten /etc/firezone/firezone.rb um die folgenden Optionen einzuschließen:

 

# Verwendung von Azure Active Directory als SSO-Identitätsanbieter

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

  azurblau: {

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

    Kunden ID: " “,

    client_secret: „ “,

    Umleitungs-URI: „https://instance-id.yourfirezone.com/auth/oidc/azure/callback/“,

    Antworttyp: "Code",

    Geltungsbereich: „openid E-Mail-Profil offline_access“,

    Etikett: „Azur“

  }

}

 

Führen Sie firezone-ctl reconfigure und firezone-ctl restart aus, um die Anwendung zu aktualisieren. Sie sollten jetzt eine Schaltfläche Mit Azure anmelden unter der Stamm-Firezone-URL sehen.

Gewusst wie: Beschränken Sie den Zugriff auf bestimmte Mitglieder

Azure AD ermöglicht es Administratoren, den App-Zugriff auf eine bestimmte Gruppe von Benutzern in Ihrem Unternehmen zu beschränken. Weitere Informationen dazu finden Sie in der Dokumentation von Microsoft.

Verwalten

  • Einrichtung
  • Installation verwalten
  • Upgrade
  • Problembehandlung
  • Sicherheitsüberlegungen
  • Ausführen von SQL-Abfragen

Einrichtung

Chef Omnibus wird von Firezone verwendet, um Aufgaben zu verwalten, einschließlich Release-Paketierung, Prozessüberwachung, Protokollverwaltung und mehr.

Ruby-Code bildet die primäre Konfigurationsdatei, die sich unter /etc/firezone/firezone.rb befindet. Der Neustart von sudo firezone-ctl reconfigure nach Änderungen an dieser Datei bewirkt, dass Chef die Änderungen erkennt und sie auf das aktuelle Betriebssystem anwendet.

Eine vollständige Liste der Konfigurationsvariablen und ihrer Beschreibungen finden Sie in der Referenz zur Konfigurationsdatei.

Installation verwalten

Ihre Firezone-Instanz kann über die verwaltet werden firezone-ctl Befehl, wie unten gezeigt. Die meisten Unterbefehle müssen mit vorangestellt werden sudo.

 

root@demo:~# firezone-ctl

omnibus-ctl: Befehl (Unterbefehl)

Allgemeine Befehle:

  reinigen

    Löschen Sie *alle* Firezone-Daten und beginnen Sie von vorne.

  Administrator erstellen oder zurücksetzen

    Setzt das Passwort für den Administrator mit der standardmäßig angegebenen E-Mail-Adresse ['firezone']['admin_email'] zurück oder erstellt einen neuen Administrator, wenn diese E-Mail-Adresse nicht existiert.

  Hilfe

    Drucken Sie diese Hilfemeldung aus.

  neu konfigurieren

    Konfigurieren Sie die Anwendung neu.

  Reset-Netzwerk

    Setzt nftables, WireGuard-Schnittstelle und Routing-Tabelle auf die Firezone-Standardwerte zurück.

  show-config

    Zeigt die Konfiguration an, die durch Reconfigure generiert würde.

  Teardown-Netzwerk

    Entfernt die WireGuard-Schnittstelle und die Firezone-nftables-Tabelle.

  Force-Cert-Renewal

    Erneuerung des Zertifikats jetzt erzwingen, auch wenn es noch nicht abgelaufen ist.

  Stop-Zertifikat-Erneuerung

    Entfernt Cronjob, der Zertifikate erneuert.

  Deinstallieren

    Beenden Sie alle Prozesse und deinstallieren Sie den Prozess-Supervisor (Daten bleiben erhalten).

  Version

    Aktuelle Version von Firezone anzeigen

Dienstverwaltungsbefehle:

  anmutig töten

    Versuchen Sie einen eleganten Stopp, dann SIGKILL die gesamte Prozessgruppe.

  hup

    Senden Sie den Diensten ein HUP.

  int

    Senden Sie den Diensten eine INT.

  töten

    Senden Sie den Diensten einen KILL.

  einmal

    Starten Sie die Dienste, wenn sie heruntergefahren sind. Starten Sie sie nicht neu, wenn sie anhalten.

  Wiederaufnahme

    Stoppen Sie die Dienste, falls sie ausgeführt werden, und starten Sie sie dann erneut.

  Service-Liste

    Alle Dienste auflisten (aktivierte Dienste werden mit einem * angezeigt.)

  Anfang

    Starten Sie Dienste, wenn sie ausgefallen sind, und starten Sie sie neu, wenn sie angehalten werden.

  Status

    Zeigen Sie den Status aller Dienste an.

  halt

    Beenden Sie die Dienste und starten Sie sie nicht neu.

  Schwanz

    Sehen Sie sich die Dienstprotokolle aller aktivierten Dienste an.

  Begriff

    Senden Sie den Diensten eine Laufzeit.

  usr1

    Senden Sie den Diensten eine USR1.

  usr2

    Senden Sie den Diensten eine USR2.

Upgrade

Alle VPN-Sitzungen müssen vor dem Upgrade von Firezone beendet werden, was auch das Herunterfahren der Web-Benutzeroberfläche erfordert. Falls während des Upgrades etwas schief geht, empfehlen wir, eine Stunde für die Wartung einzuplanen.

 

Führen Sie die folgenden Aktionen aus, um Firezone zu verbessern:

  1. Aktualisieren Sie das Firezone-Paket mit der Ein-Befehl-Installation: sudo -E bash -c „$(curl -fsSL https://github.com/firezone/firezone/raw/master/scripts/install.sh)“
  2. Führen Sie firezone-ctl reconfigure aus, um die neuen Änderungen zu übernehmen.
  3. Führen Sie firezone-ctl restart aus, um Dienste neu zu starten.

Sollten Probleme auftreten, teilen Sie uns dies bitte per mit Einreichen eines Support-Tickets.

Upgrade von <0.5.0 auf >=0.5.0

Es gibt einige Breaking Changes und Konfigurationsmodifikationen in 0.5.0, die berücksichtigt werden müssen. Erfahren Sie weiter unten mehr.

Gebündelte Nginx non_ssl_port (HTTP)-Anfragen entfernt

Nginx unterstützt ab Version 0.5.0 nicht mehr die erzwungenen SSL- und Nicht-SSL-Portparameter. Da Firezone SSL benötigt, um zu funktionieren, empfehlen wir, den gebündelten Nginx-Dienst zu entfernen, indem Sie default['firezone']['nginx']['enabled'] = false setzen und Ihren Reverse-Proxy stattdessen an die Phoenix-App auf Port 13000 leiten (standardmäßig ).

Unterstützung des ACME-Protokolls

0.5.0 führt ACME-Protokollunterstützung für die automatische Erneuerung von SSL-Zertifikaten mit dem gebündelten Nginx-Dienst ein. Ermöglichen,

  • Stellen Sie sicher, dass default['firezone']['external_url'] einen gültigen FQDN enthält, der zur öffentlichen IP-Adresse Ihres Servers aufgelöst wird.
  • Stellen Sie sicher, dass Port 80/tcp erreichbar ist
  • Aktivieren Sie die ACME-Protokollunterstützung mit default['firezone']['ssl']['acme']['enabled'] = true in Ihrer Konfigurationsdatei.

Überlappende Egress-Regelziele

Die Möglichkeit, Regeln mit doppelten Zielen hinzuzufügen, ist in Firezone 0.5.0 verschwunden. Unser Migrationsskript wird diese Situationen bei einem Upgrade auf 0.5.0 automatisch erkennen und nur die Regeln beibehalten, deren Ziel die andere Regel enthält. Es gibt nichts, was Sie tun müssen, wenn dies in Ordnung ist.

Andernfalls empfehlen wir Ihnen, vor dem Upgrade Ihren Regelsatz zu ändern, um diese Situationen zu beseitigen.

Okta und Google SSO vorkonfigurieren

Firezone 0.5.0 entfernt die Unterstützung für die Okta- und Google-SSO-Konfiguration im alten Stil zugunsten der neuen, flexibleren OIDC-basierten Konfiguration. 

Wenn Sie eine Konfiguration unter den Schlüsseln default['firezone']['authentication']['okta'] oder default['firezone']['authentication']['google'] haben, müssen Sie diese zu unserem OIDC migrieren -basierte Konfiguration mit der Anleitung unten.

Vorhandene Google OAuth-Konfiguration

Entfernen Sie diese Zeilen mit den alten Google-OAuth-Konfigurationen aus Ihrer Konfigurationsdatei unter /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']

 

Konfigurieren Sie dann Google als OIDC-Anbieter, indem Sie die hier beschriebenen Verfahren befolgen.

(Geben Sie Linkanweisungen an)<<<<<<<<<<<<<<<<

 

Konfigurieren Sie vorhandenes Google OAuth 

Entfernen Sie diese Zeilen mit den alten Okta-OAuth-Konfigurationen aus Ihrer Konfigurationsdatei unter /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']

 

Konfigurieren Sie dann Okta als OIDC-Anbieter, indem Sie die hier beschriebenen Verfahren befolgen.

Upgrade von 0.3.x auf >= 0.3.16

Befolgen Sie je nach Ihrer aktuellen Einrichtung und Version die folgenden Anweisungen:

Wenn Sie bereits eine OIDC-Integration haben:

Bei einigen OIDC-Anbietern erfordert das Upgrade auf >= 0.3.16 das Anfordern eines Aktualisierungstokens für den Offlinezugriffsbereich. Dadurch wird sichergestellt, dass Firezone mit dem Identitätsanbieter aktualisiert und die VPN-Verbindung nach dem Löschen eines Benutzers getrennt wird. Den früheren Iterationen von Firezone fehlte diese Funktion. In einigen Fällen können Benutzer, die von Ihrem Identitätsanbieter gelöscht wurden, immer noch mit einem VPN verbunden sein.

Für OIDC-Anbieter, die den Bereich Offline-Zugriff unterstützen, muss der Offline-Zugriff in den Bereichsparameter Ihrer OIDC-Konfiguration aufgenommen werden. Firezone-ctl reconfigure muss ausgeführt werden, um Änderungen an der Firezone-Konfigurationsdatei anzuwenden, die sich unter /etc/firezone/firezone.rb befindet.

Für Benutzer, die von Ihrem OIDC-Anbieter authentifiziert wurden, sehen Sie die Überschrift OIDC-Verbindungen auf der Benutzerdetailseite der Webbenutzeroberfläche, wenn Firezone das Aktualisierungstoken erfolgreich abrufen kann.

Wenn dies nicht funktioniert, müssen Sie Ihre vorhandene OAuth-App löschen und die OIDC-Einrichtungsschritte bis wiederholen Erstellen Sie eine neue App-Integration .

Ich habe eine bestehende OAuth-Integration

Vor 0.3.11 verwendete Firezone vorkonfigurierte OAuth2-Anbieter. 

Folge den Anweisungen hier auf OIDC migrieren.

Ich habe keinen Identity Provider integriert

Keine Handlung nötig. 

Sie können den Anweisungen folgen hier um SSO über einen OIDC-Anbieter zu aktivieren.

Upgrade von 0.3.1 auf >= 0.3.2

An ihrer Stelle hat default['firezone']['external url'] die Konfigurationsoption default['firezone']['fqdn'] ersetzt. 

Setzen Sie dies auf die URL Ihres Firezone-Online-Portals, das für die breite Öffentlichkeit zugänglich ist. Es wird standardmäßig https:// plus den FQDN Ihres Servers sein, wenn er undefiniert bleibt.

Die Konfigurationsdatei befindet sich unter /etc/firezone/firezone.rb. Eine vollständige Liste der Konfigurationsvariablen und ihrer Beschreibungen finden Sie in der Referenz zur Konfigurationsdatei.

Upgrade von 0.2.x auf 0.3.x

Firezone speichert ab Version 0.3.0 keine privaten Geräteschlüssel mehr auf dem Firezone-Server. 

Die Firezone-Webbenutzeroberfläche erlaubt Ihnen nicht, diese Konfigurationen erneut herunterzuladen oder anzuzeigen, aber alle vorhandenen Geräte sollten weiterhin so funktionieren, wie sie sind.

Upgrade von 0.1.x auf 0.2.x

Wenn Sie von Firezone 0.1.x aktualisieren, gibt es einige Änderungen an der Konfigurationsdatei, die manuell vorgenommen werden müssen. 

Führen Sie die folgenden Befehle als root aus, um die erforderlichen Änderungen an Ihrer /etc/firezone/firezone.rb-Datei vorzunehmen.

 

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

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

echo „default['firezone']['connectivity_checks']['enabled'] = true“ >> /etc/firezone/firezone.rb

echo „default['firezone']['connectivity_checks']['interval'] = 3_600“ >> /etc/firezone/firezone.rb

firezone-ctl neu konfigurieren

firezone-ctl neustarten

Problemlösung

Das Überprüfen der Firezone-Protokolle ist ein kluger erster Schritt für alle Probleme, die auftreten können.

Führen Sie sudo firezone-ctl tail aus, um die Firezone-Protokolle anzuzeigen.

Debuggen von Verbindungsproblemen

Die meisten Verbindungsprobleme mit Firezone werden durch inkompatible iptables- oder nftables-Regeln verursacht. Sie müssen sicherstellen, dass Ihre gültigen Regeln nicht mit den Firezone-Regeln kollidieren.

Die Internetverbindung wird unterbrochen, wenn der Tunnel aktiv ist

Stellen Sie sicher, dass die FORWARD-Kette Pakete von Ihren WireGuard-Clients zu den Standorten zulässt, die Sie Firezone passieren lassen möchten, wenn sich Ihre Internetverbindung bei jeder Aktivierung Ihres WireGuard-Tunnels verschlechtert.

 

Dies kann erreicht werden, wenn Sie ufw verwenden, indem Sie sicherstellen, dass die Standard-Routingrichtlinie allow ist:

 

ubuntu@fz:~$ sudo ufw default geroutet zulassen

Die standardmäßige Routing-Richtlinie wurde in „Zulassen“ geändert

(Stellen Sie sicher, dass Sie Ihre Regeln entsprechend aktualisieren)

 

A ufw Status für einen typischen Firezone-Server könnte so aussehen:

 

ubuntu@fz:~$ sudo ufw status ausführlich

Status: aktiv

Protokollierung: an (niedrig)

Standard: ablehnen (eingehend), zulassen (ausgehend), zulassen (weitergeleitet)

Neue Profile: überspringen

 

Bis Aktion von

— —— —-

22/tcp ERLAUBEN überall

80/tcp ERLAUBEN überall

443/tcp ERLAUBEN überall

51820/udp ERLAUBEN überall

22/tcp (v6) ERLAUBEN überall (v6)

80/tcp (v6) ERLAUBEN überall (v6)

443/tcp (v6) ERLAUBEN überall (v6)

51820/udp (v6) ERLAUBEN überall (v6)

Sicherheitsüberlegungen

Wir empfehlen, den Zugriff auf die Webschnittstelle für äußerst sensible und geschäftskritische Produktionsbereitstellungen zu beschränken, wie unten erläutert.

Dienstleistungen & Häfen

 

Service

Standardport

Adresse hören

Beschreibung

Nginx

80, 443

alle

Öffentlicher HTTP(S)-Port zur Verwaltung von Firezone und zur Erleichterung der Authentifizierung.

Wireguard

51820

alle

Öffentlicher WireGuard-Port, der für VPN-Sitzungen verwendet wird. (UDP)

Postgresql

15432

127.0.0.1

Nur lokaler Port, der für den gebündelten Postgresql-Server verwendet wird.

Phoenix

13000

127.0.0.1

Nur lokaler Port, der vom Upstream-Elixir-App-Server verwendet wird.

Produktionsbereitstellungen

Wir empfehlen Ihnen, den Zugriff auf die öffentlich verfügbare Web-Benutzeroberfläche von Firezone (standardmäßig Ports 443/tcp und 80/tcp) einzuschränken und stattdessen den WireGuard-Tunnel zu verwenden, um Firezone für Produktions- und öffentlich zugängliche Bereitstellungen zu verwalten, bei denen ein einzelner Administrator verantwortlich ist des Erstellens und Verteilens von Gerätekonfigurationen an Endbenutzer.

 

Wenn ein Administrator beispielsweise eine Gerätekonfiguration erstellt und einen Tunnel mit der lokalen WireGuard-Adresse 10.3.2.2 erstellt hat, würde die folgende ufw-Konfiguration dem Administrator den Zugriff auf die Firezone-Webbenutzeroberfläche auf der wg-firezone-Schnittstelle des Servers mit dem Standardwert 10.3.2.1 ermöglichen Tunneladresse:

 

root@demo:~# ufw-Status ausführlich

Status: aktiv

Protokollierung: an (niedrig)

Standard: ablehnen (eingehend), zulassen (ausgehend), zulassen (weitergeleitet)

Neue Profile: überspringen

 

Bis Aktion von

— —— —-

22/tcp ERLAUBEN überall

51820/udp ERLAUBEN überall

Überall ERLAUBEN IN 10.3.2.2

22/tcp (v6) ERLAUBEN überall (v6)

51820/udp (v6) ERLAUBEN überall (v6)

Dies würde nur verlassen 22 / TCP für den SSH-Zugriff verfügbar gemacht, um den Server zu verwalten (optional), und 51820/udp freigelegt, um WireGuard-Tunnel aufzubauen.

Führen Sie SQL-Abfragen aus

Firezone bündelt einen Postgresql-Server und passendes psql Dienstprogramm, das von der lokalen Shell wie folgt verwendet werden kann:

 

/opt/firezone/embedded/bin/psql \

  -U Feuerzone \

  -d Feuerzone \

  -h lokaler Host \

  -p 15432 \

  -c „SQL_STATEMENT“

 

Dies kann für Debugging-Zwecke hilfreich sein.

 

Allgemeine Aufgaben:

 

  • Alle Benutzer auflisten
  • Alle Geräte auflisten
  • Ändern der Rolle eines Benutzers
  • Sichern der Datenbank



Alle Benutzer auflisten:

 

/opt/firezone/embedded/bin/psql \

  -U Feuerzone \

  -d Feuerzone \

  -h lokaler Host \

  -p 15432 \

  -c „SELECT * VON Benutzern;“



Alle Geräte auflisten:

 

/opt/firezone/embedded/bin/psql \

  -U Feuerzone \

  -d Feuerzone \

  -h lokaler Host \

  -p 15432 \

  -c „AUSWAHL * VON Geräten;“



Benutzerrolle ändern:

 

Stellen Sie die Rolle auf „admin“ oder „unprivilegiert“ ein:

 

/opt/firezone/embedded/bin/psql \

  -U Feuerzone \

  -d Feuerzone \

  -h lokaler Host \

  -p 15432 \

  -c „UPDATE users SET role = ‚admin‘ WHERE email = ‚user@example.com‘;“



Datenbank sichern:

 

Außerdem ist das Programm pg dump enthalten, mit dem regelmäßig Backups der Datenbank erstellt werden können. Führen Sie den folgenden Code aus, um eine Kopie der Datenbank im gängigen SQL-Abfrageformat zu sichern (ersetzen Sie /path/to/backup.sql durch den Speicherort, an dem die SQL-Datei erstellt werden soll):

 

/opt/firezone/embedded/bin/pg_dump \

  -U Feuerzone \

  -d Feuerzone \

  -h lokaler Host \

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

Anleitungen

  • Benutzer hinzufügen
  • Geräte hinzufügen
  • Ausgangsregeln
  • Kundenanweisungen
  • Split-Tunnel-VPN
  • Rückwärtstunnel 
  • NAT-Gateway

Benutzer hinzufügen

Nachdem Firezone erfolgreich bereitgestellt wurde, müssen Sie Benutzer hinzufügen, um ihnen Zugriff auf Ihr Netzwerk zu gewähren. Dazu wird das Web UI verwendet.

 

Webbenutzeroberfläche


Durch Auswahl der Schaltfläche „Benutzer hinzufügen“ unter /users können Sie einen Benutzer hinzufügen. Sie müssen dem Benutzer eine E-Mail-Adresse und ein Passwort mitteilen. Um Benutzern in Ihrer Organisation automatisch Zugriff zu gewähren, kann Firezone auch mit einem Identitätsanbieter kommunizieren und synchronisieren. Weitere Einzelheiten finden Sie in Authentifizieren. < Fügen Sie einen Link zum Authentifizieren hinzu

Geräte hinzufügen

Wir empfehlen, dass Benutzer ihre eigenen Gerätekonfigurationen erstellen, damit der private Schlüssel nur für sie sichtbar ist. Benutzer können ihre eigenen Gerätekonfigurationen generieren, indem sie den Anweisungen auf folgen Kundenanweisungen Buchseite.

 

Admin-Gerätekonfiguration wird generiert

Alle Benutzergerätekonfigurationen können von Firezone-Administratoren erstellt werden. Wählen Sie dazu auf der Benutzerprofilseite unter /users die Option „Gerät hinzufügen“.

 

[Screenshot einfügen]

 

Sie können dem Benutzer die WireGuard-Konfigurationsdatei per E-Mail senden, nachdem Sie das Geräteprofil erstellt haben.

 

Benutzer und Geräte sind verknüpft. Weitere Einzelheiten zum Hinzufügen eines Benutzers finden Sie unter Benutzer hinzufügen.

Ausgangsregeln

Durch die Verwendung des Netfilter-Systems des Kernels ermöglicht Firezone Ausgangsfilterfunktionen, um DROP- oder ACCEPT-Pakete zu spezifizieren. Der gesamte Verkehr ist normalerweise erlaubt.

 

IPv4- und IPv6-CIDRs und -IP-Adressen werden über die Allowlist bzw. Denylist unterstützt. Sie können eine Regel beim Hinzufügen auf einen Benutzer festlegen, wodurch die Regel auf alle Geräte dieses Benutzers angewendet wird.

Kundenanweisungen

Installieren und konfigurieren

Informationen zum Herstellen einer VPN-Verbindung mit dem nativen WireGuard-Client finden Sie in dieser Anleitung.

 

1. Installieren Sie den nativen WireGuard-Client

 

Die hier befindlichen offiziellen WireGuard-Clients sind Firezone-kompatibel:

 

MacOS

 

Windows

 

iOS

 

Android

 

Besuchen Sie die offizielle WireGuard-Website unter https://www.wireguard.com/install/ für oben nicht erwähnte Betriebssysteme.

 

2. Laden Sie die Gerätekonfigurationsdatei herunter

 

Entweder Ihr Firezone-Administrator oder Sie selbst können die Gerätekonfigurationsdatei über das Firezone-Portal generieren.

 

Rufen Sie die URL auf, die Ihr Firezone-Administrator bereitgestellt hat, um selbst eine Gerätekonfigurationsdatei zu generieren. Ihre Firma hat dafür eine eindeutige URL; in diesem Fall ist es https://instance-id.yourfirezone.com.

 

Melden Sie sich bei Firezone Okta SSO an

 

[Screenshot einfügen]

 

3. Fügen Sie die Konfiguration des Clients hinzu

 

Importieren Sie die.conf-Datei in den WireGuard-Client, indem Sie sie öffnen. Durch Umlegen des Aktivieren-Schalters können Sie eine VPN-Sitzung starten.

 

[Screenshot einfügen]

Sitzungsneuauthentifizierung

Befolgen Sie die nachstehenden Anweisungen, wenn Ihr Netzwerkadministrator eine wiederkehrende Authentifizierung vorgeschrieben hat, um Ihre VPN-Verbindung aktiv zu halten. 



Du brauchst:

 

URL des Firezone-Portals: Fragen Sie Ihren Netzwerkadministrator nach der Verbindung.

Ihr Netzwerkadministrator sollte Ihnen Ihren Benutzernamen und Ihr Passwort anbieten können. Die Firezone-Site fordert Sie auf, sich mit dem Single-Sign-On-Dienst anzumelden, den Ihr Arbeitgeber verwendet (z. B. Google oder Okta).

 

1. Deaktivieren Sie die VPN-Verbindung

 

[Screenshot einfügen]

 

2. Authentifizieren Sie sich erneut 

Rufen Sie die URL des Firezone-Portals auf und melden Sie sich mit den Anmeldeinformationen an, die Ihr Netzwerkadministrator bereitgestellt hat. Wenn Sie bereits angemeldet sind, klicken Sie auf die Schaltfläche Erneut authentifizieren, bevor Sie sich erneut anmelden.

 

[Screenshot einfügen]

 

Schritt 3: Starten Sie eine VPN-Sitzung

[Screenshot einfügen]

Netzwerkmanager für Linux

Um das WireGuard-Konfigurationsprofil mit Network Manager CLI auf Linux-Geräten zu importieren, befolgen Sie diese Anweisungen (nmcli).

HINWEIS

Wenn für das Profil IPv6-Unterstützung aktiviert ist, schlägt der Versuch, die Konfigurationsdatei über die Network Manager-GUI zu importieren, möglicherweise mit dem folgenden Fehler fehl:

ipv6.method: Methode „auto“ wird für WireGuard nicht unterstützt

1. Installieren Sie die WireGuard-Tools 

Es ist notwendig, die WireGuard Userspace-Dienstprogramme zu installieren. Dies wird ein Paket namens wireguard oder wireguard-tools für Linux-Distributionen sein.

Für Ubuntu/Debian:

sudo apt installiert Wireguard

So verwenden Sie Fedora:

sudo dnf installiert Wireguard-Tools

Arch Linux:

sudo pacman -S Wireguard-Tools

Besuchen Sie die offizielle WireGuard-Website unter https://www.wireguard.com/install/ für Distributionen, die oben nicht erwähnt werden.

2. Konfiguration herunterladen 

Entweder Ihr Firezone-Administrator oder die Selbstgenerierung kann die Gerätekonfigurationsdatei über das Firezone-Portal generieren.

Rufen Sie die URL auf, die Ihr Firezone-Administrator bereitgestellt hat, um selbst eine Gerätekonfigurationsdatei zu generieren. Ihre Firma hat dafür eine eindeutige URL; in diesem Fall ist es https://instance-id.yourfirezone.com.

[Screenshot einfügen]

3. Importeinstellungen

Importieren Sie die mitgelieferte Konfigurationsdatei mit nmcli:

sudo nmcli-Verbindungsimporttyp Wireguard-Datei /path/to/configuration.conf

HINWEIS

Der Name der Konfigurationsdatei entspricht der WireGuard-Verbindung/Schnittstelle. Nach dem Import kann die Verbindung bei Bedarf umbenannt werden:

nmcli connection modify [alter Name] connection.id [neuer Name]

4. Verbinden oder trennen

Verbinden Sie sich über die Befehlszeile wie folgt mit dem VPN:

nmcli-Verbindung aufgebaut [VPN-Name]

Trennen:

nmcli-Verbindung unterbrochen [VPN-Name]

Das entsprechende Network Manager-Applet kann auch verwendet werden, um die Verbindung zu verwalten, wenn eine GUI verwendet wird.

Automatische Verbindung

Durch Auswahl von „Ja“ für die Option „Autoconnect“ kann die VPN-Verbindung so konfiguriert werden, dass sie automatisch eine Verbindung herstellt:

 

nmcli-Verbindung [VPN-Name]-Verbindung ändern. <<<<<<<<<<<<<<<<<<<<<<

 

Autoconnect ja

 

Um die automatische Verbindung zu deaktivieren, setzen Sie sie zurück auf no:

 

nmcli-Verbindung [VPN-Name]-Verbindung ändern.

 

Autoconnect-Nr

Machen Sie die Multi-Faktor-Authentifizierung verfügbar

So aktivieren Sie MFA Gehen Sie zur Seite /user account/register mfa des Firezone-Portals. Verwenden Sie Ihre Authentifizierungs-App, um den QR-Code zu scannen, nachdem er generiert wurde, und geben Sie dann den sechsstelligen Code ein.

Wenden Sie sich an Ihren Administrator, um die Zugangsdaten Ihres Kontos zurückzusetzen, wenn Sie Ihre Authentifizierungs-App verlegt haben.

Split-Tunnel-VPN

Dieses Tutorial führt Sie durch den Prozess der Einrichtung der Split-Tunneling-Funktion von WireGuard mit Firezone, sodass nur Datenverkehr zu bestimmten IP-Bereichen über den VPN-Server weitergeleitet wird.

 

1. Konfigurieren Sie zulässige IPs 

Die IP-Bereiche, für die der Client den Netzwerkverkehr weiterleitet, sind im Feld „Zugelassene IPs“ auf der Seite „/settings/default“ angegeben. Nur die neu erstellten WireGuard-Tunnelkonfigurationen, die von Firezone produziert werden, sind von Änderungen in diesem Feld betroffen.

 

[Screenshot einfügen]



Der Standardwert ist 0.0.0.0/0, ::/0, wodurch der gesamte Netzwerkverkehr vom Client zum VPN-Server geleitet wird.

 

Beispiele für Werte in diesem Feld sind:

 

0.0.0.0/0, ::/0 – Der gesamte Netzwerkverkehr wird zum VPN-Server geleitet.

192.0.2.3/32 – nur Datenverkehr zu einer einzelnen IP-Adresse wird zum VPN-Server geleitet.

3.5.140.0/22 ​​– nur Datenverkehr zu IPs im Bereich 3.5.140.1 – 3.5.143.254 wird zum VPN-Server geleitet. In diesem Beispiel wurde der CIDR-Bereich für die AWS-Region ap-northeast-2 verwendet.



HINWEIS

Firezone wählt zuerst die Egress-Schnittstelle aus, die der genauesten Route zugeordnet ist, wenn bestimmt wird, wohin ein Paket geleitet werden soll.

 

2. WireGuard-Konfigurationen neu generieren

Benutzer müssen die Konfigurationsdateien neu generieren und sie ihrem nativen WireGuard-Client hinzufügen, um vorhandene Benutzergeräte mit der neuen Split-Tunnel-Konfiguration zu aktualisieren.

 

Anweisungen finden Sie unter Gerät hinzufügen. <<<<<<<<<<< Link hinzufügen

Rückwärtstunnel

Dieses Handbuch zeigt, wie zwei Geräte mit Firezone als Relais verbunden werden. Ein typischer Anwendungsfall besteht darin, einem Administrator den Zugriff auf einen Server, Container oder Computer zu ermöglichen, der durch ein NAT oder eine Firewall geschützt ist.

 

Knoten zu Knoten 

Diese Abbildung zeigt ein einfaches Szenario, in dem die Geräte A und B einen Tunnel aufbauen.

 

[Firezone-Architekturbild einfügen]

 

Erstellen Sie zunächst Gerät A und Gerät B, indem Sie zu /users/[user_id]/new_device navigieren. Stellen Sie in den Einstellungen für jedes Gerät sicher, dass die folgenden Parameter auf die unten aufgeführten Werte eingestellt sind. Sie können Geräteeinstellungen beim Erstellen der Gerätekonfiguration festlegen (siehe Geräte hinzufügen). Wenn Sie die Einstellungen auf einem vorhandenen Gerät aktualisieren müssen, können Sie dies tun, indem Sie eine neue Gerätekonfiguration generieren.

 

Beachten Sie, dass alle Geräte eine Seite /settings/defaults haben, auf der PersistentKeepalive konfiguriert werden kann.

 

Gerät A

 

Zulässige IPs = 10.3.2.2/32

  Dies ist die IP oder der IP-Bereich von Gerät B

PersistentKeepalive = 25

  Wenn sich das Gerät hinter einem NAT befindet, stellt dies sicher, dass das Gerät den Tunnel am Leben erhalten und weiterhin Pakete von der WireGuard-Schnittstelle empfangen kann. Normalerweise ist ein Wert von 25 ausreichend, aber je nach Umgebung müssen Sie diesen Wert möglicherweise verringern.



B-Gerät

 

Zulässige IPs = 10.3.2.3/32

Dies ist die IP oder der IP-Bereich von Gerät A

PersistentKeepalive = 25

Admin-Fall – One to Many Nodes

Dieses Beispiel zeigt eine Situation, in der Gerät A mit den Geräten B bis D in beide Richtungen kommunizieren kann. Dieses Setup kann einen Techniker oder Administrator darstellen, der über verschiedene Netzwerke auf zahlreiche Ressourcen (Server, Container oder Maschinen) zugreift.

 

[Architekturdiagramm]<<<<<<<<<<<<<<<<<<<<<<<<<

 

Stellen Sie sicher, dass die folgenden Einstellungen in den Einstellungen jedes Geräts auf die entsprechenden Werte vorgenommen werden. Beim Erstellen der Gerätekonfiguration können Sie Geräteeinstellungen festlegen (siehe Geräte hinzufügen). Eine neue Gerätekonfiguration kann erstellt werden, wenn Einstellungen auf einem vorhandenen Gerät aktualisiert werden müssen.

 

Gerät A (Administratorknoten)

 

Zulässige IPs = 10.3.2.3/32, 10.3.2.4/32, 10.3.2.5/32 

    Dies ist die IP der Geräte B bis D. Die IPs der Geräte B bis D müssen in jedem IP-Bereich enthalten sein, den Sie festlegen möchten.

PersistentKeepalive = 25 

    Dadurch wird gewährleistet, dass das Gerät den Tunnel aufrechterhalten und weiterhin Pakete von der WireGuard-Schnittstelle empfangen kann, auch wenn es durch ein NAT geschützt ist. In den meisten Fällen ist ein Wert von 25 ausreichend, je nach Umgebung müssen Sie diesen Wert jedoch möglicherweise verringern.

 

Gerät B

 

  • AllowedIPs = 10.3.2.2/32: Dies ist die IP oder der IP-Bereich von Gerät A
  • PersistentKeepalive = 25

Gerät C.

 

  • AllowedIPs = 10.3.2.2/32: Dies ist die IP oder der IP-Bereich von Gerät A
  • PersistentKeepalive = 25

Gerät D

 

  • AllowedIPs = 10.3.2.2/32: Dies ist die IP oder der IP-Bereich von Gerät A
  • PersistentKeepalive = 25

NAT-Gateway

Firezone kann als NAT-Gateway verwendet werden, um eine einzige statische Egress-IP bereitzustellen, über die der gesamte Datenverkehr Ihres Teams abfließen kann. Diese Situationen beinhalten seine häufige Verwendung:

 

Beratungsaufträge: Fordern Sie Ihren Kunden auf, eine einzelne statische IP-Adresse statt der eindeutigen Geräte-IP jedes Mitarbeiters auf die Whitelist zu setzen.

Verwenden eines Proxys oder Maskieren Ihrer Quell-IP aus Sicherheits- oder Datenschutzgründen.

 

In diesem Beitrag wird ein einfaches Beispiel für die Beschränkung des Zugriffs auf eine selbst gehostete Webanwendung auf eine einzelne statische IP auf der Whitelist gezeigt, auf der Firezone ausgeführt wird. In dieser Abbildung befinden sich Firezone und die geschützte Ressource in verschiedenen VPC-Bereichen.

 

Diese Lösung wird häufig anstelle der Verwaltung einer IP-Whitelist für zahlreiche Endbenutzer verwendet, was zeitaufwändig sein kann, wenn die Zugriffsliste erweitert wird.

AWS-Beispiel

Unser Ziel ist es, einen Firezone-Server auf einer EC2-Instance einzurichten, um den VPN-Datenverkehr auf die eingeschränkte Ressource umzuleiten. In diesem Fall dient Firezone als Netzwerk-Proxy oder NAT-Gateway, um jedem angeschlossenen Gerät eine eindeutige öffentliche Ausgangs-IP zuzuweisen.

 

1. Installieren Sie den Firezone-Server

In diesem Fall ist auf einer EC2-Instance namens tc2.micro eine Firezone-Instance installiert. Informationen zum Bereitstellen von Firezone finden Sie im Bereitstellungsleitfaden. Achten Sie in Bezug auf AWS auf Folgendes:

 

Die Sicherheitsgruppe der Firezone EC2-Instance lässt ausgehenden Datenverkehr zur IP-Adresse der geschützten Ressource zu.

Die Firezone-Instanz wird mit einer elastischen IP geliefert. Datenverkehr, der über die Firezone-Instanz an externe Ziele weitergeleitet wird, hat dies als Quell-IP-Adresse. Die betreffende IP-Adresse lautet 52.202.88.54.

 

[Screenshot einfügen]<<<<<<<<<<<<<<<<<<<<<<

 

2. Beschränken Sie den Zugriff auf die zu schützende Ressource

Als geschützte Ressource dient in diesem Fall eine selbst gehostete Webanwendung. Auf die Web-App kann nur über Anfragen von der IP-Adresse 52.202.88.54 zugegriffen werden. Abhängig von der Ressource kann es erforderlich sein, eingehenden Datenverkehr auf verschiedenen Ports und Datenverkehrstypen zuzulassen. Dies wird in diesem Handbuch nicht behandelt.

 

[Screenshot einfügen]<<<<<<<<<<<<<<<<<<<<<<

 

Bitte teilen Sie dem für die geschützte Ressource zuständigen Drittanbieter mit, dass Datenverkehr von der in Schritt 1 definierten statischen IP zugelassen werden muss (in diesem Fall 52.202.88.54).

 

3. Verwenden Sie den VPN-Server, um den Datenverkehr an die geschützte Ressource zu leiten

 

Standardmäßig wird der gesamte Benutzerdatenverkehr durch den VPN-Server geleitet und kommt von der statischen IP, die in Schritt 1 konfiguriert wurde (in diesem Fall 52.202.88.54). Wenn jedoch Split-Tunneling aktiviert wurde, müssen möglicherweise Einstellungen vorgenommen werden, um sicherzustellen, dass die Ziel-IP der geschützten Ressource unter den zulässigen IPs aufgeführt wird.

Fügen Sie hier Ihren Überschriftentext hinzu

Unten sehen Sie eine vollständige Liste der verfügbaren Konfigurationsoptionen in /etc/firezone/firezone.rb.



zu erhalten

Beschreibung

Standardwert

default['firezone']['external_url']

URL, die für den Zugriff auf das Webportal dieser Firezone-Instanz verwendet wird.

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

default['firezone']['config_directory']

Verzeichnis der obersten Ebene für die Firezone-Konfiguration.

/etc/firezone'

default['firezone']['install_directory']

Verzeichnis der obersten Ebene, in dem Firezone installiert werden soll.

/opt/firezone'

default['firezone']['app_directory']

Verzeichnis der obersten Ebene zum Installieren der Firezone-Webanwendung.

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

default['firezone']['log_directory']

Verzeichnis der obersten Ebene für Firezone-Protokolle.

/var/log/firezone'

default['firezone']['var_directory']

Verzeichnis der obersten Ebene für Firezone-Laufzeitdateien.

/var/opt/firezone'

default['firezone']['user']

Name des nicht privilegierten Linux-Benutzers, dem die meisten Dienste und Dateien gehören.

Feuerzone'

default['firezone']['group']

Name der Linux-Gruppe, zu der die meisten Dienste und Dateien gehören.

Feuerzone'

default['firezone']['admin_email']

E-Mail-Adresse für den ersten Firezone-Benutzer.

„firezone@localhost“

default['firezone']['max_devices_per_user']

Maximale Anzahl von Geräten, die ein Benutzer haben kann.

10

default['firezone']['allow_unprivileged_device_management']

Ermöglicht Benutzern ohne Administratorrechte das Erstellen und Löschen von Geräten.

TRUE

default['firezone']['allow_unprivileged_device_configuration']

Ermöglicht Benutzern ohne Administratorrechte das Ändern von Gerätekonfigurationen. Bei Deaktivierung wird verhindert, dass nicht privilegierte Benutzer alle Gerätefelder mit Ausnahme von Name und Beschreibung ändern.

TRUE

default['firezone']['egress_interface']

Schnittstellenname, an dem getunnelter Datenverkehr austritt. Wenn nil, wird die Standardroutenschnittstelle verwendet.

Null

default['firezone']['fips_enabled']

Aktivieren oder deaktivieren Sie den OpenSSL-FIPs-Modus.

Null

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

Aktivieren oder deaktivieren Sie die Protokollierung über Firezone. Auf „false“ setzen, um die Protokollierung vollständig zu deaktivieren.

TRUE

default['Unternehmen']['Name']

Name, der vom Kochbuch Chef 'Enterprise' verwendet wird.

Feuerzone'

default['firezone']['install_path']

Installationspfad, der vom Kochbuch „Enterprise“ von Chef verwendet wird. Sollte auf das gleiche wie das Installationsverzeichnis oben gesetzt werden.

node['firezone']['install_directory']

default['firezone']['sysvinit_id']

Ein Bezeichner, der in /etc/inittab verwendet wird. Muss eine eindeutige Folge von 1-4 Zeichen sein.

SUP'

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

Aktivieren oder deaktivieren Sie die lokale E-Mail/Passwort-Authentifizierung.

TRUE

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

Erstellen Sie automatisch Benutzer, die sich zum ersten Mal über OIDC anmelden. Deaktivieren, damit sich nur vorhandene Benutzer über OIDC anmelden können.

TRUE

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

Deaktivieren Sie das VPN eines Benutzers, wenn beim Versuch, sein OIDC-Token zu aktualisieren, ein Fehler erkannt wird.

FALSCH

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

OpenID Connect-Konfiguration im Format {“Anbieter” => [Konfiguration…]} – Siehe OpenIDConnect-Dokumentation für Konfigurationsbeispiele.

{}

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

Aktivieren oder deaktivieren Sie den gebündelten Nginx-Server.

TRUE

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

HTTPS-Abhörport.

443

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

Verzeichnis zum Speichern der Firezone-bezogenen Konfiguration des virtuellen nginx-Hosts.

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

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

Verzeichnis zum Speichern von Firezone-bezogenen Nginx-Protokolldateien.

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

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

Dateigröße, um die Nginx-Protokolldateien gedreht werden sollen.

104857600

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

Anzahl der Firezone-Nginx-Protokolldateien, die vor dem Verwerfen aufbewahrt werden sollen.

10

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

Ob Firezone nginx x-forwarded-for Header protokolliert werden soll.

TRUE

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

Aktivieren oder deaktivieren HSTS.

TRUE

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

Aktivieren oder deaktivieren Sie includeSubDomains für den HSTS-Header.

TRUE

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

Maximales Alter für den HSTS-Header.

31536000

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

Ob URLs an den oben angegebenen kanonischen FQDN umgeleitet werden sollen

FALSCH

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

Aktivieren oder deaktivieren Sie den Nginx-Cache von Firezone.

FALSCH

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

Verzeichnis für den Nginx-Cache von Firezone.

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

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

Firezone Nginx-Benutzer.

node['firezone']['user']

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

Firezone Nginx-Gruppe.

node['firezone']['group']

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

nginx-Konfigurationsverzeichnis der obersten Ebene.

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

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

nginx-Protokollverzeichnis der obersten Ebene.

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

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

Speicherort für die nginx-PID-Datei.

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

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

Deaktivieren Sie den nginx-Daemon-Modus, damit wir ihn stattdessen überwachen können.

TRUE

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

Schalten Sie die nginx gzip-Komprimierung ein oder aus.

auf'

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

Schalten Sie die nginx gzip-Komprimierung für statische Dateien ein oder aus.

aus'

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

HTTP-Version, die zum Bereitstellen statischer Dateien verwendet werden soll.

1.0'

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

nginx gzip-Komprimierungsstufe.

2'

default['firezone']['nginx']['gzip_proxyed']

Aktiviert oder deaktiviert gzipping von Antworten für Proxy-Anforderungen, je nach Anforderung und Antwort.

beliebig'

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

Aktiviert oder deaktiviert das Einfügen des Antwortheaders „Vary: Accept-Encoding“.

aus'

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

Legt die Anzahl und Größe der Puffer fest, die zum Komprimieren einer Antwort verwendet werden. Wenn nil, wird der nginx-Standard verwendet.

Null

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

MIME-Typen, für die die gzip-Komprimierung aktiviert werden soll.

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

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

Minimale Dateilänge zum Aktivieren der Datei-gzip-Komprimierung.

1000

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

User-Agent-Matcher zum Deaktivieren der gzip-Komprimierung für.

MSIE [1-6]\.'

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

Aktiviert den Cache für die Verbindung zu Upstream-Servern.

auf'

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

Timeout in Sekunden für Keepalive-Verbindung zu Upstream-Servern.

65

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

Anzahl der nginx-Worker-Prozesse.

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

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

Maximale Anzahl gleichzeitiger Verbindungen, die von einem Arbeitsprozess geöffnet werden können.

1024

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

Ändert das Limit für die maximale Anzahl geöffneter Dateien für Worker-Prozesse. Verwendet nginx-Standard, wenn nil.

Null

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

Ob Worker jeweils eine oder mehrere Verbindungen akzeptieren sollen.

TRUE

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

Gibt die Verbindungsverarbeitungsmethode an, die im Kontext von nginx-Ereignissen verwendet werden soll.

epoll'

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

Aktiviert oder deaktiviert die Ausgabe der nginx-Version auf Fehlerseiten und im Antwort-Header-Feld „Server“.

Null

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

Legt die Bucket-Größe für die Hash-Tabellen der Servernamen fest.

64

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

Aktiviert oder deaktiviert die Verwendung von sendfile() von nginx.

auf'

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

Legt nginx-Zugriffsprotokolloptionen fest.

Null

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

Legt nginx-Fehlerprotokolloptionen fest.

Null

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

Deaktiviert das nginx-Zugriffsprotokoll.

FALSCH

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

nginx gibt Hash-Maximalgröße ein.

2048

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

nginx gibt Hash-Bucket-Größe ein.

64

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

nginx-Proxy-Lesezeitüberschreitung. Auf nil setzen, um den Nginx-Standard zu verwenden.

Null

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

nginx-Client-Body-Puffergröße. Auf nil setzen, um den Nginx-Standard zu verwenden.

Null

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

Maximale Körpergröße des Nginx-Clients

250 m

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

Geben Sie zusätzliche nginx-Module an.

[]

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

Aktivieren oder deaktivieren Sie die Nginx-Ratenbegrenzung.

TRUE

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

Name der Nginx-Ratenbegrenzungszone.

Feuerzone'

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

Nginx-Ratenbegrenzungs-Backoff.

10 m

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

Nginx-Ratenbegrenzung.

10 U/s'

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

Erlauben Sie nginx, zusätzlich zu IPv6 auf HTTP-Anforderungen für IPv4 zu lauschen.

TRUE

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

Aktivieren oder deaktivieren Sie gebündeltes Postgresql. Legen Sie dies auf „false“ fest und füllen Sie die folgenden Datenbankoptionen aus, um Ihre eigene Postgresql-Instanz zu verwenden.

TRUE

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

Benutzername für Postgresql.

node['firezone']['user']

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

Postgresql-Datenverzeichnis.

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

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

Postgresql-Protokollverzeichnis.

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

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

Maximale Größe der Postgresql-Protokolldatei vor der Rotation.

104857600

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

Anzahl der aufzubewahrenden Postgresql-Protokolldateien.

10

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

Abschlussziel des Postgresql-Checkpoints.

0.5

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

Anzahl der Postgresql-Checkpoint-Segmente.

3

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

Postgresql-Checkpoint-Zeitüberschreitung.

5 Minuten'

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

Warnzeit des Postgresql-Checkpoints in Sekunden.

30er

default['firezone']['postgresql']['effektive_cache_size']

Effektive Postgresql-Cachegröße.

128MB'

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

Postgresql-Abhöradresse.

127.0.0.1'

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

Maximale Postgresql-Verbindungen.

350

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

Postgresql-CIDRs, um md5-Authentifizierung zu ermöglichen.

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

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

Postgresql-Abhörport.

15432

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

Größe der gemeinsam genutzten Postgresql-Puffer.

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

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

Postgresql-shmmax in Byte.

17179869184

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

Postgresql klein in Byte.

4194304

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

Postgresql-Arbeitsspeichergröße.

8MB'

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

Gibt den Benutzernamen an, den Firezone verwendet, um sich mit der DB zu verbinden.

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

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

Gibt bei Verwendung einer externen DB das Passwort an, das Firezone verwendet, um sich mit der DB zu verbinden.

ändere mich'

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

Datenbank, die Firezone verwenden wird. Wird erstellt, wenn es nicht existiert.

Feuerzone'

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

Datenbankhost, mit dem Firezone eine Verbindung herstellt.

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

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

Datenbankport, mit dem Firezone eine Verbindung herstellt.

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

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

Größe des Datenbankpools, den Firezone verwendet.

[10, Etc.nProzessoren].max

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

Ob eine Verbindung zur Datenbank über SSL hergestellt werden soll.

FALSCH

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

Hash von Optionen, die an die Option :ssl_opts gesendet werden, wenn eine Verbindung über SSL hergestellt wird. Sehen Ecto.Adapters.Postgres-Dokumentation.

{}

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

Hash von Parametern, die an die Option :parameters gesendet werden, wenn eine Verbindung zur Datenbank hergestellt wird. Sehen Ecto.Adapters.Postgres-Dokumentation.

{}

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

Zu aktivierende Datenbankerweiterungen.

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

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

Aktivieren oder deaktivieren Sie die Firezone-Webanwendung.

TRUE

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

Abhöradresse der Firezone-Webanwendung. Dies ist die Upstream-Listen-Adresse, die nginx als Proxys verwendet.

127.0.0.1'

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

Abhörport der Firezone-Webanwendung. Dies ist der Upstream-Port, den nginx proxiert.

13000

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

Protokollverzeichnis der Firezone-Webanwendung.

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

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

Größe der Protokolldatei der Firezone-Webanwendung.

104857600

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

Anzahl der aufzubewahrenden Protokolldateien der Firezone-Webanwendung.

10

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

Aktivieren oder deaktivieren Sie das Herunterfahren der Firezone-Webanwendung, wenn ein Absturz erkannt wird.

TRUE

default['firezone']['phoenix']['external_trusted_proxys']

Liste vertrauenswürdiger Reverse-Proxys, formatiert als Array von IPs und/oder CIDRs.

[]

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

Liste der HTTP-Clients privater Netzwerke, formatiert als Array von IPs und/oder CIDRs.

[]

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

Aktivieren oder deaktivieren Sie die gebündelte WireGuard-Verwaltung.

TRUE

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

Protokollverzeichnis für gebündelte WireGuard-Verwaltung.

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

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

Maximale Größe der WireGuard-Protokolldatei.

104857600

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

Anzahl der aufzubewahrenden WireGuard-Protokolldateien.

10

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

Name der WireGuard-Schnittstelle. Das Ändern dieses Parameters kann zu einem vorübergehenden Verlust der VPN-Konnektivität führen.

wg-firezone'

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

WireGuard-Abhörport.

51820

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

WireGuard-Schnittstellen-MTU für diesen Server und für Gerätekonfigurationen.

1280

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

WireGuard Endpoint zum Generieren von Gerätekonfigurationen. Wenn nil, wird standardmäßig die öffentliche IP-Adresse des Servers verwendet.

Null

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

WireGuard DNS zur Verwendung für generierte Gerätekonfigurationen.

1.1.1.1, 1.0.0.1′

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

WireGuard AllowedIPs zur Verwendung für generierte Gerätekonfigurationen.

0.0.0.0/0, ::/0′

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

PersistentKeepalive-Standardeinstellung für generierte Gerätekonfigurationen. Ein Wert von 0 deaktiviert.

0

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

Aktivieren oder deaktivieren Sie IPv4 für das WireGuard-Netzwerk.

TRUE

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

Aktivieren oder deaktivieren Sie die Maskerade für Pakete, die den IPv4-Tunnel verlassen.

TRUE

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

IPv4-Adresspool des WireGuard-Netzwerks.

10.3.2.0/24 ′

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

IPv4-Adresse der WireGuard-Schnittstelle. Muss innerhalb des WireGuard-Adresspools liegen.

10.3.2.1'

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

Aktivieren oder deaktivieren Sie IPv6 für das WireGuard-Netzwerk.

TRUE

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

Aktivieren oder deaktivieren Sie die Maskerade für Pakete, die den IPv6-Tunnel verlassen.

TRUE

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

IPv6-Adresspool des WireGuard-Netzwerks.

fd00::3:2:0/120′

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

IPv6-Adresse der WireGuard-Schnittstelle. Muss innerhalb des IPv6-Adresspools liegen.

fd00::3:2:1′

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

Runit svlogd bin-Speicherort.

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

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

SSL-Verzeichnis zum Speichern generierter Zertifikate.

/var/opt/firezone/ssl'

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

E-Mail-Adresse zur Verwendung für selbstsignierte Zertifikate und Verlängerungsbenachrichtigungen für das ACME-Protokoll.

du@example.com'

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

Aktivieren Sie ACME für die automatische Bereitstellung von SSL-Zertifikaten. Deaktivieren Sie dies, um zu verhindern, dass Nginx auf Port 80 lauscht. Siehe hier für weitere Anweisungen.

FALSCH

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

ACME-Server zur Verwendung für die Ausstellung/Erneuerung von Zertifikaten. Kann beliebig sein gültiger acme.sh-Server

letsencrypt

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

Geben Sie den Schlüsseltyp und die Länge für SSL-Zertifikate an. Sehen hier

ec-256

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

Pfad zur Zertifikatsdatei für Ihren FQDN. Überschreibt die obige ACME-Einstellung, falls angegeben. Wenn sowohl ACME als auch this null sind, wird ein selbstsigniertes Zertifikat generiert.

Null

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

Pfad zur Zertifikatsdatei.

Null

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

nginx ssl dh_param.

Null

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

Ländername für selbstsigniertes Zertifikat.

UNS'

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

Zustandsname für selbstsigniertes Zertifikat.

CA '

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

Ortsname für selbstsigniertes Zertifikat.

San Francisco'

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

Firmenname selbstsigniertes Zertifikat.

Meine Firma'

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

Name der Organisationseinheit für selbstsigniertes Zertifikat.

Operationen

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

SSL-Chiffren für nginx zu verwenden.

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

SSL-Chiffren für den FIPs-Modus.

FIPS@STRENGTH:!aNULL:!eNULL'

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

Zu verwendende TLS-Protokolle.

TLSv1 TLSv1.1 TLSv1.2′

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

SSL-Sitzungscache.

freigegeben:SSL:4m'

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

SSL-Sitzungszeitüberschreitung.

5 m

default['firezone']['robots_allow']

nginx-Roboter erlauben.

/'

default['firezone']['robots_disallow']

Nginx-Roboter verbieten.

Null

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

Ausgehende E-Mail von Adresse.

Null

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

Dienstanbieter für ausgehende E-Mails.

Null

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

Konfigurationen des ausgehenden E-Mail-Anbieters.

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

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

Aktivieren oder deaktivieren Sie die anonymisierte Produkttelemetrie.

TRUE

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

Aktivieren oder deaktivieren Sie den Firezone-Verbindungsprüfungsdienst.

TRUE

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

Intervall zwischen Konnektivitätsprüfungen in Sekunden.

3_600



________________________________________________________________

 

Datei- und Verzeichnisspeicherorte

 

Hier finden Sie eine Liste von Dateien und Verzeichnissen, die zu einer typischen Firezone-Installation gehören. Diese können sich je nach Änderungen an Ihrer Konfigurationsdatei ändern.



Weg

Beschreibung

/var/opt/firezone

Verzeichnis der obersten Ebene, das Daten und generierte Konfigurationen für gebündelte Firezone-Dienste enthält.

/opt/firezone

Verzeichnis der obersten Ebene, das erstellte Bibliotheken, Binärdateien und Laufzeitdateien enthält, die von Firezone benötigt werden.

/usr/bin/firezone-ctl

Dienstprogramm firezone-ctl zum Verwalten Ihrer Firezone-Installation.

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

systemd-Unit-Datei zum Starten des Firezone-Runsvdir-Supervisor-Prozesses.

/etc/firezone

Firezone-Konfigurationsdateien.



__________________________________________________________

 

Firewall-Vorlagen

 

Diese Seite war in Dokumenten leer

 

_____________________________________________________________

 

Nftables-Firewall-Vorlage

 

Die folgende nftables-Firewall-Vorlage kann verwendet werden, um den Server zu sichern, auf dem Firezone ausgeführt wird. Die Vorlage macht einige Annahmen; Möglicherweise müssen Sie die Regeln an Ihren Anwendungsfall anpassen:

  • Die WireGuard-Schnittstelle heißt wg-firezone. Wenn dies nicht korrekt ist, ändern Sie die Variable DEV_WIREGUARD so, dass sie mit der Konfigurationsoption default['firezone']['wireguard']['interface_name'] übereinstimmt.
  • Der Port, den WireGuard abhört, ist 51820. Wenn Sie nicht den Standardport verwenden, ändern Sie die Variable WIREGUARD_PORT.
  • Nur der folgende eingehende Datenverkehr wird zum Server zugelassen:
    • SSH (TCP-Port 22)
    • HTTP (TCP-Port 80)
    • HTTPS (TCP-Port 443)
    • WireGuard (UDP-Port WIREGUARD_PORT)
    • UDP-Traceroute (UDP-Port 33434-33524, Rate auf 500/Sekunde begrenzt)
    • ICMP und ICMPv6 (Ping/Ping-Antwortrate begrenzt auf 2000/Sekunde)
  • Nur der folgende ausgehende Datenverkehr wird vom Server zugelassen:
    • DNS (UDP- und TCP-Port 53)
    • HTTP (TCP-Port 80)
    • NTP (UDP-Port 123)
    • HTTPS (TCP-Port 443)
    • SMTP-Übermittlung (TCP-Port 587)
    • UDP-Traceroute (UDP-Port 33434-33524, Rate auf 500/Sekunde begrenzt)
  • Nicht übereinstimmender Datenverkehr wird protokolliert. Die für die Protokollierung verwendeten Regeln sind von den Regeln zum Verwerfen des Datenverkehrs getrennt und ratenbegrenzt. Das Entfernen der relevanten Protokollierungsregeln wirkt sich nicht auf den Datenverkehr aus.

Von Firezone verwaltete Regeln

Firezone konfiguriert seine eigenen nftables-Regeln, um Datenverkehr zu Zielen zuzulassen/zu verweigern, die in der Webschnittstelle konfiguriert sind, und ausgehenden NAT für Clientdatenverkehr zu handhaben.

Das Anwenden der folgenden Firewall-Vorlage auf einem bereits laufenden Server (nicht beim Booten) führt dazu, dass die Firezone-Regeln gelöscht werden. Dies kann Auswirkungen auf die Sicherheit haben.

Um dies zu umgehen, starten Sie den Phoenix-Dienst neu:

firezone-ctl startet phoenix neu

Basis-Firewall-Vorlage

#!/usr/sbin/nft -f

 

## Alle vorhandenen Regeln löschen/leeren

Spülregelsatz

 

################################ VARIABLEN ################# ###############

## Internet/WAN-Schnittstellenname

Definiere DEV_WAN = eth0

 

## Name der WireGuard-Schnittstelle

Definiere DEV_WIREGUARD = wg-firezone

 

## WireGuard-Abhörport

definieren WIREGUARD_PORT = 51820

############################## VARIABLEN ENDE ################## ############

 

# Hauptfiltertabelle für die Inet-Familie

Tabellen-Inet-Filter {

 

 # Regeln für weitergeleiteten Datenverkehr

 # Diese Kette wird vor der Firezone-Forward-Kette verarbeitet

 Kette vorwärts {

   Typ Filter Hook-Forward-Prioritätsfilter – 5; Politik akzeptieren

 }

 

 # Regeln für den Eingabeverkehr

 Ketteneingang {

   Typ Filter Hook Eingangsprioritätsfilter; Politik fallen

 

   ## Eingehenden Datenverkehr zur Loopback-Schnittstelle zulassen

   wenn lo \

     akzeptieren \

     Kommentar „Zulassen Sie den gesamten Datenverkehr von der Loopback-Schnittstelle“

 

   ## Gegründete und zugehörige Verbindungen zulassen

   ct Zustand etabliert, bezogen \

     akzeptieren \

     Kommentar „Aufgebaute/verbundene Verbindungen zulassen“

 

   ## Eingehenden WireGuard-Datenverkehr zulassen

   iif $DEV_WAN udp-dport $WIREGUARD_PORT \

     Schalter \

     akzeptieren \

     Kommentar „Eingehenden WireGuard-Datenverkehr zulassen“

 

   ## Neue TCP-Nicht-SYN-Pakete protokollieren und löschen

   tcp flags != syn ct state neu \

     Grenzsatz 100/Minute platzen 150 Pakete \

     Log-Präfix „IN – Neu !SYN:“ \

     Kommentar „Ratenbegrenzungsprotokollierung für neue Verbindungen, bei denen das SYN-TCP-Flag nicht gesetzt ist“

   tcp flags != syn ct state neu \

     Schalter \

     tropfen \

     Kommentar „Neue Verbindungen verwerfen, bei denen das SYN-TCP-Flag nicht gesetzt ist“

 

   ## TCP-Pakete mit ungültigem fin/syn-Flag protokollieren und verwerfen

   TCP-Flags & (fin|syn) == (fin|syn) \

     Grenzsatz 100/Minute platzen 150 Pakete \

     Log-Präfix „IN – TCP FIN|SIN:“ \

     Kommentar „Protokollierung der Ratenbegrenzung für TCP-Pakete mit ungültigem fin/syn-Flag gesetzt“

   TCP-Flags & (fin|syn) == (fin|syn) \

     Schalter \

     tropfen \

     Kommentar „TCP-Pakete mit ungültigem Fin/Syn-Flag verwerfen“

 

   ## TCP-Pakete mit ungültigem syn/rst-Flag protokollieren und verwerfen

   TCP-Flags & (syn|rst) == (syn|rst) \

     Grenzsatz 100/Minute platzen 150 Pakete \

     Log-Präfix „IN – TCP SYN|RST:“ \

     Kommentar „Protokollierung der Ratenbegrenzung für TCP-Pakete mit ungültigem syn/rst-Flag gesetzt“

   TCP-Flags & (syn|rst) == (syn|rst) \

     Schalter \

     tropfen \

     Kommentar „TCP-Pakete mit ungültigem syn/rst-Flag verwerfen“

 

   ## Ungültige TCP-Flags protokollieren und löschen

   TCP-Flags & (fin|syn|rst|psh|ack|urg) < (fin) \

     Grenzsatz 100/Minute platzen 150 Pakete \

     Log-Präfix „IN – FIN:“ \

     Kommentar „Protokollierung der Ratenbegrenzung für ungültige TCP-Flags (fin|syn|rst|psh|ack|urg) < (fin)“

   TCP-Flags & (fin|syn|rst|psh|ack|urg) < (fin) \

     Schalter \

     tropfen \

     Kommentar „TCP-Pakete mit Flags verwerfen (fin|syn|rst|psh|ack|urg) < (fin)“

 

   ## Ungültige TCP-Flags protokollieren und löschen

   TCP-Flags & (fin|syn|rst|psh|ack|urg) == (fin|psh|urg) \

     Grenzsatz 100/Minute platzen 150 Pakete \

     Log-Präfix „IN – FIN|PSH|URG:“ \

     Kommentar „Protokollierung der Ratenbegrenzung für ungültige TCP-Flags (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)“

   TCP-Flags & (fin|syn|rst|psh|ack|urg) == (fin|psh|urg) \

     Schalter \

     tropfen \

     Kommentar „TCP-Pakete mit Flags verwerfen (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)“

 

   ## Datenverkehr mit ungültigem Verbindungsstatus verwerfen

   ct-Zustand ungültig \

     Grenzsatz 100/Minute platzen 150 Pakete \

     log kennzeichnet alle Präfixe „IN – Ungültig:“ \

     Kommentar „Ratenbegrenzungsprotokollierung für Datenverkehr mit ungültigem Verbindungsstatus“

   ct-Zustand ungültig \

     Schalter \

     tropfen \

     Kommentar „Traffic mit ungültigem Verbindungsstatus verwerfen“

 

   ## IPv4-Ping/Ping-Antworten zulassen, aber Ratenbegrenzung auf 2000 PPS

   ip Protokoll icmp icmp-Typ { echo-reply, echo-request } \

     Grenzsatz 2000/zweite \

     Schalter \

     akzeptieren \

     Kommentar „Eingehendes IPv4-Echo (Ping) zulassen auf 2000 PPS begrenzt“

 

   ## Alle anderen eingehenden IPv4-ICMP zulassen

   ip Protokoll icmp \

     Schalter \

     akzeptieren \

     Kommentar „Alle anderen IPv4 ICMP zulassen“

 

   ## IPv6-Ping/Ping-Antworten zulassen, aber Ratenbegrenzung auf 2000 PPS

   icmpv6 Typ { Echo-Antwort, Echo-Anfrage } \

     Grenzsatz 2000/zweite \

     Schalter \

     akzeptieren \

     Kommentar „Eingehendes IPv6-Echo (Ping) zulassen auf 2000 PPS begrenzt“

 

   ## Alle anderen eingehenden IPv6-ICMP zulassen

   meta l4proto { icmpv6 } \

     Schalter \

     akzeptieren \

     Kommentar „Alle anderen IPv6 ICMP zulassen“

 

   ## Eingehende Traceroute-UDP-Ports zulassen, aber auf 500 PPS beschränken

   udp-dport 33434-33524 \

     Grenzsatz 500/zweite \

     Schalter \

     akzeptieren \

     Kommentar „Eingehenden UDP-Traceroute zulassen auf 500 PPS begrenzt“

 

   ## Eingehenden SSH zulassen

   TCP-Port ssh ct Zustand neu \

     Schalter \

     akzeptieren \

     Kommentar „Eingehende SSH-Verbindungen zulassen“

 

   ## Eingehendes HTTP und HTTPS zulassen

   tcp dport { http, https } ct Zustand neu \

     Schalter \

     akzeptieren \

     Kommentar „Eingehende HTTP- und HTTPS-Verbindungen zulassen“

 

   ## Nicht übereinstimmenden Datenverkehr protokollieren, aber die Protokollierung auf maximal 60 Nachrichten/Minute begrenzen

   ## Die Standardrichtlinie wird auf nicht übereinstimmenden Datenverkehr angewendet

   Grenzsatz 60/Minute platzen 100 Pakete \

     Log-Präfix „EIN – Drop:“ \

     Kommentar „Nicht übereinstimmenden Datenverkehr protokollieren“

 

   ## Zählen Sie den nicht übereinstimmenden Datenverkehr

   Schalter \

     Kommentar „Zählen Sie alle nicht übereinstimmenden Zugriffe“

 }

 

 # Regeln für den Ausgangsdatenverkehr

 Kettenausgang {

   Typ Filter Hook Ausgangsprioritätsfilter; Politik fallen

 

   ## Ausgehenden Datenverkehr zur Loopback-Schnittstelle zulassen

   oif lo \

     akzeptieren \

     Kommentar „Zulassen Sie den gesamten Datenverkehr zur Loopback-Schnittstelle“

 

   ## Gegründete und zugehörige Verbindungen zulassen

   ct Zustand etabliert, bezogen \

     Schalter \

     akzeptieren \

     Kommentar „Aufgebaute/verbundene Verbindungen zulassen“

 

   ## Ausgehenden WireGuard-Datenverkehr zulassen, bevor Verbindungen mit schlechtem Status unterbrochen werden

   oif $DEV_WAN UDP-Sport $WIREGUARD_PORT \

     Schalter \

     akzeptieren \

     Kommentar „DrahtGuard ausgehenden Datenverkehr zulassen“

 

   ## Datenverkehr mit ungültigem Verbindungsstatus verwerfen

   ct-Zustand ungültig \

     Grenzsatz 100/Minute platzen 150 Pakete \

     log kennzeichnet alle Präfixe „AUS – Ungültig:“ \

     Kommentar „Ratenbegrenzungsprotokollierung für Datenverkehr mit ungültigem Verbindungsstatus“

   ct-Zustand ungültig \

     Schalter \

     tropfen \

     Kommentar „Traffic mit ungültigem Verbindungsstatus verwerfen“

 

   ## Alle anderen ausgehenden IPv4-ICMP zulassen

   ip Protokoll icmp \

     Schalter \

     akzeptieren \

     Kommentar „Alle IPv4-ICMP-Typen zulassen“

 

   ## Alle anderen ausgehenden IPv6-ICMP zulassen

   meta l4proto { icmpv6 } \

     Schalter \

     akzeptieren \

     Kommentar „Alle IPv6-ICMP-Typen zulassen“

 

   ## Ausgehende Traceroute-UDP-Ports zulassen, aber auf 500 PPS beschränken

   udp-dport 33434-33524 \

     Grenzsatz 500/zweite \

     Schalter \

     akzeptieren \

     Kommentar „Zulassen ausgehender UDP-Traceroute auf 500 PPS beschränkt“

 

   ## Ausgehende HTTP- und HTTPS-Verbindungen zulassen

   tcp dport { http, https } ct Zustand neu \

     Schalter \

     akzeptieren \

     Kommentar „Ausgehende HTTP- und HTTPS-Verbindungen zulassen“

 

   ## Ausgehende SMTP-Übermittlung zulassen

   tcp dport Übermittlung ct Status neu \

     Schalter \

     akzeptieren \

     Kommentar „Ausgehende SMTP-Übermittlung zulassen“

 

   ## Ausgehende DNS-Anfragen zulassen

   udp-dport 53 \

     Schalter \

     akzeptieren \

     Kommentar „Ausgehende UDP-DNS-Anfragen zulassen“

   TCP-Port 53 \

     Schalter \

     akzeptieren \

     Kommentar „Ausgehende TCP-DNS-Anfragen zulassen“

 

   ## Ausgehende NTP-Anfragen zulassen

   udp-dport 123 \

     Schalter \

     akzeptieren \

     Kommentar „Ausgehende NTP-Anfragen zulassen“

 

   ## Nicht übereinstimmenden Datenverkehr protokollieren, aber die Protokollierung auf maximal 60 Nachrichten/Minute begrenzen

   ## Die Standardrichtlinie wird auf nicht übereinstimmenden Datenverkehr angewendet

   Grenzsatz 60/Minute platzen 100 Pakete \

     Log-Präfix „AUS – Fallenlassen:“ \

     Kommentar „Nicht übereinstimmenden Datenverkehr protokollieren“

 

   ## Zählen Sie den nicht übereinstimmenden Datenverkehr

   Schalter \

     Kommentar „Zählen Sie alle nicht übereinstimmenden Zugriffe“

 }

 

}

 

# Haupt-NAT-Filtertabelle

Tabelle inet nat {

 

 # Regeln für das Pre-Routing von NAT-Verkehr

 Kettenvorrangierung {

   Geben Sie nat Hook Prerouting-Priorität ein dstnat; Politik akzeptieren

 }

 

 # Regeln für das Post-Routing von NAT-Verkehr

 # Diese Tabelle wird vor der Firezone-Post-Routing-Kette verarbeitet

 Kettenpostrouting {

   Typ nat Hook postrouting priorität srcnat – 5; Politik akzeptieren

 }

 

}

Anwendungsbereich

Die Firewall sollte am entsprechenden Ort für die laufende Linux-Distribution gespeichert werden. Für Debian/Ubuntu ist dies /etc/nftables.conf und für RHEL ist dies /etc/sysconfig/nftables.conf.

nftables.service muss konfiguriert werden, um beim Booten zu starten (falls noch nicht geschehen):

systemctl aktiviert nftables.service

Wenn Sie Änderungen an der Firewall-Vorlage vornehmen, kann die Syntax durch Ausführen des Befehls check validiert werden:

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

Stellen Sie sicher, dass die Firewall wie erwartet funktioniert, da bestimmte nftables-Funktionen je nach Version, die auf dem Server ausgeführt wird, möglicherweise nicht verfügbar sind.



_______________________________________________________________



Telemetrie

 

Dieses Dokument bietet einen Überblick über die Telemetriedaten, die Firezone von Ihrer selbst gehosteten Instanz sammelt, und wie Sie sie deaktivieren können.

Warum Firezone Telemetriedaten sammelt

Feuerzone verlässt sich auf Telemetrie, um unsere Roadmap zu priorisieren und die technischen Ressourcen zu optimieren, die wir haben, um Firezone für alle besser zu machen.

Die von uns gesammelte Telemetrie zielt darauf ab, die folgenden Fragen zu beantworten:

  • Wie viele Personen installieren, verwenden und beenden die Verwendung von Firezone?
  • Welche Funktionen sind am wertvollsten und welche sehen keinen Nutzen?
  • Welche Funktionalität muss am meisten verbessert werden?
  • Wenn etwas kaputt geht, warum ist es kaputt gegangen und wie können wir es in Zukunft verhindern?

Wie wir Telemetrie erfassen

Es gibt drei Hauptorte, an denen Telemetriedaten in Firezone gesammelt werden:

  1. Pakettelemetrie. Umfasst Ereignisse wie Installation, Deinstallation und Upgrade.
  2. CLI-Telemetrie von firezone-ctl-Befehlen.
  3. Mit dem Webportal verknüpfte Produkttelemetrie.

In jedem dieser drei Kontexte erfassen wir die Mindestdatenmenge, die zur Beantwortung der Fragen im obigen Abschnitt erforderlich ist.

Administrator-E-Mails werden nur erfasst, wenn Sie sich ausdrücklich für Produktaktualisierungen entscheiden. Andernfalls handelt es sich um personenbezogene Daten hört niemals gesammelt.

Firezone speichert Telemetriedaten in einer selbst gehosteten Instanz von PostHog, die in einem privaten Kubernetes-Cluster ausgeführt wird, auf das nur das Firezone-Team zugreifen kann. Hier ist ein Beispiel für ein Telemetrieereignis, das von Ihrer Instanz von Firezone an unseren Telemetrieserver gesendet wird:

{

   "Ich würde": “0182272d-0b88-0000-d419-7b9a413713f1”,

   „Zeitstempel“: “2022-07-22T18:30:39.748000+00:00”,

   "Ereignis": „fz_http_started“,

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

   "Eigenschaften": {

       „$geoip_city_name“: „Aschenbrand“,

       „$geoip_continent_code“: "N / A",

       „$geoip_continent_name“: "Nordamerika",

       „$geoip_country_code“: "UNS",

       „$geoip_country_name“: "Vereinigte Staaten",

       „$geoip_latitude“: 39.0469,

       „$geoip_longitude“: -77.4903,

       „$geoip_postal_code“: "20149",

       „$geoip_subdivision_1_code“: „VA“,

       „$geoip_subdivision_1_name“: "Virginia",

       „$geoip_time_zone“: „Amerika/New_York“,

       „$ip“: "52.200.241.107",

       „$plugins_deferred“[],

       „$plugins_failed“[],

       „$plugins_succeeded“: [

           „GeoIP (3)“

       ],

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

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

       "Kernelversion": „Linux 5.13.0“,

       "Ausführung": "0.4.6"

   },

   „Elemente_Kette“: ""

}

Telemetrie deaktivieren

HINWEIS

Das Firezone-Entwicklungsteam verlässt sich auf Produktanalysen, um Firezone für alle besser zu machen. Telemetrie aktiviert zu lassen, ist der wertvollste Beitrag, den Sie zur Entwicklung von Firezone leisten können. Wir verstehen jedoch, dass einige Benutzer höhere Datenschutz- oder Sicherheitsanforderungen haben und es vorziehen, die Telemetrie vollständig zu deaktivieren. Wenn Sie das sind, lesen Sie weiter.

Telemetrie ist standardmäßig aktiviert. Um die Produkttelemetrie vollständig zu deaktivieren, setzen Sie die folgende Konfigurationsoption in /etc/firezone/firezone.rb auf false und führen Sie sudo firezone-ctl reconfigure aus, um die Änderungen zu übernehmen.

Standard['Feuerzone']['Telemetrie']['ermöglicht'] = falsch

Dadurch wird die gesamte Produkttelemetrie vollständig deaktiviert.