Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/riccardotornesello/iac-cyberrange-generator
Infrastructure as Code cyberrange generation tool
https://github.com/riccardotornesello/iac-cyberrange-generator
Last synced: 17 days ago
JSON representation
Infrastructure as Code cyberrange generation tool
- Host: GitHub
- URL: https://github.com/riccardotornesello/iac-cyberrange-generator
- Owner: riccardotornesello
- Created: 2021-04-04T12:33:21.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-09-03T16:57:16.000Z (4 months ago)
- Last Synced: 2024-10-27T22:37:00.401Z (about 2 months ago)
- Language: Python
- Homepage:
- Size: 52.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Design and development of a tool for the implementation of cloud-based cyber ranges with open source software
## Description
This project is the Proof of Concept of my Bachelor degree's thesis. It uses Ansible to generate a cyber-range using the Infrastructure as Code paradigm.
## Project status
The previous version of the PoC using only Ansible ends at commit [9263cd44c78e1b34315ea65730ee230ab36b983b](https://github.com/riccardotornesello/iac-cyberrange-generator/tree/9263cd44c78e1b34315ea65730ee230ab36b983b).
However, the project is currently being restructured to give it new life after changes in the tools made it obsolete. This version uses Terraform for provisioning and Ansible for virtual machine configuration.## Deployment and compatibility
This tool is designed to be cloud-agnostic: no matter which cloud provider you intend to use, the syntax will always be the same.
In the current implementation (PoC), the only cloud provider supported is Microsoft Azure.
Moreover, at present this tool only allows you to create Linux virtual machines.
## How to run
First, you need to install the dependencies:
```bash
pip3 install -r requirements.txt
```Then, you need to create a configuration file. You can update the `config.yml` file with your own values.
Finally, you can run the tool with the following commands:
- To create the infrastructure: `python3 main.py`
- To delete the infrastructure: `python3 main.py destroy`
- To rebuild it after updates in the services: `python3 main.py rebuild`