Labtainers: A Docker-based cyber lab framework
Labtainers include more than 50 cyber lab exercises and tools to build your own. Import a single VM appliance or install it on a Linux system and your students are done with provisioning and administrative setup, for these and future lab exercises.
- Consistent lab execution environments and automated provisioning via Docker containers
- Multi-component network topologies on a modestly performing laptop computer
- Automated assessment of student lab activity and progress
- Individualized lab exercises to discourage sharing solutions
Labtainers provide controlled and consistent execution environments in which students perform labs entirely within the confines of their computers, regardless of the Linux distribution and packages installed on the student’s computer. Labtainers run on our [VM appliance][vm-appliancee], or on any Linux with Dockers installed. And Labtainers is available as cloud-based VMs, e.g., on Azure as described in the Student Guide.
Guide to directories
-
scripts/labtainers-student — the work directory for running and testing student labs. You must be in that directory to run student labs.
-
scripts/labtainers-instructor — the work directory for running and testing automated assessment and viewing student results.
-
labs — Files specific to each of the labs
-
setup_scripts — scripts for installing Labtainers and Docker and updating Labtainers
-
docs — latex source for the labdesigner.pdf, and other documentation.
-
UI — Labtainers lab editor source code (Java).
-
headless-lite — scripts for managing Docker Workstation and cloud instances of Labtainers (systems that do not have native X11 servers.)
-
scripts/designer — Tools for building new labs and managing base Docker images.
-
config — system-wide configuration settings (these are not the lab-specific configuration settings.
-
distrib — distribution support scripts, e.g., for publishing labs to the Docker hub.
-
testsets — Test procedures and expected results. (Per-lab drivers for SimLab are not distributed).
-
pkg-mirrors — utility scripts for internal NPS package mirroring to reduce external package pulling during tests and distribution.