防火墙
了解如何管理 netcup 防火墙。
1. 关于防火墙
我们的防火墙是一项免费的安全功能,用于过滤服务器的入站和出站流量。
这款简洁的防火墙提供 基础防护 ,例如可以防止内部数据被意外传输到公共互联网。但是,如果您需要高级功能,则需要部署自己的防火墙解决方案。
防火墙通过 策略 (Policies)进行管理。策略是定义入站和出站流量规则的规则集。
适用于 新订购的服务器,防火墙默认配置为初始允许所有流量,但 发送电子邮件除外。随后您可以创建自己的策略并将其分配给您的服务器。
适用于 现有服务器,则必须先配置防火墙。为此,请打开 服务器控制面板 (SCP),选择一台服务器,然后打开 防火墙 菜单项。点击 Configure(配置) 并点击以下按钮确认该过程: 是.
适用于 现有服务器 启用防火墙后,您可以通过点击顶部栏 防火墙 部分右下角的相应按钮来编辑防火墙策略、恢复默认策略或保存更改。
该防火墙是 有状态(Stateful)。这意味着它会记录源自您服务器的连接,并自动接受返回流量。但请注意,这仅适用于 TCP 流量。若要放行 UDP 流量,您必须在策略中同时创建 INGRESS(入站) 和 EGRESS(出站) 规则 :
DNS 服务器示例: INGRESS(入站),UDP,允许发往端口 53 的流量;EGRESS(出站),UDP,允许来自端口 53 的流量(响应流量)
TCP 和 UDP 流量有什么区别?
TCP(传输控制协议): 建立可由防火墙跟踪的固定连接。这使防火墙能够自动识别对出站 TCP 连接的响应。
UDP(用户数据报协议): 没有可供防火墙跟踪的已建立会话。因此,必须为 UDP 同时定义入站和出站规则,以允许请求和响应。
可用性
该防火墙将适用于自 第 9 代 (Generation 9)
起的所有服务器产品。较早代系的服务器也将逐步配备此功能。目前我们尚无法提供确切的时间表,敬请耐心等待。
2. 创建策略
您可以设置自己的防火墙规则(策略)并将其分配给服务器。如果未向服务器分配任何策略,防火墙会自动允许所有流量。策略在 服务器控制面板 (SCP) 中跨服务器进行定义,随后可以分配给具体服务器。
默认策略
标准防火墙包含允许必要流量的不可编辑规则。例如,发往 netcup DNS 服务器的 DNS 流量始终被允许。此外,默认设置了防止垃圾邮件发送的规则。不过,您可以查看这些规则并在必要时将其移除。
- 如果您想阻止出站流量 (EGRESS),请确保将发往服务器所配置的 NTP 服务器的 NTP 流量加入白名单。
- DHCP 流量也必须加入白名单。不过,这通常仅在安装服务器期间需要。
- 如果您想 恢复默认策略,请点击 Restore Default Policies(恢复默认策略) 位于 防火墙 并点击以下按钮进行确认: OK 和 保存 (Save)。此操作不会影响您现有的自定义策略。
隐式规则 (Implicit Rules)
隐式规则无法删除或编辑。默认情况下,它们被设置为 ACCEPT ANY(接受所有)。但是,一旦您创建了自己的入站规则,隐式入站规则会自动更改为 DROP(丢弃).
同样的行为也适用于出站规则。背景说明:如果不进行此自动更改,即使定义了规则,所有连接仍将被允许,从而导致防火墙规则失效。
netcup 邮件拦截 (netcup Mail Block)
要启用 通过 SMTP 发送电子邮件,必须将默认防火墙策略 移除,因为它默认会阻止入站和出站 SMTP 连接。
- 在服务器控制面板 (SCP) 中选择您的服务器。
- 前往菜单项 防火墙.
- 在 netcup Mail block 策略旁,点击右侧的 删除 (Delete) 按钮。
限制说明
通过服务器控制面板 (SCP),每台服务器及每个公网网络接口在策略内最多可以创建 500 条有效规则 。适用以下计算规则:
- 源 IP 地址、目标 IP 地址和端口的每种组合均计为一条独立规则。
- 一条规则最多可以包含 100 个源或目标 IP 地址,这相当于 100 条独立规则。
- 一个策略最多可以包含 500 条规则。
创建策略
- 选择一台服务器。
- 点击您想要连接到现有服务器的域名左侧的 Firewall Policies(防火墙策略) 菜单项(位于顶部栏)。
- 点击 Create Firewall Policy(创建防火墙策略).
- 为证书输入一个 name.
- 输入描述(可选)。
3. 创建规则
- 点击 Add Rule(添加规则).
- 输入描述。
- 选择方向 (Direction): 选择该规则应应用于入站流量还是出站流量。
- 选择协议 (Protocol).
- 选择操作 (Action): 选择如何处理匹配的流量:
- ACCEPT(接受):允许流量通过。
DROP(丢弃):丢弃流量。在此情况下,不会向发送方返回任何响应。
一旦定义并保存了 INGRESS(入站)或 EGRESS(出站)规则,INGRESS/EGRESS 的默认规则将相应地更改为 DROP。
请注意,不支持 REJECT 操作(丢弃流量并向发送方返回响应)。如需此类高级功能,请部署您自己的防火墙解决方案。
- 选择源地址 (Sources): 定义入站或出站连接可能源自的源 IP 地址或源网络。
选择源端口 Scr (Source) (Ports): 定义网络数据包可能源自的源端口范围。每条规则仅接受一个端口字符串。
示例:端口号:端口“22”或端口范围“1000-11000”
要查询您的服务所使用的端口,请查阅应用程序的文档或服务的配置文件。其中通常会明确指定所使用的端口。
- 选择目标地址 Destinations (IP/S networks): 定义防火墙规则可匹配的目标 IP 地址或网络。
- 选择目标端口 Dst (Destination) ports: 定义可匹配的目标端口。此端口通常决定目标应用程序或服务。
- 点击以下按钮进行确认: Add Rule(添加规则).
如果在策略已应用于服务器期间修改了该策略的规则,新设置将在保存更改后立即生效。
4. 将策略分配给服务器
- 选择一个 服务器.
- 前往 防火墙 菜单项。
- 点击 Edit Policies(编辑策略).
- 在左侧,您将看到之前定义的所有策略。将它们移至右侧即可将其应用于您的服务器。
- >>:应用所有规则
- >:应用所选规则
- 请注意,规则按优先级顺序处理。如果某条规则匹配生效,则其下方的规则将被忽略。您可以上下拖放自己的规则以更改其优先级。
- 将所需的策略添加到您的服务器,然后点击以下按钮进行确认: Apply(应用).
- 然后,点击 保存 (Save)。更改将立即生效。
由于这是有状态防火墙 (Stateful Firewall),防火墙规则仅在建立连接时应用。已建立的连接会被记录并根据其现有状态进行处理。后续数据包会归入现有连接,而不会根据当前规则重新检查。因此,即使规则更改后原本会阻止该连接的建立,此类现有连接仍会保持活动状态。
5. 停用防火墙
您也可以停用防火墙。这不会从概览中删除已配置的规则。开启和关闭防火墙只是启用或停用它,不会更改任何策略配置。
- 打开您的 服务器控制面板 (SCP) 并选择所需的 服务器.
- 前往 防火墙 菜单项。
- 关闭对应的滑块: Firewall active(防火墙已启用) 并点击 OK.
- 然后,点击 保存 (Save).
6. 应用示例
示例 1:允许进出 SSH 服务器的流量
INGRESS,TCP,目标端口 22,accept(接受)
EGRESS,TCP,源端口 22,accept(仅当您还为客户端流量配置了额外的 EGRESS 规则时才定义 EGRESS,否则此类流量将被阻止(见示例 6))。
示例 2:允许进出 Web 服务器 (HTTP/HTTPS) 的流量
INGRESS,TCP,目标端口 80,443,accept(2 条规则)
EGRESS,TCP,源端口 80,443,accept(2 条规则)(仅当您还为客户端流量配置了额外的 EGRESS 规则时才定义 EGRESS,否则此类流量将被阻止(见示例 6))。
示例 3:允许进出特定 IP 前缀的所有流量
INGRESS,TCP,源 IP 前缀 = 198.51.100.0/24,accept
EGRESS,TCP,目标 IP 前缀 = 198.51.100.0/24,accept(仅当您还为客户端流量配置了额外的 EGRESS 规则时才定义 EGRESS,否则此类流量将被阻止(见示例 6))。
示例 4:将特定主机加入白名单以允许访问数据库 (MySQL)
INGRESS,TCP,源 IP = 198.51.100.10/32, 2001:db8::cafe/128,目标端口 3306,accept(2 条规则)
EGRESS,TCP,目标 IP = 198.51.100.10/32, 2001:db8::cafe/128,源端口 3306,accept(2 条规则)(仅当您还为客户端流量配置了额外的 EGRESS 规则时才定义 EGRESS,否则此类流量将被阻止(见示例 6))。
示例 5:允许 DHCP
INGRESS,UDP,源端口 67,目标端口 68,accept
EGRESS,UDP,源端口 68,目标端口 67,accept(仅当您还为客户端流量配置了额外的 EGRESS 规则时才定义 EGRESS,否则此类流量将被阻止(见示例 6))。
示例 6:将来自服务器的客户端流量加入白名单,以便上述所有 EGRESS 规则也能同时生效
对于 TCP,防火墙连接跟踪会自动允许返回流量(响应),因此无需配置 INGRESS 规则。
EGRESS,TCP,目标端口 80,443,accept(2 条规则)(允许连接到 HTTP/S 服务器)
EGRESS,TCP,目标端口 22,accept(允许连接到 SSH 服务器)
EGRESS,UDP,目标端口 123,accept(允许与 NTP 服务器同步时间)
INGRESS,UDP,源端口 123,accept(接受 NTP 响应流量)
请注意,一旦存在任何 EGRESS 规则,默认操作将变为 DROP,任何未定义的流量都将被丢弃。为确保所有功能继续正常运行,必须为常见流量(例如访问网站 HTTP/S)创建 EGRESS 规则。
示例:EGRESS accept 发往目标端口 80,443
我们建议仅创建 INGRESS(入站)规则.





