Комментарии 8
Само Задание:
...
2. Перехватить HTTP/HTTPS‑трафик сайта (например, https://example.com).
Собственно, где в статье про перехват HTTP/HTTPS?
Ожидал увидеть как вкрывают HTTPS, а на деле увидел "ЧАТ GPT".
Похоже на отчёт по лабе, в которой отсутствие выполнения одного из пунктов (2) задачи решили компенсировать переписыванием документации своими словами. Учитывая, что это была единственная реальная задача в условии, думаю даже тройка была бы под вопросом.
Поясните пожалуйста для меня такой момент: мне нужно написать правила для выхода машины в интернет через файерволл и я пыталась собрать дамп, во время того, как выкачиваются контейнеры из docker-hub'а (podman pull ubi-9), зафиксировать на какие же удалённые узлы мне собственно писать эти правила, но способ с pcap и анализом wireshark мне показался очень трудным и изощрённым, есть ли более простые способы решения такой задачи?
Вариант попроще - закрыть интернет и сделать pull. Не знаю насчёт подмана, но утилита docker в описании ошибки напишет url, до которого не может достучаться. Что-то типа Error response from daemon: Get https://index.docker.io/v1/users/: dial tcp: ... i/o timeout
. Далее берёте домен, смотрите какие на нём IP адреса (например, командами host, nslookup, dig) и прописывете в свой фаервол. Повторяете pull, смотрите какой новый домен вылез в ошибке и прописываете его. Повторяете процедуру, пока ошибки не закончатся.
Но есть загвоздка. IP адреса у докер хаба регулярно меняются, поэтому недостаточно один раз найти какие-то адреса и прописать их. Да и поддоменов у него тоже дофига. Так что будете регулярно разбираться почему докер хаб снова отвалился и какие у него теперь новые актуальные адреса.
По классике эта проблема решается использованием прокси сервера. Например, squid. На фаерволе разрешаете интернет только прокси серверу (в линуксе это возможно при помощи модуля -m owner --uid-owner). В настройках прокси разрешаете домены '*.docker.io' и '*.docker.com'. Далее настраиваете подман на использование прокси (опять же, не могу сказать как это делается у подмана, но для докера есть мануал). И всё. Проблема решена.
В дальнейшем наверняка потребуется открыть доступ к репозиториям для обновления ос (для дебиана это '*.debian.org', для убунту 'archive.ubuntu.com', 'security.ubuntu.com'), затем к другим реестрам контейнеров, например, github ('ghcr.io', 'pkg-containers.githubusercontent.com'), google ('gcr.io'), редхат ('quay.io') и может ещё какие-нибудь. Управлять этим на уровне фаервола хоть и принципиально возможно, но крайне муторно.
Так же через прокси легко обходить блокировки. Например, когда докер хаб заблокировал РФ, я просто поднял ещё один прокси в хецнере и на основном прокси сервере настроил проксирование докеровских доменов через хецнер. И когда коллеги из соседних команд ещё даже не до конца поняли что случилось и что делать, у меня уже всё работало.
Пример:
plaintext
Копировать код
Потрясающе
Анализ сетевого трафика для сайта https://example.com/ через wireshark