← ALB News · curated headline

UFW говорит «всё закрыто», а Postgres торчит наружу: пишем аудит портов для docker compose на Python

Habr · RU · Programming · 11/4/2026, 4:39:11 AM

На этой неделе в топе снова всплыла старая история: свежий VPS, ufw default deny incoming , наружу только 22, 80 и 443, а потом в compose-файле появляется ports: - "5432:5432" — и через пару дней в базе лежит записка с биткойн-кошельком. Почему так происходит, уже разобрали подробно. Я хочу про другое: как сделать так, чтобы такой compose-файл вообще не доехал до сервера. Ниже — два небольших скрипта на Python. Первый проверяет compose-файлы до деплоя и падает с ненулевым кодом, если порт опубликован на все интерфейсы. Второй смотрит, что реально слушает на машине, без ss и netstat , прямо из /proc . Весь код я запускал на Python 3.13 и PyYAML 6.0.3, вывод в статье — настоящий. Читать далее

Continue to Habr →

You are being forwarded in 6s — stay on this page