安全组配置实践(入门篇)
概览
百度智能云安全组是应用在云服务器上的“具有状态的白名单防火墙服务”,实现对多个云服务在业务流量入、出双向的、针对IP+端口级别的严格安全控制,完美保证了用户及业务的高安全性。本文旨在列举几个场景,示例安全组白名单和有状态防火墙的应用方法。
需求场景
需求场景一:为多个服务器配置不同的安全策略
用户需要对同一个业务系统的各个模块,或者在不同业务系统之间设置灵活的安全策略,保证其业务系统更高的安全性。
示例场景
如下图所示,分层业务架构中具备A、B和C三类云服务器:
- A 作为接入服务,对外提供WEB访问服务,仅对外开放80、443端口;
- B 作为APP服务器,响应A传过来的业务请求,只能主动访问C服务器;
- C 作为DB服务,响应B的数据操作请求,不能主动访问其他服务。
为了保证该架构的安全性,需要为3个服务器配置不同的安全策略,为每个业务设置最小的访问权限。
操作步骤
-
A 作为WEB服务器,只对Internet用户开放HTTP和HTTPS两种服务,所以创建安全组(AccessSG)并应用到A服务器上,AccessSG的配置(入方向与出方向)规则如下:
- AccessSG入方向的安全策略:
- AccessSG出方向的安全策略:
-
B 作为APP服务器,只接受来自A的请求,只能主动访问C服务器,所以创建安全组(AppSG)并应用到B服务器上,AccessSG的配置(入方向与出方向)规则如下:
- AppSG入方向的安全策略:
- AppSG出方向的安全策略:
-
C 作为DB服务器,只接受来自B的请求,不能主动访问任何服务器,所以创建安全组(DbSG)并应用到C服务器上,DbSG的配置(入方向与出方向)规则如下:
- DbSG入方向的安全策略:
- DbSG出方向的安全策略:
通过以上方法,实现系统垂直分层,设置每个业务层最小的访问权限,大大增加了系统的安全性。
需求场景二:管理员可登录多台服务器方便运维
示例场景
如下图所示,在场景一基础上,增加了管理员的角色:
- A 作为运维管理接入服务器,支持管理员日常运维管理,管理员可以在外网通过SSH登录至A、B、C完成运维管理工作。这里仅对新增的运维操作的权限设置安全组规则,其他访问请求权限设置参考场景一。
- 由于通过SSH 登录,A 可以内网主动访问B 和C 的22端口,C 仍然不能主动访问A、B。
为了保证该架构的安全性,需要为3个服务器配置不同的安全策略,为每个业务设置最小的访问权限。
操作步骤
-
A 作为运维管理接入服务器,Access安全组的入方向增加配置允许100.1.1.1访问22端口,出方向增加规则允许访问192.168.0.7的22端口,AccessSG的配置(入方向与出方向)规则如下:
- AccessSG入方向的安全策略:
- AccessSG出方向的安全策略:
- 由于 B 服务器权限没有调整,因此不需要调整AppSG的安全规则。
-
C 服务器的安全组的入方向(DbSG)增加配置允许192.168.0.5访问22端口,安全组的出方向规则不变,配置如下:
- DbSG入方向的安全策略:
至此,实现了将 A 作为运维管理接入服务器,使管理员可以通过SSH登录3台服务器完成运维管理工作。
相关产品
云服务器、专属服务器、百度太行·弹性裸金属服务器、负载均衡、私有网络、服务网卡、云数据库 RDS for MySQL 版、消息队列 for RabbitMQ