Спасибо за второй ценный совет, по всем проверкам (роли БД, системные пользователи, процессы, cron, systemd, Docker-контейнеры/образы, сетевые подключения) — я не нашел не чего подозрительного.
Единственная проблема которая меня насторожила— log_connections в PostgreSQL был выключен, поэтому не могу быть уверенным на 100% и подтвердить отсутствие успешных внешних подключений за период, пока порт был открыт.
На всякий случай сменил свои пароли, на новые и теперь можно немного успокоится.
Ваш комментарий заставил меня задуматься и проверить настройки. Я открыл docker-compose и nginx.conf и перепроверил всё ещё раз. Сначала я почувствовал облегчение и улыбнулся (у меня всё было закрыто, но лучше перестраховаться). Но потом, когда я увидел записи, улыбка исчезла, а волосы на голове встали дыбом:
1. nginx: 5432 — открыт наружу.
2. Административный backend: 9000 — открыт наружу.
3. Registry: 5000 — открыт наружу.
4. Tileserver: 8081 — открыт наружу (не страшно, но нежелательно).
5. Plausible: 8082 — открыт наружу (не страшно, но нежелательно).
В итоге я закрыл все порты или ограничил доступ с помощью UFW и привязал IP-адреса. Большое спасибо за то, что поделились этой важной информацией со мной. Если бы не ваш комментарий( с намеком), я бы не проверял бы настройки ещё долгое время и тогда бы столкнуться с проблемами оттуда, откуда их совсем не ожидаешь.
P.S. возьму себе на карандаш, для следующего поста)
В моем случае была наивность, которая заставила понервничать
Спасибо! Это первый комментарий за все мои публикации на vc.ru, могу сказать - это не далось мне легко, я даже бы сказал - тяжело, какое-то время я пробыл в отчаяние, как инженер вы наверное меня поймете, представьте вы складываете 2+2 и получаете 3, как это возможно? А потом, начинает приходить понимание - мир не идеален, распиздяев много и их умом не понять, можно только признать факт и как-то приспособиться
Да, Иван, буду очень благодарен за чек-лист! dvorobjevredstar@mail.ru Опыт практикующих специалистов всегда ценнее любых учебников, и для мониторинга в будущем это будет отличная шпаргалка.
На самом деле вся эта ситуация подняла огромный пласт нюансов безопасности, в которые я с головой закопался после ваших комментариев. Оказалось, я попал в классическую ловушку Docker: в docker-compose.yml порты светились наружу, и хотя на уровне системы я настраивал доступы и кое-где пускал трафик через WireGuard, Docker со своими правилами iptables внес свои коррективы.
Когда я в панике пошел всё закрывать в конфигурациях контейнеров, у меня тут же веерно отвалилась половина локальных процессов: и деф-сервер потерял связь с registry, и локальный парсер не смог достучаться до базы. Пришлось сесть и перенастроить всё по уму — теперь внутренние сервисы общаются строго внутри приватных интерфейсов и VPN, как и должно быть.
Так что испугался я, может, чуть сильнее, чем следовало, но зато навел в инфраструктуре идеальный порядок. Огромное спасибо за помощь и за то, что подтолкнули устроить этот аудит. История получилась настолько живой и поучительной, что вы определенно станете одним из главных героев моего следующего поста!