堡垒跳板机实现——整体架构

本文涉及的产品
运维安全中心(堡垒机),免费版 6个月
运维安全中心(堡垒机),企业双擎版|50资产|一周时长
简介:

背景介绍

最近,笔者接手公司的一项任务:建造服务器的堡垒跳板机。

关于跳板机的实现,其实简单版本网上一大堆,甚至更有开源堡垒机Jumpserver可供选择,方案很多。接下来会就我的实现方案,整理出几篇文章来做概要描述。

覆盖功能

正所谓兵马未动,粮草先行,在设计之前,先整理出我们一期中堡垒机要覆盖的基本功能点:

  • 服务器统一账号权限管理,包括哪些用户可以对哪些服务器进行login,哪些用户有sudo权限;
  • 用户行为记录,可在必要时回看审查;
  • 用户登录校验审查;

现在初期的目标是将所有的linux服务器通过堡垒机进行管理把控,将来扩展下,同样可以通过ssh协议对 交换机、路由器、甚至是Windows进行管理(目前windows已经可以实现通过ssh登录,不过这种方式就没有图形界面了且只能通过powershell来进行管理)。

架构设计

基于以上几点功能点,设计架构如下:

下面对这个架构图做下说明:

整体分为三层,总体来说,

第一层 校验用户是否有登录堡垒机的权限;

第二层真正为用户分配权限,同时判断经过第一层的用户是否有对目标机器操作的权限;

第三层则是真正登录/操作服务器的方式,在这里我将服务器的auth+sudo权限通过ldap来进行分布式动态管理,稍后会有专门的说明;

第一层:

登录入口,凡是有堡垒机使用权限的均可以由此入口处登录成功。

涉及主要服务: user login shell。

服务主要功能:

  • 读取用户信息,判断是否有登录权限;
  • 调用动态Token服务,验证用户passwd;
  • 调用动态token服务,实现二维码扫码快速登录;
  • 调用第二层中的授权服务api,获取&判断用户的login权限;
  • 记录用户操作日志;

关联服务:

  • 动态Token服务,类似于google auth,每个人的动态码均不一样,每分钟update一次,以此做登录堡垒机的校验,当然如果想简单,单独分配一个静态密码也可以;

第二层:

授权服务管理,获取登录用户当前的权限ip列表,判断用户的操作是否符合预授权。

涉及主要服务:授权管理服务

服务主要功能:

  • 设置用户/team的 权限列表;
  • 将权限数据下发至第三层的ldap集群;
  • 提供api获取用户的权限list;

关联服务:

  • CMDB,以cmdb中的服务树为基本单位做授权,同时在cmdb中判断授权的服务器对象是否有效;
  • OA,以oa中的用户组为基本单位做权限授予,同时基于oa来判断用户是否有效;

第三层:

登录实体服务器&执行命令;

将所有目标服务器的ssh登录体系对接ldap集群,通过在ldap中设置用户的publickey & sudo等信息,来统一控制用户的登录权限&sudo权限。

目标规模:使用两台服务器做ldap主从集群,所有实体服务器对接此集群,从而统一进行auth验证。

未完待续

整体的架构说明就简单这样,接下来对就每一层的具体实现在分别和大家分享。


作者:刘阳龙Herman

来源:51CTO

相关文章
|
6月前
|
Web App开发 前端开发 Java
Apache Zeppelin系列教程第二篇——整体架构
Apache Zeppelin系列教程第二篇——整体架构
158 0
|
6月前
|
存储 安全 Java
SpringCloud整体架构概述
SpringCloud整体架构概述
149 0
|
存储 SQL 关系型数据库
TiDB亿级数据亚秒响应查询整体架构
TiDB亿级数据亚秒响应查询整体架构
954 0
|
4月前
|
监控 Kubernetes 安全
Istio整体架构解析
【7月更文挑战第17天】Istio整体架构分为数据平面(Data Plane)和控制平面(Control Plane)两部分
|
消息中间件 前端开发 安全
【开篇 | Spring深度学习】Spring设计理念和整体架构
【开篇 | Spring深度学习】Spring设计理念和整体架构
71 0
|
6月前
|
机器学习/深度学习 安全 网络安全
数字堡垒的构筑者:网络安全与信息安全的深层剖析构建高效微服务架构:后端开发的新趋势
【4月更文挑战第30天】在信息技术高速发展的今天,构建坚不可摧的数字堡垒已成为个人、企业乃至国家安全的重要组成部分。本文深入探讨网络安全漏洞的本质、加密技术的进展以及提升安全意识的必要性,旨在为读者提供全面的网络安全与信息安全知识框架。通过对网络攻防技术的解析和案例研究,我们揭示了防御策略的关键点,并强调了持续教育在塑造安全文化中的作用。
|
6月前
|
存储 SQL 分布式计算
TiDB整体架构概览:构建高效分布式数据库的关键设计
【2月更文挑战第26天】本文旨在全面概述TiDB的整体架构,深入剖析其关键组件和功能,从而帮助读者理解TiDB如何构建高效、稳定的分布式数据库。我们将探讨TiDB的计算层、存储层以及其他核心组件,并解释这些组件是如何协同工作以实现卓越的性能和扩展性的。通过本文,读者将能够深入了解TiDB的整体架构,为后续的学习和实践奠定坚实基础。
|
6月前
|
SQL 前端开发 JavaScript
前端后端技术栈分类和整体架构
前端后端技术栈分类和整体架构
|
6月前
|
机器学习/深度学习 资源调度 并行计算
VGen整体架构
【1月更文挑战第7天】VGen整体架构
211 1
VGen整体架构
|
消息中间件 NoSQL Kafka
微服务轮子项目(01) - 整体架构
微服务轮子项目(01) - 整体架构
97 0