Как я AWS Client VPN ублажал

топ 100 блогов nponeccop02.08.2024 Это их marketese для OpenVPN. В-общем есть возможность попасть в любую VPC Subnet, используя OpenVPN. При этом документация дебильная, одни примеры без описания того, что вообще у нас происходит. Так что делюсь своими открытиями.

Для простоты рассмотрим VPC полностью приватную без какого-либо доступа наружу. Такой "airgapped" сегмент в котором для простоты сидит инстанс EC2. И мы на него заходим по SSH.

В этой схеме у нас есть аж 3 сидра:

1. CIDR для VPN-клиента и его пира, то есть для концов VPN.
2. CIDR для VPC
3. CIDR для сегмента к которому мы подключаемся. Всегда содержится внутри блока (2)

Первое открытие - это что блок (1) полностью "служебный", пакетов с адресами из этого блока никто в VPC не увидит.

Общая схема такая:

клиент - адрес из (1) - туннель - адрес из (1) - 1-to-1 NAT - адрес из (3) - целевой сегмент - адрес из (3) - инстанс

Она хороша тем, что удаленный хост может "прикинуться" обычным хостом из локалки. Ну то есть вот допустим у вас есть 192.168.20.22 и там сетевая шара принимающая трафик только из своего 192.168.20.0/24. В этом случае вы можете используя эту схему подобавлять удаленных хостов к локальным, не меняя фаерволл на шаре.

Далее, в этом 1-to-1 NAT есть свой фаерволл на входящем трафике, представляющий из себя просто белый список сидров, которые пропускать. В этот список по дефолту добавляется (2) но можно и дополнительно чего-то подобавлять. Например если вы хотите использовать это и AWS NAT Gateway как очень дорогой способ подмены IP, туда надо добавить 0.0.0.0/0. В терминах AWS этот список называется Authorization Rules.

Второе открытие - что эти authorization rules аж никак не влияют на маршруты, выдаваемые клиенту. Ну то есть вы можете дать 0.0.0.0/0 а там клиент пусть сам решит добавлять ли какие-то маршруты или нет. Преимущества authorization rules в том, что разным пользователям OpenVPN можно давать разные сетевые права доступа.

Маршруты же выдаются через Routes, в стиле OpenVPN push route. Они в свою очередь никак не связаны с Authorization Rules, кроме того что по умолчанию и там и там стоит (2).

Дальше, внутри VPC все хосты обмазаны фаерволлами в виде Security Groups:

- 1-to-1 NAT - адрес из (3) - sg - целевой сегмент - sg - адрес из (3) - инстанс

Соответственно, чтобы до хоста доходил SSH (или пинг!), секьюрити группа VPN-эндпоинта должна разрешать исходящий SSH/ICMP, а секьюрити группа инстанса - входящий. SG это стейтлесс conntrack firewall, так что related трафик ака противоположный открывается сам.

Ну и третье открытие заключается в том что дефолтовые секьюрити группы в VPC открыты на выход, но закрыты на вход. Ну и чтобы открыть на вход указывать (1) бесполезно так как у пакета исходящий адрес будет уже после NAT из (2).

Оставить комментарий

Предыдущие записи блогера :
Архив записей в блогах:
Вот и Иван Фёдорович Давыдов получил свои пять минут суверенного правосудия . Его сегодня судили в Пресненском райсуде. Поскольку Ванина фамилия — не Собчак, стенограмму РАПСИ, увы, не вело. Но фабула заседания мало отличалась от сотен других ...
   В школьной программе нет предмета «мышление», а если никто не учит детей мышлению, то напрашивается вывод, что некому учить, никто в стране мыслить не умеет. Если копнуть, можно найти силы, которым невыгодно, чтобы народ умел самостоятельно мыслить, о них просвещают религиозные учения ...
Знаменитое эссе Ф.Г.Добжанского, на заголовок которого все так любят ссылаться, как выяснилось, не имеет перевода на русский язык. Точнее, как пишет Георгий Рюриков, "я нашёл в сети перевод, но совершенно чудовищный. Я попытался было его подправить, но потом плюнул и решил сделать свой. У ...
Большие шахматы в Калининграде: участникам IV этапа 68-го чемпионата России среди мужчин и 65-го чемпионата России среди женщин показывают театрализованное костюмированное представление. ссылка на ютуб ...
Знающие люди меня предупреждали, что регистрирование комментаторов вызовет раздражение у многих блоггеров и отвратит от моего ЖЖ существенную часть потенциальной аудитории. Жаль, конечно, но я иду на это вполне сознательно. Для меня ...