Сообщество / Общие вопросы

Открыл postgres на ночь — утром уже стучались

n1kita
Junior
Сообщения: 40
Репутация: 14
Дата регистрации:
19.08.2026
АВТОР ТЕМЫ01 сент. 2026 г., 03:02 (GMT+3)
Держу VPS в UK под стек для своих ботов и пары сайтов. Вчера вечером поднимал compose, надо было быстро глянуть postgres с ноутбука. Написал ports: "5432:5432" и redis рядом. Думал, на час, потом уберу.

Утром в логах уже стучались. Не брут даже — просто сканеры, которые ходят по ipv4 как по таблице умножения. Порт был открыт меньше чем на ночь. Это не «меня ломают», это нормальный интернет. Я сам выставил контейнер в 0.0.0.0 и удивился.

Дальше только через туннель. postgres, redis, панели, rdp, админки — в wan не должны смотреть вообще. ssh по ключу, лучше не на 22, остальное за wg. На прошлом хостинге я это уже проходил, тут хотя бы nvme не думает секунду, перед тем как отдать лог.

Что из этого до сих пор торчит у людей в мир:

  • 3389 — это не удалёнка, это очередь из ботов. сканеры придут раньше, чем вы допьёте чай
  • 5432 / 3306 / 6379 с паролем «на потом» — дамп уедет раньше, чем вы вспомните firewall
  • панель на 80/443 без белого списка — тот же аттракцион, только с красивой формой логина
  • docker -p без bind на 127.0.0.1 — вы только что сделали сервис публичным и не заметили

Кто после этого всё равно держит базу на публичном ip «потому что так удобнее с дачи» — сколько прошло до первого коннекта не с вашего ip?
0
pavel_63
Junior
Сообщения: 32
Репутация: 20
Дата регистрации:
13.08.2026
01 сент. 2026 г., 06:09 (GMT+3)
n1kita я с вами в главном: порт в wan — это очередь из ботов, а не «удобно глянуть с ноутбука». Но докер тут ни при чём. Он только ускорил ошибку: прописали порты, получили 0.0.0.0 и удивились утром.

n1kita писал:
Думал, на час, потом уберу.


«На час, потом уберу» не работает никогда. Вы сами это честно написали. И на этом можно было бы закончить, если бы народ после такого не оставлял 3389 и 5432 в мире «потому что так привык».

Я postgres в докере не держу. Служба на Windows Server и так работает, лишний слой только путает, кто куда слушает. У бухгалтера 1С и rdp, не контейнеры. Вы вчера вечером открыли базу за пять минут — утром в логах уже ходят по ipv4 как по таблице умножения. У меня та же картина была без всякого докера: клиент открыл rdp «на вечер», брут из трёх стран за пятнадцать минут. Разница в том, что у вас ещё redis рядом торчал. Порт в мир не спрашивает, докер это или служба винды.

n1kita писал:
3389 — это не удалёнка, это очередь из ботов


Эту фразу надо высечь на роутере. НЕ ОТКРЫВАЙТЕ 3389. Даже на минутку, даже «только с белого», даже «firewall же включён». Дальше только туннель. Postgres, redis, панели, админки, rdp — в интернет смотреть не должны вообще. ssh по ключу — отдельный разговор. Ключ не спасёт базу, которую вы вынесли наружу.

Как я ставлю людям до конца, если дом или небольшой офис. Не сервер из чужого гайда, а Keenetic, иногда Mikrotik, винсервер под 1С.

По шагам, как у меня в Самаре.


  • Сначала туннель, потом всё остальное. OpenVPN я всё ещё ставлю пожилым, потому что лог TLS handshake failed хотя бы читается. WireGuard признал не сразу и могу это признать: быстрее, спорить не буду. Порт снаружи не обязательно 51820. Если домашний провайдер режет — поставьте 443/udp. Не панацея, но бывало.
  • Клиент — роутер, не телефон. Keenetic или Mikrotik как peer. Тогда весь дом сразу в туннеле, а не зелёный значок на одном устройстве. Телефон оставляете для командировки. VPN на семью — это роутер, а не инструкция «включите приложение».
  • AllowedIPs. 0.0.0.0/0 только если понимаете, что весь трафик дома пойдёт через VPS. Иначе умная колонка отвалится, и будут претензии. Для rdp и базы чаще хватает маршрута на подсеть сервера. На кенетике сплит народ настраивает криво — отсюда классика: handshake есть, интернета нет.
  • NAT. Нет маскарада — нет выхода, сколько туннель ни свети зелёным. На Mikrotik NAT в другую сторону путают регулярно. Без модели и версии RouterOS советовать бесполезно, пишите железо.
  • DNS. Оставляете провайдерский — запросы уезжают к оператору, сайты открываются «не из того региона». Ставите 1.1.1.1 или свой резолвер внутри туннеля и проверяете с клиента.
  • База слушает localhost или адрес интерфейса wg. С ноутбука подключаетесь уже будучи в vpn. «Глянуть postgres с ноутбука на час» без туннеля — это и есть ваш вчерашний вечер. Redis тем более не в wan. Панель на 80 без белого списка — тот же аттракцион, только с формой логина.
  • RDP. Ещё раз: порт 3389 в интернет не открываем. Только внутри туннеля. Сканеры придут раньше чая. Это не истерика, это практика.


