如果将黑客与企业安全团队将的“博弈”,看成是一场场持久的攻防拉锯战。那么多时处于防御者一方的企业,便需要构筑一定自动化、可拓展的安全防线。
在众多安全防御的节点中,“云原生堡垒机”便是一种加持企业数字化资产安全的云安全实践。尤其是在今天愈发流行的多云部署趋势下,构建有云原生堡垒机的开发者,将能够帮助企业更具颗粒度地实现全域运维监管、保障数据安全。 本篇内容将以开放基础设施接入平台 Teleport 为例,为小伙伴们介绍联动亚马逊云科技多种云服务,构建云原生堡垒机。下面,即刻开启我们的开发之旅。
获取全局视野
若想快速全览 Teleport 功能,可选择将组件都部署至一台 EC2 实例上,快速构建一个单机环境。
堡垒机环境构建要点
- 分布独立部署 Teleport Proxy/Auth
- 部署两台高可用 Proxy,保持无状态
- 部署两台高可用 Auth,DynamoDB 作为共享存储
- 用一台 SSH Node 验证 SSH 连接
- 用一台 DB Node 连接 RDS 数据库
- 用 ALB/ NLB 实现负载均衡
- 将 DynamoDB 设置为会话日志存放位置
- 将 S3 设置为 Teleport 会话录屏存放位置
构建高可用堡垒机环境
整体来看,启动部署共计6*EC2 实例(2* Proxy, 2* Auth, 2* Node), 来安装 Teleport 软件。
部署 Teleport Auth
两台 Teleport Auth 实例,可支持创建、修改 Auth 配置文件。完成配置后,启动堡垒机服务,查看服务状态等信息,使用 tctl 命令行工具确认集群状态。
下一步,注意 Proxy, SSH node 和 DB node 加入集群时的 Token,需要被生成、记录。
部署 Teleport Proxy
通过 Yum 在两台 Proxy 实例上,安装 Teleport 软件包,创建配置文件sudo vi /etc/teleport.yaml.随后将 Teleport 服务设置为开机自启动,然后启动服务。
创建和配置用于从互联网连接 Proxy 的 ALB/NLB,使用 ACM 为 ALB 提供 Proxy 外部域名的 HTTPS 证书。之后将 Proxy 外部域名,用 CNAME 指向到 ALB 域名。
安装部署 Teleport Node for SSH
在 EC2 实例上,通过 Yum 安装 Teleport 软件包,创建配置文件sudo vi /etc/teleport.yaml. 随后设置为开机自启动,并启动。
借助 tctl 命令行工具,查看 Auth 节点状态
部署 Teleport Node for Database
在 Teleport Node 上运行 DB Service,才能将堡垒机连接数据库,我们先要配置 Aurora 安全组,并且使 Teleport DB node 具备 IAM 权限。通过 Password 连接至 DB,并授权权限。
创建 Teleoprt Node 配置文件,启用 DB Service,配置完成后,将 Teleport 服务设置为开机自启动。随后在 Auth 节点上,可通过 tctl 命令行工具,查看节点。
完成 Role/User 创建,实现远程连接
为实现精细化权限控制,系统默认预置 admin,editor,access,auditor 4*Role。完成 Teleport 用户注册后,即可进入 Teleport Web Console。
随后,创建用于远程 SSH 和 数据库连接的自定义 Role,,可使用 tctl 命令行工具或在 Web Console 上创建。
如果使用 tctl 命令行工具创建,则在 Auth 上执行以下命令:
最后,创建 User,用户名为 test,并关联到 test-role。创建完成后,同样会生成一次性的临时链接,用户通过该 URL,设置密码和 OTP MFA,完成账户创建。
将堡垒机,互联至 EC2 和 RDS
鉴于 Teleport 支持用户使用 OpenSSH 等工具,保持运维的连贯性与原有环境。我们可通过 tsh 来实现连接与认证,并完成登录。
连接 EC2 实例
在 Teleport Web Console,点击 Connect 可连接用户名,随后便能在浏览器打开 SSH 会话,同步支持多个会话连接。
连接 RDS 数据库
使用 MySQL workbench 等工具连接数据库,连接成功后,即可操作数据库。
查阅审计日志
数据库连接、SSH 会话等堡垒机的登录信息,都被记录在审计日志中。用户借助于 DynamoDB 或 Web Console,即可完成审计日志的查看。相比 Web Console, DynamoDB 更能实现精细化的查阅。
获取会话录屏
一旦会话完成后,全部 SSH 连接的会话,都能够用 Blob 格式保存录屏内容(数据库会话暂不支持),随后上传至 S3 指定路径。开发者可应用 tsh 命令行工具,回放会话录像的 tsh play session-id。
云原生时代,在安全防线上点亮堡垒机安全节点,将有助于安全防御方获取一体化、一致性的运维模式。开发者朋友们,可结合堡垒机平台产品与上述亚马逊云科技的云计算、数据库、存储等产品,高效快捷地打造出云原生堡垒机,以更高的运维效率,稳保数字化资产安全无忧。
关于博文中提到的亚马逊云科技相关产品服务,详见中国区官网。高性价比、高可靠性云主机,尽在亚马逊云科技云主机专区。同时,你也可以前往亚马逊云科技免费试用专区,查看N多福利。
原创文章,作者:古哥,转载需经过作者授权同意,并附上原文链接:https://iymark.com/articles/13552.html