企业级云上网络构建:确保外部用户仅能访问服务器的80端口
65阅读
0评论
0点赞
本文介绍了如何通过配置阿里云的安全组和网络ACL来确保外部用户仅能访问服务器的80端口,即只能访问网站而无法访问其他端口。首先,通过创建和配置安全组来限制入方向的流量;其次,创建具有公网能力的服务器并部署网站;最后,通过新建网络ACL进一步加强网络安全。文章详细阐述了每个步骤的操作方法。
如何确保外部用户只能访问服务器的80端口?
为了确保外部用户只能访问服务器的80端口,即只能访问网站而无法访问其他端口,可以通过配置安全组和网络ACL来实现这一目标。下面详细介绍具体步骤。
步骤一:新建并配置安全组
-
创建安全组:
-
访问阿里云的专有网络VPC控制台,点击创建专有网络,配置如下:
- 专有网络名称:
VPC-HZ-1
- IPv4网段:
192.168.0.0/16
- 交换机名称:
VSW-HZ-1
- 交换机可用区:杭州可用区G
- 交换机IPv4网段:
192.168.1.0/24
- 专有网络名称:
-
访问ECS控制台的安全组管理页面,点击创建安全组。
-
在创建安全组页面中,进行如下配置:
- 安全组名称:
HTTP80-TEST
- 网络:
VPC-HZ-1
- 访问规则:确保入方向包含允许源IP
0.0.0.0/0
访问目的端口为HTTP(80)的规则,删除其他条目。
- 安全组名称:
-
步骤二:新建具有公网能力的服务器
- 购买服务器:
- 访问ECS控制台,购买如下配置的云服务器ECS实例:
- 实例名称和主机名:
ecs-test
- 付费类型:按量计费
- 地域:华东1(杭州)
- 可用区:杭州可用区G
- 网络:
VPC-HZ-1
- 交换机:
VSW-HZ-1
- 实例规格:突发性能实例 t5 1vCPU 2GiB内存
- 镜像:公共镜像 CentOS 7.9 64位
- 系统盘:高效云盘 40G
- 公网IP:分配公网IPv4地址
- 安全组:
HTTP80-TEST
- 实例名称和主机名:
- 访问ECS控制台,购买如下配置的云服务器ECS实例:
-
部署网站:
-
通过Workbench远程连接刚刚创建的ECS实例,部署一个网站用于安全规则的测试。登录服务器后,执行以下命令完成Apache软件的安装和配置:
yum install httpd -y echo ECS-TEST > /var/www/html/index.html systemctl enable httpd --now systemctl start httpd systemctl status httpd
-
-
测试网站访问:
-
在浏览器中输入ECS云服务器的公网地址,检查网站页面是否正常打开。
-
步骤三:新建网络ACL
-
创建网络ACL:
- 访问网络ACL控制台,点击创建网络ACL,所属专有网络选择
VPC-HZ-1
,名称为ACL-HZ-1
。
- 访问网络ACL控制台,点击创建网络ACL,所属专有网络选择
-
配置网络ACL:
-
关联交换机:选择前面创建的交换机
VSW-HZ-1
。 -
删除默认入&出方向规则:删除入和出两个方向的默认规则。
-
测试网站是否可以访问,在浏览器中,输入ECS云服务器的公网地,网址打开失败,这是符合预期的
-
配置入&出方向规则:
- 入方向规则:添加一条规则,规则名称为开放80端口,策略为允许,协议类型为TCP,源地址为0.0.0.0/0,目的端口范围为80/80。
- 出方向规则:添加一条规则,规则名称为允许出方向流量,策略为允许,协议类型为TCP,源地址为0.0.0.0/0,目的端口范围为1/65535。
-
-
测试网站访问:
-
再次在浏览器中输入ECS云服务器的公网地址,检查网站页面是否正常打开。
-
结论
- 安全组是实例级别有状态的虚拟防火墙,只需要在入方向允许具体的端口即可,在云服务器ECS实例级别进行访问控制,推荐使用安全组。
- 网络ACL是子网级别无状态的虚拟防火墙,需要同时在入和出两个方向允许流量才可以访问,通常适用于整个子网中,所有云资源的集中管控,范围比安全组更大,适用于大规模整个子网的整体规则管控。
安全组与网络ACL对比
安全组 | 网络ACL | |
---|---|---|
级别 | ECS等云资源实例级别管控 | 特定子网级别的流量管控 |
功能 | 支持允许规则和拒绝规则 | 支持允许规则和拒绝规则 |
是否有状态 | 有,返回数据流会被自动允许,不受任何规则影响 | 无,返回数据流必须被规则明确允许 |
何时生效 | 只有云资源绑定了安全组才会受到影响,可以为不同的实例绑定不同的安全组,实现更精细化配置 | 只要子网绑定了网络ACL,整个子网中的所有云资源都会受到影响 |
评论(0)
暂无评论,期待您的发言...
发表评论