Casvisor
审计

录像

Casvisor会为经过它的每个会话录像,四种协议都录,管理员在浏览器里回放。录像不需要在服务器或浏览器上装任何东西,默认就是打开的。

录了什么

连接录像内容
网页终端里的SSH终端输出和终端大小的变化
Telnet终端输出和终端大小的变化
VNC服务器发来的画面
RDP发给浏览器的画面和鼠标指针
SSH网关,交互式shell终端输出和终端大小的变化
SSH网关,ssh命令行上带的命令、scp、rsync、SFTP、端口转发没有录像;命令在命令记录里,传过的文件在操作日志里

用户敲的键本身不录,只录屏幕上显示的内容,所以不回显的密码不会出现在录像里。SSH和Telnet会话里的命令另外存为命令记录。RDP会话的剪贴板不录。

从头到尾没有任何输出的终端会话不会留下录像。

回放

在会话里,有录像的会话会有回放操作,在线和历史两个标签页里都有,所以会话还没结束时也能回放到打开的那一刻。点了会在新标签页里打开播放器:

  • 播放和暂停、当前位置和总时长,以及可以拖到任意位置的进度条。
  • 速度:1x、2x、4x、8x或16x。
  • 跳过空闲,默认打开:超过2秒的停顿缩短成半秒。
  • SSH和Telnet会在画面旁边列出会话里的命令,被拦截的标红,被告警的标黄。点一条就跳到它之前。
  • 一个会话有多段录像时,用编号按钮切换。

终端会话在终端里回放,VNC用noVNC回放,RDP用和实时桌面同一套绘制代码回放,所以回放看起来和当时一样。只有管理员能回放。每次回放或下载都会以session-replay写进操作日志。

下载

播放器上的下载按钮保存录像文件(.cvr),可以再用播放器打开。SSH和Telnet还有asciicast按钮,把会话保存成asciicast v2格式,可以用asciinema等终端播放器播放。

录像存在哪里

录像是文件,不在数据库里,存在Casvisor工作目录下的recordings/,按组织和日期分目录:

recordings/<组织>/<YYYY-MM-DD>/<会话>.cvr

Docker镜像里是/recordings,这是一个卷;在这里挂一个命名卷或宿主机目录,录像才不会随容器丢失。要放到别处就设recordingPath。文件是边录边写的,崩溃时没写完的文件也能放到它截止的地方。

图形会话的录像文件可能很大,请留意磁盘:

  • recordingRetentionDays会删除超过这么多天的录像,启动时和之后每小时检查一次。为空或0表示永久保留。
  • 在历史里删除一个会话,它的录像也会一起删掉。
  • disableRecording = true让新会话不再录像。

录像写不进去时(例如磁盘满了),Casvisor会记下错误,会话照常继续,只是没有录像。

这三项配置见配置。

录像和实时旁观

实时旁观VNC和RDP会话读的是正在写入的录像,所以设了disableRecording = true后,VNC和RDP会话就不能旁观了。SSH和Telnet会话不受影响。

在GitHub上编辑

本页内容