[uanog] AWS private VPC, NAT gateway, ACL... нема доступу в outside world from docker container of docker host.
Volodymyr Sharun
atz at ukr.net
Thu Jan 12 16:05:24 EET 2023
Привіт,
Форвардінг у широкому сенсі (NAT, firewall, FIBs)
Доречі може так бути що кожний namespace (читай - контейнер) має свою
FIB, яка коннектед із бриджем, але дефолту немає.
Тому дофіга варіантів на хості і перше, що дасть відповідь у методі
вирішення проблем "ділення на два" - це чи є егресс пакет на зовнішньому
інтерфейсі хоста, який породжується apt update'ом в контейнері.
On 12/01/23 15:51, Oleh Hrynchuk wrote:
> Привіт всім.
>
> ну, таку штуку я ще здатен передбачити...
>
> image.png
>
> чт, 12 січ. 2023 р. о 15:00 Oleksandr Moskalenko
> <alexander.moskalenko at gmail.com> пише:
>
> Привет
>
> Компоненты AWS тут вообще не при чем, дело в сети на самом хосте.
> У докера есть несколько режимов, у тебя скорее всего Bridge, для
> него нужно включать форвардинг на хосте, я бы начал с него.
>
> PS: Идеология контейнеризации не подразумевает обновления ОС и
> других компонентов в процессе работы и рекомендуется ФС делать
> readonly
>
> On Sun, Jan 8, 2023 at 1:07 PM Volodymyr Sharun <atz at ukr.net> wrote:
>
> Привіт,
>
> Я б попершу подивився, чи є егресс пакет від докеру на
> зовнішньому інтерфейсі вже "заначений", і, що суттєво - який
> src ip. Тобто ти робиш apt update, і ця активність повинна
> виходити із зовнішнього інтерфейса хоста. Якщо її там немає,
> то скоріше за все є богус фільтр на хості. Пакет з зовнішнього
> адаптера повинен вийти.
>
> Ну а далі питання - він виходить з ip хоста, чи з ip
> контейнера. У першому випадку - до VPC gateway йдемо або до
> полісі у VPC, у другому (ip контейнера) - треба робити NAT.
>
> Не бажаєш tcp proxy поставити на хост ? Відправляти через
> нього. Тоді і NAT не треба буде робити на хості, логгінг
> активності, усе таке. Секюрна тема :)
>
> On 08/01/23 13:18, Oleh Hrynchuk wrote:
>> Дякую, колеги.
>>
>> Проблема дійсно десь на подальших хопах від docker host.
>>
>> tcpdump показує, що запити від контейнера (результат
>> запущеної там команди *apt update*) покидають зовнішній
>> інтерфейс eth0 docker-хоста. І десь губляться далі (відповіді
>> вже не приходять).
>> Буду далі колупатися.
>>
>> Причому приватна AWS VPC має адреси 10.х.х.х/24, а docker
>> network 172.17.0.0/16 <http://172.17.0.0/16>. Тому
>> mismatching ІР-адрес там не відбувається.
>> NACL ніби нормально там... ось NAT gateway ще не дивився...
>>
>>
>>
>>
>>
>> нд, 8 січ. 2023 р. о 12:29 VASYL MELNYK <basil at vpm.net.ua> пише:
>>
>> привіт
>>
>> Л2 можна перевірити з хост-системи, просто подивитись
>> таблицю арп та й пінги в сторону контейнера повинні йти.
>> Якщо пінги ходять в контейнер, тоді можна встановити на
>> хост-машині проксі-сервер і вже через нього встановити в
>> контейнер софт для діагностики.
>>
>>
>> нд, 8 січ. 2023 р. о 08:43 Oleh Hrynchuk
>> <oleh.hrynchuk at gmail.com> пише:
>>
>> Доброго дня всім,
>>
>> Шановне панство, маю питання стосовно security policy
>> в private VPC of AWS.
>>
>> Суть в наступному.
>>
>> Нам "старші товариші з US" приписали завести одну
>> docker-type аплікуху в спеціально виділеній private
>> VPC на спеціальному ЕС2.
>> "Спеціальність" останнього полягає в попередній
>> "заточці" стандартного Amazon Linux 2 AMI під
>> корпоративні правила безпеки. Зокрема вмиканні там
>> SeLinux, сетапі спеціальних nftables.rules тощо.
>>
>> І вийшло так, що ніби все з матюками вдалося зробити
>> (SELinux довелося вирубати "за згодою сторін") за
>> винятком одного:
>> email notifications (на порт 587 GMail SMTP)
>> принципово з контейнера не ходять. А ось із docker
>> host (отого ЕС2) - нормально ходять.
>> Також неможливо з докер-контейнера (там Ubuntu)
>> виконати оновлення OS (apt update) - нема доступу
>> назовні.
>>
>> Враження наступне - з контейнера НЕМА доступу до
>> Інтернета. З docker-хоста - є.
>> Ще така фігня, що в контейнері нема найнеобхідніших
>> інструментів для траблшутинга - навіть
>> ping/traceroute. І не поставиш - apt не має виходу
>> назовні.
>> (Ну, тут можна із"їбнутися і підсунути щось в docker
>> volume напряму... ще ось не пробував так, але спробую).
>>
>> Підозра падає на NAT Gateway між private VPC та
>> outside world.
>>
>> Чи хтось з таким стикався і що робити, щоби це а)
>> точно локалізувати; б) полікувати цю фігню.
>> Може це якась стандартна фігня, а я не знаю про це?
>>
>> Дякую.
>>
>> --
>> Regards,
>> /oleh hrynchuk
>> _______________________________________________
>> uanog mailing list
>> uanog at uanog.kiev.ua
>> https://mailman.uanog.kiev.ua/mailman/listinfo/uanog
>>
>>
>>
>> --
>> Regards,
>> /oleh hrynchuk
>>
>> _______________________________________________
>> uanog mailing list
>> uanog at uanog.kiev.ua
>> https://mailman.uanog.kiev.ua/mailman/listinfo/uanog
> _______________________________________________
> uanog mailing list
> uanog at uanog.kiev.ua
> https://mailman.uanog.kiev.ua/mailman/listinfo/uanog
>
> _______________________________________________
> uanog mailing list
> uanog at uanog.kiev.ua
> https://mailman.uanog.kiev.ua/mailman/listinfo/uanog
>
>
>
> --
> Regards,
> /oleh hrynchuk
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.uanog.kiev.ua/pipermail/uanog/attachments/20230112/3c46a949/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 44667 bytes
Desc: not available
URL: <http://mailman.uanog.kiev.ua/pipermail/uanog/attachments/20230112/3c46a949/attachment-0001.png>
More information about the uanog
mailing list