Docs Menu
Docs Home
/ /

Configurar Windows netsh Firewall para implementaciones autogestionadas

En los sistemas Windows Server, el programa netsh proporciona métodos para administrar el Windows FirewallEstas reglas de firewall permiten a los administradores controlar qué hosts pueden conectarse al sistema y limitar la exposición al riesgo al limitar los hosts que pueden conectarse a un sistema.

Este documento describe las configuraciones básicas de Windows Firewall. Utilice estos enfoques como punto de partida para su organización de redes más amplia. Para obtener una descripción detallada de las prácticas de seguridad y la gestión de riesgos de MongoDB, consulte Seguridad.

Tip

Documentación deFirewall de Windows de Microsoft.

Windows Firewall procesa las reglas en un orden determinado por el tipo de regla y las analiza en el siguiente orden:

  1. Windows Service Hardening

  2. Connection security rules

  3. Authenticated Bypass Rules

  4. Block Rules

  5. Allow Rules

  6. Default Rules

De forma predeterminada, la política en Windows Firewall permite todas las conexiones salientes y bloquea todas las conexiones entrantes.

Dados los puertos predeterminados de todos los procesos de MongoDB, debe configurar reglas de red que permitan solo la comunicación requerida entre su aplicación y las instancias mongod.exe y mongos.exe apropiadas.

Los cambios de configuración mencionados en este documento crearán reglas que permiten explícitamente el tráfico desde direcciones específicas y en puertos específicos, usando una política por defecto que descarta todo el tráfico que no esté permitido explícitamente.

Puede configurar Windows Firewall mediante la herramienta de línea de comandos netsh o una aplicación de Windows. En Windows Server 2008, esta aplicación está en Windows Firewall With Advanced Security, dentro de Administrative Tools. En versiones anteriores de Windows Server, acceda a la aplicación Windows Firewall en el panel de control System and Security.

Los procedimientos de este documento utilizan la herramienta de línea de comandos netsh.

Esta sección contiene varios patrones y ejemplos para configurar Windows Firewall en despliegues de MongoDB. Si ha configurado diferentes puertos utilizando la configuración port, deberá modificar las reglas en consecuencia.

Este patrón se aplica a todas las instancias que se ejecutan como instancias mongod.exe independientes o como parte de un conjunto de réplicas. El objetivo de este patrón es permitir explícitamente el tráfico a la instancia desde el servidor de mongod.exe aplicaciones.

netsh advfirewall firewall add rule name="Open mongod port 27017" dir=in action=allow protocol=TCP localport=27017

Esta regla permite todo el tráfico entrante al puerto 27017, lo que permite que el servidor de la aplicación se conecte a la instancia mongod.exe.

Windows Firewall También permite habilitar el acceso a la red para toda una aplicación en lugar de a un puerto específico, como en el siguiente ejemplo:

netsh advfirewall firewall add rule name="Allowing mongod" dir=in action=allow program=" C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe"

Puedes permitir todo el acceso para un mongos.exe servidor, con la siguiente invocación:

netsh advfirewall firewall add rule name="Allowing mongos" dir=in action=allow program=" C:\Program Files\MongoDB\Server\3.4\bin\mongos.exe"

mongos.exe Las instancias proporcionan enrutamiento de consultas para clústeres fragmentados. Los clientes se conectan a las mongos.exe instancias, que se comportan como desde la perspectiva del cliente. A su vez, la instancia mongod.exe se mongos.exe conecta a las mongod.exe instancias que componen el clúster fragmentado.

Utilice el mismo comando Windows Firewall para permitir el tráfico hacia y desde estas instancias como lo haría desde las instancias del mongod.exe que son miembros del set de réplicas.

netsh advfirewall firewall add rule name="Open mongod shard port 27018" dir=in action=allow protocol=TCP localport=27018

Los servidores de configuración alojan la base de datos de configuración que almacena los metadatos de los clústeres fragmentados. Cada clúster de producción tiene tres servidores de configuración, que se inician con la mongod --configsvr opción. []1 Los servidores de configuración escuchan las conexiones en el 27019 puerto. Por lo tanto, agregue las siguientes Windows Firewall reglas al servidor de configuración para permitir las conexiones entrantes y salientes en el puerto 27019 para la conexión con los demás servidores de configuración.

