资产
资产是用户通过Casvisor访问的一台服务器、桌面或设备,对应一种协议。一台Windows服务器既要RDP又要SSH,就是两个资产。
管理员在资产页面管理资产。不是管理员的用户在这个页面和工作台里只能看到权限给他们的资产,也不能修改。
字段
| 字段 | 含义 |
|---|---|
| 组织 | 资产所属的组织。只能授权给这个组织的用户。 |
| 名称 | 组织内唯一的ID,权限通过它引用资产。 |
| 显示名称、描述 | 用户在工作台里看到的内容。 |
| 协议 | SSH、RDP、VNC或Telnet。选好后会自动填上常用端口。见协议。 |
| 主机、端口 | Casvisor要连的地址。这个地址由Casvisor服务器或网域网关解析和访问,不是用户的浏览器,所以可以是用户自己访问不到的内网地址。 |
| 用户名、密码 | Casvisor登录服务器用的账号,见下文。SSH网关至少需要用户名。 |
| 私钥 | SSH用:登录用的私钥,可以代替密码,也可以和密码一起用。见下文。 |
| 指纹 | 服务器的SSH主机密钥或RDP证书,第一次连接时记下。见协议。 |
| 网域网关 | 直连,或者经由哪个网域网关访问这个资产。 |
| 操作系统 | Linux或Windows,在列表里显示。 |
| 标签 | prod-linux、db这样的标记。权限可以一次授权带某个标签的所有资产,所以标签就是资产分组。 |
账号
用户名和密码怎么填,决定了用户怎么登录服务器:
- 都填。 Casvisor用这个账号登录,用户直接进入会话。密码不会发给浏览器:接口返回的是
***,用***保存资产时保留原来的密码。VNC由Casvisor自己完成VNC认证,浏览器拿到的始终是无需认证的连接。 - 只填用户名。 用户连接时要输入密码。
- 都不填。 用户连接时两样都要输入,每个人用自己的账号登录,服务器自己的日志里也能看出是谁。
用户输入的账号只随这一次连接发送,不会保存。工作台通过浏览器的本地存储把它交给连接标签页,最多保留一分钟就删除,所以不会出现在地址栏和历史记录里。
SSH资产可以保存私钥(OpenSSH或PEM格式),代替密码或者和密码一起用,Casvisor会先试私钥。私钥有口令保护时,把口令填在密码里。私钥和密码一样,接口返回的是***,不会到浏览器里。
加密
在配置里把credentialKey设成一个足够长的随机字符串,Casvisor就会用由它派生的密钥,以AES-256-GCM加密保存密码和私钥;启动时还会把设置之前保存的明文凭据一并加密。credentialKey不要进git,例如放在conf/app.local.conf里(见配置),并和数据库一起备份:没有它,保存的凭据就读不出来,连接这些资产时会报credentialKey may be wrong。
不设credentialKey时,凭据按原样保存,请像保护这些密码本身一样保护数据库和备份。一个资产多个账号、权限里指定用户能用哪个账号,在路线图上。
网络规划
连接是Casvisor发起的,所以它要能访问资产的主机和端口。常见的做法是把Casvisor放在内网的一台机器上,通过HTTPS对用户开放,资产的防火墙只放行Casvisor的地址。这样用户没有任何直连服务器的途径,每一次连接都要经过权限检查,并出现在会话列表里。
Casvisor连不到的网络里的资产,例如另一个机房或在NAT后面的办公室,经网域网关访问:对方网络里的SSH跳板机,或者在那里主动连回Casvisor的agent。