安全组配置实践(入门篇)

简介

百度智能云安全组是应用在云服务器上的“具有状态的白名单防火墙服务”,实现对多个云服务在业务流量入、出双向的、针对IP+端口级别的严格安全控制,完美保证了用户及业务的高安全性。本文旨在列举几个场景,示例安全组白名单和有状态防火墙的应用方法。

场景一

用户需要对同一个业务系统的各个模块,或者在不同业务系统之间设置灵活的安全策略,保证其业务系统更高的安全性。

示例场景

如下图所示,分层业务架构中具备A、B和C三类云服务器:

  • A 作为接入服务,对外提供WEB访问服务,仅对外开放80、443端口;
  • B 作为APP服务器,响应A传过来的业务请求,只能主动访问C服务器;
  • C 作为DB服务,响应B的数据操作请求,不能主动访问其他服务。

为了保证该架构的安全性,需要为3个服务器配置不同的安全策略,为每个业务设置最小的访问权限。

操作步骤

  1. A 作为WEB服务器,只对Internet用户开放HTTP和HTTPS两种服务,所以创建安全组(AccessSG)并应用到A服务器上,AccessSG的配置(入方向与出方向)规则如下:

    • AccessSG入方向的安全策略:

    • AccessSG出方向的安全策略:

  2. B 作为APP服务器,只接受来自A的请求,只能主动访问C服务器,所以创建安全组(AppSG)并应用到B服务器上,AccessSG的配置(入方向与出方向)规则如下:

    • AppSG入方向的安全策略:

    • AppSG出方向的安全策略:

  3. C 作为DB服务器,只接受来自B的请求,不能主动访问任何服务器,所以创建安全组(DbSG)并应用到C服务器上,DbSG的配置(入方向与出方向)规则如下:

    • DbSG入方向的安全策略:

    • DbSG出方向的安全策略:

通过以上方法,实现系统垂直分层,设置每个业务层最小的访问权限,大大增加了系统的安全性。

场景二

示例场景

如下图所示,在场景一基础上,增加了管理员的角色:

  • A 作为运维管理接入服务器,支持管理员日常运维管理,管理员可以在外网通过SSH登录至A、B、C完成运维管理工作。这里仅对新增的运维操作的权限设置安全组规则,其他访问请求权限设置参考场景一
  • 由于通过SSH 登录,A 可以内网主动访问B 和C 的22端口,C 仍然不能主动访问A、B。

为了保证该架构的安全性,需要为3个服务器配置不同的安全策略,为每个业务设置最小的访问权限。

操作步骤

  1. A 作为运维管理接入服务器,Access安全组的入方向增加配置允许100.1.1.1访问22端口,出方向增加规则允许访问192.168.0.7的22端口,AccessSG的配置(入方向与出方向)规则如下:

    • AccessSG入方向的安全策略:

    • AccessSG出方向的安全策略:

  2. 由于 B 服务器权限没有调整,因此不需要调整AppSG的安全规则。

  3. C 服务器的安全组的入方向(DbSG)增加配置允许192.168.0.5访问22端口,安全组的出方向规则不变,配置如下:

    • DbSG入方向的安全策略:

至此,实现了将 A 作为运维管理接入服务器,使管理员可以通过SSH登录3台服务器完成运维管理工作。