Kasm

From Randomdata wiki
Jump to navigation Jump to search

Kasm Workspaces bij Randomdata

Kasm Workspaces is een project binnen Randomdata dat is opgezet om leden van de hackerspace toegang te geven tot een flexibele, container-gebaseerde werkomgeving. Het begon met het idee om een veilige omgeving te creëren voor browserisolatie, zodat verdachte links en mogelijk schadelijke websites konden worden geopend zonder dat leden hun eigen laptops of systemen in gevaar brachten. Vanuit dit startpunt groeide het project uit tot een veelzijdige infrastructuur die inmiddels wordt gebruikt voor uiteenlopende toepassingen: van OSINT en scripting tot creatieve experimenten en zelfs retro gaming.


Achtergrond

Binnen Randomdata is er altijd de behoefte geweest aan een centrale plek waar leden tools en applicaties kunnen gebruiken zonder afhankelijk te zijn van hun eigen installatie. Vooral voor security-gerelateerde activiteiten, zoals het openen van malware-links of het uitvoeren van OSINT, is het handig om een gecontroleerde en disposable omgeving te hebben. Kasm Workspaces voorziet precies hierin: het platform draait applicaties in containers en streamt ze rechtstreeks naar de browser van de gebruiker. Hierdoor ontstaat een geïsoleerde, centrale omgeving die eenvoudig toegankelijk is voor alle leden.

Het project wordt gehost op de interne infrastructuur van Randomdata. De Kasm-installatie draait binnen een containeromgeving op de Proxmox-server die door de leden liefdevol Gibson wordt genoemd. Dit sluit mooi aan bij de bestaande cultuur van de space, waar infra en projecten vaak een mix zijn van serieuze securitytoepassingen en luchtige hobby-elementen.


Architectuur en infrastructuur

De architectuur van Kasm Workspaces bij Randomdata bestaat uit verschillende lagen die samen een soort bouwpakket vormen. Het is handig om dit als een stapel te zien, waarbij elke laag zijn eigen rol speelt.

De basislaag: hardware

Alles begint met een doodnormale server. Denk aan een stevige pc met meerdere CPU-cores, voldoende geheugen en een schijf die groot genoeg is om wat containers te dragen. Het is geen supercomputer, maar voor de doeleinden van de space is het ruim voldoende. Je kunt het zien als het motorblok van een oude maar betrouwbare auto: misschien geen Formule 1, maar wel eentje die altijd start en rijdt.

De virtualisatielaag: Proxmox VE

Daarbovenop draait Proxmox, een hypervisor die het mogelijk maakt om meerdere omgevingen naast elkaar te hosten. Proxmox is als de conciërge van een groot gebouw: het regelt welke container waar komt te staan en hoeveel stroom en water (CPU en RAM) elke container krijgt. Binnen Randomdata draait van alles op Gibson, en Kasm is één van die projecten die hier zijn plekje heeft gevonden.

De containerlaag: LXC

Kasm zelf draait in een Linux-container (LXC). Je kunt het zien als een aparte kamer binnen het grote gebouw. In die kamer is alles ingericht om Docker te draaien, want Docker is de echte motor die de applicaties in Kasm laat leven. De LXC zorgt er ook voor dat alles netjes gescheiden blijft van de rest van de server.

De orkestratielaag: Docker

Docker is het systeem dat alle losse onderdelen van Kasm in kleine containers draait. Zie het als Lego-steentjes die samen een kasteel vormen. Belangrijke blokjes zijn:

  • kasm_proxy: de voordeur, waar je via HTTPS naar binnenkomt
  • kasm_api en kasm_manager: de receptie en het kantoor, waar alle administratie wordt gedaan en policies worden ingesteld
  • kasm_agent: de medewerker die de ruimtes (workspaces) opent en sluit
  • kasm_db: het archief waarin alles over gebruikers en sessies wordt bijgehouden
  • kasm_redis: de kladblok voor tijdelijke aantekeningen
  • kasm_guac: de techniek die ervoor zorgt dat je in de browser echt een remote desktop-ervaring hebt

De bovenste laag: de workspaces

Dit is wat de leden zien. Een simpele webinterface met een catalogus van applicaties. Klik op een icoon en je hebt direct een nieuwe container die via je browser wordt gestreamd. Voor de gebruiker voelt het alsof je een programma start op je eigen computer, maar in werkelijkheid draait alles op Gibson.


Functionaliteiten en applicaties

