~ / blog / servery

Серверы

Docker, сертификаты, бэкапы и защита сайтов.

#Серверы 4 мин

Подрядчик ушёл: ключи, учётки и образы, на которых стоит весь сервер

Ключ бывшего подрядчика нашёлся в чужом authorized_keys, его учётку лучше заблокировать, чем удалить, а группа docker — это тот же root. И самое неочевидное: образы всех сайтов скачивались из его личного реестра — удалит или перезальёт, и последствия будут у вас.

· · ·
#Серверы 4 мин

Раннер CI под root: кто правит .gitlab-ci.yml, тот владеет сервером

Внешний верстальщик должен выкладывать вёрстку на тестовый поддомен. Отдельный проектный раннер без root и с одной папкой, CI-файл из чужого репозитория, путь литералом, сборка на другом сервере — и почему add_header в location снимает noindex.

· · ·
#Серверы 4 мин

«Базе нужна открытая сеть»: как дать доступ, ничего не открывая

ports в compose — это вход из интернета, а не связь контейнеров. SSH-туннель вместо открытого PostgreSQL, почему пароль не заменяет закрытый порт и почему «в базе нет ничего важного» — довод не о том.

· · ·
#Серверы 4 мин

Аудит портов: опубликованный порт Docker обходит firewall

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

· · ·
#Серверы 3 мин

Сборка фронта на сервере: Node 20, зависший линтер и CI, который видит больше

Node 22 удалил синтаксис assert для JSON — сборка падает, помогает только Node 20 в контейнере. Прерванный eslint продолжает молотить в своём контейнере. А CI ловит ошибки, которых сборка на тесте не видит из-за lintDirtyModulesOnly.

· · ·
#Серверы 3 мин

Крон и консоль на виртуальном хостинге: «Минуты: 1» — это раз в час

Цифра в поле планировщика — момент, а не интервал; адрес в поле команды — не команда; php в консоли 5.6; защита от ботов перехватывает POST; mysqldump ругается, но делает дамп; сервер живёт по Москве. Три захода на одну задачу крона.

· · ·
#Серверы 3 мин

Половина медиапапки — миниатюры, которые сайт не показывает

WordPress режет каждую картинку на все зарегистрированные размеры: на одном каталоге это 6,39 ГБ из 12, три размера темы на 2,54 ГБ не читались нигде. Как посчитать у себя, почему сначала перестать плодить, что проверить до удаления — и +13 ГБ на другом сайте.

· · ·
#Серверы 5 мин

Почему почта и DNS не живут дома — и итог цикла про домашнюю инфраструктуру

Порт 25 открыт, Spamhaus чист, PTR сделают — и всё равно почту дома держать не стоит. Как проверять чёрные списки с контрольными адресами, почему авторитетный DNS дома хуже, чем кажется, и как переносить зону. Плюс итог 14 частей: где что молча не работало.

· · ·

$ tail -f /blog

Не пропустите новые статьи

Пишу разборы по скорости сайтов, кэшу и разработке — на живых проектах и с цифрами. Подпишитесь, и ссылка на новую статью придёт сразу после выхода. Без рекламы и спама, отписаться — в один клик.

В Telegramодна кнопка «Старт» в боте

или на почту

связаться

Расскажите о задаче