Aquí se proporcionan instrucciones paso a paso para implementar Hailbytes VPN con Firezone GUI.
Administrar: la configuración de la instancia del servidor está directamente relacionada con esta parte.
Guías de usuario: documentos útiles que pueden enseñarle cómo usar Firezone y resolver problemas típicos. Una vez que el servidor se haya implementado correctamente, consulte esta sección.
Tunelización dividida: use la VPN para enviar tráfico solo a rangos de IP específicos.
Lista blanca: configure la dirección IP estática de un servidor VPN para usar la lista blanca.
Túneles inversos: cree túneles entre varios pares utilizando túneles inversos.
Nos complace ayudarlo si necesita asistencia para instalar, personalizar o utilizar Hailbytes VPN.
Antes de que los usuarios puedan producir o descargar archivos de configuración de dispositivos, Firezone puede configurarse para requerir autenticación. Es posible que los usuarios también deban volver a autenticarse periódicamente para mantener activa su conexión VPN.
Aunque el método de inicio de sesión predeterminado de Firezone es el correo electrónico local y la contraseña, también se puede integrar con cualquier proveedor de identidad estandarizado de OpenID Connect (OIDC). Los usuarios ahora pueden iniciar sesión en Firezone con sus credenciales de Okta, Google, Azure AD o proveedor de identidad privado.
Integrar un proveedor OIDC genérico
Los parámetros de configuración que necesita Firezone para permitir SSO usando un proveedor OIDC se muestran en el siguiente ejemplo. En /etc/firezone/firezone.rb, puede encontrar el archivo de configuración. Ejecute firezone-ctl reconfigure y firezone-ctl restart para actualizar la aplicación y aplicar los cambios.
# Este es un ejemplo que utiliza Google y Okta como proveedor de identidad de SSO.
# Se pueden agregar varias configuraciones de OIDC a la misma instancia de Firezone.
# Firezone puede deshabilitar la VPN de un usuario si se detecta algún error al intentar
# para actualizar su access_token. Esto está verificado para trabajar para Google, Okta y
# Azure SSO y se usa para desconectar automáticamente la VPN de un usuario si se elimina
# del proveedor OIDC. Deje esto deshabilitado si su proveedor OIDC
# tiene problemas para actualizar los tokens de acceso, ya que podría interrumpir inesperadamente un
# sesión de VPN del usuario.
predeterminado['firezone']['autenticación']['disable_vpn_on_oidc_error'] = falso
predeterminado['zona de fuego']['autenticación']['oidc'] = {
Google: {
Discovery_document_uri: “https://accounts.google.com/.well-known/openid-configuration”,
Identificación del cliente: " ”,
secreto_cliente: “ ”,
redirect_uri: "https://id-de-instancia.yourfirezone.com/auth/oidc/google/callback/",
tipo_respuesta: “código”,
ámbito: "perfil de correo electrónico openid",
etiqueta: "Google"
},
octava: {
descubrimiento_documento_uri: “https:// /.bien conocido/configuración-openid”,
Identificación del cliente: " ”,
secreto_cliente: “ ”,
redirect_uri: "https://id-de-instancia.yourfirezone.com/auth/oidc/okta/callback/",
tipo_respuesta: “código”,
alcance: "perfil de correo electrónico openid offline_access",
etiqueta: "Octa"
}
}
Se requieren los siguientes ajustes de configuración para la integración:
Para cada proveedor de OIDC, se crea una URL bonita correspondiente para redirigir a la URL de inicio de sesión del proveedor configurado. Para el ejemplo de configuración de OIDC anterior, las URL son:
Proveedores para los que tenemos documentación:
Si su proveedor de identidad tiene un conector OIDC genérico y no figura en la lista anterior, consulte su documentación para obtener información sobre cómo recuperar los ajustes de configuración necesarios.
La configuración en configuración/seguridad se puede cambiar para requerir una reautenticación periódica. Esto se puede usar para hacer cumplir el requisito de que los usuarios ingresen a Firezone regularmente para continuar con su sesión de VPN.
La duración de la sesión puede configurarse entre una hora y noventa días. Al establecer esto en Nunca, puede habilitar las sesiones de VPN en cualquier momento. Este es el estándar.
Un usuario debe finalizar su sesión de VPN e iniciar sesión en el portal de Firezone para volver a autenticar una sesión de VPN vencida (URL especificada durante la implementación).
Puede volver a autenticar su sesión siguiendo las instrucciones precisas para el cliente que se encuentran aquí.
Estado de la conexión VPN
La columna de la tabla Conexión VPN de la página Usuarios muestra el estado de conexión de un usuario. Estos son los estados de conexión:
HABILITADO: la conexión está habilitada.
DESHABILITADO: la conexión está deshabilitada por un administrador o por un error de actualización de OIDC.
CADUCADA: la conexión está deshabilitada debido a la caducidad de la autenticación o porque un usuario no ha iniciado sesión por primera vez.
A través del conector OIDC general, Firezone habilita el inicio de sesión único (SSO) con Google Workspace y Cloud Identity. Esta guía le mostrará cómo obtener los parámetros de configuración que se enumeran a continuación, que son necesarios para la integración:
1. Pantalla de configuración de OAuth
Si es la primera vez que crea una nueva ID de cliente de OAuth, se le pedirá que configure una pantalla de consentimiento.
*Seleccione Interno para el tipo de usuario. Esto garantiza que solo las cuentas que pertenezcan a los usuarios de su organización de Google Workspace puedan crear configuraciones de dispositivos. NO seleccione Externo a menos que desee permitir que cualquier persona con una cuenta de Google válida cree configuraciones de dispositivos.
En la pantalla de información de la aplicación:
2. Crear ID de cliente de OAuth
Esta sección se basa en la propia documentación de Google sobre configurar OAuth 2.0.
Visite Google Cloud Console página de credenciales página, haga clic en + Crear credenciales y seleccione ID de cliente de OAuth.
En la pantalla de creación de ID de cliente de OAuth:
Después de crear el ID de cliente de OAuth, se le proporcionará un ID de cliente y un Secreto de cliente. Estos se utilizarán junto con el URI de redireccionamiento en el siguiente paso.
Editar /etc/firezone/firezone.rb para incluir las siguientes opciones:
# Uso de Google como proveedor de identidad de SSO
predeterminado['zona de fuego']['autenticación']['oidc'] = {
Google: {
Discovery_document_uri: “https://accounts.google.com/.well-known/openid-configuration”,
Identificación del cliente: " ”,
secreto_cliente: “ ”,
redirect_uri: "https://id-de-instancia.yourfirezone.com/auth/oidc/google/callback/",
tipo_respuesta: “código”,
ámbito: "perfil de correo electrónico openid",
etiqueta: "Google"
}
}
Ejecute firezone-ctl reconfigure y firezone-ctl restart para actualizar la aplicación. Ahora debería ver un botón Iniciar sesión con Google en la URL raíz de Firezone.
Firezone usa el conector OIDC genérico para facilitar el inicio de sesión único (SSO) con Okta. Este tutorial le mostrará cómo obtener los parámetros de configuración que se enumeran a continuación, que son necesarios para la integración:
Esta sección de la guía se basa en documentación de Okta.
En Admin Console, vaya a Aplicaciones > Aplicaciones y haga clic en Crear integración de aplicaciones. Establezca el método de inicio de sesión en OICD: OpenID Connect y el tipo de aplicación en aplicación web.
Configure estos ajustes:
Una vez que se guarden las configuraciones, se le otorgará una ID de cliente, un secreto de cliente y un dominio de Okta. Estos 3 valores se usarán en el Paso 2 para configurar Firezone.
Editar /etc/firezone/firezone.rb para incluir las siguientes opciones. Su URL_documento_descubrimiento se mostrarán /.bien conocido/configuración-openid adjunto al final de su dominio_okta.
# Uso de Okta como proveedor de identidad de SSO
predeterminado['zona de fuego']['autenticación']['oidc'] = {
octava: {
descubrimiento_documento_uri: “https:// /.bien conocido/configuración-openid”,
Identificación del cliente: " ”,
secreto_cliente: “ ”,
redirect_uri: "https://id-de-instancia.yourfirezone.com/auth/oidc/okta/callback/",
tipo_respuesta: “código”,
alcance: "perfil de correo electrónico openid offline_access",
etiqueta: "Octa"
}
}
Ejecute firezone-ctl reconfigure y firezone-ctl restart para actualizar la aplicación. Ahora debería ver un botón Iniciar sesión con Okta en la URL raíz de Firezone.
Okta puede restringir a los usuarios que pueden acceder a la aplicación Firezone. Vaya a la página de asignaciones de la integración de la aplicación Firezone de su Okta Admin Console para lograr esto.
A través del conector OIDC genérico, Firezone habilita el inicio de sesión único (SSO) con Azure Active Directory. Este manual le mostrará cómo obtener los parámetros de configuración que se enumeran a continuación, que son necesarios para la integración:
Esta guía está extraída de la Documentos de Azure Active Directory.
Vaya a la página de Azure Active Directory de Azure Portal. Elija la opción de menú Administrar, seleccione Nuevo registro, luego regístrese proporcionando la siguiente información:
Después de registrarse, abra la vista de detalles de la aplicación y copie el ID de aplicación (cliente). Este será el valor de client_id. A continuación, abra el menú de puntos finales para recuperar el Documento de metadatos de OpenID Connect. Este será el valor discovery_document_uri.
Cree un nuevo secreto de cliente haciendo clic en la opción Certificados y secretos en el menú Administrar. Copie el secreto del cliente; el valor del secreto del cliente será este.
Por último, seleccione el enlace de permisos de API en el menú Administrar, haga clic en Agregar un permisoy seleccione Microsoft Graph. Añadir email, abierto, acceso_sin_conexión y perfiles a los permisos requeridos.
Editar /etc/firezone/firezone.rb para incluir las siguientes opciones:
# Uso de Azure Active Directory como proveedor de identidad de SSO
predeterminado['zona de fuego']['autenticación']['oidc'] = {
azul: {
descubrimiento_documento_uri: "https://login.microsoftonline.com/ /v2.0/.well-known/openid-configuration”,
Identificación del cliente: " ”,
secreto_cliente: “ ”,
redirect_uri: "https://id-de-instancia.yourfirezone.com/auth/oidc/azure/callback/",
tipo_respuesta: “código”,
alcance: "perfil de correo electrónico openid offline_access",
etiqueta: "Azul"
}
}
Ejecute firezone-ctl reconfigure y firezone-ctl restart para actualizar la aplicación. Ahora debería ver un botón Iniciar sesión con Azure en la URL raíz de Firezone.
Azure AD permite a los administradores limitar el acceso a la aplicación a un grupo específico de usuarios dentro de su empresa. Puede encontrar más información sobre cómo hacer esto en la documentación de Microsoft.
Firezone utiliza Chef Omnibus para administrar tareas que incluyen paquetes de lanzamiento, supervisión de procesos, administración de registros y más.
El código Ruby constituye el archivo de configuración principal, que se encuentra en /etc/firezone/firezone.rb. Reiniciar sudo firezone-ctl reconfigure después de realizar modificaciones en este archivo hace que Chef reconozca los cambios y los aplique al sistema operativo actual.
Consulte la referencia del archivo de configuración para obtener una lista completa de las variables de configuración y sus descripciones.
Su instancia de Firezone se puede administrar a través de la zona de fuego-ctl comando, como se muestra a continuación. La mayoría de los subcomandos requieren el prefijo con sudo.
root@demostración:~# firezone-ctl
omnibus-ctl: comando (subcomando)
Comandos Generales:
limpiar
Elimine *todos* los datos de firezone y comience desde cero.
crear-o-restablecer-admin
Restablece la contraseña del administrador con el correo electrónico especificado de forma predeterminada['firezone']['admin_email'] o crea un nuevo administrador si ese correo electrónico no existe.
ayuda
Imprime este mensaje de ayuda.
reconfigurar
Vuelva a configurar la aplicación.
restablecer la red
Restablece nftables, la interfaz WireGuard y la tabla de enrutamiento a los valores predeterminados de Firezone.
mostrar-config
Muestra la configuración que generaría reconfigure.
red de desmontaje
Elimina la interfaz WireGuard y la tabla nftables de firezone.
forzar-cert-renovación
Forzar la renovación del certificado ahora incluso si no ha caducado.
detener-cert-renovación
Elimina cronjob que renueva certificados.
Desinstalar
Elimine todos los procesos y desinstale el supervisor de procesos (se conservarán los datos).
versión
Mostrar la versión actual de Firezone
Comandos de gestión de servicios:
matar con gracia
Intente una parada elegante, luego SIGKILL todo el grupo de procesos.
hup
Envía a los servicios un HUP.
int
Envía a los servicios un INT.
matar
Envíe los servicios un KILL.
una vez
Inicie los servicios si están caídos. No los reinicie si se detienen.
reanudar
Detenga los servicios si se están ejecutando y vuelva a iniciarlos.
Lista de servicios
Enumere todos los servicios (los servicios habilitados aparecen con un *.)
comienzo
Inicie los servicios si están inactivos y reinícielos si se detienen.
estado
Mostrar el estado de todos los servicios.
detener
Detenga los servicios y no los reinicie.
cola
Mire los registros de servicio de todos los servicios habilitados.
término
Enviar los servicios un TÉRMINO.
usr1
Envía a los servicios un USR1.
usr2
Envía a los servicios un USR2.
Todas las sesiones de VPN deben finalizarse antes de actualizar Firezone, lo que también requiere el cierre de la interfaz de usuario web. En caso de que algo salga mal durante la actualización, le recomendamos reservar una hora para el mantenimiento.
Para mejorar Firezone, realice las siguientes acciones:
Si surge algún problema, háganoslo saber por enviando un ticket de soporte.
Hay algunos cambios importantes y modificaciones de configuración en 0.5.0 que deben abordarse. Obtenga más información a continuación.
Nginx ya no es compatible con forzar los parámetros de puerto SSL y no SSL a partir de la versión 0.5.0. Debido a que Firezone necesita SSL para funcionar, recomendamos eliminar el paquete de servicios Nginx configurando default['firezone']['nginx']['enabled'] = false y dirigiendo su proxy inverso a la aplicación Phoenix en el puerto 13000 en su lugar (de forma predeterminada ).
0.5.0 introduce la compatibilidad con el protocolo ACME para renovar automáticamente los certificados SSL con el servicio Nginx incluido. Para permitir,
La posibilidad de agregar reglas con destinos duplicados desapareció en Firezone 0.5.0. Nuestro script de migración reconocerá automáticamente estas situaciones durante una actualización a 0.5.0 y solo conservará las reglas cuyo destino incluya la otra regla. No hay nada que tengas que hacer si esto está bien.
De lo contrario, antes de actualizar, le recomendamos que cambie su conjunto de reglas para deshacerse de estas situaciones.
Firezone 0.5.0 elimina la compatibilidad con la antigua configuración Okta y Google SSO a favor de la nueva configuración más flexible basada en OIDC.
Si tiene alguna configuración con las claves predeterminadas['firezone']['authentication']['okta'] o default['firezone']['authentication']['google'], debe migrarlas a nuestro OIDC configuración basada en la siguiente guía.
Configuración existente de Google OAuth
Elimine estas líneas que contienen las configuraciones antiguas de Google OAuth de su archivo de configuración ubicado en /etc/firezone/firezone.rb
predeterminado['firezone']['autenticación']['google']['habilitado']
predeterminado['firezone']['autenticación']['google']['client_id']
predeterminado['firezone']['autenticación']['google']['client_secret']
predeterminado['firezone']['autenticación']['google']['redirect_uri']
Luego, configure Google como proveedor de OIDC siguiendo los procedimientos aquí.
(Proporcionar instrucciones de enlace)<<<<<<<<<<<<<<<<
Configurar Google OAuth existente
Elimine estas líneas que contienen las configuraciones antiguas de Okta OAuth de su archivo de configuración ubicado en /etc/firezone/firezone.rb
predeterminado['firezone']['autenticación']['okta']['habilitado']
predeterminado['firezone']['autenticación']['okta']['client_id']
predeterminado['firezone']['autenticación']['okta']['client_secret']
Predeterminado['firezone']['autenticación']['okta']['sitio']
Luego, configure Okta como un proveedor de OIDC siguiendo los procedimientos aquí.
Dependiendo de su configuración y versión actual, siga las instrucciones a continuación:
Si ya tiene una integración OIDC:
Para algunos proveedores de OIDC, la actualización a >= 0.3.16 requiere la obtención de un token de actualización para el ámbito de acceso sin conexión. Al hacer esto, se asegura de que Firezone se actualice con el proveedor de identidad y que la conexión VPN se cierre después de que se elimine un usuario. Las iteraciones anteriores de Firezone carecían de esta función. En algunos casos, los usuarios que se eliminan de su proveedor de identidad aún pueden estar conectados a una VPN.
Es necesario incluir el acceso sin conexión en el parámetro de alcance de su configuración de OIDC para los proveedores de OIDC que admiten el alcance de acceso sin conexión. Se debe ejecutar Firezone-ctl reconfigure para aplicar los cambios al archivo de configuración de Firezone, que se encuentra en /etc/firezone/firezone.rb.
Para los usuarios que han sido autenticados por su proveedor OIDC, verá el encabezado Conexiones OIDC en la página de detalles del usuario de la interfaz de usuario web si Firezone puede recuperar correctamente el token de actualización.
Si esto no funciona, deberá eliminar su aplicación OAuth existente y repetir los pasos de configuración de OIDC para crear una nueva integración de aplicaciones .
Tengo una integración OAuth existente
Antes de 0.3.11, Firezone usaba proveedores de OAuth2 preconfigurados.
Siga las instrucciones esta página para migrar a OIDC.
No he integrado un proveedor de identidad
No se necesita acción.
Puedes seguir las instrucciones esta página para habilitar SSO a través de un proveedor OIDC.
En su lugar, default['firezone']['external url'] ha reemplazado a la opción de configuración default['firezone']['fqdn'].
Establezca esto en la URL de su portal en línea de Firezone que es accesible para el público en general. Por defecto será https:// más el FQDN de su servidor si no se define.
El archivo de configuración se encuentra en /etc/firezone/firezone.rb. Consulte la referencia del archivo de configuración para obtener una lista completa de las variables de configuración y sus descripciones.
Firezone ya no guarda las claves privadas del dispositivo en el servidor de Firezone a partir de la versión 0.3.0.
La interfaz de usuario web de Firezone no le permitirá volver a descargar ni ver estas configuraciones, pero los dispositivos existentes deberían seguir funcionando tal cual.
Si está actualizando desde Firezone 0.1.x, hay algunos cambios en el archivo de configuración que deben abordarse manualmente.
Para realizar las modificaciones necesarias en su archivo /etc/firezone/firezone.rb, ejecute los siguientes comandos como root.
cp /etc/firezone/firezone.rb /etc/firezone/firezone.rb.bak
sed -i “s/\['habilitar'\]/\['habilitar'\]/” /etc/firezone/firezone.rb
echo “predeterminado['firezone']['connectivity_checks']['enabled'] = true” >> /etc/firezone/firezone.rb
echo “predeterminado['firezone']['connectivity_checks']['interval'] = 3_600” >> /etc/firezone/firezone.rb
reconfigurar firezone-ctl
reinicio firezone-ctl
Verificar los registros de Firezone es un buen primer paso para cualquier problema que pueda ocurrir.
Ejecute sudo firezone-ctl tail para ver los registros de Firezone.
La mayoría de los problemas de conectividad con Firezone son provocados por reglas de iptables o nftables incompatibles. Debe asegurarse de que las reglas que tenga vigentes no entren en conflicto con las reglas de Firezone.
Asegúrese de que la cadena FORWARD permita que los paquetes de sus clientes WireGuard lleguen a las ubicaciones que desea dejar pasar a Firezone si su conectividad a Internet se deteriora cada vez que activa su túnel WireGuard.
Esto se puede lograr si está utilizando ufw asegurándose de que la política de enrutamiento predeterminada esté permitida:
ubuntu@fz:~$ sudo ufw predeterminado permitir enrutado
La política de enrutamiento predeterminada cambió a 'permitir'
(asegúrese de actualizar sus reglas en consecuencia)
A UFW el estado de un servidor típico de Firezone podría verse así:
ubuntu@fz:~$ sudo ufw estado detallado
Estado: Activo
Inicio de sesión: encendido (bajo)
Predeterminado: denegar (entrante), permitir (saliente), permitir (enrutado)
Nuevos perfiles: saltar
A Acción Desde
— —— —-
22/tcp PERMITIR EN Cualquier lugar
80/tcp PERMITIR EN Cualquier lugar
443/tcp PERMITIR EN Cualquier lugar
51820/udp PERMITIR EN Cualquier lugar
22/tcp (v6) PERMITIR EN Cualquier lugar (v6)
80/tcp (v6) PERMITIR EN Cualquier lugar (v6)
443/tcp (v6) PERMITIR EN Cualquier lugar (v6)
51820/udp (v6) PERMITIR EN Cualquier lugar (v6)
Recomendamos limitar el acceso a la interfaz web para implementaciones de producción extremadamente sensibles y de misión crítica, como se explica a continuación.
Service | Puerto predeterminado | Escuchar dirección | Descripción |
Nginx | 80, 443 | todos | Puerto público HTTP(S) para administrar Firezone y facilitar la autenticación. |
Guardia de alambre | 51820 | todos | Puerto público de WireGuard utilizado para sesiones de VPN. (UDP) |
Postgresql | 15432 | 127.0.0.1 | Puerto solo local utilizado para el servidor Postgresql incluido. |
Phoenix | 13000 | 127.0.0.1 | Puerto solo local utilizado por el servidor de aplicaciones elixir ascendente. |
Le recomendamos que piense en restringir el acceso a la interfaz de usuario web expuesta públicamente de Firezone (por defecto, los puertos 443/tcp y 80/tcp) y, en su lugar, use el túnel WireGuard para administrar Firezone para implementaciones de producción y orientadas al público donde un solo administrador estará a cargo. de crear y distribuir configuraciones de dispositivos a los usuarios finales.
Por ejemplo, si un administrador creó una configuración de dispositivo y creó un túnel con la dirección local de WireGuard 10.3.2.2, la siguiente configuración de ufw permitiría al administrador acceder a la interfaz de usuario web de Firezone en la interfaz wg-firezone del servidor usando la configuración predeterminada 10.3.2.1 dirección del túnel:
root@demo:~# estado ufw detallado
Estado: Activo
Inicio de sesión: encendido (bajo)
Predeterminado: denegar (entrante), permitir (saliente), permitir (enrutado)
Nuevos perfiles: saltar
A Acción Desde
— —— —-
22/tcp PERMITIR EN Cualquier lugar
51820/udp PERMITIR EN Cualquier lugar
En cualquier lugar PERMITIR EN 10.3.2.2
22/tcp (v6) PERMITIR EN Cualquier lugar (v6)
51820/udp (v6) PERMITIR EN Cualquier lugar (v6)
Esto dejaría solo 22 / tcp expuesto para acceso SSH para administrar el servidor (opcional), y 51820 / udp expuestos para establecer túneles WireGuard.
Firezone agrupa un servidor Postgresql y empareja psql utilidad que se puede usar desde el shell local así:
/opt/firezone/incrustado/bin/psql \
-U zona de fuego \
-d zona de fuego \
-h servidor local \
-p 15432\
-c “ESTADO_SQL”
Esto puede ser útil para fines de depuración.
Tareas comunes:
Listado de todos los usuarios:
/opt/firezone/incrustado/bin/psql \
-U zona de fuego \
-d zona de fuego \
-h servidor local \
-p 15432\
-c “SELECCIONAR * DE usuarios;”
Listado de todos los dispositivos:
/opt/firezone/incrustado/bin/psql \
-U zona de fuego \
-d zona de fuego \
-h servidor local \
-p 15432\
-c “SELECCIONAR * DESDE dispositivos;”
Cambiar un rol de usuario:
Establezca el rol en 'administrador' o 'sin privilegios':
/opt/firezone/incrustado/bin/psql \
-U zona de fuego \
-d zona de fuego \
-h servidor local \
-p 15432\
-c “ACTUALIZAR usuarios SET role = 'admin' WHERE email = 'user@example.com';”
Copia de seguridad de la base de datos:
Además, se incluye el programa pg dump, que se puede utilizar para realizar copias de seguridad periódicas de la base de datos. Ejecute el siguiente código para volcar una copia de la base de datos en el formato de consulta SQL común (reemplace /path/to/backup.sql con la ubicación donde se debe crear el archivo SQL):
/opt/firezone/incrustado/bin/pg_dump \
-U zona de fuego \
-d zona de fuego \
-h servidor local \
-p 15432 > /ruta/a/copia de seguridad.sql
Una vez que Firezone se haya implementado correctamente, debe agregar usuarios para brindarles acceso a su red. La interfaz de usuario web se utiliza para hacer esto.
Al seleccionar el botón "Agregar usuario" en /usuarios, puede agregar un usuario. Se le pedirá que proporcione al usuario una dirección de correo electrónico y una contraseña. Para permitir el acceso a los usuarios de su organización automáticamente, Firezone también puede interactuar y sincronizarse con un proveedor de identidad. Más detalles están disponibles en Autenticar. < Agregar un enlace para Autenticar
Recomendamos solicitar que los usuarios creen sus propias configuraciones de dispositivos para que la clave privada solo sea visible para ellos. Los usuarios pueden generar sus propias configuraciones de dispositivos siguiendo las instrucciones en el Instrucciones del cliente página.
Todas las configuraciones de dispositivos de usuario pueden ser creadas por los administradores de Firezone. En la página de perfil de usuario ubicada en /usuarios, seleccione la opción "Agregar dispositivo" para lograr esto.
[Insertar captura de pantalla]
Puede enviar por correo electrónico al usuario el archivo de configuración de WireGuard después de crear el perfil del dispositivo.
Los usuarios y los dispositivos están vinculados. Para obtener más detalles sobre cómo agregar un usuario, consulte Agregar usuarios.
Mediante el uso del sistema netfilter del kernel, Firezone habilita capacidades de filtrado de salida para especificar paquetes DROP o ACCEPT. Normalmente se permite todo el tráfico.
Los CIDR IPv4 e IPv6 y las direcciones IP se admiten a través de la lista de permitidos y la lista de denegados, respectivamente. Puede optar por aplicar una regla a un usuario al agregarlo, lo que aplica la regla a todos los dispositivos de ese usuario.
Instalar y configurar
Para establecer una conexión VPN utilizando el cliente WireGuard nativo, consulte esta guía.
Los clientes oficiales de WireGuard ubicados aquí son compatibles con Firezone:
Visite el sitio web oficial de WireGuard en https://www.wireguard.com/install/ para los sistemas operativos no mencionados anteriormente.
Tanto su administrador de Firezone como usted mismo pueden generar el archivo de configuración del dispositivo mediante el portal de Firezone.
Visite la URL que su administrador de Firezone le proporcionó para autogenerar un archivo de configuración del dispositivo. Su empresa tendrá una URL única para esto; en este caso, es https://instance-id.yourfirezone.com.
Iniciar sesión en Firezone Okta SSO
[Insertar captura de pantalla]
Importe el archivo.conf al cliente de WireGuard abriéndolo. Al activar el interruptor Activar, puede iniciar una sesión de VPN.
[Insertar captura de pantalla]
Siga las instrucciones a continuación si su administrador de red ha ordenado la autenticación recurrente para mantener activa su conexión VPN.
Es necesario:
URL del portal de Firezone: solicite la conexión a su administrador de red.
Su administrador de red debería poder ofrecerle su nombre de usuario y contraseña. El sitio de Firezone le pedirá que inicie sesión utilizando el servicio de inicio de sesión único que utiliza su empleador (como Google u Okta).
[Insertar captura de pantalla]
Vaya a la URL del portal de Firezone e inicie sesión con las credenciales que le proporcionó su administrador de red. Si ya ha iniciado sesión, haga clic en el botón Volver a autenticar antes de iniciar sesión de nuevo.
[Insertar captura de pantalla]
[Insertar captura de pantalla]
Para importar el perfil de configuración de WireGuard usando Network Manager CLI en dispositivos Linux, siga estas instrucciones (nmcli).
Si el perfil tiene habilitada la compatibilidad con IPv6, es posible que el intento de importar el archivo de configuración mediante la GUI de Network Manager falle con el siguiente error:
ipv6.method: el método "automático" no es compatible con WireGuard
Es necesario instalar las utilidades del espacio de usuario de WireGuard. Este será un paquete llamado wireguard o wireguard-tools para distribuciones de Linux.
Para Ubuntu / Debian:
sudo apt instalar protector de alambre
Para usar Fedora:
sudo dnf instalar herramientas de protección de cables
Arch Linux:
sudo pacman -S wireguard-herramientas
Visite el sitio web oficial de WireGuard en https://www.wireguard.com/install/ para distribuciones que no se mencionan anteriormente.
El administrador de Firezone o la generación propia pueden generar el archivo de configuración del dispositivo mediante el portal de Firezone.
Visite la URL que su administrador de Firezone le proporcionó para autogenerar un archivo de configuración del dispositivo. Su empresa tendrá una URL única para esto; en este caso, es https://instance-id.yourfirezone.com.
[Insertar captura de pantalla]
Importe el archivo de configuración provisto usando nmcli:
sudo nmcli tipo de importación de conexión archivo wireguard /ruta/a/configuración.conf
El nombre del archivo de configuración corresponderá a la conexión/interfaz de WireGuard. Después de la importación, se puede cambiar el nombre de la conexión si es necesario:
conexión nmcli modificar [nombre antiguo] connection.id [nombre nuevo]
A través de la línea de comando, conéctese a la VPN de la siguiente manera:
conexión nmcli activa [nombre vpn]
Para desconectar:
conexión nmcli inactiva [nombre vpn]
El subprograma Network Manager aplicable también se puede usar para administrar la conexión si se usa una GUI.
Al seleccionar "sí" para la opción de conexión automática, la conexión VPN se puede configurar para conectarse automáticamente:
conexión nmcli modificar conexión [nombre vpn]. <<<<<<<<<<<<<<<<<<<<<<
conexión automática sí
Para deshabilitar la conexión automática, vuelva a establecerla en no:
conexión nmcli modificar conexión [nombre vpn].
conexión automática no
Para activar MFA Vaya a la página /cuenta de usuario/registrar mfa del portal de Firezone. Use su aplicación de autenticación para escanear el código QR después de que se haya generado, luego ingrese el código de seis dígitos.
Comuníquese con su administrador para restablecer la información de acceso de su cuenta si pierde su aplicación de autenticación.
Este tutorial lo guiará a través del proceso de configuración de la función de túnel dividido de WireGuard con Firezone para que solo el tráfico a rangos de IP específicos se reenvíe a través del servidor VPN.
Los rangos de IP para los que el cliente enrutará el tráfico de red se establecen en el campo de IP permitidas ubicado en la página /configuración/predeterminada. Solo las configuraciones de túnel WireGuard recién creadas producidas por Firezone se verán afectadas por los cambios en este campo.
[Insertar captura de pantalla]
El valor predeterminado es 0.0.0.0/0, ::/0, que enruta todo el tráfico de red del cliente al servidor VPN.
Ejemplos de valores en este campo incluyen:
0.0.0.0/0, ::/0: todo el tráfico de red se enrutará al servidor VPN.
192.0.2.3/32: solo el tráfico a una sola dirección IP se enrutará al servidor VPN.
3.5.140.0/22: solo el tráfico a IP en el rango 3.5.140.1 - 3.5.143.254 se enrutará al servidor VPN. En este ejemplo, se utilizó el rango de CIDR para la región de AWS ap-northeast-2.
Firezone selecciona primero la interfaz de salida asociada con la ruta más precisa al determinar dónde enrutar un paquete.
Los usuarios deben regenerar los archivos de configuración y agregarlos a su cliente WireGuard nativo para actualizar los dispositivos de usuario existentes con la nueva configuración de túnel dividido.
Para instrucciones, vea añadir dispositivo. <<<<<<<<<<< Añadir enlace
Este manual demostrará cómo vincular dos dispositivos utilizando Firezone como relé. Un caso de uso típico es permitir que un administrador acceda a un servidor, contenedor o máquina que está protegido por un NAT o un firewall.
Esta ilustración muestra un escenario sencillo en el que los Dispositivos A y B construyen un túnel.
[Insertar imagen arquitectónica de firezone]
Comience creando el Dispositivo A y el Dispositivo B navegando a /users/[user_id]/new_device. En la configuración de cada dispositivo, asegúrese de que los siguientes parámetros estén configurados en los valores que se enumeran a continuación. Puede establecer la configuración del dispositivo al crear la configuración del dispositivo (consulte Agregar dispositivos). Si necesita actualizar la configuración en un dispositivo existente, puede hacerlo generando una nueva configuración de dispositivo.
Tenga en cuenta que todos los dispositivos tienen una página de configuración predeterminada donde se puede configurar PersistentKeepalive.
IP permitidas = 10.3.2.2/32
Esta es la IP o rango de IPs del Dispositivo B
Persistente Keepalive = 25
Si el dispositivo está detrás de un NAT, esto garantiza que el dispositivo pueda mantener activo el túnel y continuar recibiendo paquetes desde la interfaz WireGuard. Por lo general, un valor de 25 es suficiente, pero es posible que deba disminuir este valor según su entorno.
IP permitidas = 10.3.2.3/32
Esta es la IP o rango de IPs del Dispositivo A
Persistente Keepalive = 25
Este ejemplo muestra una situación en la que el Dispositivo A puede comunicarse con los Dispositivos B a D en ambas direcciones. Esta configuración puede representar a un ingeniero o administrador que accede a numerosos recursos (servidores, contenedores o máquinas) a través de varias redes.
[Diagrama arquitectónico]<<<<<<<<<<<<<<<<<<<<<<<
Asegúrese de que las siguientes configuraciones se realicen en la configuración de cada dispositivo con los valores correspondientes. Al crear la configuración del dispositivo, puede especificar la configuración del dispositivo (consulte Agregar dispositivos). Se puede crear una nueva configuración de dispositivo si es necesario actualizar la configuración de un dispositivo existente.
IP permitidas = 10.3.2.3/32, 10.3.2.4/32, 10.3.2.5/32
Esta es la IP de los dispositivos B a D. Las IP de los dispositivos B a D deben incluirse en cualquier rango de IP que elija configurar.
Persistente Keepalive = 25
Esto garantiza que el dispositivo pueda mantener el túnel y continuar recibiendo paquetes de la interfaz WireGuard incluso si está protegido por una NAT. En la mayoría de los casos, un valor de 25 es adecuado; sin embargo, dependiendo de su entorno, es posible que deba reducir esta cifra.
Para ofrecer una sola IP de salida estática para que fluya todo el tráfico de su equipo, Firezone se puede utilizar como una puerta de enlace NAT. Estas situaciones implican su uso frecuente:
Compromisos de consultoría: solicite que su cliente incluya en la lista blanca una sola dirección IP estática en lugar de la IP de dispositivo única de cada empleado.
Usar un proxy o enmascarar su IP de origen por motivos de seguridad o privacidad.
En esta publicación, se demostrará un ejemplo simple de cómo limitar el acceso a una aplicación web autohospedada a una única IP estática incluida en la lista blanca que ejecuta Firezone. En esta ilustración, Firezone y el recurso protegido se encuentran en diferentes áreas de VPC.
Esta solución se usa con frecuencia en lugar de administrar una lista blanca de IP para numerosos usuarios finales, lo que puede llevar mucho tiempo a medida que se expande la lista de acceso.
Nuestro objetivo es configurar un servidor Firezone en una instancia EC2 para redirigir el tráfico VPN al recurso restringido. En este caso, Firezone funciona como proxy de red o puerta de enlace NAT para otorgar a cada dispositivo conectado una IP de salida pública única.
En este caso, una instancia de EC2 denominada tc2.micro tiene una instancia de Firezone instalada. Para obtener información sobre la implementación de Firezone, vaya a la Guía de implementación. En relación con AWS, asegúrese de:
El grupo de seguridad de la instancia Firezone EC2 permite el tráfico saliente a la dirección IP del recurso protegido.
La instancia de Firezone viene con una IP elástica. El tráfico que se reenvía a través de la instancia de Firezone a destinos externos tendrá esta dirección IP de origen. La dirección IP en cuestión es 52.202.88.54.
[Insertar captura de pantalla]<<<<<<<<<<<<<<<<<<<<<<<
Una aplicación web autohospedada sirve como recurso protegido en este caso. Solo se puede acceder a la aplicación web mediante solicitudes provenientes de la dirección IP 52.202.88.54. Según el recurso, puede ser necesario permitir el tráfico entrante en varios puertos y tipos de tráfico. Esto no está cubierto en este manual.
[Insertar captura de pantalla]<<<<<<<<<<<<<<<<<<<<<<<
Indique al tercero a cargo del recurso protegido que se debe permitir el tráfico desde la IP estática definida en el Paso 1 (en este caso, 52.202.88.54).
De manera predeterminada, todo el tráfico de usuarios pasará por el servidor VPN y provendrá de la IP estática que se configuró en el Paso 1 (en este caso, 52.202.88.54). Sin embargo, si se ha habilitado el túnel dividido, es posible que se necesiten configuraciones para asegurarse de que la dirección IP de destino del recurso protegido aparezca entre las direcciones IP permitidas.
A continuación se muestra una lista completa de las opciones de configuración disponibles en /etc/firezone/firezone.rb.
opción | descripción | valor por defecto |
predeterminado['firezone']['external_url'] | URL utilizada para acceder al portal web de esta instancia de Firezone. | “https://#{nodo['fqdn'] || nodo['nombre de host']}” |
predeterminado['zona de fuego']['directorio_config'] | Directorio de nivel superior para la configuración de Firezone. | /etc/zonafuego' |
predeterminado['firezone']['install_directory'] | Directorio de nivel superior para instalar Firezone. | /opt/firezone' |
predeterminado['firezone']['app_directory'] | Directorio de nivel superior para instalar la aplicación web Firezone. | “#{nodo['firezone']['install_directory']}/embedded/service/firezone” |
predeterminado['firezone']['log_directory'] | Directorio de nivel superior para registros de Firezone. | /var/log/zonafuego' |
predeterminado['firezone']['var_directory'] | Directorio de nivel superior para archivos de tiempo de ejecución de Firezone. | /var/opt/firezone' |
predeterminado['zona de fuego']['usuario'] | Nombre del usuario de Linux sin privilegios al que pertenecerán la mayoría de los servicios y archivos. | zona de fuego' |
predeterminado['zona de fuego']['grupo'] | Nombre del grupo de Linux al que pertenecerán la mayoría de los servicios y archivos. | zona de fuego' |
predeterminado['zona de fuego']['admin_email'] | Dirección de correo electrónico para el usuario inicial de Firezone. | “zonafuego@localhost” |
predeterminado['firezone']['max_devices_per_user'] | Número máximo de dispositivos que puede tener un usuario. | 10 |
predeterminado['firezone']['allow_unprivileged_device_management'] | Permite a los usuarios que no son administradores crear y eliminar dispositivos. | VERDADERO |
predeterminado['firezone']['allow_unprivileged_device_configuration'] | Permite a los usuarios que no son administradores modificar las configuraciones de los dispositivos. Cuando está deshabilitado, evita que los usuarios sin privilegios cambien todos los campos del dispositivo, excepto el nombre y la descripción. | VERDADERO |
predeterminado['firezone']['egress_interface'] | Nombre de la interfaz donde saldrá el tráfico tunelizado. Si es nulo, se utilizará la interfaz de ruta predeterminada. | cero |
predeterminado['firezone']['fips_enabled'] | Habilite o deshabilite el modo OpenSSL FIP. | cero |
predeterminado['firezone']['logging']['enabled'] | Habilite o deshabilite el registro en Firezone. Establézcalo en falso para deshabilitar el registro por completo. | VERDADERO |
predeterminado['empresa']['nombre'] | Nombre utilizado por el libro de cocina Chef 'enterprise'. | zona de fuego' |
predeterminado['firezone']['install_path'] | Instale la ruta utilizada por el libro de cocina "empresarial" de Chef. Debe establecerse igual que el directorio_instalación anterior. | nodo['firezone']['install_directory'] |
predeterminado['zona de fuego']['sysvinit_id'] | Un identificador utilizado en /etc/inittab. Debe ser una secuencia única de 1 a 4 caracteres. | SORBER' |
predeterminado['firezone']['autenticación']['local']['habilitado'] | Habilite o deshabilite la autenticación de correo electrónico/contraseña local. | VERDADERO |
predeterminado['firezone']['autenticación']['auto_create_oidc_users'] | Cree automáticamente usuarios que inicien sesión desde OIDC por primera vez. Desactive para permitir que solo los usuarios existentes inicien sesión a través de OIDC. | VERDADERO |
predeterminado['firezone']['autenticación']['disable_vpn_on_oidc_error'] | Deshabilite la VPN de un usuario si se detecta un error al intentar actualizar su token OIDC. | FALSO |
predeterminado['firezone']['autenticación']['oidc'] | Configuración de OpenID Connect, en el formato de {“proveedor” => [config…]} – Ver Documentación de OpenIDConnect para ejemplos de configuración. | {} |
predeterminado['zona de fuego']['nginx']['habilitado'] | Habilite o deshabilite el servidor nginx incluido. | VERDADERO |
predeterminado['zona de fuego']['nginx']['ssl_port'] | Puerto de escucha HTTPS. | 443 |
predeterminado['zona de fuego']['nginx']['directorio'] | Directorio para almacenar la configuración de host virtual nginx relacionada con Firezone. | “#{nodo['firezone']['var_directory']}/nginx/etc” |
predeterminado['firezone']['nginx']['log_directory'] | Directorio para almacenar archivos de registro nginx relacionados con Firezone. | “#{nodo['firezone']['log_directory']}/nginx” |
predeterminado['firezone']['nginx']['log_rotation']['file_maxbytes'] | Tamaño de archivo en el que rotar los archivos de registro de Nginx. | 104857600 |
predeterminado['firezone']['nginx']['log_rotation']['num_to_keep'] | Número de archivos de registro nginx de Firezone que se deben conservar antes de descartarlos. | 10 |
predeterminado['firezone']['nginx']['log_x_forwarded_for'] | Ya sea para registrar Firezone nginx x-forwarded-for header. | VERDADERO |
predeterminado['firezone']['nginx']['hsts_header']['habilitado'] | VERDADERO | |
predeterminado['firezone']['nginx']['hsts_header']['include_subdomains'] | Habilite o deshabilite includeSubDomains para el encabezado HSTS. | VERDADERO |
predeterminado['firezone']['nginx']['hsts_header']['max_age'] | Edad máxima para el encabezado HSTS. | 31536000 |
predeterminado['firezone']['nginx']['redirect_to_canonical'] | Si redirigir las URL al FQDN canónico especificado anteriormente | FALSO |
predeterminado['firezone']['nginx']['caché']['habilitado'] | Habilite o deshabilite la memoria caché nginx de Firezone. | FALSO |
predeterminado['zona de fuego']['nginx']['caché']['directorio'] | Directorio para caché nginx de Firezone. | “#{nodo['firezone']['var_directory']}/nginx/cache” |
predeterminado['zona de fuego']['nginx']['usuario'] | Usuario de Firezone nginx. | nodo['zona de fuego']['usuario'] |
predeterminado['zona de fuego']['nginx']['grupo'] | Grupo nginx de Firezone. | nodo['firezone']['group'] |
predeterminado['zona de fuego']['nginx']['dir'] | Directorio de configuración de nginx de nivel superior. | nodo['firezone']['nginx']['directorio'] |
predeterminado['zona de fuego']['nginx']['log_dir'] | Directorio de registro de nginx de nivel superior. | nodo['firezone']['nginx']['log_directory'] |
predeterminado['zona de fuego']['nginx']['pid'] | Ubicación del archivo pid de nginx. | “#{nodo['firezone']['nginx']['directorio']}/nginx.pid” |
predeterminado['zona de fuego']['nginx']['daemon_disable'] | Deshabilite el modo daemon nginx para que podamos monitorearlo en su lugar. | VERDADERO |
predeterminado['zona de fuego']['nginx']['gzip'] | Active o desactive la compresión nginx gzip. | en' |
predeterminado['zona de fuego']['nginx']['gzip_static'] | Active o desactive la compresión nginx gzip para archivos estáticos. | apagado' |
predeterminado['firezone']['nginx']['gzip_http_version'] | Versión HTTP que se usará para entregar archivos estáticos. | 1.0 ' |
predeterminado['zona de fuego']['nginx']['gzip_comp_level'] | Nivel de compresión nginx gzip. | 2 ' |
predeterminado['zona de fuego']['nginx']['gzip_proxied'] | Habilita o deshabilita el uso de gzip de respuestas para solicitudes de proxy según la solicitud y la respuesta. | cualquier' |
predeterminado['zona de fuego']['nginx']['gzip_vary'] | Habilita o deshabilita la inserción del encabezado de respuesta "Variar: aceptar codificación". | apagado' |
predeterminado['zona de fuego']['nginx']['gzip_buffers'] | Establece el número y el tamaño de los búferes utilizados para comprimir una respuesta. Si es nulo, se usa el valor predeterminado de nginx. | cero |
predeterminado['firezone']['nginx']['gzip_types'] | Tipos MIME para habilitar la compresión gzip. | ['texto/sin formato', 'texto/css', 'aplicación/x-javascript', 'texto/xml', 'aplicación/xml', 'aplicación/rss+xml', 'aplicación/atom+xml', ' texto/javascript', 'aplicación/javascript', 'aplicación/json'] |
predeterminado['zona de fuego']['nginx']['gzip_min_length'] | Longitud mínima de archivo para habilitar la compresión de archivos gzip. | 1000 |
predeterminado['zona de fuego']['nginx']['gzip_disable'] | Comparador de agentes de usuario para deshabilitar la compresión gzip. | MSIE [1-6]\.' |
predeterminado['firezone']['nginx']['keepalive'] | Activa el caché para la conexión a servidores ascendentes. | en' |
predeterminado['firezone']['nginx']['keepalive_timeout'] | Tiempo de espera en segundos para la conexión keepalive a los servidores ascendentes. | 65 |
predeterminado['firezone']['nginx']['worker_processes'] | Número de procesos de trabajo de nginx. | nodo['cpu'] && nodo['cpu']['total'] ? nodo['cpu']['total'] : 1 |
predeterminado['firezone']['nginx']['worker_connections'] | Número máximo de conexiones simultáneas que puede abrir un proceso de trabajo. | 1024 |
predeterminado['zona de fuego']['nginx']['worker_rlimit_nofile'] | Cambia el límite de la cantidad máxima de archivos abiertos para los procesos de trabajo. Usa el valor predeterminado de nginx si es nulo. | cero |
predeterminado['firezone']['nginx']['multi_accept'] | Si los trabajadores deben aceptar una conexión a la vez o varias. | VERDADERO |
predeterminado['firezone']['nginx']['event'] | Especifica el método de procesamiento de conexión para usar dentro del contexto de eventos de nginx. | encuesta |
predeterminado['firezone']['nginx']['server_tokens'] | Habilita o deshabilita la emisión de la versión nginx en las páginas de error y en el campo de encabezado de respuesta "Servidor". | cero |
predeterminado['firezone']['nginx']['server_names_hash_bucket_size'] | Establece el tamaño del depósito para las tablas hash de nombres de servidor. | 64 |
predeterminado['firezone']['nginx']['sendfile'] | Habilita o deshabilita el uso de sendfile() de nginx. | en' |
predeterminado['firezone']['nginx']['access_log_options'] | Establece las opciones de registro de acceso de nginx. | cero |
predeterminado['zona de fuego']['nginx']['error_log_options'] | Establece las opciones de registro de errores de nginx. | cero |
predeterminado['zona de fuego']['nginx']['disable_access_log'] | Deshabilita el registro de acceso de nginx. | FALSO |
predeterminado['firezone']['nginx']['types_hash_max_size'] | Tamaño máximo de hash de tipos de nginx. | 2048 |
predeterminado['firezone']['nginx']['types_hash_bucket_size'] | nginx escribe el tamaño del depósito de hash. | 64 |
predeterminado['firezone']['nginx']['proxy_read_timeout'] | Tiempo de espera de lectura del proxy nginx. Establézcalo en nil para usar el valor predeterminado de nginx. | cero |
predeterminado['firezone']['nginx']['client_body_buffer_size'] | Tamaño del búfer del cuerpo del cliente nginx. Establézcalo en nil para usar el valor predeterminado de nginx. | cero |
predeterminado['firezone']['nginx']['client_max_body_size'] | Tamaño máximo del cuerpo del cliente nginx. | 250 m |
predeterminado['firezone']['nginx']['default']['modules'] | Especifique módulos nginx adicionales. | [] |
predeterminado['firezone']['nginx']['enable_rate_limiting'] | Habilite o deshabilite la limitación de velocidad de nginx. | VERDADERO |
predeterminado['firezone']['nginx']['rate_limiting_zone_name'] | Nombre de la zona de limitación de velocidad de Nginx. | zona de fuego' |
predeterminado['firezone']['nginx']['rate_limiting_backoff'] | Retroceso de limitación de velocidad de Nginx. | 10 m |
predeterminado['firezone']['nginx']['rate_limit'] | Límite de velocidad de Nginx. | 10r/s' |
predeterminado['zona de fuego']['nginx']['ipv6'] | Permita que nginx escuche solicitudes HTTP para IPv6 además de IPv4. | VERDADERO |
predeterminado['zona de fuego']['postgresql']['habilitado'] | Habilite o deshabilite Postgresql incluido. Establézcalo en falso y complete las opciones de la base de datos a continuación para usar su propia instancia de Postgresql. | VERDADERO |
predeterminado['zona de fuego']['postgresql']['nombre de usuario'] | Nombre de usuario para Postgresql. | nodo['zona de fuego']['usuario'] |
predeterminado['zona de fuego']['postgresql']['directorio_datos'] | Directorio de datos de Postgresql. | “#{nodo['firezone']['var_directory']}/postgresql/13.3/data” |
predeterminado['firezone']['postgresql']['log_directory'] | Directorio de registro de Postgresql. | “#{nodo['firezone']['log_directory']}/postgresql” |
predeterminado['firezone']['postgresql']['log_rotation']['file_maxbytes'] | Tamaño máximo del archivo de registro de Postgresql antes de rotarlo. | 104857600 |
predeterminado['firezone']['postgresql']['log_rotation']['num_to_keep'] | Número de archivos de registro de Postgresql que se deben conservar. | 10 |
predeterminado['zona de fuego']['postgresql']['checkpoint_completion_target'] | Objetivo de finalización del punto de control de Postgresql. | 0.5 |
predeterminado['firezone']['postgresql']['checkpoint_segments'] | Número de segmentos de punto de control de Postgresql. | 3 |
predeterminado['zona de fuego']['postgresql']['checkpoint_timeout'] | Tiempo de espera del punto de control de Postgresql. | 5 minutos' |
predeterminado['firezone']['postgresql']['checkpoint_warning'] | Tiempo de advertencia del punto de control de Postgresql en segundos. | 30 ' |
predeterminado['firezone']['postgresql']['efective_cache_size'] | Tamaño de caché efectivo de Postgresql. | 128 MB' |
predeterminado['zona de fuego']['postgresql']['dirección de escucha'] | Dirección de escucha de Postgresql. | 127.0.0.1 ' |
predeterminado['zona de fuego']['postgresql']['max_connections'] | Conexiones máximas de Postgresql. | 350 |
predeterminado['zona de fuego']['postgresql']['md5_auth_cidr_addresses'] | CIDR de Postgresql para permitir la autenticación md5. | ['127.0.0.1/32', '::1/128'] |
predeterminado['zona de fuego']['postgresql']['puerto'] | Puerto de escucha Postgresql. | 15432 |
predeterminado['zona de fuego']['postgresql']['shared_buffers'] | Tamaño de los búferes compartidos de Postgresql. | “#{(nodo['memoria']['total'].to_i / 4) / 1024}MB” |
predeterminado['zona de fuego']['postgresql']['shmmax'] | Postgresql shmmax en bytes. | 17179869184 |
predeterminado['zona de fuego']['postgresql']['shmall'] | Shmall Postgresql en bytes. | 4194304 |
predeterminado['zona de fuego']['postgresql']['work_mem'] | Tamaño de la memoria de trabajo de Postgresql. | 8 MB' |
predeterminado['zona de fuego']['base de datos']['usuario'] | Especifica el nombre de usuario que usará Firezone para conectarse a la base de datos. | nodo['zona de fuego']['postgresql']['nombre de usuario'] |
predeterminado['firezone']['base de datos']['contraseña'] | Si usa una base de datos externa, especifica la contraseña que usará Firezone para conectarse a la base de datos. | Cambiame' |
predeterminado['zona de fuego']['base de datos']['nombre'] | Base de datos que usará Firezone. Se creará si no existe. | zona de fuego' |
predeterminado['zona de fuego']['base de datos']['host'] | Host de base de datos al que se conectará Firezone. | nodo['firezone']['postgresql']['listen_address'] |
predeterminado['zona de fuego']['base de datos']['puerto'] | Puerto de base de datos al que se conectará Firezone. | nodo['zona de fuego']['postgresql']['puerto'] |
predeterminado['firezone']['database']['pool'] | Tamaño del grupo de base de datos que usará Firezone. | [10, Etc.nprocesadores].max |
predeterminado['zona de fuego']['base de datos']['ssl'] | Ya sea para conectarse a la base de datos a través de SSL. | FALSO |
predeterminado['zona de fuego']['base de datos']['ssl_opts'] | {} | |
predeterminado['zona de fuego']['base de datos']['parámetros'] | {} | |
predeterminado['zona de fuego']['base de datos']['extensiones'] | Extensiones de base de datos para habilitar. | { 'plpgsql' => verdadero, 'pg_trgm' => verdadero } |
predeterminado['firezone']['phoenix']['enabled'] | Habilite o deshabilite la aplicación web Firezone. | VERDADERO |
predeterminado['firezone']['phoenix']['listen_address'] | Dirección de escucha de la aplicación web Firezone. Esta será la dirección de escucha ascendente que nginx proxies. | 127.0.0.1 ' |
predeterminado['firezone']['phoenix']['port'] | Puerto de escucha de la aplicación web Firezone. Este será el puerto ascendente que nginx proxies. | 13000 |
predeterminado['firezone']['phoenix']['log_directory'] | Directorio de registro de la aplicación web de Firezone. | “#{nodo['firezone']['log_directory']}/phoenix” |
predeterminado['firezone']['phoenix']['log_rotation']['file_maxbytes'] | Tamaño del archivo de registro de la aplicación web Firezone. | 104857600 |
predeterminado['firezone']['phoenix']['log_rotation']['num_to_keep'] | Número de archivos de registro de la aplicación web de Firezone que se deben conservar. | 10 |
predeterminado['firezone']['phoenix']['crash_detection']['enabled'] | Habilite o deshabilite el cierre de la aplicación web Firezone cuando se detecta un bloqueo. | VERDADERO |
predeterminado['firezone']['phoenix']['external_trusted_proxies'] | Lista de servidores proxy inversos de confianza formateados como una matriz de IP y/o CIDR. | [] |
predeterminado['firezone']['phoenix']['private_clients'] | Lista de clientes HTTP de red privada, formateada como Array de IPs y/o CIDRs. | [] |
predeterminado['firezone']['wireguard']['enabled'] | Habilite o deshabilite la administración de WireGuard incluida. | VERDADERO |
predeterminado['firezone']['wireguard']['log_directory'] | Directorio de registro para la administración de WireGuard en paquete. | “#{nodo['firezone']['log_directory']}/wireguard” |
predeterminado['firezone']['wireguard']['log_rotation']['file_maxbytes'] | Tamaño máximo del archivo de registro de WireGuard. | 104857600 |
predeterminado['firezone']['wireguard']['log_rotation']['num_to_keep'] | Número de archivos de registro de WireGuard que se deben conservar. | 10 |
predeterminado['firezone']['wireguard']['interface_name'] | Nombre de la interfaz WireGuard. Cambiar este parámetro puede causar una pérdida temporal en la conectividad VPN. | wg-firezone' |
predeterminado['firezone']['wireguard']['port'] | Puerto de escucha WireGuard. | 51820 |
predeterminado['firezone']['wireguard']['mtu'] | MTU de interfaz WireGuard para este servidor y para configuraciones de dispositivos. | 1280 |
predeterminado['firezone']['wireguard']['endpoint'] | WireGuard Endpoint para usar para generar configuraciones de dispositivos. Si es nulo, el valor predeterminado es la dirección IP pública del servidor. | cero |
predeterminado['firezone']['wireguard']['dns'] | WireGuard DNS para usar en configuraciones de dispositivos generados. | 1.1.1.1, 1.0.0.1′ |
predeterminado['firezone']['wireguard']['allowed_ips'] | IP permitidas de WireGuard para usar en configuraciones de dispositivos generados. | 0.0.0.0/0, ::/0′ |
predeterminado['firezone']['wireguard']['persistent_keepalive'] | Configuración predeterminada de PersistentKeepalive para configuraciones de dispositivos generados. Un valor de 0 deshabilita. | 0 |
predeterminado['firezone']['wireguard']['ipv4']['enabled'] | Habilite o deshabilite IPv4 para la red WireGuard. | VERDADERO |
predeterminado['firezone']['wireguard']['ipv4']['masquerade'] | Habilite o deshabilite el enmascaramiento para los paquetes que salen del túnel IPv4. | VERDADERO |
predeterminado['firezone']['wireguard']['ipv4']['network'] | Grupo de direcciones IPv4 de la red WireGuard. | 10.3.2.0 / 24 ′ |
predeterminado['firezone']['wireguard']['ipv4']['address'] | Dirección IPv4 de la interfaz WireGuard. Debe estar dentro del grupo de direcciones de WireGuard. | 10.3.2.1 ' |
predeterminado['firezone']['wireguard']['ipv6']['enabled'] | Habilite o deshabilite IPv6 para la red WireGuard. | VERDADERO |
predeterminado['firezone']['wireguard']['ipv6']['masquerade'] | Habilite o deshabilite el enmascaramiento para los paquetes que salen del túnel IPv6. | VERDADERO |
predeterminado['firezone']['wireguard']['ipv6']['network'] | Grupo de direcciones IPv6 de la red WireGuard. | fd00::3:2:0/120′ |
predeterminado['firezone']['wireguard']['ipv6']['address'] | Dirección IPv6 de la interfaz WireGuard. Debe estar dentro del grupo de direcciones IPv6. | fd00::3:2:1′ |
predeterminado['firezone']['runit']['svlogd_bin'] | Ubicación del contenedor Runit svlogd. | “#{nodo['firezone']['install_directory']}/embedded/bin/svlogd” |
predeterminado['zona de fuego']['ssl']['directorio'] | Directorio SSL para almacenar certificados generados. | /var/opt/firezone/ssl' |
predeterminado['firezone']['ssl']['email_address'] | Dirección de correo electrónico que se usará para los certificados autofirmados y los avisos de renovación del protocolo ACME. | tu@ejemplo.com' |
predeterminado['firezone']['ssl']['acme']['enabled'] | Habilite ACME para el aprovisionamiento automático de certificados SSL. Deshabilite esto para evitar que Nginx escuche en el puerto 80. Consulte esta página para obtener más instrucciones. | FALSO |
predeterminado['firezone']['ssl']['acme']['server'] | letsencrypt | |
predeterminado['firezone']['ssl']['acme']['keylength'] | Especifique el tipo de clave y la longitud de los certificados SSL. Ver esta página | Ec-256 |
predeterminado['firezone']['ssl']['certificado'] | Ruta al archivo de certificado para su FQDN. Anula la configuración de ACME anterior si se especifica. Si tanto ACME como esto son nulos, se generará un certificado autofirmado. | cero |
predeterminado['firezone']['ssl']['certificate_key'] | Ruta al archivo del certificado. | cero |
predeterminado['zona de fuego']['ssl']['ssl_dhparam'] | nginx ssl dh_param. | cero |
predeterminado['firezone']['ssl']['country_name'] | Nombre del país para el certificado autofirmado. | A NOSOTROS' |
predeterminado['firezone']['ssl']['state_name'] | Indique el nombre del certificado autofirmado. | CALIFORNIA' |
predeterminado['firezone']['ssl']['locality_name'] | Nombre de la localidad para el certificado autofirmado. | San Francisco' |
predeterminado['firezone']['ssl']['company_name'] | Certificado autofirmado del nombre de la empresa. | Mi empresa' |
predeterminado['firezone']['ssl']['organizational_unit_name'] | Nombre de la unidad organizativa para el certificado autofirmado. | Operaciones' |
predeterminado['firezone']['ssl']['ciphers'] | Cifrados SSL para uso de 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’ |
predeterminado['firezone']['ssl']['fips_ciphers'] | Cifrados SSL para el modo FIP. | FIPS@FUERZA:!aNULL:!eNULL' |
predeterminado['firezone']['ssl']['protocolos'] | Protocolos TLS a utilizar. | TLSv1 TLSv1.1 TLSv1.2′ |
predeterminado['firezone']['ssl']['session_cache'] | Caché de sesión SSL. | compartido:SSL:4m' |
predeterminado['firezone']['ssl']['session_timeout'] | Tiempo de espera de la sesión SSL. | 5 m |
predeterminado['zona de fuego']['robots_allow'] | Los robots nginx lo permiten. | / ' |
predeterminado['zona de fuego']['robots_disallow'] | Los robots nginx no permiten. | cero |
predeterminado['firezone']['outbound_email']['from'] | Correo electrónico saliente desde la dirección. | cero |
predeterminado['firezone']['outbound_email']['provider'] | Proveedor de servicios de correo electrónico saliente. | cero |
predeterminado['firezone']['outbound_email']['configs'] | Configuraciones del proveedor de correo electrónico saliente. | ver ómnibus/libros de cocina/firezone/attributes/default.rb |
predeterminado['firezone']['telemetría']['habilitado'] | Habilite o deshabilite la telemetría de productos anónimos. | VERDADERO |
predeterminado['firezone']['connectivity_checks']['enabled'] | Habilite o deshabilite el servicio de verificación de conectividad de Firezone. | VERDADERO |
predeterminado['firezone']['connectivity_checks']['interval'] | Intervalo entre comprobaciones de conectividad en segundos. | 3_600 |
________________________________________________________________
Aquí encontrará una lista de archivos y directorios relacionados con una instalación típica de Firezone. Estos podrían cambiar dependiendo de los cambios en su archivo de configuración.
camino | descripción |
/var/opt/zonafuego | Directorio de nivel superior que contiene datos y configuración generada para los servicios integrados de Firezone. |
/opt/zona de fuego | Directorio de nivel superior que contiene bibliotecas integradas, binarios y archivos de tiempo de ejecución necesarios para Firezone. |
/usr/bin/firezone-ctl | Utilidad firezone-ctl para administrar su instalación de Firezone. |
/etc/systemd/system/firezone-runsvdir-start.servicio | archivo de unidad systemd para iniciar el proceso de supervisión de Firezone runsvdir. |
/etc/zona de fuego | Archivos de configuración de Firezone. |
__________________________________________________________
Esta página estaba vacía en documentos
_____________________________________________________________
La siguiente plantilla de firewall de nftables se puede usar para proteger el servidor que ejecuta Firezone. La plantilla hace algunas suposiciones; es posible que deba ajustar las reglas para que se adapten a su caso de uso:
Firezone configura sus propias reglas de nftables para permitir/rechazar el tráfico a los destinos configurados en la interfaz web y para manejar la NAT saliente para el tráfico del cliente.
La aplicación de la siguiente plantilla de firewall en un servidor que ya se está ejecutando (no en el momento del arranque) dará como resultado que se borren las reglas de Firezone. Esto puede tener implicaciones de seguridad.
Para evitar esto, reinicie el servicio Phoenix:
firezone-ctl reiniciar phoenix
#!/usr/sbin/nft-f
## Borrar/vaciar todas las reglas existentes
juego de reglas al ras
############################# VARIABLES ################# ###############
## Nombre de la interfaz de Internet/WAN
definir DEV_WAN = eth0
## Nombre de la interfaz WireGuard
definir DEV_WIREGUARD = wg-firezone
## Puerto de escucha WireGuard
definir WIREGUARD_PORT = 51820
############################ FIN DE LAS VARIABLES ################## ############
# Tabla principal de filtrado de la familia inet
filtro de entrada de tabla {
# Reglas para el tráfico reenviado
# Esta cadena se procesa antes que la cadena de reenvío de Firezone
cadena adelante {
filtro de tipo anzuelo filtro de prioridad de reenvío – 5; política aceptar
}
# Reglas para el tráfico de entrada
entrada de cadena {
filtro de tipo gancho filtro de prioridad de entrada; caída de la política
## Permitir el tráfico entrante a la interfaz de loopback
si lo \
aceptar \
comentario "Permitir todo el tráfico desde la interfaz de loopback"
## Permitir conexiones establecidas y relacionadas
ct estado establecido, relacionado \
aceptar \
comentario “Permitir conexiones establecidas/relacionadas”
## Permitir el tráfico entrante de WireGuard
IIF $DEV_WAN puerto upp $WIREGUARD_PORT \
encimera \
aceptar \
comentario "Permitir el tráfico entrante de WireGuard"
## Registrar y descartar nuevos paquetes TCP no SYN
banderas tcp! = estado de sincronización nuevo \
tasa límite 100/minuto ráfaga 150 paquetes \
prefijo de registro “IN – Nuevo !SYN: “ \
comentario "Registro de límite de velocidad para nuevas conexiones que no tienen establecido el indicador SYN TCP"
banderas tcp! = estado de sincronización nuevo \
encimera \
gota \
comentario "Eliminar nuevas conexiones que no tienen el indicador SYN TCP establecido"
## Registrar y descartar paquetes TCP con un conjunto de indicadores fin/syn no válidos
indicadores tcp & (fin|syn) == (fin|syn) \
tasa límite 100/minuto ráfaga 150 paquetes \
prefijo de registro “ENTRADA – TCP FIN|SIN: “ \
comentario "Registro de límite de velocidad para paquetes TCP con un conjunto de indicadores fin/syn no válidos"
indicadores tcp & (fin|syn) == (fin|syn) \
encimera \
gota \
comentario "Eliminar paquetes TCP con un conjunto de indicadores fin/syn no válidos"
## Registrar y descartar paquetes TCP con un conjunto de indicadores de sincronización/rst no válidos
banderas tcp & (syn|rst) == (syn|rst) \
tasa límite 100/minuto ráfaga 150 paquetes \
prefijo de registro “ENTRADA – TCP SYN|RST: “ \
comentario "Registro de límite de velocidad para paquetes TCP con conjunto de indicadores de sincronización/rst no válidos"
banderas tcp & (syn|rst) == (syn|rst) \
encimera \
gota \
comentario "Eliminar paquetes TCP con conjunto de indicadores de sincronización/rst no válidos"
## Registrar y descartar indicadores de TCP no válidos
indicadores tcp & (fin|syn|rst|psh|ack|urg) < (fin) \
tasa límite 100/minuto ráfaga 150 paquetes \
prefijo de registro “EN – FIN:” \
comentario “Registro de límite de velocidad para indicadores TCP no válidos (fin|syn|rst|psh|ack|urg) < (fin)”
indicadores tcp & (fin|syn|rst|psh|ack|urg) < (fin) \
encimera \
gota \
comentario "Soltar paquetes TCP con banderas (fin|syn|rst|psh|ack|urg) < (fin)"
## Registrar y descartar indicadores de TCP no válidos
indicadores tcp & (fin|syn|rst|psh|ack|urg) == (fin|psh|urg) \
tasa límite 100/minuto ráfaga 150 paquetes \
prefijo de registro “EN – FIN|PSH|URG:” \
comentario “Registro de límite de velocidad para indicadores TCP no válidos (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)”
indicadores tcp & (fin|syn|rst|psh|ack|urg) == (fin|psh|urg) \
encimera \
gota \
comentario "Soltar paquetes TCP con banderas (fin|syn|rst|psh|ack|urg) == (fin|psh|urg)"
## Eliminar el tráfico con un estado de conexión no válido
ct estado inválido \
tasa límite 100/minuto ráfaga 150 paquetes \
registro marca todos los prefijos “EN – Inválido: “ \
comentario “Registro de límite de velocidad para tráfico con estado de conexión no válido”
ct estado inválido \
encimera \
gota \
comentario "Eliminar tráfico con estado de conexión no válido"
## Permitir respuestas de ping/ping de IPv4 pero limitar la tasa a 2000 PPS
ip protocolo icmp tipo icmp { respuesta de eco, solicitud de eco } \
tasa límite 2000/segundo \
encimera \
aceptar \
comentario "Permitir eco IPv4 entrante (ping) limitado a 2000 PPS"
## Permitir todos los demás ICMP IPv4 entrantes
ip protocolo icmp\
encimera \
aceptar \
comentario "Permitir todos los demás ICMP IPv4"
## Permitir respuestas de ping/ping de IPv6 pero limitar la tasa a 2000 PPS
tipo icmpv6 { respuesta de eco, solicitud de eco } \
tasa límite 2000/segundo \
encimera \
aceptar \
comentario "Permitir eco IPv6 entrante (ping) limitado a 2000 PPS"
## Permitir todos los demás ICMP IPv6 entrantes
meta l4proto { icmpv6 } \
encimera \
aceptar \
comentario "Permitir todos los demás ICMP IPv6"
## Permitir puertos UDP traceroute entrantes pero limitar a 500 PPS
puerto upp 33434-33524\
tasa límite 500/segundo \
encimera \
aceptar \
comentario "Permitir trazado de ruta UDP entrante limitado a 500 PPS"
## Permitir SSH de entrada
puerto TCP ssh ct estado nuevo \
encimera \
aceptar \
comentario "Permitir conexiones SSH entrantes"
## Permitir HTTP y HTTPS entrantes
tcp dport { http, https } ct estado nuevo \
encimera \
aceptar \
comentario “Permitir conexiones HTTP y HTTPS entrantes”
## Registre cualquier tráfico no coincidente, pero limite la tasa de registro a un máximo de 60 mensajes/minuto
## La política predeterminada se aplicará al tráfico no coincidente
tasa límite 60/minuto ráfaga 100 paquetes \
prefijo de registro “ENTRADA – Soltar: “ \
comentario "Registrar cualquier tráfico no coincidente"
## Cuente el tráfico sin igual
encimera \
comentario “Cuenta cualquier tráfico no coincidente”
}
# Reglas para el tráfico de salida
salida en cadena {
filtro de tipo gancho filtro de prioridad de salida; caída de la política
## Permitir el tráfico saliente a la interfaz de loopback
o si lo \
aceptar \
comentario "Permitir que todo el tráfico salga a la interfaz de loopback"
## Permitir conexiones establecidas y relacionadas
ct estado establecido, relacionado \
encimera \
aceptar \
comentario “Permitir conexiones establecidas/relacionadas”
## Permita el tráfico saliente de WireGuard antes de descartar conexiones con mal estado
Sí $DEV_WAN deporte upp $WIREGUARD_PORT \
encimera \
aceptar \
comentario “Permitir el tráfico saliente de WireGuard”
## Eliminar el tráfico con un estado de conexión no válido
ct estado inválido \
tasa límite 100/minuto ráfaga 150 paquetes \
registro marca todos los prefijos “FUERA – Inválido: “ \
comentario “Registro de límite de velocidad para tráfico con estado de conexión no válido”
ct estado inválido \
encimera \
gota \
comentario "Eliminar tráfico con estado de conexión no válido"
## Permitir todos los demás ICMP IPv4 salientes
ip protocolo icmp\
encimera \
aceptar \
comentario "Permitir todos los tipos de ICMP IPv4"
## Permitir todos los demás ICMP IPv6 salientes
meta l4proto { icmpv6 } \
encimera \
aceptar \
comentario "Permitir todos los tipos de ICMP IPv6"
## Permitir puertos UDP de traceroute salientes pero limitarlos a 500 PPS
puerto upp 33434-33524\
tasa límite 500/segundo \
encimera \
aceptar \
comentario "Permitir trazado de ruta UDP saliente limitado a 500 PPS"
## Permitir conexiones HTTP y HTTPS salientes
tcp dport { http, https } ct estado nuevo \
encimera \
aceptar \
comentario "Permitir conexiones HTTP y HTTPS salientes"
## Permitir el envío SMTP saliente
tcp dport envío ct estado nuevo \
encimera \
aceptar \
comentario "Permitir envío SMTP saliente"
## Permitir solicitudes de DNS salientes
puerto upp 53 \
encimera \
aceptar \
comentario "Permitir solicitudes de DNS UDP salientes"
puerto TCP 53 \
encimera \
aceptar \
comentario "Permitir solicitudes TCP DNS salientes"
## Permitir solicitudes NTP salientes
puerto upp 123 \
encimera \
aceptar \
comentario "Permitir solicitudes NTP salientes"
## Registre cualquier tráfico no coincidente, pero limite la tasa de registro a un máximo de 60 mensajes/minuto
## La política predeterminada se aplicará al tráfico no coincidente
tasa límite 60/minuto ráfaga 100 paquetes \
prefijo de registro “FUERA – Soltar: “ \
comentario "Registrar cualquier tráfico no coincidente"
## Cuente el tráfico sin igual
encimera \
comentario “Cuenta cualquier tráfico no coincidente”
}
}
# Tabla principal de filtrado de NAT
tabla inet nat {
# Reglas para el enrutamiento previo del tráfico NAT
enrutamiento previo de la cadena {
escriba la prioridad de enrutamiento previo del gancho nat dstnat; política aceptar
}
# Reglas para el enrutamiento posterior del tráfico NAT
# Esta tabla se procesa antes de la cadena posterior al enrutamiento de Firezone
cadena posterior al enrutamiento {
tipo nat hook postrouting prioridad srcnat – 5; política aceptar
}
}
El firewall debe almacenarse en la ubicación correspondiente para la distribución de Linux que se está ejecutando. Para Debian/Ubuntu es /etc/nftables.conf y para RHEL es /etc/sysconfig/nftables.conf.
nftables.service deberá configurarse para iniciarse en el arranque (si aún no lo está) establecido:
systemctl habilitar nftables.servicio
Si realiza algún cambio en la plantilla de firewall, la sintaxis se puede validar ejecutando el comando de verificación:
nft -f /ruta/a/nftables.conf -c
Asegúrese de validar que el firewall funcione como se espera, ya que es posible que ciertas funciones de nftables no estén disponibles según la versión que se ejecute en el servidor.
_______________________________________________________________
Este documento presenta una descripción general de la telemetría que Firezone recopila de su instancia autohospedada y cómo deshabilitarla.
Zona de fuego se basa en telemetría para priorizar nuestra hoja de ruta y optimizar los recursos de ingeniería que tenemos para hacer que Firezone sea mejor para todos.
La telemetría que recopilamos tiene como objetivo responder a las siguientes preguntas:
Hay tres lugares principales donde se recopila la telemetría en Firezone:
En cada uno de estos tres contextos, capturamos la cantidad mínima de datos necesaria para responder las preguntas de la sección anterior.
Los correos electrónicos de los administradores se recopilan solo si opta explícitamente por recibir actualizaciones de productos. De lo contrario, la información de identificación personal es nunca recogido.
Firezone almacena la telemetría en una instancia autohospedada de PostHog que se ejecuta en un clúster privado de Kubernetes, al que solo puede acceder el equipo de Firezone. Este es un ejemplo de un evento de telemetría que se envía desde su instancia de Firezone a nuestro servidor de telemetría:
{
"identificación": “0182272d-0b88-0000-d419-7b9a413713f1”,
"marca de tiempo": “2022-07-22T18:30:39.748000+00:00”,
"evento": “fz_http_comenzado”,
“id_distinto”: “1ec2e794-1c3e-43fc-a78f-1db6d1a37f54”,
"propiedades": {
“$geoip_nombre_ciudad”: "Ashburn",
“$geoip_continent_code”: "N / A",
“$geoip_nombre_continente”: "América del norte",
“$geoip_código_país”: "NOSOTROS",
“$geoip_nombre_país”: "Estados Unidos",
“$geoip_latitud”: 39.0469,
“$geoip_longitud”: -77.4903,
“$código_postal_geoip”: "20149",
“$geoip_subdivisión_1_código”: "VIRGINIA",
“$geoip_subdivisión_1_nombre”: "Virginia",
“$geoip_time_zone”: “América/Nueva_York”,
“$ip”: "52.200.241.107",
“$complementos_diferidos”: []
“$complementos_fallidos”: []
“$plugins_exitoso”: [
“GeoIP (3)”
],
“id_distinto”: “1zc2e794-1c3e-43fc-a78f-1db6d1a37f54”,
"fqdn": “awsdemo.firezone.dev”,
"versión del núcleo": "Linux 5.13.0",
"versión": "0.4.6"
},
“elementos_cadena”: ""
}
NOTA
El equipo de desarrollo de Firezone se basa en análisis de productos para hacer que Firezone sea mejor para todos. Dejar la telemetría habilitada es la contribución individual más valiosa que puede hacer al desarrollo de Firezone. Dicho esto, entendemos que algunos usuarios tienen mayores requisitos de privacidad o seguridad y preferirían desactivar la telemetría por completo. Si ese eres tú, sigue leyendo.
La telemetría está habilitada de forma predeterminada. Para deshabilitar por completo la telemetría del producto, establezca la siguiente opción de configuración en falso en /etc/firezone/firezone.rb y ejecute sudo firezone-ctl reconfigure para recuperar los cambios.
por defecto['zona de fuego']['telemetría']['activado'] = false
Eso deshabilitará por completo toda la telemetría del producto.
hailbytes
9511 Guardia de Queens Ct.
Laurel, MD 20723
Teléfono: (732) 771-9995
Correo electrónico: info@hailbytes.com