Casvisor
入门

介绍

Casvisor是一个开源堡垒机,也叫跳板机。它放在运维人员和他们要管的系统之间:

  • 用户通过Casdoor登录,你已经配好的单点登录、多因素认证、LDAP和第三方登录在这里同样生效。
  • 用户只能看到权限允许他们访问的服务器(称为资产),并在浏览器标签页里通过SSH、RDP、VNC或Telnet连接。用户电脑上和服务器上都不用装任何东西。
  • 服务器的账号由Casvisor自己填入,密码不会到浏览器里。
  • 每次连接都是一个会话,管理员能在列表里看到并强制断开;通过接口做的每一次改动都记进操作日志。

Casvisor用Go和React编写,采用Apache-2.0许可证,没有企业版。

整体结构

  浏览器                      Casvisor                              服务器
+-----------+   HTTPS    +--------------------------+ SSH、RDP  +--------------+
| 工作台    |----------->| 登录          (Casdoor)  |---------->| Linux        |
| 标签页    | WebSocket  | 权限          (Casbin)   |    VNC    | Windows      |
+-----------+            | 会话、操作日志           |---------->| 桌面         |
                         +--------------------------+           +--------------+
                                      |  Telnet                        ^
                                      v                                |
                                 +---------+                           |
                                 |  guacd  |---------------------------+
                                 +---------+
  • SSH、RDP和VNC由Casvisor用Go直接处理:浏览器通过WebSocket连Casvisor,Casvisor再连服务器。
  • Telnet经由guacd,即Apache Guacamole的协议守护进程,Casvisor通过4822端口和它通信。
  • 用户、用户组和登录都在Casdoor里。资产、权限、会话和操作日志存在Casvisor自己的MySQL数据库里。

它解决什么

你想看这里
给外包人员一周时间的两台服务器SSH权限,别的都不给权限
让整个运维组能连所有Linux服务器,但只能从办公网连权限
不让人从Windows桌面里往外复制文字或文件权限、协议
用服务器的人拿不到它的root密码资产
看现在谁连着,并把某个人踢下线会话
查出是谁、什么时候改了某条权限操作日志

还没做的

Casvisor正在重做成完整的堡垒机,堡垒机该有的几项还在路线图上:用本地的ssh、scp或SFTP客户端连接,会话录像和回放,命令记录和拦截,支持SSH私钥的加密凭据保险箱,数据库和Kubernetes访问。本手册写的是当前代码里已有的功能,某个设置暂时不起作用的地方会直接说明。

下一步

用Docker跑起来,然后对接你的Casdoor。

在GitHub上编辑

本页内容