The KYPO Cyber Range Platform is used to create and provide an emulated virtual environment. Working with this environment in KYPO requires knowledge of the terms Sandbox, Sandbox definition, and Pool.
As it was mentioned in terminology, it is an isolated testing environment with virtual networks and virtual machines (VMs) in them. Thanks to the infrastructure that is created using the OpenStack cloud service, everything is running without affecting the external infrastructure.
The creation of the sandbox requires the definition of the sandbox structure and configuration of the individual virtual machines. The definition in the context of KYPO is the directory structure named after sandbox definition which contains:
- Topology Definition: The file with the sandbox structure definition (hosts, routers, networks, etc.). For more detailed information about the topology definition, check the page Toplogy Definition. Created sandbox inside the cloud is called KYPO Topology Instance.
- Sandbox Provisioning: It is used to customize Topology Instances, e.g., set up an environment, create users, install packages, etc. Sandbox Provisioning must specify the way how to connect to instances, e.g., user name and SSH key. The Ansible tool is used to perform these actions. For more detailed information about the topology definition, check the page Sandbox Provisioning.
Created sandbox definitions must be stored as a Git repository so it can be used inside the KYPO portal. Git repository also must be accessible by the KYPO platform. For more detailed information, check the page Sandbox Definition.
Before creating sandboxes, it is essential to create in system so-called pools. Pools are groups of sandboxes that are created based on the same sandbox definition. A definition is specified before creating the pool. After creating the pool, it is possible to start with the allocation of the sandboxes, which is divided into three phases:
- Sandbox Allocation: The creation of sandbox (virtual machines) inside the cloud.
- Sandbox Networking: Networking of the virtual machines and user keys distribution to machines. The phase is executed automatically and is not the responsibility of the user.
- Sandbox Provisioning: Customization of virtual machines already above-mentioned.