管理防火墙

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

防火墙是一种虚拟防火墙,通过防火墙规则控制轻量应用服务器的入流量,保障轻量应用服务器的安全。本文介绍如何为轻量应用服务器添加、修改、禁用、启用和删除防火墙规则,同时提供防火墙功能预设的端口信息、常见问题以及相关文档。

功能说明

每台轻量应用服务器根据操作系统的防火墙默认放行以下端口,除默认放行的端口外,其他端口默认是禁用状态,您可以根据业务需求通过添加防火墙规则放行所需端口。

  • TCP协议:

    • Windows:默认已放行TCP协议的3389、80和443端口。

    • Linux:默认已放行TCP协议的22、80和443端口。

  • ICMP协议:默认放开所有端口(即-1),允许任意源IP地址访问。

如果您在控制台删除或者禁用这些默认端口,则在防火墙页面将会显示类似您在防火墙禁用或删除了默认的22端口放行规则,影响远程连接功能提示信息,您可以根据需求添加或者启用对应的端口。

使用限制

  • 单台轻量应用服务器最多可创建50条防火墙规则。

  • 25端口是默认的邮箱服务端口,但基于安全考虑,轻量应用服务器的25端口默认受限。如果您有邮件发送需求,请使用465端口。

  • 防火墙只能对轻量应用服务器的入流量进行控制,出流量默认允许所有请求。

    说明
    • 入流量:数据从轻量应用服务器外通过公网或内网传输至实例内产生的流量。

    • 出流量:数据从轻量应用服务器内通过公网或内网传输至实例外产生的流量。

防火墙设置

说明

如果您已经创建防火墙模板,可以通过防火墙模板快速设置防火墙规则。具体操作,请参见通过防火墙模板设置防火墙规则

  1. 登录轻量应用服务器管理控制台

  2. 在左侧导航栏,单击服务器

  3. 找到待添加防火墙规则的轻量应用服务器,单击服务器卡片中的实例ID。

  4. 单击防火墙页签,进入防火墙页面。

  5. 防火墙页面的左上角,单击添加规则

  6. 添加防火墙规则对话框,完成相关参数的配置后,单击确认添加

    警告
    • 添加防火墙规则时,请您按需配置端口范围和允许访问的IP地址,遵循最小授权原则,以避免服务器受到网络攻击。

    • 如果添加防火墙规则的端口、协议、IP地址与已有规则重复时,无论当前已有规则处于启用或禁用状态,新规则均会覆盖已有规则。

    选择预设防火墙规则

    您可以直接选择预设的防火墙规则模板,帮助您快速添加防火墙规则。具体的参数配置项说明如下表所示。

    参数

    说明

    应用类型

    根据业务需求选择RDPFTPTELNETMYSQL全部TCP全部UDP全部TCP+UDP等应用类型。更多信息,请参见预设端口说明

    协议

    默认显示协议,不可更改。

    端口范围

    默认显示端口,不可更改。

    来源IP

    默认为0.0.0.0/0,即对所有IPv4地址开放。

    重要

    请您按需配置,遵循最小授权原则,避免服务器受到网络攻击。

    备注

    输入防火墙规则的备注信息,方便后续管理防火墙规则。

    自定义防火墙规则

    如果预设的防火墙规则模板不满足您的业务需求,您可以自定义一条或多条防火墙规则。具体的参数配置项说明如下表所示。

    参数

    说明

    应用类型

    默认选择自定义

    协议

    选择TCP、UDP或者ICMP协议。

    端口范围

    端口取值范围为1~65535。支持以下设置方式:

    • 设置单个端口

      直接输入放行的端口号即可。例如,您需要放行MySQL数据库监听的端口号3306,则端口范围设置为3306

    • 设置端口范围

      可以指定一个斜线(/)分隔的端口范围。例如,您需要放行FTP配置文件中手动配置的端口范围20000~30000,则端口范围设置为20000/30000

    来源IP

    默认为0.0.0.0/0,即对所有IPv4地址开放。您也可以自定义允许访问的IPv4地址:

    • 允许单个IPv4地址访问

      填写单个IPv4地址。例如:192.168.0.100。

    • 允许某个CIDR段内的所有IPv4地址访问

      输入IPv4 CIDR地址块,例如:192.168.0.0/24。

    备注

    输入防火墙规则的备注信息,方便后续管理防火墙规则。

    您可以单击新增规则或者image图标,按需添加或者删除防火墙规则。

