Sistemas legados

Servidores antigos, migrados para o EC2

O CloudHound migra versões desde o FreeBSD 2.2.8, Debian 2.2, RHEL 2.1 e Windows Server 2003, e escolhe o hardware do EC2 em que cada uma consegue rodar.

Design draft with invented sample data. The estate, addresses and rules below are not from any customer. Temporary rules (amber, dashed) are a proposal for how later waves are shown and swapped; they are not current product behaviour.
Option A

From a question to Terraform

Three panels left to right: the question asked through the MCP, the plan it returns, and the Terraform it writes. Best for showing that one prompt produces a reviewed rule set.

Your AI assistantMCP
YouBuild security groups for the Billing wave. Only open what was used in the last 14 days.
3 groups, 11 inbound rules from 14 days of traffic across 6 servers. 2 rules are temporary until wave 2 moves. 1 port was never used and is left closed.
sg-billing-app6 rules
PortSourceSeen
8443sg-billing-web
Moves in this wave
14 of 14 days
844310.20.8.14/32 10.20.8.15/32
Reporting, wave 2
12 of 14 days
5701Self
Cache cluster
14 of 14 days
338910.20.1.0/24
Jump hosts, staying
9 of 14 days
44310.30.0.0/16
Office users, 214 clients
14 of 14 days
9090Not opened
Listening, never used
0 of 14 days
billing.tfTerraform
resource "aws_security_group" "billing_app" {
  name   = "sg-billing-app"
  vpc_id = var.vpc_id
}

resource "aws_vpc_security_group_ingress_rule" "app_from_web" {
  security_group_id            = aws_security_group.billing_app.id
  referenced_security_group_id = aws_security_group.billing_web.id
  from_port   = 8443
  to_port     = 8443
  ip_protocol = "tcp"
}
# temporary: reporting moves in wave 2
resource "aws_vpc_security_group_ingress_rule" "app_from_rpt" {
  cidr_ipv4   = "10.20.8.14/32"
  ...
Option B

Where the traffic comes from

A network view. Source networks on the left, the new security group in the middle, the target VPC on the right. Solid lines are permanent rules. Dashed amber lines are temporary and point at servers that have not moved yet.

Source network

Office users
10.30.0.0/16 · 214 clients
Jump hosts
10.20.1.0/24 · staying
Reporting servers
10.20.8.14, 10.20.8.15 · wave 2
Batch scheduler
10.20.9.40 · wave 3
sg-billing-appNew
443Office usersCIDR
3389Jump hostsCIDR
8443ReportingTemporary
8443Batch schedulerTemporary
8443sg-billing-webGroup
5701This groupSelf

Target VPC 10.80.0.0/16

BILL-WEB-01, 02
sg-billing-web
BILL-APP-01, 02, 03
sg-billing-app
BILL-SQL-01
sg-billing-db
Group Moves with this waveSelf Same groupCIDR Stays on premisesTemporary Moves later
Option C

Rules that change as waves move

A wave timeline. Each wave shows the rules it adds and the temporary address rules it replaces with group references, so the rule count falls as the estate moves.

Wave 1 · Billing
Moved 3 Nov
Add 8443 from sg-billing-web
Temporary 8443 from 10.20.8.14/32
Temporary 8443 from 10.20.9.40/32
Wave 2 · Reporting
Syncing, moves 17 Nov
Swap 10.20.8.14/32 sg-reporting
Swap 10.20.8.15/32 sg-reporting
Temporary 1433 from 10.20.9.40/32
Wave 3 · Batch
Planned 1 Dec
Swap 8443 10.20.9.40/32 sg-batch
Swap 1433 10.20.9.40/32 sg-batch
Keep 3389 from 10.20.1.0/24
11Inbound rules after wave 1
3Temporary rules open now
0Temporary rules after wave 3
Option D

Terraform you can review

The generated code is the hero. Temporary rules are highlighted and carry a tag naming the wave that removes them, and the side panel explains each warning. The same plan is also available as CloudFormation or AWS CLI.

TerraformCloudFormationAWS CLIPlan
# generated by CloudHound from 14 days of traffic, 6 servers
resource "aws_vpc_security_group_ingress_rule" "app_self_5701" {
  security_group_id            = aws_security_group.billing_app.id
  referenced_security_group_id = aws_security_group.billing_app.id
  from_port = 5701
  to_port   = 5701
}

resource "aws_vpc_security_group_ingress_rule" "app_users_443" {
  security_group_id = aws_security_group.billing_app.id
  prefix_list_id    = aws_ec2_managed_prefix_list.office.id
  from_port = 443
  to_port   = 443
}

resource "aws_vpc_security_group_ingress_rule" "app_rpt_8443" {
  security_group_id = aws_security_group.billing_app.id
  cidr_ipv4         = "10.20.8.14/32"
  from_port = 8443
  to_port   = 8443
  tags = {
    cloudhound-temporary = "wave-2"
    replace-with         = "sg-reporting"
  }
}
Temporary2 rules name single addresses of servers in wave 2. Each is tagged with its wave so the next plan replaces it with a group reference.
Prefix listOffice users came from 31 ranges, more than 20, so they are kept in one managed prefix list.
ClosedPort 9090 is listening on BILL-APP-02 but nothing used it in 14 days. No rule was written.
PublicNo port in this wave was reached from outside private ranges. Nothing is open to 0.0.0.0/0.