Назад | Перейти на главную страницу

Можно ли ограничить доступ к определенному домену / пути через VPN на AWS

Наша текущая установка:

Client -> ALB -> Target Group -> auto-scaled instances

У нас есть несколько URL-адресов, которые мы хотели бы «спрятать» за VPN-доступом, например:

Client -> VPN -> ALB -> Target Group -> auto-scaled instances

Для экземпляров со статическим IP-адресом можно настроить доступ группы безопасности к портам из группы безопасности экземпляра VPN. Но наш VPN настроен на маршрутизацию только внутреннего трафика, а не интернет-трафика, поэтому он не маршрутизирует необходимый URL.

Например, URL-адрес: "https://www.something.com/admin"

Одна из наших идей - использовать собственный порт: "https: //www.something: 8099 / admin", затем в группе безопасности ALB настройте этот порт так, чтобы он был доступен только из группы безопасности экземпляра VPN. Это все еще не работает, поскольку VPN не будет маршрутизировать интернет-трафик.

Я пытался изменить конфигурацию VPN (сервер доступа openVPN), но безуспешно. Даже когда я настроил VPN для маршрутизации всего интернет-трафика, он все равно не работал.

В каждом материале, который я нашел в Интернете по этой теме, предлагается изменить конфигурацию VPN для маршрутизации домена на определенный IP-адрес.

Есть ли способ добиться этого без жесткого кодирования IP-адресов? Очевидно, я не могу жестко запрограммировать внутренний IP-адрес ALB, поскольку он все время меняется, и я не могу жестко запрограммировать трафик конечного экземпляра, поскольку он автоматически масштабируется, а также постоянно меняется.

Одно из решений, которое я могу придумать, - это использовать два набора записей, например www.example.com и admin.example.com.

www.example.com -> Public ALB(Open to internet) -> Target Group (other then /admin) -> auto-scaled instances

При этом присоедините еще одну целевую группу, которая направляет /admin на 404 или ошибку.

admin.example.com -> Internal ALB(Open to VPN) -> Target Group (/admin) -> autoscaled instances

AWS поддерживает разделенные домены, если зона / записи управляются в Route53.

Доменные имена преобразуются в IP-адреса путем отправки запросов DNS-серверам. Если я правильно понял, вы хотите, чтобы доменное имя разрешалось во внутренний IP-адрес, когда люди используют VPN.

Это можно сделать, внедрив собственный DNS-сервер и указав своим VPN-клиентам использовать этот DNS-сервер при подключении через VPN. На DNS-сервере вы настроите зону для something.com, где вы добавляете записи A для доменов / поддоменов, которые указывают на внутренние IP-адреса, которые вы хотите использовать.

В противном случае этот DNS-сервер может действовать как обычный рекурсивный преобразователь DNS.