Despliegue sin Conexión de Windows
Este artículo le guiará a través del procedimiento para instalar y desplegar Bitwarden en su propio servidor de Windows en un entorno sin conexión o aislado. Por favor revise la documentación de soporte para la liberación de software de Bitwarden.
advertencia
Las instalaciones manuales solo deben ser realizadas por usuarios avanzados. Solo proceda si está muy familiarizado con las tecnologías de Docker y desea tener más control sobre su instalación de Bitwarden.
Las instalaciones manuales carecen de la capacidad de actualizar automáticamente ciertas dependencias de la instalación de Bitwarden. A medida que mejora de una versión de Bitwarden a la siguiente, será responsable de los cambios en las variables de entorno requeridas, los cambios en nginx default.conf
, los cambios en docker-compose.yml
, y así sucesivamente.
Intentaremos resaltar estos en las notas de la versión en GitHub. También puedes monitorear los cambios en las plantillas de dependencia utilizadas por el script de instalación de Bitwarden en GitHub.
Antes de proceder con la instalación, asegúrese de que se cumplan los siguientes requisitos:
Docker Engine y Docker Compose están instalados y listos para usar en su servidor. Durante esta configuración, debes deseleccionar la opción Usar WSL2 en lugar de Hyper-V (recomendado).
Usando una máquina con acceso a internet, has descargado el último archivo
docker-stub.zip
de la página de lanzamientos del repositorio del Servidor Bitwarden y has transferido este archivo a tu servidor.Se ha configurado y activado un servidor SMTP sin conexión en su entorno.
(Opcional) Los binarios de OpenSSL para Windows están instalados y listos para usar en tu servidor. Puede usar un certificado autofirmado en lugar de OpenSSL si lo desea.
Mínimo | Recomendado | |
---|---|---|
Procesador | x64, 1.4GHz | x64, Dual Core de 2GHz |
Memoria | 6GB de RAM | 8+ GB RAM |
Almacenamiento | 76GB | 90GB |
Versión de Docker | Motor 19+ y Componer 1.24+ | Motor 19+ y Componer 1.24+ |
Ejecutar Bitwarden en un servidor de Windows requiere el uso de virtualización anidada. Por favor, consulte la documentación de su Hipervisor para averiguar si la virtualización anidada (nido) es compatible y cómo habilitarla.
consejo
Si está ejecutando Windows Server como una VM de Azure, recomendamos una Máquina Virtual Estándar D2s v3 ejecutando Windows Server 2022, que cumple con todos los requisitos del sistema incluyendo soporte para virtualización anidada (nido). También necesitará seleccionar Tipo de Seguridad: Estándar en lugar de la opción predeterminada Máquinas virtuales de lanzamiento confiable.
Por defecto, Bitwarden se servirá a través de los puertos 80 (http
) y 443 (https
) en la máquina anfitriona. Abre estos puertos para que Bitwarden pueda ser accedido desde dentro y/o fuera de la red. Puede optar por elegir diferentes puertos durante la instalación.
consejo
Si está utilizando Windows Firewall, Docker Desktop para Windows no agregará automáticamente una excepción para sí mismo en Windows Firewall. Agregue excepciones para los puertos TCP 80 y 443 (o puertos alternativos elegidos) para prevenir errores relacionados.
Recomendamos configurar un nombre de dominio con registros DNS que apunten a su máquina anfitriona (por ejemplo, bitwarden.example.com
), especialmente si está sirviendo Bitwarden a través de internet.
Abre PowerShell y crea un usuario local de Bitwarden ejecutando el siguiente comando:
BashPS C:\> $Password = Read-Host -AsSecureString
Después de ejecutar el comando anterior, ingrese la contraseña deseada en el cuadro de diálogo de entrada de texto. Después de especificar una contraseña, ejecute el siguiente comando:
BashNew-LocalUser "Bitwarden" -Password $Password -Description "Bitwarden Local Admin"
Como el nuevo usuario, crea una carpeta de Bitwarden en C:\
:
BashPS C:\> mkdir Bitwarden
Una vez que instales Docker Desktop, navega a Ajustes → Recursos → Compartir Archivos y añade el directorio creado (C:\Bitwarden
) a la lista de Recursos. Seleccione Aplicar y Reiniciar para aplicar sus cambios.
Recomendamos iniciar sesión como el nuevo usuario creado antes de completar todos los procedimientos subsiguientes en este documento.
Para configurar tu máquina con los recursos necesarios para tu servidor Bitwarden:
consejo
Si has creado un usuario y directorio de Bitwarden, completa lo siguiente como el usuario de Bitwarden
.
Crea un nuevo directorio en
C:\Bitwarden
llamadobwdata
y extraedocker-stub.zip
en él.
Una vez descomprimido, el directoriobwdata
coincidirá con lo que el archivodocker-compose.yml
espera en su mapeo de volumen. Puede, si lo desea, cambiar la ubicación de estas asignaciones en la máquina anfitriona.En
bwdata\env\global.override.env
, editar las siguientes variables de entorno:globalSettings__baseServiceUri__vault=
: Ingresa el dominio de tu instancia de Bitwarden.globalSettings__sqlServer__ConnectionString=
: Reemplace laCONTRASEÑA_ALEATORIA_DE_BASE_DE_DATOS
con una contraseña segura para usar en un paso posterior.globalSettings__identityServer__certificatePassword=
: Establezca una contraseña de certificado segura para usar en un paso posterior.globalSettings__internalIdentityKey=
: ReemplaceRANDOM_IDENTITY_KEY
con una cadena de clave aleatoria.globalSettings__oidcIdentityClientKey=
: ReemplaceRANDOM_IDENTITY_KEY
con una cadena de clave aleatoria.globalSettings__duo__aKey=
: ReemplaceRANDOM_DUO_AKEY
con una cadena de clave aleatoria.globalSettings__installation__id=
: Ingresa una id de instalación obtenida de https://bitwarden.com/host.globalSettings__installation__key=
: Ingresa una clave de instalación obtenida de https://bitwarden.com/host.globalSettings__pushRelayBaseUri=
: Esta variable debería estar en blanco. Vea Configurar Relay de Notificaciones para más información.consejo
En este momento, considere también establecer valores para todas las variables
globalSettings__mail__smtp__
y paraadminSettings__admins
. Hacerlo configurará el servidor de correo SMTP utilizado para enviar invitaciones a nuevos miembros de la organización y proporcionar acceso al Portal del Administrador del Sistema.
Genere un certificado
identidad.pfx
para el contenedor de identidad. Puedes hacerlo usando OpenSSL o cualquier herramienta para generar un certificado autofirmado. Si estás utilizando OpenSSL, ejecuta los siguientes comandos:Bashopenssl req -x509 -newkey rsa:4096 -sha256 -nodes -keyout identity.key -out identity.crt -subj "/CN=Bitwarden IdentityServer" -days 10950
y
Bashopenssl pkcs12 -export -out ./identity/identity.pfx -inkey identity.key -in identity.crt -passout pass:IDENTITY_CERT_PASSWORD
En el comando anterior, reemplace
IDENTITY_CERT_PASSWORD
con la contraseña del certificado creada y utilizada en Paso 2.Mueva
identidad.pfx
al directorio de volumen mapeado (por defecto,.\bwdata\identidad
).Copia
identity.pfx
al directorio.\bwdata\ssl
.Crea un subdirectorio en
.\bwdata\ssl
con el nombre de tu dominio.Proporcione un certificado SSL confiable y una clave privada en el subdirectorio recién creado
.\bwdata\ssl\bitwarden.example.com
.nota
Este directorio está mapeado al contenedor NGINX en
\etc\ssl
. Si no puedes proporcionar un certificado SSL de confianza, adelanta la instalación con un proxy que proporciona un punto final HTTPS a las aplicaciones cliente de Bitwarden.En
.\bwdata\nginx\default.conf
:Reemplace todas las instancias de
bitwarden.example.com
con su dominio, incluyendo en el encabezado de laPolítica-de-Seguridad-de-Contenido
.Establezca las variables
ssl_certificate
yssl_certificate_key
a las rutas del certificado y la clave privada proporcionadas en el Paso 6.Realice una de las siguientes acciones, dependiendo de la configuración de su certificado:
Si utiliza un certificado SSL de confianza, establezca la variable
ssl_trusted_certificate
en la ruta a su certificado.Si utiliza un certificado autofirmado, comente las variables
ssl_trusted_certificate
.
En
.\bwdata\env\mssql.override.env
, reemplaceRANDOM_DATABASE_PASSWORD
con la contraseña creada en Paso 2.En
.\bwdata\web\app-id.json
, reemplacebitwarden.example.com
con su dominio.