Сообщество / Docker

ports: "5432:5432" — и база смотрит в мир

lexa92
Middle
Сообщения: 147
Репутация: 126
Дата регистрации:
09.08.2026
АВТОР ТЕМЫ19 окт. 2026 г., 09:00 (GMT+3)
Утром на клиентском сервере после ребута проверял, что поднялось. Глянул привычно

ss -tlnp


— postgres слушает 0.0.0.0:5432. В compose у автора стояло просто "5432:5432", он был уверен, что это «для своих». Докер публикует порт на все интерфейсы и молча обходит ufw. Лечится одной строкой:

ports:
- "127.0.0.1:5432:5432"


Кто давно смотрел, что у вас реально торчит наружу?
1
andryukha
Junior
Сообщения: 81
Репутация: 59
Дата регистрации:
17.08.2026
19 окт. 2026 г., 10:00 (GMT+3)
lexa92, открытый 5432 — единственная строка, за которую счёт приходит без тарифа) знакомый так redis наружу вывесил, восстановление обошлось дороже года vps. ты клиенту это как в смету вписал?
0
S
sveta_perm
Junior
Сообщения: 6
Репутация: 6
Дата регистрации:
04.09.2026
19 окт. 2026 г., 12:02 (GMT+3)
andryukha, вот здесь я зависла:

andryukha писал:
знакомый так redis наружу вывесил, восстановление обошлось дороже года vps



Можно поподробнее, чем это для него закончилось в деньгах? Не из любопытства — я как раз с той стороны, где такие суммы потом надо куда-то пристроить в отчётах. Про redis вообще молчу, я до этой темы честно считала, что это что-то из овощного отдела). Но формулировку «дороже года vps» поняла с полуслова, тут перевод не нужен.

Прочитала тему в обед и напряглась. lexa92 спрашивает, кто давно смотрел, что наружу торчит, — а я в этих портах не понимаю ничего: для меня 5432 как номер расчётного счёта, цифры вижу, смысл угадываю. Но я понимаю, что у нас на сервере база с клиентскими данными, и если она «смотрит в мир», то расплачиваться за это приключение будет не технарь, а бухгалтерия. Полчаса искала нашего админа по офису, чтобы задать один вопрос: наша база куда смотрит? Он открыл чёрное окно, поводил пальцем, сказал «только для своих, всё внутри». Я кивнула как человек, который всё понял. Не поняла ни слова, но главное услышала — не наружу)

А дальше у меня вопрос как у бухгалтера, потому что сценарий знакомый до боли. У нас так падал не сервер, а сайт клиента на чужом хостинге: ночь, паника, директор звонит — «Света, найди кого-нибудь, сколько угодно заплатим». Нашли человека к часу ночи, он за четыре часа всё поднял, перевели ему на карту по номеру телефона. А потом я месяц из него выбивала хоть какую-то бумагу, потому что двадцать пять тысяч за «консультационные услуги» без договора — это мне потом и объяснять.

Вот и думаю: восстановление после взлома ни в какую смету не вписано. Хостинг — статья понятная, сумма как на сайте, оплатила по СБП, закрыла акт, забыла. А «спасение базы в воскресенье» — это куда? На непредвиденные? На представительские?)) Кто-нибудь вообще оформляет такие аварийные работы по-человечески, или у всех, как у нас, — сначала перевод по телефону, а потом бухгалтер месяц рисует первичку?
2
andryukha
Junior
Сообщения: 81
Репутация: 59
Дата регистрации:
17.08.2026
20 окт. 2026 г., 10:02 (GMT+3)
sveta_perm, раз бухгалтерия просит цифры — держи раскладку, я же не зря всех сметами достал)

redis у знакомого торчал наружу недели две, он искренне думал «да кому он нужен». Нашли быстро: вытащили, что лежало в памяти (там сессии магазина, само по себе не страшно), и через него же закинули майнер. Сервер душили на все сто, магазин лёг. В сезон, естественно.

Дальше смета, её-то я и запомнил. Год его vps — примерно тридцать тысяч. А приключение вышло под сто двадцать: сорок с лишним ушло человеку, который на выходных всё вычищал и поднимал из бэкапов, остальное — два дня простоя магазина. Упущенная выручка, ты лучше меня знаешь, как это правильно называется в бумагах. Плюс хостер прислал абузу и попросил объяснительную — это бесплатно, но нервно))

Самое обидное, что выкупа не было вообще. Никто ничего не шифровал, просто пожгли чужой ресурс на майнинг, а расплатился за это владелец.

Так что когда lexa92 пишет «одна строка в compose», я в голове вижу не строку, а статью расходов без номера.

А у вас под такое вообще статья есть в отчётах, или это потом тихо распределяют куда-нибудь в командировки?)
0
lexa92
Middle
Сообщения: 147
Репутация: 126
Дата регистрации:
09.08.2026
20 окт. 2026 г., 11:01 (GMT+3)

sveta_perm писал:
сказал «только для своих, всё внутри»



Админ ответил честно, вопрос был не тот. На «куда смотрит база» можно ответить пальцем по экрану. Попросите не рассказ, а одну строку вывода:

ss -tlnp | grep 5432


Если там 127.0.0.1:5432 — база доступна только с самого сервера, выдыхайте. Если 0.0.0.0:5432 — она видна всему интернету, и никакое «для своих» это не отменяет. Третьего варианта не существует, интерпретировать тут нечего, в портах разбираться для этого не нужно.

А если хочется проверки, которой не надо верить вообще никому, — стукнитесь на адрес сервера по этому порту извне, с домашней машины, хоть через любой онлайн-сканер портов. Соединения нет — значит его нет. Это единственный ответ, который не зависит от того, кто его даёт.

andryukha, в смету я это не вписываю, потому что строки «лечение от самоуверенности» в прайсе нет. Просто закрываю порт до того, как клиент успеет узнать, что он был открыт. Дешевле для обеих сторон.
0