Правило EC2 только для VPN: каждая подключённая группа безопасности должна быть согласна
Группы безопасности только разрешают, и каждая подключённая группа добавляет своё разрешение. Определите, какой источник инстанс действительно видит, прежде чем добавлять узкое правило VPN.
Вы добавляете одно входящее правило для пула клиентов VPN, ничего не удаляете, и сервис по-прежнему доступен из интернета. Ничего не сломано. У группы безопасности нет ни переопределения, ни приоритета, ни окончательного запрета, против которых узкое правило могло бы выиграть. Каждая группа, подключённая к инстансу, добавляет свои разрешения в один объединённый набор, и широкое правило, о котором вы забыли, всё ещё в этом наборе. Сделать инстанс только-VPN означает проверить их все, а не добавить одно более благозвучное правило в одну из них.
Опишите сервис, прежде чем писать правило
Начните с точного назначения, протокола и порта, а также сетевого интерфейса, на котором сервис действительно слушает. Инстанс с несколькими интерфейсами или несколькими сервисами на одном порту требует проверки для каждого интерфейса, потому что подключённые группы могут различаться. Затем определите какой адрес источника этот интерфейс действительно получает для пользователя VPN, а не тот адрес, который клиент показывает в своём окне подключения.
Эти два адреса расходятся чаще, чем люди ожидают, как только в дело вступают трансляция и маршрутизация.
Три модели источника, три разных правила
При частном маршрутизируемом доступе инстанс получает пул клиентов или корпоративный диапазон, в зависимости от того, как маршрутизируется и транслируется путь. При публичной конечной точке, доступной через корпоративный выход, инстанс видит вместо этого корпоративный адрес NAT, и только если это назначение действительно использует путь VPN, поскольку раздельное туннелирование может оставить его на домашнем подключении. При управляемой конечной точке Client VPN применяется документированная модель связи и целевой сети, а адрес клиента берётся из настроенного CIDR клиента.
Что не работает — это ссылка на шлюз VPN как на источник группы безопасности. Ссылки на группы соответствуют эластичным сетевым интерфейсам внутри VPC или связанной сети, а шлюз, пересылающий пакеты, не является одним из них.
Прочитайте объединение по всем подключённым группам
Откройте инстанс, найдите его сетевой интерфейс и перечислите каждую подключённую к нему группу безопасности. Для каждой проверьте каждое правило, покрывающее ваш протокол и порт, включая широкие диапазоны портов и оба семейства адресов. Правило IPv4 из 0.0.0.0/0 не освобождает вас от проверки ::/0, а правило, разрешающее весь трафик, полностью скрывает вопрос о порте. Только после этой инвентаризации вы можете сказать, каково фактическое разрешение для сервиса.
Справочник правил AWS описывает группы безопасности как разрешающие только и указывает, что правила всех подключённых групп объединяются, и это весь механизм, стоящий за этим сбоем.
Сетевые ACL — это отдельная политика без состояния с упорядоченными записями разрешения и запрета, и они оцениваются на подсети, а не на инстансе.
Не отвечайте стеной запретов
Добавление запрета NACL на всю подсеть, чтобы имитировать привычный межсетевой экран, — неправильный инструмент и рискованный. Записи NACL упорядочены и не имеют состояния, поэтому запрет, поставленный выше существующего разрешения, молча ломает несвязанный трафик, включая обратный путь для сеансов, которые вы пытались сохранить. Исправьте широкое разрешение группы безопасности в той группе, которой оно принадлежит, а затем оставьте ACL в покое, если только он действительно не является частью проекта.
Удаление публичного адреса у инстанса — более сильная гарантия, и это также архитектурное изменение с административными и прикладными последствиями, а не галочка в списке разрешений.
Проверяйте в новом сеансе и сохраняйте путь входа
Прежде чем отменять любое существующее разрешение, подтвердите одобренный независимый административный путь, потому что правило, которое вы собираетесь удалить, может быть тем, от которого зависит восстановление вашего сеанса. Затем проверьте новое разрешённое соединение из VPN и новое запрещённое соединение с авторизованного тестового пути без VPN. Существующие отслеживаемые сеансы переживают изменения правил так, что старые открытые оболочки становятся бесполезны как доказательство приёмки.
Наконец, сохраняйте собственную авторизацию приложения. Транслируемый корпоративный выход может представлять сотни людей, а сетевой допуск никогда не идентифицировал отдельного пользователя или его устройство.