审计
录像
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>/<会话>.cvrDocker镜像里是/recordings,这是一个卷;在这里挂一个命名卷或宿主机目录,录像才不会随容器丢失。要放到别处就设recordingPath。文件是边录边写的,崩溃时没写完的文件也能放到它截止的地方。
图形会话的录像文件可能很大,请留意磁盘:
recordingRetentionDays会删除超过这么多天的录像,启动时和之后每小时检查一次。为空或0表示永久保留。- 在历史里删除一个会话,它的录像也会一起删掉。
disableRecording = true让新会话不再录像。
录像写不进去时(例如磁盘满了),Casvisor会记下错误,会话照常继续,只是没有录像。
这三项配置见配置。
录像和实时旁观
实时旁观VNC和RDP会话读的是正在写入的录像,所以设了disableRecording = true后,VNC和RDP会话就不能旁观了。SSH和Telnet会话不受影响。