Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

Configurar netsh firewall do Windows para sistemas autogerenciados

Nesta página

  • Visão geral
  • Padrões
  • Gerencie configurações do firewall do Windows

Nos sistemas Windows Server, o programa netsh fornece métodos para gerenciar o Windows Firewall. Essas regras de firewall permitem que os administradores controlem quais hosts podem se conectar ao sistema e limitem a exposição ao risco, limitando os hosts que podem se conectar a um sistema.

Este documento descreve as configurações básicas do Windows Firewall . Use essas abordagens como ponto de ponto para sua organização de rede maior. Para obter uma visão geral detalhada das práticas de segurança e do gerenciamento de riscos do MongoDB, consulteSegurança do .

Dica

Veja também:

Firewall do Windows documentação da Microsoft.

Windows Firewall processa regras em uma ordem determinada pelo tipo de regra e analisada na seguinte ordem:

  1. Windows Service Hardening

  2. Connection security rules

  3. Authenticated Bypass Rules

  4. Block Rules

  5. Allow Rules

  6. Default Rules

Por padrão, a política no Windows Firewall permite todas as conexões de saída e bloqueia todas as conexões de entrada.

Dadas as portas padrão de todos os processos MongoDB, você deve configurar as regras de rede que permitem somente comunicação exigida entre seu aplicativo e as instâncias apropriadas do mongod.exe e mongos.exe.

As alterações de configurações descritas neste documento criarão regras que permitem explicitamente o tráfego de endereços específicos e em portas específicas, utilizando uma política padrão que descarta todo o tráfego que não é explicitamente permitido.

Você pode configurar o Windows Firewall utilizando a ferramenta de linha de comando netsh ou por um aplicativo Windows. No Windows Server 2008, este aplicativo é Windows Firewall With Advanced Security no Administrative Tools. Em versões anteriores do Windows Server, acesse o aplicativo Windows Firewall no painel de controle do System and Security.

Os procedimentos neste documento utilizam a ferramenta de linha de comando netsh.

Esta seção contém vários padrões e exemplos para configurar o Windows Firewall para utilizar com sistemas do MongoDB. Se você tiver configurado portas diferentes usando a definição de configuração port, precisará modificar as regras de acordo.

Este padrão é aplicável a todas as instâncias do mongod.exe executando como instâncias independentes ou como parte de um conjunto de réplicas. O objetivo desse padrão é permitir explicitamente o tráfego para a instância mongod.exe a partir do servidor de aplicativos.

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

Esta regra permite que todo o tráfego de entrada seja direcionado à porta 27017, o que permite que o servidor de aplicativos se conecte à instância mongod.exe .

Windows Firewall também permite habilitar o acesso à rede de um aplicativo inteiro em vez de uma porta específica, como no exemplo a seguir:

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

Você pode permitir todo o acesso para um servidor do mongos.exe, com a seguinte invocação:

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

As instâncias mongos.exe fornecem roteamento de queries para clusters fragmentados. Os clientes se conectam a instâncias mongos.exe, que se comportam, do ponto de vista do cliente, como instâncias mongod.exe. Por sua vez, o mongos.exe conecta a todas as instâncias do mongod.exe que são componentes do cluster fragmentado.

Utilize o mesmo comando Windows Firewall para permitir o tráfego para e a partir destas instâncias como você faria a partir das instâncias do mongod.exe que são membros do conjunto de réplicas.

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

Servidores de configuração, hospede o banco de dados de configuração que armazena metadados para clusters fragmentados. Cada cluster de produção tem três servidores de configuração, iniciados com a opção mongod --configsvr. [1] Os servidores de configuração escutam conexões na porta 27019. Como resultado, adicione as seguintes regras Windows Firewall ao servidor de configuração para permitir a conexão de entrada e saída na porta 27019, para conexão com os outros servidores de configuração.

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

Adicionalmente, os servidores de configuração precisam permitir conexões de entrada de todas as instâncias do mongos.exe no cluster e todas as instâncias do mongod.exe no cluster. Adicione regras semelhantes às seguintes:

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

Substitua <ip-address> pelos endereços das instâncias mongos.exe e das instâncias do fragmento mongod.exe.

[1] Você também pode executar um servidor de configuração usando o valor da configsvr para a configuração clusterRole em um arquivo de configuração.

Para servidores shard, executando como mongod --shardsvr [2] Como o número da porta padrão é 27018 ao ser executado com o valor shardsvr para a configuração clusterRole, você deve configurar as seguintes regras de Windows Firewall para permitir o tráfego de e para cada shard:

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

Substitua a especificação <ip-address> pelo endereço IP de todas as instâncias do mongod.exe. Isso permite que você permita o tráfego de entrada e saída entre todos os fragmentos, incluindo os membros constituintes do conjunto de réplicas, para:

  • todas as mongod.exe instâncias nos conjuntos de réplicas do fragmento.

  • todas as instâncias de mongod.exe em outros shards. [3]

Além disso, os fragmentos precisam ser capazes de fazer conexões de saída para:

  • todas as instâncias do mongos.exe.

  • todas as mongod.exe instâncias nos servidores de configuração.

Crie uma regra que se assemelha ao seguinte e substitua o <ip-address> pelo endereço dos servidores de configuração e as instâncias do mongos.exe :

netsh advfirewall firewall add rule name="Open mongod config svr outbound" dir=out action=allow protocol=TCP remoteip=<ip-address> localport=27018
[2] Você também pode especificar a opção de servidor de shard com o valor shardsvr para a configuração clusterRole no arquivo de configuração. Os membros do shard também costumam ser conjuntos de réplicas convencionais que usam a porta padrão.
[3] Todos os fragmentos em um cluster precisam ser capazes de se comunicar com todos os outros fragmentos para facilitar o chunk e equilibrar as operações.

A ferramenta de diagnóstico mongostat, quando executada com o --discover, precisa acessar todos os componentes de um cluster, inclusive os servidores de configuração, os servidores de fragmentos e as instâncias mongos.exe.

Esta seção contém uma série de operações básicas para gerenciar e utilizar o netsh. Embora você possa usar os front-ends da GUI para gerenciar o Windows Firewall, todas as funcionalidades principais podem ser acessadas em netsh.

Para excluir a regra de firewall permitindo o tráfego do mongod.exe:

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 retornar uma lista de todas as Windows Firewall regras:

netsh advfirewall firewall show rule name=all

Para redefinir as regras do Windows Firewall:

netsh advfirewall reset

Para simplificar a administração de sistemas maiores, você pode exportar ou importar as regras do firewall do Windows.

  • Para exportar todas as regras do firewall do Windows, execute o seguinte comando:

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

    Substitua "C:\temp\MongoDBfw.wfw" por um caminho de sua preferência.

  • Para importar as regras do firewall do Windows, execute o seguinte comando:

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

    Substitua "C:\temp\MongoDBfw.wfw" pelo caminho para o arquivo que contém suas regras do firewall do Windows.

Voltar

Use Linux iptables