Hoewel het project in eerste instantie was opgezet voor browserisolatie, heeft de catalogus zich inmiddels flink uitgebreid. Het leuke is dat de toepassingen heel uiteenlopend zijn en passen bij de veelzijdigheid van een hackerspace.

  • Chrome (Isolated): een volledig schone browser waarin je zonder zorgen op dubieuze links kunt klikken. Handig voor het analyseren van phishingpagina’s. Sluit je de sessie, dan is alles meteen weer weg.
  • Tor Browser: ideaal voor OSINT of rondneuzen in het dark web zonder je eigen systeem te belasten.
  • Telegram: een desktopclient die veilig binnen Kasm draait, handig voor OSINT zoals het volgen van open kanalen.
  • Paint en Draw: simpele tools voor brainstorms en diagrammen. Soms is een digitale pen en een leeg canvas precies genoeg.
  • Blender: een krachtige tool voor 3D-modellering en renderen, bijvoorbeeld om objecten voor de 3D-printer voor te bereiden.
  • Terminal: een shell voor scripts en experimenten, zonder je eigen systeem te vervuilen.
  • SSH naar Gibson: directe verbinding naar de Proxmox-server, alleen voor bevoegde leden.
  • RetroArch: retro-games in de browser, perfect voor LAN-party’s.
  • Doom: draait puur omdat het kan.

Toekomstplannen zijn er ook, zoals Ubuntu-containers met Steam, zodat tijdens LAN-party’s niemand meer hoeft te rommelen met installs. Alles kan centraal vanuit Kasm worden gestart.


Gebruik en toegang

Leden loggen in via de webinterface van Kasm met hun space-account. De eerste keer krijg je een waarschuwing omdat er een self-signed certificaat wordt gebruikt; die klik je gewoon weg. Daarna kies je een applicatie en je bent meteen aan de slag.

Sessions zijn altijd tijdelijk. Zodra je afsluit, verdwijnt alles weer. Dit geeft juist vrijheid: je kunt experimenteren zonder risico dat er iets blijft hangen.

Voorbeelden uit de praktijk:

  • Je ontvangt een verdachte link via e-mail. In plaats van die lokaal te openen, start je Chrome in Kasm en onderzoek je de pagina veilig.
  • Je wilt een Telegram-kanaal volgen zonder je identiteit te koppelen. Start Telegram in Kasm en volg het kanaal veilig.
  • Tijdens een open avond wil iemand een 3D-model laten zien. Blender wordt gestart en de groep kijkt mee hoe een ontwerp wordt voorbereid.
  • Op een vrijdagavond organiseert de space een LAN-party. Iedereen logt in en speelt RetroArch of Doom vanuit dezelfde server.

Beleid en huisregels

  • Sessions zijn tijdelijk; bewaar werk extern.
  • Geen gevoelige gegevens of persoonlijke secrets achterlaten.
  • Resources zijn gedeeld; sluit sessies als je klaar bent.
  • Gebruik OSINT-tools verantwoord en binnen de wet.
  • Gaming is toegestaan, maar niet ten koste van productieve toepassingen.

Beheer en onderhoud

Het beheer van de Kasm-server wordt uitgevoerd door de initiator van het project en enkele andere leden van Randomdata. Zij houden toezicht op het gebruik, voeren updates uit en lossen problemen op. Monitoring en troubleshooting gebeurt via de Kasm-admin interface en logging van de belangrijkste services.

Backups worden gemaakt van de database, configuratiebestanden en certificaten. Bij upgrades wordt altijd eerst een backup genomen, waarna de nieuwe versie wordt uitgerold. Na een update wordt gecontroleerd of alle services goed draaien en worden enkele test-workspaces gestart om de functionaliteit te verifiëren.


Conclusie

Kasm Workspaces bij Randomdata is een typisch voorbeeld van hoe een idee kan uitgroeien tot een veelzijdig en breed inzetbaar project. Begonnen als een praktische oplossing voor browserisolatie, is het uitgegroeid tot een platform waar leden van de hackerspace niet alleen hun security- en OSINT-werk in kwijt kunnen, maar ook creatief en recreatief gebruik van maken. Van Blender tot Doom, alles draait centraal op één server en is toegankelijk voor iedereen in de space. Het project laat zien hoe technologie, veiligheid en plezier samen kunnen komen in een hackerspace-omgeving.


Disclaimer

Deze documentatie is publiek inzichtelijk en daarom bewust in hoofdlijnen geschreven. Plaatshouders worden gebruikt waar details over versies, netwerken of configuraties niet relevant zijn voor het algemene begrip. Het doel van dit artikel is om een overzicht te bieden van de mogelijkheden en toepassingen van Kasm Workspaces binnen Randomdata, zonder gevoelige technische informatie prijs te geven.


Credits

  • Initiator en maintainer: Uev52 / 0ffset_0x52
  • Bijdragers: leden van Randomdata die applicaties hebben toegevoegd, getest en feedback hebben gegeven.
  • Contact en feature requests: via de gebruikelijke kanalen binnen de space.