TGViewer
Лаборатория Лиса Лаборатория Лиса @foxfoxcsharp · 79 subscribers
Post #96 273
🔒 Критическая уязвимость: KVM виртуалки обходят iptables и атакуют Docker

🚨 Проблема

Обнаружил серьёзную дыру в безопасности: виртуалки KVM/libvirt могут обращаться к Docker контейнерам в обход файрвола хоста.

Что происходило:
- Сервис на порту 9090 корректно блокировался iptables ✅
- FileBrowser в Docker на 8191 был доступен из виртуалок ❌
- Обычные INPUT правила не работали для Docker сервисов

🔍 Диагностика
Видим Docker-proxy обходит наши правила
sudo ss -tlnp | grep 8191
docker-proxy слушает на 0.0.0.0:8191

Docker использует DNAT в собственных цепях
sudo iptables -t nat -L DOCKER
DNAT: 8191 -> 172.22.0.3:80


⚡ Почему так происходит?
1. libvirt создаёт bridge virbr0 (192.168.122.0/24)
2. Docker использует свои iptables цепи (`DOCKER-USER`, `DOCKER-FORWARD`)
3. Трафик идёт: VM → bridge → Docker NAT → контейнер
4. INPUT правила срабатывают только для хоста, но НЕ для Docker

🛡️ Решение
Блокировать в специальной цепи DOCKER-USER:

# Заблокировать виртуалки от всех Docker контейнеров
sudo iptables -I DOCKER-USER 1 -s 192.168.122.0/24 -d 172.16.0.0/12 -j DROP

# Сделать постоянным (Ubuntu/Debian)
sudo iptables-save | sudo tee /etc/iptables/rules.v4


Почему 172.16.0.0/12?
Docker использует диапазон 172.16.0.0-172.31.255.255 для своих сетей.

📋 Проверка
# ✅ Должно работать
curl google.com # Интернет
ssh user@vm # SSH к виртуалкам

# ❌ Должно блокироваться
curl 192.168.122.1:8191 # Docker сервисы


🎯 Итого
- Обычные iptables INPUT ≠ защита от виртуалок
- Docker-proxy обходит стандартные правила
- DOCKER-USER - единственный способ контролировать VM→Docker трафик

UPD: Потратил 2 часа на debugging, пока не понял что Docker живёт в своей вселенной 🤦‍♂️

Может кому то тоже будет полезно.

#security #docker #kvm #libvirt #iptables #firewall
  • ❤‍🔥 3
More from @foxfoxcsharp
  1. Oct 2, 2026Ща на меня нашла мысль, она довольно очевидная, но пока ее не придумаешь, она не очевидная…
  2. Oct 2, 2026После большой волны блокировок и замедлений ВПН мой выжил. Пока живет. Сейчас у меня кажды…
  3. Sep 23, 2026Я только сейчас заметил одну прикольную странность, у меня моделька серверного шкафа буква…
  4. Sep 22, 2026Channel photo updated
  5. Sep 21, 2026Я уже давно рассматриваю Keycloak для своего маленького сервиса. Но все руки не доходили д…
  6. Sep 18, 2026Мне понравился Дали с его жидкими часами =D
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →