Discovering Kasm

Discovering Kasm
Kasm Workspace

Intro

Greetings, everyone! In my previous post, I mentioned Cloudflare Tunnels and how I've used them in other projects. One particular project has captured my attention lately – Kasm Workspaces. Let's get into how I discovered it, how I'm utilizing it now, what my future plans are, and why I'm so excited about them.

Discovering Kasm Workspaces

In the realm of tech exploration, Kasm Workspaces definitely stands out. It's a container streaming software that can quickly deploy containerized applications and even full Linux desktop environments on your chosen server – be it Cloud-based or self-hosted. What's more intriguing is that these applications are streamed directly to your web browser. If you're curious about its potential, Kasm offers an engaging live demo that's well worth checking out.

This type of software is a game-changer for accessing preferred apps and Linux environments, whether they reside on your personal on-prem server or cloud services like Linode or AWS. Tech YouTubers like NetworkChuck, DB Tech, and Christian Lempa have explored and showcased some the capabilities of Kasm in some of their videos.

My journey into the world of Kasm started after I stumbled upon a NetworkChuck video on setting up Kasm Workspaces on a Linode-hosted cloud server. By the way, if you haven't experienced Linode yet, you're in for a treat. It's a fantastic platform for diving into Virtual Machines, Linux, and Cloud hosting. They often offer a generous $100 credit for newcomers, which can even extend up to 60 or 90 days with certain sponsored coupon codes. With one such code, I managed to host a Kasm instance on the cloud for almost the entirety of those 90 days, and even afterward, it was still very much affordable.

My Current Use of Kasm

Recently, I shifted from a cloud-based Kasm instance to a self-hosted setup on my home-lab server. The process involved creating a virtual machine, setting up Ubuntu Server, and following Kasm's installation guide – which turned out to be the smoothest part of the journey.

Kasm Dashboard

Next, I connected my Kasm instance to a custom domain using Cloudflare Tunnels, enhancing security while enabling remote access from any location following this tutorial by DB Tech. This transformation has significantly boosted my productivity. I now utilize Kasm at work for school tasks and Linux experiments. Thanks to Persistent Profiles within Kasm, I stay logged in across sessions, and my customized Chrome workspace, hosted on my home server, provides a secure pathway to the Proxmox frontend without any port exposure, all thanks to the Cloudflare Tunnel setup.

Using the Remmina workspace, I am able to remotely view my physical machines as well as my VM's to wok on a project, make changes to my setup or add new virtual machines for learning purposes or to run a new service that I find useful. The Terminal workspace is a great way to access any of the containers or underlying OS's via SSH to make configuration changes, update packages, etc.

Taking it a step further and add more options, I integrated the LinuxServer.io Workspace Registry, making it easy to access additional workspaces from their repository. This collaboration potential within the community is truly exciting.

Kasm Registry
Kasm Workspace Images

The Path Ahead: Crafting Custom Kasm Images

My exposure to Kasm's potential has ignited some exciting ideas – crafting tailored applications or images for Kasm. Equipped with a solid understanding of Docker Containers, I'm enthusiastic about delving into this endeavor. Kasm's documentation for building custom images, coupled with Christian Lempa's tutorial on customizing a Linux desktop using Kasm's Default Docker Images, has paved the way.

My PwnBox Custom Kasm Image Configuration

My initial vision revolves around creating a personalized Kali image. This image could provide friends and family access to Hack the Box labs, even if they don't have an account. As I have a Hack the Box Academy student account, I enjoy unlimited PwnBox instances, which makes the labs accessible, but only if I have the account.

The "Why" Behind It All

Amidst my journey in IT and cybersecurity, I've been reaching out to friends and family, gauging their interest in the tech world. The idea of granting them access to my Kasm instance, with a customized Kali environment tailored for Hack the Box challenges or Linux exploration, struck a chord. I've consumed so much IT-related content these past 9 months since I switched careers and I would love to share these valuable resources with anyone wanting to learn but feel like it may be too much to take on alone. Having a free and easily accessible "homebrew" PwnBox would achieve that goal.

Custom PwnBox Preview

As I dive deeper, I hope to deepen my understanding of Docker containers, Linux images, and inevitably start on some new projects with the knowledge I've gained. Stay tuned for my upcoming post, where I'll detail the process of crafting a custom Linux image for use within Kasm. Until then, keep nurturing your curiosity!