Skip to content

Commit 9862826

Browse files
authored
Merge pull request #1288 from splunk/improvement_tag_handling
Add encrypted flag to all volumes
2 parents 2e81bd9 + d0041ee commit 9862826

File tree

11 files changed

+65
-7
lines changed

11 files changed

+65
-7
lines changed

modules/aws_controller.py

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -295,15 +295,24 @@ def show(self) -> None:
295295
for instance in instances:
296296
if instance["State"]["Name"] == "running":
297297
instances_running = True
298+
# Find the Name tag
299+
instance_name = None
300+
for tag in instance["Tags"]:
301+
if tag["Key"] == "Name":
302+
instance_name = tag["Value"]
303+
break
304+
305+
if instance_name is None:
306+
instance_name = "Unknown"
307+
298308
response.append(
299309
[
300-
instance["Tags"][0]["Value"],
310+
instance_name,
301311
instance["State"]["Name"],
302312
instance["NetworkInterfaces"][0]["Association"]["PublicIp"],
303313
instance["InstanceId"],
304314
]
305315
)
306-
instance_name = instance["Tags"][0]["Value"]
307316
if instance_name.startswith("ar-splunk"):
308317
splunk_ip = instance["NetworkInterfaces"][0]["Association"][
309318
"PublicIp"
@@ -443,8 +452,18 @@ def show(self) -> None:
443452
+ self.config["general"]["attack_range_password"]
444453
)
445454
else:
455+
# Find the Name tag for non-running instances
456+
instance_name = None
457+
for tag in instance["Tags"]:
458+
if tag["Key"] == "Name":
459+
instance_name = tag["Value"]
460+
break
461+
462+
if instance_name is None:
463+
instance_name = "Unknown"
464+
446465
response.append(
447-
[instance["Tags"][0]["Value"], instance["State"]["Name"]]
466+
[instance_name, instance["State"]["Name"]]
448467
)
449468

450469
print()

modules/aws_service.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,14 @@ def get_all_instances(key_name, ar_name, region):
2727
for instance in reservation['Instances']:
2828
if instance['State']['Name']!='terminated':
2929
if len(instance['Tags']) > 0:
30-
tag_value = instance['Tags'][0]['Value']
31-
if tag_value.startswith('ar-'):
30+
# Find the Name tag
31+
tag_value = None
32+
for tag in instance['Tags']:
33+
if tag['Key'] == 'Name':
34+
tag_value = tag['Value']
35+
break
36+
37+
if tag_value and tag_value.startswith('ar-'):
3238
if (key_name in tag_value) and (ar_name in tag_value):
3339
instances.append(instance)
3440

@@ -38,8 +44,14 @@ def get_all_instances(key_name, ar_name, region):
3844
def get_instance_by_name(ec2_name, key_name, ar_name, region):
3945
instances = get_all_instances(key_name, ar_name, region)
4046
for instance in instances:
41-
str = instance['Tags'][0]['Value']
42-
if str == ec2_name:
47+
# Find the Name tag
48+
instance_name = None
49+
for tag in instance['Tags']:
50+
if tag['Key'] == 'Name':
51+
instance_name = tag['Value']
52+
break
53+
54+
if instance_name == ec2_name:
4355
return instance
4456

4557
def get_instances_by_ids(instance_ids, ec2_name, key_name, ar_name, region):

terraform/aws/modules/caldera-server/resources.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ resource "aws_instance" "caldera_server" {
2929
volume_type = "gp2"
3030
volume_size = "60"
3131
delete_on_termination = "true"
32+
encrypted = "true"
3233
}
3334

3435
tags = {

terraform/aws/modules/kali-server/resources.tf

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,13 @@ resource "aws_instance" "kali_machine" {
2929
Name = "ar-kali-${var.general.key_name}-${var.general.attack_range_name}"
3030
}
3131

32+
root_block_device {
33+
volume_type = "gp2"
34+
volume_size = "20"
35+
delete_on_termination = "true"
36+
encrypted = "true"
37+
}
38+
3239
provisioner "remote-exec" {
3340
inline = ["echo booted"]
3441

terraform/aws/modules/linux-server/resources.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ resource "aws_instance" "linux_server" {
3030
volume_type = "gp2"
3131
volume_size = "60"
3232
delete_on_termination = "true"
33+
encrypted = "true"
3334
}
3435

3536
tags = {

terraform/aws/modules/nginx-server/resources.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ resource "aws_instance" "nginx_server" {
3030
volume_type = "gp2"
3131
volume_size = "20"
3232
delete_on_termination = "true"
33+
encrypted = "true"
3334
}
3435

3536
tags = {

terraform/aws/modules/phantom-server/resources.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ resource "aws_instance" "phantom-server" {
3535
volume_type = "gp2"
3636
volume_size = "30"
3737
delete_on_termination = "true"
38+
encrypted = "true"
3839
}
3940
tags = {
4041
Name = "ar-phantom-${var.general.key_name}-${var.general.attack_range_name}"

terraform/aws/modules/snort-server/resources.tf

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,13 @@ resource "aws_instance" "snort_sensor" {
3030
Name = "ar-snort-${var.general.key_name}-${var.general.attack_range_name}"
3131
}
3232

33+
root_block_device {
34+
volume_type = "gp2"
35+
volume_size = "20"
36+
delete_on_termination = "true"
37+
encrypted = "true"
38+
}
39+
3340
provisioner "remote-exec" {
3441
inline = ["echo booted"]
3542

terraform/aws/modules/splunk-server/resources.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ resource "aws_instance" "splunk-server" {
8888
volume_type = "gp2"
8989
volume_size = "120"
9090
delete_on_termination = "true"
91+
encrypted = "true"
9192
}
9293

9394
tags = {

terraform/aws/modules/windows/resources.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ EOF
7070
root_block_device {
7171
delete_on_termination = true
7272
volume_size = 50
73+
encrypted = "true"
7374
}
7475

7576
provisioner "remote-exec" {

0 commit comments

Comments
 (0)