修改、禁用、启用、删除防火墙规则

添加防火墙规则后,您可以根据业务需求执行以下相关操作。

相关操作

说明

操作步骤

修改防火墙规则

如果已创建或者默认添加的防火墙规则不满足您的业务需求,您可以修改防火墙规则。

  1. 在目标防火墙规则的操作列,单击修改

  2. 在弹出的修改对话框中,根据需求修改协议、端口范围、限制IP来源和备注。

  3. 单击确定

禁用防火墙规则

如果需要临时关闭某个端口,可以禁用该端口,后续无需再次新建防火墙规则。

重要

禁用防火墙规则可能会导致相应端口不可访问,从而影响业务运行。建议在确保此操作不会影响正常业务的前提下,谨慎使用此功能。

  1. 在目标防火墙规则的操作列,单击禁用

  2. 在弹出的禁用对话框中,单击确定

启用防火墙规则

已禁用的端口,后续使用可启用该端口。

  1. 在目标防火墙规则的操作列,单击启用

  2. 在弹出的启用对话框中,单击确定

删除防火墙规则

如果已创建的防火墙规则不再使用,您可以删除防火墙规则。

说明

如果已创建的防火墙规则没有达到上限50条,建议您暂时禁用防火墙规则,方便后续使用。

删除单条防火墙规则

  1. 在目标防火墙规则的操作列,单击删除

  2. 在弹出的删除对话框中,单击确定

批量删除防火墙规则

  1. 选中多条防火墙规则,然后在防火墙规则列表的底部单击删除

  2. 在弹出的删除对话框中,单击确定

预设端口说明

为了便于用户直接添加防火墙规则,阿里云预设了常用的防火墙规则,帮助您快速添加防火墙规则,具体说明如下表所示。更多常用端口,请参见常用端口

应用类型

协议

端口范围

来源IP

说明

HTTP

TCP

80

0.0.0.0/0

重要
  • 默认为0.0.0.0/0,即对所有IPv4地址开放。

  • 请您按需配置,遵循最小授权原则,避免服务器受到网络攻击。

HTTP协议默认端口,用于网站服务例如IIS、Apache、Nginx等提供对外访问。更多信息,请参见基于CentOS系统镜像快速部署Apache服务

HTTPS

TCP

443

HTTPS加密协议默认端口。更多信息,请参见:

RDP

TCP

3389

远程桌面协议(RDP)默认端口,用于通过远程桌面连接Windows服务器。更多信息,请参见远程连接Windows服务器

FTP

TCP

21

FTP协议默认端口,用于上传、下载文件。更多信息,请参见搭建FTP服务器(Linux)

TELNET

TCP

23

Telnet默认端口。

MySQL

TCP

3306

MySQL数据库默认端口。更多信息,请参见使用DMS连接服务器中的数据库

SQLServer

TCP

1433

SQL Server默认端口。

全部TCP

TCP

1~65535

全部TCP端口。

全部UDP

UDP

1~65535

全部UDP端口。

全部TCP+UDP

TCP+UDP

1~65535

全部TCP+UDP端口。

自定义

TCP、UDP或者ICMP

1~65535

自定义的端口范围。

常见问题

