在本页面
在Windows Server系统上,该netsh
程序提供了用于管理Windows防火墙的方法。这些防火墙规则使管理员可以控制哪些主机可以连接到系统,并通过限制可以连接到系统的主机来限制风险。
本文档概述了Windows防火墙的基本配置。使用这些方法作为大型网络组织的起点。有关MongoDB的安全实践和风险管理的详细概述,请参阅 安全性。
也可以看看
Microsoft的Windows防火墙文档。
Windows防火墙按由规则类型确定的顺序处理规则,并按以下顺序进行解析:
Windows Service Hardening
Connection security rules
Authenticated Bypass Rules
Block Rules
Allow Rules
Default Rules
默认情况下,Windows防火墙中的策略允许所有出站连接并阻止所有传入连接。
由于默认端口的所有MongoDB的过程,你必须配置允许网络规则只
需要您的应用程序和相应的沟通
mongod.exe
和mongos.exe
实例。
本文档中概述的配置更改将使用默认策略创建规则,该规则明确允许来自特定地址和特定端口的流量,该策略将丢弃所有未明确允许的流量。
您可以使用命令行工具或通过Windows应用程序配置Windows防火墙netsh
。在Windows Server 2008这个应用程序的Windows高级安全防火墙的管理工具。在Windows Server的早期版本上,在“ 系统和安全性”控制面板中访问
Windows防火墙应用程序。
本文档中的过程使用netsh
命令行工具。
本节包含许多模式和示例,这些模式和示例用于配置Windows防火墙以用于MongoDB部署。如果使用port
配置设置配置了其他端口,则需要相应地修改规则。
mongod.exe
实例的流量¶此模式适用于mongod.exe
作为独立实例或副本集的一部分运行的所有实例。该模式的目标是明确允许流量mongod.exe
从应用程序服务器到达
实例。
该规则允许所有传入的通信流到port 27017
,这允许应用程序服务器连接到
mongod.exe
实例。
Windows防火墙还允许为整个应用程序而不是特定端口启用网络访问,如以下示例所示:
您可以mongos.exe
通过以下调用来允许对服务器的所有访问:
mongos.exe
实例的流量¶mongos.exe
实例为分片群集提供查询路由
。客户端连接到mongos.exe
实例,这些实例从客户端的角度看作为
mongod.exe
实例。依次,mongos.exe
连接到mongod.exe
作为分片群集组件的所有实例。
使用相同的Windows防火墙命令,以允许与来自mongod.exe
副本集成员的实例的通信往返于这些实例。
配置服务器托管配置数据库,该数据库存储分片群集的元数据。每个生产集群都有三个使用该
选项启动的配置服务器。[1]配置服务器在port上侦听连接
。结果,将以下Windows防火墙规则添加到配置服务器,以允许端口上的传入和传出连接
,以连接到其他配置服务器。mongod --configsvr
27019
27019
此外,配置服务器需要允许来自mongos.exe
群集中所有实例和群集中所有
mongod.exe
实例的传入连接。添加类似于以下内容的规则:
替换<ip-address>
为mongos.exe
实例和分片mongod.exe
实例的地址
。
[1] | 您还可以通过使用配置文件中设置的configsvr 值来运行配置服务器
clusterRole 。 |
对于分片服务器,其运行方式为[2],因为默认端口号是在运行时使用设置值的,所以您必须配置以下Windows防火墙规则,以允许进出每个分片的流量:mongod --shardsvr
27018
shardsvr
clusterRole
将<ip-address>
规范替换为所有mongod.exe
实例的IP地址
。这使您可以允许所有分片(包括组成副本集成员)之间的传入和传出流量:
mongod.exe
副本集中的所有实例。mongod.exe
其他分片中的所有实例。[3]此外,分片需要能够建立与以下各项的传出连接:
mongos.exe
实例。mongod.exe
配置服务器中的所有实例。创建类似于以下内容的规则,然后将替换
<ip-address>
为配置服务器和mongos.exe
实例的地址
:
[2] | 您还可以使用配置文件中设置的shardsvr 值来指定分片服务器选项clusterRole 。分片成员通常也是使用默认端口的常规副本集。 |
[3] | 集群中的所有分片都需要能够与所有其他分片进行通信,以促进组块和平衡操作。 |
该mongostat
诊断工具在运行时
--discover
需要能够访问群集的所有组件,包括配置服务器,分片服务器和mongos.exe
实例。
在版本3.6中进行了更改: MongoDB 3.6删除了MongoDB弃用的HTTP接口和REST API。
本节包含一些用于管理和使用的基本操作netsh
。虽然您可以使用GUI前端来管理
Windows防火墙,但可以从访问所有核心功能netsh
。
要删除允许mongod.exe
流量的防火墙规则:
要返回所有Windows防火墙规则的列表:
重置Windows防火墙规则:
为了简化大型系统集合的管理,您可以在Windows上非常轻松地从不同的服务器导出或导入防火墙系统规则:
使用以下命令导出所有防火墙规则:
用"C:\temp\MongoDBfw.wfw"
您选择的路径替换。您可以使用以下格式的命令来导入使用此操作创建的文件: