本文作者:sol0king,首发自爱奇艺安全应急响应中心,安全内参转载。

堡垒机是集帐号管理、授权管理、认证管理和综合审计于一体的IT基础设施。它为企业提供统一框架,整合网络设备、主机系统、应用系统,具备强大的安全审计功能和防御功能。

爱奇艺堡垒机分为Web端和Client端两部分。Client端包括登录模块、管理模块和审计模块;Web端包括作业平台、服务器管理模块、发布模块等。爱奇艺堡垒机当前服务于数千用户、数万服务器,数十万授权列表。

爱奇艺堡垒机架构图

堡垒机简易流程图

01 单点登录

1.1登录入口

爱奇艺堡垒机支持SSH/SFTP/RDP/VNC等协议:SSH协议基于sshd实现;SFTP协议依赖Paramiko实现;RDP/VNC远程桌面协议依赖开源软件Guacamole实现,用户通过web访问。

1.2账号管理

账号创建:管理员根据部门或者项目申请堡垒机;用户登录堡垒机Web端上传公钥,即完成堡垒机账号创建,随后可使用终端登录堡垒机Client端。

账号销毁:人员离职或异动,堡垒机会定时清除该员工账号以及授权列表

1.3用户组管理

爱奇艺堡垒机支持类似Linux下用户组的概念。管理员创建一个用户组,为其授权若干服务器后;当管理员再向这个组中添加用户时,该用户自动拥有了组用户对应的授权。

1.4登录方式

为提升用户登录体验,我们支持了3种登录方式:

Tab补全,输入备注或IP登录

输入序号后登录

传入环境变量登

1.5KeyLess方案

爱奇艺堡垒机实现了KeyLess方案:在该方案中,堡垒机登录服务器时使用的私钥,将不会落到磁盘,而是通过Redis和MySQL数据库将已加密的服务器私钥加载到内存中,使用后立即销毁,减小私钥泄漏的风险,增强每一次访问的可审计性。

在降低私钥泄漏风险的同时,还需要保证服务的高可用。堡垒机所在机房必须配备2个Redis和MySQL的只读实例,降低堡垒机Client端依赖单点数据库的风险。即使机房之间专线故障,用户也可使用备用域名访问堡垒机服务;当某一个只读实例宕机后,也不影响堡垒机服务稳定。

在极端情形下,若同机房的两个只读实例同时宕机,堡垒机在读取MySQL超时两秒后,会尝试转移连接其他机房的数据库;当读取Redis中服务器列表失败后,会自动降级为用户手动输入服务器IP和用户名。

1.6二次认证

主动:堡垒机管理员可在服务器授权时,设置需要二次认证的间隔时间,分为四个级别:

每次登录服务器时输入MOTP

每4小时输入一次MOTP

每8小时输入一次MOTP

每12小时输入一次MOTP

被动:堡垒机通过关联分析用户行为,发现异常登录和操作时,Client端主动要求用户输入MOTP,进行二次身份验证。

02 访问/授权控制

2.1服务器管理

主动:用户可通过堡垒机Web端添加Owner为自己的服务器到所属部门堡垒机

被动:堡垒机Web端对接了爱奇艺服务器管理平台,用户申请的服务器被创建后,将通过接口自动添加到指定的堡垒机

2.2服务器授权

主动:管理员将服务器分组、用户分组,按照服务器组-用户,服务器-用户,服务器-用户组,服务器组-用户组的方式授权

被动:用户通过“运维申请”功能,申请服务器或者服务器组,管理员审批通过即获得服务器权限

2.3登录列表同步

登录列表同步是堡垒机的核心模块:如果同步功能有问题,用户登录列表会不一致,需要登录的服务器可能不在列表中,非常影响用户体验,让用户觉得堡垒机不够稳定。为了保证登录列表一致性,堡垒机client端采用了三种同步方式:

Docker启动时全量同步,耗时大约5分钟(数十万条授权)

新增同步,通过Web接口获取最近15s新增授权

为了避免用户新增和删除授权后,引起登录列表差异,每两小时执行一次差异同步(通过缓存用户列表数和用户redis中列表数比较,如果存在差异,通过Web接口获取最新的该用户的登录列表,并更新缓存)

2.4SSH-Agent

堡垒机支持SSH-Agent功能,授权时可选择是否开启该功能。SSH-Agent可以将堡垒机上的私钥加载到内存传递到用户登录的服务器,极大的方便用户批量操作服务器。SSH-Agent也会带来一些麻烦,例如通过git pull抓取代码的时候

03 文件传输

SFTP文件传输:堡垒机Client端使用Paramiko实现SFTP服务,支持各种常见SFTP客户端,上传数据可审计。同时,用户还可以使用IDE工具SFTP连接到服务器,直接在服务器上进行开发和调试。由于堡垒机带宽和Paramiko性能等问题,SFTP传输速度5-8M/s。

通过重构paramiko.ServerInterface.check_auth_publickey(),可以在

return paramiko.AUTH_SUCCESSFUL 之前自定义认证方式

大文件传输:

堡垒机还集成了“爱奇艺文件快传服务”,添加审计模块,中转用户传输的文件,平均速度可达50M/S。

04 基线规则

堡垒机支持安全基线规则集,堡垒机管理员可以定制基线规则,并应用到所属的堡垒机中,Client端通过同步程序,同步基线规则,用户操作服务器时触发规则,会执行设定动作。

安全规则包含多个条件组成,支持and, or, not, 左括号(, 右括号)操作符,例如: (条件0 or 条件1) and (not 条件2);条件可以是多个维度(当前用户名,目录,输入命令,端口等)的正则匹配

05 审计

5.1会话审计

用户登录堡垒机Client端会创建一条Session Log,Session Log关联事件日志,方便关联审计

5.2事件审计

用户每次操作都会记录一条日志,记录用户命令输入和输出,当前操作堡垒机,当前主机名,当前用户名等信息

5.3远程堡垒机日志审计

VNC和RDP协议通过web访问记录录屏日志,堡垒机将文本日志转码为mp4文件,视频进度可拖拽

5.4公钥审计

堡垒机联动HIDS,通过HIDS搜集服务器公钥与堡垒机报备公钥对比,发现异常公钥并邮件报警

5.5日志存储

堡垒机日志存储两份:一份按照时间段分表存储数据库,用于堡垒机Web端事件审计查询;一份存储到Hadoop,方便内审通过关联分析发现违规操作。另外,堡垒机日志已接入爱奇艺区块链系统,确保日志完整、无法被篡改。

06 堡垒机作业平台

6.1Web端批量操作

用户设置运维脚本,脚本分为私有和公有,私有自己可见,公有所有人可见

脚本安全性评估

选择需要执行脚本的服务器,否周期执行

执行结果写入数据库,审计

管理员限制账号执行运维脚本

6.2用户定制命令 - 执行脚本(类似alias)

在基线规则的基础上,增加执行动作脚本。用户输入命令触发设定条件,执行指定脚本文件。例如:定制一条输入命令为 fileupload ansible规则,动作是执行ansible脚本,当用户输入fileupload ansible这个命令时堡垒机client 端会自动执行ansible脚本

07 总结

堡垒机作为办公网到IDC的第一道屏障,服务器运维入口,在保证4A的同时,也要尽量保证用户体验。

用户体验:爱奇艺堡垒机支持多种登录方式,支持大文件快速传输,支持IDE通过SFTP连接服务器开发

运维管理:堡垒机拥有一套完善的认证,授权系统;相比于商业堡垒机更轻量级,可定制化,支持更多的服务器运维操作

安全合规:堡垒机支持主被动式二次认证;支持基线规则检查,可异常弹窗和阻断用户操作;采用机器学习识别异常登录,账号共用;以及合规检查的日志查询系统

创新探索:堡垒机支持KeyLess方案;集成作业平台,可定时,批量执行运维脚本

关注“爱奇艺安全应急响应中心”公众号

声明:本文来自爱奇艺安全应急响应中心,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。

mysql qiyi管理器_爱奇艺海量服务器安全运维平台 (堡垒机) 建设相关推荐

  1. 如何使用爱奇艺下载视频_爱奇艺怎么设置青少年模式

    很多人都使用爱奇艺,播放器家园网小编给大家分享一下如何使用爱奇艺下载视频_爱奇艺怎么设置青少年模式相关内容.爱奇艺上看视频.请好友助力.每日签到-超多互动都可以得金币!更妙的是,金币可以兑换VIP影片 ...

  2. 爱奇艺html5不显示画面,爱奇艺有声音但是没有画面怎么办_爱奇艺黑屏怎么解决...

    小伙伴们在用爱奇艺的时候是不是有时候会发现只有声音但是屏幕是黑屏或卡主的情况,那么在这样的又该怎么办呢?今天快啦小编就为大家带来爱奇艺播放有声音但是没有画面怎么办_爱奇艺黑屏怎么解决的解决办法,还不赶 ...

  3. python人工智能面试题爱奇艺面试题_爱奇艺面试Python,竟然挂在第5轮……

    今天给大家分享我曾经在爱奇艺的面试,过程还是比较有意思的,可以给大家一些参考 聊骚阶段 嗲妹妹:你好,我是爱奇艺的HR,我们正在招聘运维开发岗位,请问您最近有在看工作机会吗? 我:(这声音也太酥了吧我 ...

  4. 爱奇艺海外运营系统的设计和实践

    海外技术团队针对海外运营需求,整合爱奇艺人群运营.移动端动态化.A/B 测试等资源,从零到一设计落地了海外运营系统:IQ Explorer . 从原型设计到上线至今,历经多个版本的迭代,覆盖了海外本地 ...

  5. 爱奇艺2020官方下载_爱奇艺视频如何上传

    软件是否好用,还得大家下载爱奇艺安装才知道.本文分享爱奇艺2020官方下载_爱奇艺视频如何上传.爱奇艺电影频道拥有大量高清在线电影资源,热门高清电影.好评电影.电影预告都可以在线观看,不去电影院也能看 ...

  6. ducter运维平台_开源自动运维管理平台_自动化运维平台 开源

    专访运维管理开源平台负责人刁文波:Ducter能 550x364 - 47KB - JPEG 专访运维管理开源平台负责人刁文波:Ducter能 550x381 - 45KB - JPEG 光宇游戏黄振 ...

  7. dubbo 自定义路由_爱奇艺在 Dubbo 生态下的微服务架构实践

    作者 | 周晓军 爱奇艺中间件团队负责人 导读:本文整理自作者于 2020 年云原生微服务大会上的分享<爱奇艺在 Dubbo 生态下的微服务架构实践>,重点介绍了爱奇艺在 Dubbo.Se ...

  8. python人工智能面试题爱奇艺面试题_爱奇艺面试试题是什么?爱奇艺怎么面试的?...

    动漫社区运营 职位描述: 1.负责社区的日常运营,管理监控社区运营数据; 2.深入分析社区用户需求.行为路径.交互等,对各项运营指标负责; 3.定期复盘,推进策略迭代以及运营方法改进,沉淀有效运营模式 ...

  9. 格式怎么转换_爱奇艺下载的视频怎么转换成常见的mp4格式?

    虽说现如今在线观看视频已经很流畅了,只要网速在线,基本上不会出现画面卡顿的情况,但是仍然有不少小伙伴会将视频从各大平台中下载下来收看,这样,即便是没有联网,也不会影响视频播出.不知道大家在从爱奇艺平台 ...

最新文章

  1. spark集群使用hanlp进行分布式分词操作说明
  2. 第二单元 考点6-7商业银行和投资理财
  3. VC++软件工程师高端培训
  4. Error opening/initializing the selected video_out (-vo) device.
  5. Boost字符串处理
  6. matlab图像隐写,matlab软件图像处理相关内容.ppt
  7. java 算法_Java 浅谈数据结构和算法
  8. 力扣459. 重复的子字符串(KMP,JavaScript)
  9. 关于 try catch 捕捉不到异常
  10. SVN的使用及MyEclipse的集成
  11. 【Python】一键爬取金庸连载版/三联版/世纪新修版小说
  12. 小项目1——猫眼Top100 爬取
  13. 【沃顿商学院学习笔记】宏观经济学——09欧元区Euro Zone
  14. 【毕业设计】基于单片机的宠物自动喂食系统 - 物联网 嵌入式 单片机 宠物喂食系统 宠物投食系统
  15. 苹果手机使用爱思助手安装ipa软件
  16. About Sealed
  17. 使用JMETER进行REST API测试
  18. networkx读取gml文件失败
  19. OpenCV学习笔记(六)之轮廓提取与角度测量
  20. 诺基亚5800XM触控音乐全解析

热门文章

  1. MySQL定时任务(每天凌晨3点钟执行)
  2. 什么是性格耿直?耿直型人格如何做职业规划?
  3. 值传递和引用传递,看这篇就够了!!!
  4. Ubuntu 安装 openssh server
  5. 高性能MySQL学习——提高查询性能
  6. 小米真无线降噪耳机3评测
  7. 给vue的页面添加背景图片
  8. 如何将一个PDF文件页面进行的拆分为多个PDF文件
  9. android 调用数字键盘,微信调用支付数字键盘功能实现方法(Android)
  10. python2.7中文报错_python 2.7 中文教程8 - 错误和异常