File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -11,15 +11,10 @@ resource azurerm_kubernetes_cluster "k8s_cluster" {
1111 vm_size = " Standard_D2_v2"
1212 node_count = 2
1313 }
14- addon_profile {
15- oms_agent {
16- enabled = false
17- }
18- kube_dashboard {
19- enabled = true
20- }
21- }
22- role_based_access_control {
23- enabled = false
14+
15+ # Enable Azure RBAC for Kubernetes authorization
16+ azure_active_directory_role_based_access_control {
17+ managed = true
18+ azure_rbac_enabled = true
2419 }
2520}
Original file line number Diff line number Diff line change @@ -42,26 +42,26 @@ resource azurerm_network_security_group "bad_sg" {
4242 resource_group_name = azurerm_resource_group. example . name
4343
4444 security_rule {
45- access = " Allow"
46- direction = " Inbound"
47- name = " AllowSSH"
48- priority = 200
49- protocol = " TCP"
50- source_address_prefix = " * "
51- source_port_range = " *"
52- destination_port_range = " 22- 22"
45+ access = " Allow"
46+ direction = " Inbound"
47+ name = " AllowSSH"
48+ priority = 200
49+ protocol = " TCP"
50+ source_address_prefix = var . admin_ip_range
51+ source_port_range = " *"
52+ destination_port_range = " 22"
5353 destination_address_prefix = " *"
5454 }
5555
5656 security_rule {
57- access = " Allow"
58- direction = " Inbound"
59- name = " AllowRDP"
60- priority = 300
61- protocol = " TCP"
62- source_address_prefix = " * "
63- source_port_range = " *"
64- destination_port_range = " 3389- 3389"
57+ access = " Allow"
58+ direction = " Inbound"
59+ name = " AllowRDP"
60+ priority = 300
61+ protocol = " TCP"
62+ source_address_prefix = var . admin_ip_range
63+ source_port_range = " *"
64+ destination_port_range = " 3389"
6565 destination_address_prefix = " *"
6666 }
6767}
Original file line number Diff line number Diff line change 11resource "random_integer" "rnd_int" {
22 min = 1
33 max = 10000
4+ }
5+
6+ resource "random_password" "sql_admin_password" {
7+ length = 24
8+ special = true
9+ override_special = " !#$%&*()-_=+[]{}<>:?"
10+ min_lower = 1
11+ min_numeric = 1
12+ min_upper = 1
13+ min_special = 1
14+ }
15+
16+ resource "random_password" "postgresql_admin_password" {
17+ length = 24
18+ special = true
19+ override_special = " !#$%&*()-_=+[]{}<>:?"
20+ min_lower = 1
21+ min_numeric = 1
22+ min_upper = 1
23+ min_special = 1
424}
Original file line number Diff line number Diff line change @@ -6,7 +6,11 @@ resource "azurerm_role_definition" "example" {
66 description = " This is a custom role created via Terraform"
77
88 permissions {
9- actions = [" *" ]
9+ actions = [
10+ " Microsoft.Compute/*/read" ,
11+ " Microsoft.Storage/*/read" ,
12+ " Microsoft.Network/*/read"
13+ ]
1014 not_actions = []
1115 }
1216
Original file line number Diff line number Diff line change @@ -12,7 +12,7 @@ resource "azurerm_sql_server" "example" {
1212 location = azurerm_resource_group. example . location
1313 version = " 12.0"
1414 administrator_login = " ariel"
15- administrator_login_password = " Aa12345678 "
15+ administrator_login_password = random_password . sql_admin_password . result
1616 tags = {
1717 environment = var.environment
1818 terragoat = " true"
@@ -25,11 +25,8 @@ resource "azurerm_mssql_server_security_alert_policy" "example" {
2525 state = " Enabled"
2626 storage_endpoint = azurerm_storage_account. example . primary_blob_endpoint
2727 storage_account_access_key = azurerm_storage_account. example . primary_access_key
28- disabled_alerts = [
29- " Sql_Injection" ,
30- " Data_Exfiltration"
31- ]
32- retention_days = 20
28+ disabled_alerts = []
29+ retention_days = 20
3330}
3431
3532resource "azurerm_mysql_server" "example" {
@@ -61,7 +58,7 @@ resource "azurerm_postgresql_server" "example" {
6158 geo_redundant_backup_enabled = false
6259 auto_grow_enabled = true
6360 administrator_login = " terragoat"
64- administrator_login_password = " Aa12345678 "
61+ administrator_login_password = random_password . postgresql_admin_password . result
6562 version = " 9.5"
6663 ssl_enforcement_enabled = false
6764}
Original file line number Diff line number Diff line change @@ -5,17 +5,19 @@ resource "azurerm_managed_disk" "example" {
55 storage_account_type = " Standard_LRS"
66 create_option = " Empty"
77 disk_size_gb = 1
8- encryption_settings {
9- enabled = false
10- }
8+
9+ # Enable encryption at host for data at rest
10+ encryption_at_host_enabled = true
1111}
1212
1313resource "azurerm_storage_account" "example" {
14- name = " tgsa${ var . environment } ${ random_integer . rnd_int . result } "
15- resource_group_name = azurerm_resource_group. example . name
16- location = azurerm_resource_group. example . location
17- account_tier = " Standard"
18- account_replication_type = " GRS"
14+ name = " tgsa${ var . environment } ${ random_integer . rnd_int . result } "
15+ resource_group_name = azurerm_resource_group. example . name
16+ location = azurerm_resource_group. example . location
17+ account_tier = " Standard"
18+ account_replication_type = " GRS"
19+ https_traffic_only_enabled = true
20+ min_tls_version = " TLS1_2"
1921 queue_properties {
2022 logging {
2123 delete = false
Original file line number Diff line number Diff line change @@ -12,4 +12,10 @@ variable "location" {
1212variable "environment" {
1313 default = " dev"
1414 description = " Must be all lowercase letters or numbers"
15+ }
16+
17+ variable "admin_ip_range" {
18+ type = string
19+ description = " IP address range allowed for administrative access (SSH/RDP)"
20+ default = " 0.0.0.0/0" # Replace with your actual IP range in production
1521}
You can’t perform that action at this time.
0 commit comments