保姆级零信任容器应用平台 Kasm 使用指南(全网最详细中文教程)

Posted by Mike on 2022-10-14

Kasm 介绍

Kasm 是一款基于 Docker 的容器应用平台,它提供企业级编排、数据丢失防护和 Web 流技术,以支持将容器化工作负载交付到你的浏览器。

Kasm 可以在浏览器內运行各种应用,比如:Linux 桌面、浏览器、聊天工具、办公软件、多媒体工具等。

Kasm 将这些应用隔离在独立的 Docker 容器内,在里面做的任何行为不会影响真实的主机,并且具备一次性特点、用完即删,保证了数据的安全性。

Kasm 是个开源项目,你可以在个人及非营利条件下免费使用。

简单来说 Kasm 可以让用户在浏览器(即开即用)使用各种(容器化)的软件和操作系统。

在浏览器内运行 Chrome、Edge

Kasm 支持常用的主流浏览器:ChromeEdgeFireFoxTor 等。

在浏览器内运行 Ubuntu 桌面

Kasm 支持常用的 Linux 桌面:UbuntuCentOSOPenSUSEKali Linux 等。

Kasm 优点:

  • 支持受隔离保护的浏览器
  • 支持受隔离保护的 Linux 桌面
  • 支持受隔离保护的多种应用
  • 在数秒间快速启动应用
  • 使用完毕瞬间删除应用,不留痕迹
  • 容器闲置超过指定时间自动删除应用,不留痕迹

Kasm 缺点:

  • 目前中文支持不友好,在部分应用内没有中文输入法。

下表我们将比较下几种常用虚拟化服务 VMDockerKasm 间的区别

VM Docker Kasm
虚拟操作系统 虚拟容器 虚拟容器
硬件资源占用率高 👑硬件资源占用率最低 硬件资源占用率较低
需要安装专用应用程序 使用终端程序,图形操作不友好 👑使用网页浏览器,介面友好
安装操作系统耗时 部署容器快速 👑鼠标一键瞬间启动,支持多任务
虚拟机内的浏览器会储存 Cookie,无法达到完全的隐匿性 虽然可透过删除容器及重新部署来达到即开即用,但步骤较为繁琐 👑应用的启动或删除只需鼠标点击,真正实现即开即用。
👑中文支持度高 中文支持度低 中文支持度低

部署 Kasm

  • 硬件要求
硬件类型 配置规格
CPU 2 cores
Memory 4GB
Storage 50GB (SSD)
  • 操作系统要求
支持的操作系统
Ubuntu 18.04 / 20.04 / 22.04 (amd64/arm64)
Debian 9 / 10 / 11 (amd64/arm64)
CentOS 7 / 8 (amd64/arm64)
Oracle Linux 7 / 8 (amd64/arm64)
Raspberry Pi OS (Debian) 10 / 11 (arm64)
Other

Kasm 部署还是很容易的,基本只需执行以下几条命令:

1
2
3
4
$ cd /tmp
$ curl -O https://kasm-static-content.s3.amazonaws.com/kasm_release_1.11.0.18142e.tar.gz
$ tar -xvf kasm_release*.tar.gz
$ sudo bash kasm_release/install.sh

执行完成后,安装脚本会询问『是否接受协议』和『是否启用交换分区』。你可以根据实际情况回答,当然协议是必须接受的。

默认情况下,Kasm 安装脚本会去 Github 下载 Docker-Compose V2 的执行文件。如果你的网络环境不能正常访问 Github,安装脚本就无法正常执行。

这时你可以提前使用以下命令,先手动完成 Docker-Compose V2 的安装:

1
2
$ curl -L https://download.fastgit.org/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64 -o /usr/local/lib/docker/cli-plugins/docker-compose
$ chmod +x /usr/local/lib/docker/cli-plugins/docker-compose

然后,等待脚本拉取完相应的 Docker 镜像。首次下载的镜像比较多,需要一定时间,请耐心等待。

最后,脚本安装完成后,会生成 Kasm 各组件默认的认证信息。(只显示一次,请注意保存。)

注意:默认情况下,Kasm Web 应用程序是运行在 443 端口的,你需要在防火墙上对外开放此端口。如果你想在其他端口上运行 Kasm Web 应用程序,可在调用安装程序时通过 -L 参数指定。例如:sudo bash kasm_release/install.sh -L 8443

更详细官方安装教程可以查看:Standard Installation

上面的方法是将所有 Kasm 服务组件部署到同一台机器上的。当然,你也可以将不同的 Kasm 服务角色分开安装到不同机器。具体可以参考: Multi Server Installation

访问 Kasm

默认情况下,你可以使用 https://server_ip 访问的 Kasm 的 Web 页面。

登陆信息就是上面安装过程中自动生成的默认凭据。

Kasm 内置了很多常用的应用:

现在,我们来启动一个 Chrome 试试:

点击一下图标后,就秒启动完成一个全新的 Chrome 环境。

你还可以点击左面的键头图标,来使用一些辅助功能。比如:启用声音、剪贴板等。

简单体验了下,各种输入输出都很快,播放视频也是非常流畅的。接下来,再启动一个 Ubuntu 看看:

太赞了,Linux 桌面应用,运行起来也是一样的丝般顺滑。

Kasm 的强大功能远远不止这些,它还支持多用户、LDAPOpenID 等三方认证、自定义容器应用等高级功能。有兴趣的同学可以到官网自行探索哟!

参考文档

  1. https://www.google.com
  2. https://www.mobile01.com/topicdetail.php?f=508&t=6573952
  3. https://www.kasmweb.com/docs/latest/index.html
  4. https://www.kasmweb.com/docs/latest/install/single_server_install.html
  5. https://www.kasmweb.com/docs/latest/install/multi_server_install.html