Самое частое после «туннель поднялся»: рукопожатие зелёное, а rdp и сайты не идут. Смотрите NAT и DNS, не ключи. Ключи вы уже обменяли, раз handshake есть.

На прошлом хостинге закрывающих не дождёшься, картой из РФ платить больно. Тут nvme лог отдаёт сразу, локация UK вечером стабильная — не гимн сервису, просто чтобы «удобство» не искали в открытом 5432. С Uab когда упирался в диск, перешёл на Heka, разницы в железе хватает.

Кто после этого всё равно держит базу на публичном ip «потому что так удобно» — я таких на настройку больше не беру. Удобство на час стоит дампа. Если у кого-то на Keenetic туннель зелёный, а до своей базы с ноута не достучаться — пишите модель роутера, разберём по пунктам. А у кого 3389 сейчас торчит наружу — сколько времени прошло до первого скана?
0
kate_ekb
Junior
Сообщения: 37
Репутация: 12
Дата регистрации:
12.08.2026
01 сент. 2026 г., 07:01 (GMT+3)
pavel_63 докер как раз при чём.

pavel_63 писал:
Но докер тут ни при чём.


при чём: ports без 127.0.0.1 — сразу 0.0.0.0. винда ту же дыру даёт, только без yaml) не «на час», а bind. postgres в compose без проброса в wan живёт спокойно, rdp на 3389 — нет.
0
olya_web
Junior
Сообщения: 31
Репутация: 13
Дата регистрации:
22.08.2026
02 сент. 2026 г., 20:05 (GMT+3)
kate_ekb спасибо, что простыми словами про bind))) yaml я сама не пишу и в докер не лезу, племянник когда-то ставил.

kate_ekb писал:
ports без 127.0.0.1 — сразу 0.0.0.0


это я хоть ухом краем уловила. 0.0.0.0 для меня всегда была страшная строчка в чьём-то конфиге.

у меня клиент вчера вечером в вотсапе: открой phpmyadmin в интернет, мне с дома в заказы глянуть, на часик. я уже рука потянулась. потом прочитала про сканеры за ночь — и отдёрнула. я после плагина доставки и так витрину 502 ловила, клиент орёт что сайт лёг, а панель зелёная. мне ещё базу в мир не хватало ((

wordpress в wp-login и так каждый день стучатся, это уже как погода. форму к mysql наружу потом клиенту объясняй, куда заказы уехали.

ой, я опять про клиента развернулась. короче: «на час» я больше не верю.

скажите, как вы в базу с дома заходите, если порт наружу нельзя? я только через админку вордпресса умею, чёрное окно на vps меня до сих пор пугает. туннель слово слышала, руками не поднимала.

а у кого phpmyadmin всё ещё висит «потому что с телефона удобно»?
0
n1kita
Junior
Сообщения: 40
Репутация: 14
Дата регистрации:
19.08.2026
03 сент. 2026 г., 00:07 (GMT+3)
pavel_63 дыра одна, да. докер только сократил путь до 0.0.0.0.

olya_web писал:
скажите, как вы в базу с дома заходите, если порт наружу нельзя?


туннель. база и phpmyadmin на 127.0.0.1. панель в мир — тот же 5432, только с формой. «с телефона удобно» утром выглядит как логи со сканерами.
1
n1kita
Junior
Сообщения: 40
Репутация: 14
Дата регистрации:
19.08.2026
03 сент. 2026 г., 01:07 (GMT+3)

olya_web писал:
открой phpmyadmin в интернет, мне с дома в заказы глянуть, на часик


pavel_63 вот оно, «на час». рука в вотсапе — сканер уже в таблице.
0
pavel_63
Junior
Сообщения: 32
Репутация: 20
Дата регистрации:
13.08.2026
03 сент. 2026 г., 06:15 (GMT+3)
kate_ekb, я защиту докера не писал и писать не собираюсь. У меня бухгалтеры, не yaml.

n1kita писал:
дыра одна, да. докер только сократил путь до 0.0.0.0.


Вот. Слушает все интерфейсы — сканер уже в таблице, контейнер это или служба на винде. Вчера вечером «на час глянуть с ноутбука», утром логи как расписание электричек.

Мой случай без всякого докера. Клиент открыл rdp «на вечер, с дачи зайти». Через четверть часа в журнале три страны. Пароль выдержал, нервы — нет. С тех пор 3389 в wan НЕ ОТКРЫВАЙТЕ, и 5432 туда же.

olya_web в базу с дома пускаю только через туннель. Keenetic клиентом, панель на 127.0.0.1, с кухни обычный браузер. Чёрное окно бухгалтеру не нужно.
0
kate_ekb
Junior
Сообщения: 37
Репутация: 12
Дата регистрации:
12.08.2026
03 сент. 2026 г., 07:06 (GMT+3)
pavel_63 быстрее — это не защита docker. это приговор строке без 127.0.0.1.

pavel_63 писал:
докер дыру не создаёт


не создаёт. строка 5432:5432 создаёт. docker только не прячет, кто слушает 0.0.0.0)

бухгалтеру слой не нужен. 3389 в wan ему тоже не нужен. привычка «на час» одна на всех.
1
pavel_63
Junior
Сообщения: 32
Репутация: 20
Дата регистрации:
13.08.2026
03 сент. 2026 г., 07:10 (GMT+3)
kate_ekb, мы с вами спорим про ярлык, а дыра одна и та же.

kate_ekb писал:
быстрее — это не защита docker. это приговор строке без 127.0.0.1.


Строке — да. У вас 5432:5432, у меня галочка «все интерфейсы» в свойствах службы. Сканер разницы не видит и планы «на часик» тоже не читает.

НЕ ОТКРЫВАЙТЕ 3389. Даже клиенту в вотсапе, даже «только посмотреть». Бухгалтеру слой не нужен, порт в мир ему тоже. Роутер как клиент, панель дома, и рука в мессенджере больше не чешется открыть порт.

Докер решает задачи, которых у меня в Самаре нет. На этом я и остаюсь. А у кого ещё после такого утра рука тянется открыть «на минутку»?
1
pavel_63
Junior
Сообщения: 32
Репутация: 20
Дата регистрации:
13.08.2026
03 сент. 2026 г., 08:33 (GMT+3)
kate_ekb докер ничего прятать не обязан, это не фаервол. Служба на Windows Server тоже не прячет, если оставили «все интерфейсы». Разница только в том, кто быстрее выставит дыру в wan.

kate_ekb писал:
docker только не прячет, кто слушает 0.0.0.0


Согласен. Дальше можно не играть в «кто виноват, yaml или винда». Виноват порт в мир.

olya_web, phpmyadmin в интернет не открывай. Людям так и ставлю: туннель один раз, с дома обычный браузер. Сериал наш с Катей пусть живёт, дыра от него не лечится :)
0
kate_ekb
Junior
Сообщения: 37
Репутация: 12
Дата регистрации:
12.08.2026
03 сент. 2026 г., 09:10 (GMT+3)
olya_web чёрное окно можешь не открывать, заказы оно тебе не покажет.

клиенту phpmyadmin не отдают. ему админка вордпресса, mysql — тебе. я так и хожу: WireGuard на ноуте, в хроме localhost, панель как на этом же компе. nginx в мир её не отдаёт. yaml племянник уже поставил, новый писать не надо, просто вотсап не слушай.

pavel_63 писал:
Сериал наш с Катей пусть живёт, дыра от него не лечится :)


olya_web не про сериал спрашивала. ей зайти с дома, без консоли. Keenetic — твоя кухня, ей с телефона того же хватает)

утром открыла свой compose: 3306 наружу не торчит. после вчерашнего «глянуть заказы» уже рефлекс. клиенту написала «открой отчёт», не порт.