netsh advfirewall firewall add rule name="Open mongod config svr port 27019" dir=in action=allow protocol=TCP localport=27019

Además, los servidores de configuración deben permitir conexiones entrantes desde todas las instancias mongos.exe en el clúster y todas las instancias mongod.exe en el clúster. Agrega reglas que se parezcan a las siguientes:

netsh advfirewall firewall add rule name="Open mongod config svr inbound" dir=in action=allow protocol=TCP remoteip=<ip-address> localport=27019

Reemplaza <ip-address> por las direcciones de las instancias mongos.exe y las instancias mongod.exe de la partición.

[1] También puede ejecutar un servidor de configuración utilizando el configsvr valor para la clusterRole configuración en un archivo de configuración.

Para servidores de fragmentos que se ejecutan como mongod --shardsvr []2 Debido a que el número de puerto predeterminado es 27018 cuando se ejecuta con el shardsvr valor para la configuración, debe configurar las clusterRole siguientes Windows Firewall reglas para permitir el tráfico hacia y desde cada fragmento:

netsh advfirewall firewall add rule name="Open mongod shardsvr inbound" dir=in action=allow protocol=TCP remoteip=<ip-address> localport=27018
netsh advfirewall firewall add rule name="Open mongod shardsvr outbound" dir=out action=allow protocol=TCP remoteip=<ip-address> localport=27018

Reemplace la <ip-address> especificación con la dirección IP de todas las mongod.exe instancias. Esto le permite permitir el tráfico entrante y saliente entre todos los fragmentos, incluidos los miembros del conjunto de réplicas que lo constituyen, para:

  • todas las instancias en los conjuntos de réplicas del mongod.exe fragmento.

  • todas las instancias de mongod.exe en otras particiones. [3]

Además, los fragmentos deben poder realizar conexiones salientes a:

  • todas las mongos.exe instancias.

  • todas las instancias en los servidores de mongod.exe configuración.

Cree una regla que se parezca a la siguiente y reemplace <ip-address> con la dirección de los servidores de configuración y las mongos.exe instancias:

netsh advfirewall firewall add rule name="Open mongod config svr outbound" dir=out action=allow protocol=TCP remoteip=<ip-address> localport=27018
[2] También puede especificar la opción de servidor de fragmentos con el shardsvr valor para la clusterRole configuración en el archivo de configuración. Los miembros de fragmentos también suelen ser conjuntos de réplicas convencionales que utilizan el puerto predeterminado.
[3] Todas las particiones en un clúster deben poder comunicarse con todas las demás particiones para facilitar las operaciones de fragmento y balanceo.

La mongostat herramienta de diagnóstico, cuando se ejecuta con,--discover debe mongos.exe poder llegar a todos los componentes de un clúster, incluidos los servidores de configuración, los servidores de fragmentos y las instancias.

Esta sección contiene una serie de operaciones básicas para gestionar y utilizar netsh. Aunque puedes usar la interfaz gráfica de usuario para gestionar el Windows Firewall, toda la funcionalidad principal está accesible desde netsh.

Para eliminar la regla de firewall que permite el mongod.exe tráfico:

netsh advfirewall firewall delete rule name="Open mongod port 27017" protocol=tcp localport=27017
netsh advfirewall firewall delete rule name="Open mongod shard port 27018" protocol=tcp localport=27018

Para devolver una lista de todas las reglas Windows Firewall:

netsh advfirewall firewall show rule name=all

Para restablecer las reglas Windows Firewall:

netsh advfirewall reset

Para simplificar la administración de sistemas más grandes, puede exportar o importar reglas de Firewall de Windows.

  • Para exportar todas las reglas del Firewall de Windows, ejecute el siguiente comando:

    netsh advfirewall export "C:\temp\MongoDBfw.wfw"

    Reemplace "C:\temp\MongoDBfw.wfw" con una ruta de su elección.

  • Para importar reglas de Firewall de Windows, ejecute el siguiente comando:

    netsh advfirewall import "C:\temp\MongoDBfw.wfw"

    Reemplace "C:\temp\MongoDBfw.wfw" con la ruta al archivo que contiene las reglas de Firewall de Windows.

Volver

Use Linux iptables

En esta página