schoolФизика
verifiedРешено AI
Решение: Аудит и проектирование VPC
help_outlineУсловие задачи

lightbulbКраткий ответ
В задаче анализируется безопасность VPC, выявляются уязвимости открытого SSH и отсутствия сегментации сети. Предлагаются решения по ограничению доступа и улучшению защиты инфраструктуры.
Подробное решение
Задание 1. Аудит и проектирование VPC
1. Анализ безопасности
Проблема 1: Открытый доступ по SSH (порт 22) для всего интернета.
Описание: Правило Security Group разрешает входящие соединения с адреса \( 0.0.0.0/0 \). Это создает риск перебора паролей (brute-force) и эксплуатации уязвимостей протокола злоумышленниками со всего мира.
Решение: Ограничить доступ по SSH только доверенными IP-адресами (например, статическим IP офиса или администратора) или использовать сервис AWS Systems Manager Session Manager для доступа без открытия порта 22.
Проблема 2: Отсутствие сегментации сети (публичное размещение ресурсов).
Описание: Веб-сервер находится в публичной подсети и имеет прямой публичный IP. В случае взлома сервера злоумышленник получает прямой доступ к инфраструктуре. Базы данных или внутренние сервисы в такой конфигурации также часто оказываются под угрозой.
Решение: Использовать многоуровневую архитектуру. Разместить веб-сервер за Load Balancer, а критически важные компоненты (базы данных, бэкенд) вынести в приватные подсети без прямого доступа из интернета.
2. Проектирование улучшенной архитектуры
Логическая схема потока трафика:
[Пользователь] --(HTTP/HTTPS:80/443)--> [Internet Gateway] --> [Application Load Balancer (Public Subnet)] --> [EC2 Web Server (Private Subnet)]
Компоненты и связи:
- VPC: \( 10.0.0.0/16 \)
- Public Subnet: Содержит Internet Gateway (IGW) и NAT Gateway. Здесь живет ALB.
- Private Subnet: Содержит EC2 веб-сервер и базу данных. Доступ в интернет для обновлений идет через NAT Gateway.
- Таблицы маршрутизации:
- Для Public: \( 0.0.0.0/0 \) -> IGW
- Для Private: \( 0.0.0.0/0 \) -> NAT Gateway
3. Terraform-конфигурация (Создание Security Group для приватной подсети)
Ниже представлен код на HCL для создания группы безопасности, которая разрешает входящий трафик только от Load Balancer.
resource "aws_security_group" "private_sg" {
name = "allow_web_traffic_from_alb"
description = "Security group for web-servers in private subnet"
vpc_id = "vpc-12345678" # Замените на реальный ID вашей VPC
ingress {
from_port = 80
to_port = 80
protocol = "tcp"
security_groups = ["sg-alb-id"] # Разрешаем вход только от SG балансировщика
}
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
tags = {
Name = "PrivateSubnetSG"
}
}