KASM – Uma solução VDI free?

Olá a todos,

Hoje venho vos falar do Kasm Workspaces que é uma plataforma de infraestrutura de desktop virtual (VDI) baseada em tecnologias docker que permite ás organizações fornecer aos seus utilizadores espaços de trabalho seguros, isolados e altamente personalizáveis.
Com Kasm Workspaces, os utilizadores podem aceder ao seu ambiente de trabalho em qualquer lugar, aceder a um bastion ou jump server, em qualquer dispositivo, com um simples browser.

Este produto fornece vários recursos importantes que o tornam uma ótima opção para organizações que buscam modernizar sua infraestrutura, ou a um homelabber para garantir a compartimentalização do acesso enquanto aumenta ao mesmo tempo a segurança da sua infraestrutura.

O meu exemplo prático é a instalação que tenho deployed no meu homelab, que os meus filhos utilizam no dia a dia, sempre que necessitam de aceder a informação que têm em casa (trabalhos de casa, projetos a decorrer) quando estão fora.

Este sistema baseia-se em zero trust, e embora o risco esteja sempre lá, é em grande parte mitigado pois estes ambientes são todos disposable, sendo criados de novo sempre que necessários. Os dados estão armazenados em silos seguros, com proteção anti cryptoware e outras medidas de segurança.

O que é que na pratica o KASM nos oferece?

  • Ambientes seguros e isolados: O Kasm Workspaces usa tecnologia de docker container para fornecer aos usuários ambientes seguros e isolados. O espaço de trabalho de cada usuário é completamente isolado de outros espaços de trabalho no mesmo sistema, tornando-o altamente seguro e evitando qualquer potencial dataleak ou contaminação do espaço envolvente.
  • Facilidade de gestão: Kasm Workspaces é fácil de gerir, com uma interface intuitiva baseada na Web que permite ao administradores criar, gerenciar e destruir espaços de trabalho rapidamente. Os utilizadores também podem personalizar seus próprios espaços de trabalho com suas próprias ferramentas e aplicativos.
  • Escalável: O Kasm Workspaces é altamente escalável por desenho e pode ser implantado on-premise, em ambientes 100% cloud  ou em ambientes híbridos. Pode ser facilmente integrado à infraestrutura de IT existente (por exemplo autenticação LDAP) e pode ser ampliado ou reduzido dinamicamente conforme necessário para atender às necessidades sempre em constante mudança.
  • Custo-benefício: Kasm Workspaces é uma solução econômica para grupos que procuram fornecer a seus utilizadores um ambiente de desktop moderno, seguro e personalizável. Ele elimina a necessidade de atualizações caras de hardware e software e reduz a necessidade de suporte aos utilizadores finais da nossa infraestrutura.
  • Flexibilidade: O Kasm Workspaces é flexível e pode ser personalizado para atender às necessidades exclusivas de qualquer organização. Os utilizadores podem aceder aos seus espaços de trabalho desde qualquer dispositivo, incluindo laptops, desktops, tablets e smartphones.
  • Segurança:  A minha utilização pessoal do produto faz realçar a segurança que o mesmo nos transmite. No meu caso, utilizo para abrir links que desconheco, ou sites suspeitos, pois sei que quando fechar o ambiente, o mesmo será apagado.
    No caso dos meus filhos, sempre que precisam de aceder a informação que tem em casa quando estão na escola, podem aceder ao seu share de nas em read only e consultar os trabalhos que necessitam, descarregar os mesmos, editar eles, gravando se desejarem numa zona intermédia que irá validar a sanidade do documento (virus, etc) e só depois carregar em formato versionamento no nas. As possibilidades são apenas limitadas pela nossa imaginação.Se quiserem ver o KASM em funcionamento, aqui está um pequeno video sobre ele.

Como instalar o KASM?

  • Instale o Docker: Em primeiro ligar, é necessário instalar o Docker no nosso servidor. No meu caso estou a correr Docker inside um container de LXC.
    Podemos descarregar e instalar o Docker desde site oficial, para a versão de sistema operativo que possuímos, ou em algumas distribuições através do package manager incluído na mesma.
  • Descarregar através do docker a imagem Kasm Workspaces Docker: Uma vez instalado o Docker, é necessário efetuar o download da imagem Kasm Workspaces Docker. Podemos fazer isto através de uma sessão shell no nosso servidor docker.
     docker lscr.io/linuxserver/kasm:latest

Este comando fará o download (pull) da versão mais recente da imagem Kasm Workspaces Docker para o nosso servidor

  •  Execute o container Kasm Workspaces Docker: Depois de descarregar a imagem do Kasm Workspaces Docker, podemos a executar com o seguinte:
     docker run -d --name=kasm --privileged -e KASM_PORT=443 -e [email protected] -e DOCKER_HUB_PASSWORD=passw0rd_no_dockerhub -p 10.0.0.10:3000:3000 -p 10.0.0.10:443:443 -v /path/to/data:/opt -v /path/to/profiles:/profiles `#optional` -v /dev/input:/dev/input `#optional` -v /run/udev/data:/run/udev/data `#optional` --restart unless-stopped lscr.io/linuxserver/kasm:latest

Nota: Este comando iniciará o container Kasm Workspaces Docker e exporá a porta 443 e 3000 na nossa máquina. Caso a máquina tenha mais que uma interface, e não queiramos ter o Kasm a escuta em todas as  interfaces, podemos fazer bind a um ip especifico.
Recomendo ainda a criação no dockerub de um utilizador para pode descarregar a vontade imagens que necessitem e que o vosso KASM esteja SEMPRE por trás de um reverse proxy.
Tudo o resto é self explanatory, e pode ser customizado conforme a nossa necessidade.
Para mais informação sobre configurações do container, vejam este site no dockerhub.

  • Acedam ao nosso novo Kasm Workspaces: quando o container estiver em execução, poderemos aceder ao Kasm Workspaces abrindo um web browser e navegando até https://xxxxxx:3000. Isto nos levará ao login do Kasm Workspaces. Utilizem esta porta para a primeira configuração do produto.
  • Façam login e configurem o Kasm Workspaces: Na primeira janela de login, o Kasm irá pedir para criar dois utilizadores: um admin e um regular user. Certamente que entendem a diferença entre ambos 😉
    Irá pedir igualmente que imagens desejam instalar á partida. Podem alterar mais tarde a lista de imagens que disponibilizam aos vossos utilizadores
    Nota: não se preocupem com tão poucos utilizadores, mas depois do primeiro login de configuração, podem adicionar os utilizadores que desejarem, ou integrar em sistemas de autenticação centralizada como LDAP ou AD.

E pronto, agora temos uma instalação funcional de Kasm Workspaces a executar no nosso ambiente via docker.
Podemos usar esta instalação para testar e avaliar Kasm Workspaces ou podemos utiliza-la como ponto de partida para implantar Kasm Workspaces em um ambiente de produção.
Finalmente e para vos aguçar mais o dente, deixo-vos uma pequena lista dos containers kasm disponibilizados imediatamente apos instalação pelo builder. Existem mais, e podem vocês mesmo fazer os vossos:

Concluindo, o Kasm Workspaces é uma excelente opção para organizações que buscam fornecer a seus utilizadores um ambiente de área de trabalho seguro, personalizável e flexível.
A sua utilização da tecnologia de container garante que o espaço de trabalho de cada utilizador seja completamente isolado e seguro, enquanto sua escalabilidade e facilidade de gestão tornam uma solução econômica para organizações de todos os tamanhos.

Até ao proximo post, sabem onde me encontrar.

Um abraço
Nuno