README.md 2.72 KB
Newer Older
1
# Cyber Sandbox Creator
Jan Vykopal's avatar
Jan Vykopal committed
2

3
Cyber Sandbox Creator is a tool, which can generate portable input files for building lightweight virtual environments using Vagrant and Ansible from a simple YAML definition of topology. The combination of these three tools makes possible to build virtual machines connected with virtual networks even on a desktop computer.
Attila Farkas's avatar
Attila Farkas committed
4

Attila Farkas's avatar
Attila Farkas committed
5
![usage](doc/sandbox_creator_general.svg "Usage")
Attila Farkas's avatar
Attila Farkas committed
6

Attila Farkas's avatar
Attila Farkas committed
7
## Installation
Attila Farkas's avatar
Attila Farkas committed
8

Jan Vykopal's avatar
Jan Vykopal committed
9
**Note:** This is just a quick guide how to install and generate files with this tool. For full description of how to prepare the host device to be able run the generated environments and how to build the virtual machines check our [wiki page](https://gitlab.ics.muni.cz/cs4eu/sandbox-creator/-/wikis/Installation-and-Usage).
Attila Farkas's avatar
Attila Farkas committed
10

Jan Vykopal's avatar
Jan Vykopal committed
11
### Linux (Ubuntu/Debian)
Attila Farkas's avatar
Attila Farkas committed
12
13
14
15
16
17
18
19

1. Install git using the command `$ sudo apt-get install git`.
2. Clone the project with `$ git clone https://gitlab.ics.muni.cz/cs4eu/sandbox-creator.git` to an arbitrary directory.
3. Navigate to the project directory (`$ cd sandbox-creator`).
4. Install pip using `$ sudo apt-get install python3-pip`.
5. Install setuptools with `$ pip3 install setuptools`.
6. Install dependencies with the command `$ pip3 install -r requirements.txt`.

Attila Farkas's avatar
Attila Farkas committed
20
### Windows 10
Attila Farkas's avatar
Attila Farkas committed
21
22
23
24

1. Install [Python 3](https://www.python.org/downloads/windows/). At the beginning of the installation mark the "Add Python to PATH" option.
2. Install [git](https://git-scm.com/downloads).
3. Clone the project with `git clone https://gitlab.ics.muni.cz/cs4eu/sandbox-creator.git` to an arbitrary folder.
Attila Farkas's avatar
Attila Farkas committed
25
26
4. Navigate to the project folder (`cd sandbox-creator`).
5. Install Python dependencies using the command `python -m pip install -r .\requirements.txt`.
Attila Farkas's avatar
Attila Farkas committed
27

Attila Farkas's avatar
Attila Farkas committed
28
## Usage
Attila Farkas's avatar
Attila Farkas committed
29

Jan Vykopal's avatar
Jan Vykopal committed
30
### Linux (Ubuntu/Debian)
Attila Farkas's avatar
Attila Farkas committed
31

32
1. After the installation simply run the command `$ python3 create.py topology.yml` to generate files.
Attila Farkas's avatar
Attila Farkas committed
33
34
2. Navigate to the newly created directory `sandbox` and run `$ vagrant up` to build the virtual environment.
3. The built environment can be deleted using the command `$ vagrant destroy -f`.
Attila Farkas's avatar
Attila Farkas committed
35

Attila Farkas's avatar
Attila Farkas committed
36
### Windows 10
Attila Farkas's avatar
Attila Farkas committed
37

38
1. Generate files using the command `python create.py --ansible_local topology.yml`.
Attila Farkas's avatar
Attila Farkas committed
39
40
2. Navigate to the newly created folder `sandbox` and run the command `vagrant up` to build the virtual environment.
3. The built environment can be deleted using the command `vagrant destroy -f`.
Attila Farkas's avatar
Attila Farkas committed
41

Attila Farkas's avatar
Attila Farkas committed
42
## Credits
Attila Farkas's avatar
Attila Farkas committed
43

44
**Cybersecurity Laboratory**\
Attila Farkas's avatar
Attila Farkas committed
45
**Faculty of Informatics**\
Attila Farkas's avatar
Attila Farkas committed
46
**Masaryk University**
Attila Farkas's avatar
Attila Farkas committed
47

Attila Farkas's avatar
Attila Farkas committed
48
**Lead developer**: Attila Farkas
Attila Farkas's avatar
Attila Farkas committed
49

Attila Farkas's avatar
Attila Farkas committed
50
**Technology lead**: Daniel Tovarňák (KYPO cyber range platform)
Attila Farkas's avatar
Attila Farkas committed
51

Attila Farkas's avatar
Attila Farkas committed
52
**Supervisor**: Jan Vykopal
Jan Vykopal's avatar
Jan Vykopal committed
53

Attila Farkas's avatar
Attila Farkas committed
54
**Contributors**:
Jan Vykopal's avatar
Jan Vykopal committed
55

Attila Farkas's avatar
Attila Farkas committed
56
- Valdemar Švábenský
57
- Kamil Andoniadis (KYPO cyber range platform)
Attila Farkas's avatar
Attila Farkas committed
58
59
60
- Michal Staník
- Zdeněk Vydra
- Adam Skrášek
Jan Vykopal's avatar
Jan Vykopal committed
61

Jan Vykopal's avatar
Jan Vykopal committed
62
63
64
## License

This project is licensed under the MIT License - see the LICENSE file for details.