а туннель на телефон клиенту даёте или только сами ходите?
0
pavel_63
Junior
Сообщения: 32
Репутация: 20
Дата регистрации:
13.08.2026
03 сент. 2026 г., 09:31 (GMT+3)
kate_ekb, клиенту туннель не даю.

kate_ekb писал:
а туннель на телефон клиенту даёте или только сами ходите?


Сами. Бухгалтеру phpmyadmin с телефона не нужен, ему отчёт в 1С. Телефон у меня запасной, когда с дачи. Дома Keenetic клиентом — жена в браузере даже не знает, что туннель есть. olya_web на свой ноут WireGuard хватит, клиенту конфиг в вотсап не кидаю.
1
pavel_63
Junior
Сообщения: 32
Репутация: 20
Дата регистрации:
13.08.2026
03 сент. 2026 г., 11:33 (GMT+3)
kate_ekb, ноут — это пока крышка не захлопнулась.

kate_ekb писал:
WireGuard на ноуте, в хроме localhost


У меня клиент так и делал. Вечером крышку закрыл, утром жена с планшета в 1С — тишина. Приехал, поставил Keenetic клиентом. С тех пор кухня ходит сама. Ноут ваш, спорить не буду — пока крышка открыта, работает.
2
N
nastya_tula
Junior
Сообщения: 14
Репутация: 3
Дата регистрации:
02.09.2026
03 сент. 2026 г., 12:10 (GMT+3)
pavel_63, у нас магазин в Туле, два рабочих места. 1С по rdp, мы так привыкли. После вашей дачи 3389 уже не открою, даже на час. Туннель на оба компа ставить?
0
pavel_63
Junior
Сообщения: 32
Репутация: 20
Дата регистрации:
13.08.2026
03 сент. 2026 г., 18:16 (GMT+3)
nastya_tula, на оба компа не надо.

Приезжал в магазин — на каждом компе свой туннель. Через неделю зовут: 1С не открывается. Смотрю, продавец иконку в трее выключил, мешала. Поставил Keenetic клиентом, оба места ходят сами. Какой роутер в магазине?
0
olya_web
Junior
Сообщения: 31
Репутация: 13
Дата регистрации:
22.08.2026
03 сент. 2026 г., 21:02 (GMT+3)
pavel_63 спасибо огромное, я уже чуть не полезла)

pavel_63 писал:
olya_web на свой ноут WireGuard хватит, клиенту конфиг в вотсап не кидаю.


клиент с визитки сегодня в вотсапе: дай доступ к базе, сама заказы посмотрю, тебе вечером не надо сидеть. я уже думала порт на час открыть и чай допить спокойно. про ваше утро со сканерами прочитала — рука сама убралась.

ей админки вордпресса хватает, в mysql лезть не за чем. phpmyadmin если и нужен — мне с ноута, когда туннель поднимется. она ещё какой-нибудь плагин доставки поставит «для удобства», я уже не удивляюсь))

роутер не трогаю, там муж wifi год назад настраивал, лучше не буду. крышку вечером почти не закрываю, мне ноута хватит.

а у кого-то клиент тоже просил «просто базу глянуть»?
1
n1kita
Junior
Сообщения: 40
Репутация: 14
Дата регистрации:
19.08.2026
04 сент. 2026 г., 00:01 (GMT+3)
pavel_63 роутер клиентом — жена ходит, да. 5432 от этого на 127.0.0.1 сам не сядет.

в час ночи смотрел лог: туннель зелёный, рядом syn на базу уже с чужих сетей. сканер wan не читает, что у тебя кухня в клиентах.

сначала только 127.0.0.1. потом keenetic.
0
kate_ekb
Junior
Сообщения: 37
Репутация: 12
Дата регистрации:
12.08.2026
04 сент. 2026 г., 13:29 (GMT+3)
pavel_63 отошла к кофе, крышку захлопнула. пришла — туннель поднялся, панель на месте.

pavel_63 писал:
ноут — это пока крышка не захлопнулась


у тебя через него кухня ходит. у меня только я. сервер от крышки не зависит)
0
n1kita
Junior
Сообщения: 40
Репутация: 14
Дата регистрации:
19.08.2026
04 сент. 2026 г., 17:29 (GMT+3)
pavel_63, крышка и иконка в трее — это одна дыра. туннель сел, 1С молчит, кто-то открывает 5432 «пока чай стынет».

я в первый год так и делал. не из злости — из удобства.

keenetic клиентом — чтобы руки до порта не дошли. не потому что жена на кухне.
0