Q1:服务器防火墙和操作系统防火墙的区别?

  • 轻量应用服务器防火墙轻量应用服务器提供控制台可视化管理界面,操作方便,但只能用于控制入方向的流量。

  • 操作系统内部防火墙:系统管理员可以通过在操作系统内部设置一定的规则来控制出入方向的流量,但需要熟悉相应的防火墙软件,例如:Linux的iptables等。对于Linux用户,还需要熟悉命令行。

Q2:如何查看某个端口是否可以telnet通?

执行以下命令,查看端口是否通。

telnet <IP地址> <端口>

本示例以80端口为例,回显信息如下所示:

Windows

  • 端口通

    image.png

  • 端口不通

    C:\Users\Administrator>telnet 120.55.XX.XX 80
    正在连接120.55.XX.XX...无法打开到主机的连接。 在端口 80: 连接失败

Linux

  • 端口通

    [root@VM-4-10-centos ~]# telnet 120.55.XX.XX 80
    Trying 120.55.XX.XX...
    Connected to 120.55.XX.XX.
    Escape character is '^]'.
  • 端口不通

    [root@VM-4-10-centos ~]# telnet 120.55.XX.XX 80
    Trying 120.55.XX.XX...
    telnet: connect to address 120.55.XX.XX: Connection refused

Q3:如何检查服务状态及端口监听状态

本示例以排查无法访问轻量应用服务器实例中的Nginx服务(默认端口为80)为例,排查其他服务时,请替换命令中的服务名和对应的端口。

Linux服务器

本操作以CentOS 7.9为例,其他版本的Linux系统操作可能有所差异。

  1. 远程连接Linux实例。

    具体操作,请参见远程连接Linux服务器

  2. 执行如下命令,查看Nginx服务状态。

    systemctl status nginx
    • 如果返回类似如下信息,则说明Nginx已经启动。

      2023-06-04_17-06-23..png

    • 如果未开启,请执行如下命令,启动Nginx服务。

      systemctl start nginx
  3. 执行如下命令,查看端口是否正常被监听。

    netstat -an | grep 80
    • 如果返回如下信息,则说明80端口被正常监听。

      image.png

    • 如果返回的不是以上信息,表示80端口未处于监听状态。

Windows服务器

本操作以Windows Server 2012为例,其他版本的Windows Server系统操作类似。

  1. 远程连接Windows实例。

    具体操作,请参见远程连接Windows服务器

  2. 选择开始 > 运行,输入service.msc,单击确定,打开服务页面。

  3. 查看nginx状态。

    1. 如果nginx无状态,请右键单击该nginx服务,然后单击启动(S)

      2023-06-04_19-14-19..png

    2. 如果nginx状态为正在运行,Nginx已启动。

  4. 在Windows PowerShell中执行如下命令,查看端口是否正常被监听。

    netstat -ano | findstr "80"
    • 如果返回如下信息,则说明80端口被正常监听。

      image.png

    • 如果返回的不是以上信息,表示80端口未处于监听状态。

Q4:轻量应用服务器端口不通怎么办?

如果服务器涉及跨境访问(包括中国香港),可能会受到国际链路拥塞,运营商出境路由限制影响,出现网络链路拥塞、访问不稳定、访问延时过高的情况。跨境链路属于运营商公共网络,链路质量问题影响因素较多,运营商短时间内可能难以得到优化和改进。

解决方案:

其他端口不通的场景,请根据以下可能原因排查:

  1. 使用netstat -tunlp命令查看服务器中对应端口是否有监听,若当前端口无监听,需要先启动相应的服务,确保端口被监听。

  2. 服务器中内部防火墙是否有限制:

    • Ubuntu:使用sudo ufw status命令查看。

    • CentOS 7及更高版本:使用firewall-cmd --list-ports命令查看,如提示ufw或者firewall未运行,需要使用iptables -L;iptables -t nat -L查看防火墙规则。

  3. 轻量应用服务器控制台中的防火墙是否有添加端口放行规则。

相关文档

设置防火墙规则后,如果网站或者服务器连接失败、轻量服务器的防火墙不满足您的业务需求,您可以参考以下文档: