Step 1 — Use Terraform & Setup the Network

~Cappetta
AWS Cyber Range
Published in
2 min readMar 19, 2020

Terraform

Terraform is a capable & complex DevOps Tooling. DevOps has strong career potential & is an in-demand skill-set. As engineer focused in the core of SecDevOps, I view terraform/vagrant as the first tools in the toolkit. Learn more with learn.hashicorp.com

Disclaimer

Note: The Simplified Cyber Range Menu-Drive Makeful is compatible with Linux / OSX.

Windows has complexities and requires some redevelopment of powershell functionality. I’m working on a makefile/powershell replacement.

The project has a makefile that simplifies the setup. This outlines the setup via makefile.

Build the Network with Terraform

How? Usemake network — this command launches terraform and focuses on building specific targets.

--target=module.range-infra.module.network.aws_internet_gateway.gw \
--target=module.range-infra.module.network.aws_nat_gateway.nat-a \
--target=module.range-infra.module.network.aws_route_table.private-a \
--target=module.range-infra.module.network.aws_route_table.public-a \
--target=module.range-infra.module.network.aws_route_table_association.private-a \
--target=module.range-infra.module.network.aws_route_table_association.public-a \
--target=module.range-infra.module.secdevops.aws_security_group.kali \
--target=module.range-infra.module.secdevops.aws_security_group.malware \
--target=module.range-infra.module.secdevops.aws_security_group.windows \
--target=module.range-infra.module.secdevops.aws_security_group.logger \
--target=module.range-infra.module.secdevops.aws_security_group.targets \
--target=module.range-infra.module.secdevops.aws_security_group.fbctf \
--target=module.range-infra.module.secdevops.aws_security_group.tpot \
--target=module.range-infra.module.secdevops.aws_key_pair.circleci_key

In the Vagrant Post below, I walk you through using vagrant. To use vagrant you need to perform this step manually or use terraform to create the networking components. Using make network provides an output which is placed into the aws.yaml file.

Read more in the article below…

Exploring the Makefile-driven Menu

the Makefile has many menu options

In future posts, I’ll outline some of the other menu-driven makefile commands

--

--

~Cappetta
AWS Cyber Range

VulnerabilityResearchEngineer@Tenable CyberEng.MastersStudent@SyracuseUniverity SecDevOps@Cuse_Lead