Сколько стоит держать сайт, который никто не смотрит
Зайдите в панель хостинга и посчитайте, сколько там серверов и доменов. Наверняка найдётся один-два, про которые вы не вспоминали месяцами — старый лендинг под давно закрытый проект, тестовый стенд, сайт клиента, с которым отношения закончились год назад. Он оплачивается по инерции, никто туда не заходит, но и рука не поднимается его выключить. Разберём, во что это реально обходится — и не только в деньгах — и что с этим делать, не тратя лишнее время на раздумья каждый месяц заново.
Содержание
Как заводится «зомби-сайт»
Механизм всегда один и тот же. Проект запускают, он какое-то время живёт, потом перестаёт быть приоритетом — клиент ушёл, гипотеза не взлетела, команда переключилась на другое. Технически ничего не ломается: сервер продолжает отвечать на запросы, домен продлевается автоматически с привязанной карты, бэкапы исправно создаются. Именно поэтому такие проекты не «умирают» сами — их работоспособность и есть причина, по которой их не замечают.
Дальше включается инерция. Явного решения «мы закрываем этот проект» никто не принимает — это требует времени: разобраться, что на сервере есть ценного, предупредить, если сайт всё-таки кто-то использует, аккуратно всё выключить. Гораздо проще ничего не делать: сервер и так работает, счёт небольшой на фоне остальных расходов, а вдруг завтра понадобится. Через полгода-год про сервер забывают окончательно, и он превращается в строку в биллинге, которую никто не может объяснить.
Отдельная категория — сайты и сервисы после смены ответственного. Человек, который разворачивал стенд или тестовый инстанс, уволился или сменил роль, доступ к серверу остался у кого-то ещё, а знание о том, зачем он нужен, ушло вместе с человеком. Такие серверы живут особенно долго, потому что их страшно трогать: не ясно, что сломается, если выключить.
Прямые расходы: небольшая сумма, умноженная на годы
Сама по себе аренда виртуального сервера или домена — трата небольшая по сравнению с фондом оплаты труда или рекламным бюджетом, поэтому она редко попадает в фокус, когда ищут, на чём сэкономить. Но у прямых расходов есть два свойства, которые делают их дороже, чем кажется на первый взгляд.
Во-первых, они регулярные и накопительные. Ежемесячный платёж за VPS сам по себе не пугает, но за два-три года набегает сумма, сравнимая со стоимостью полноценного нового проекта. Домен продлевается автоматически на несколько лет вперёд, и это тоже деньги, замороженные в активе, которым никто не пользуется.
Во-вторых, забытые серверы почти никогда не бывают в одиночестве. Если у вас пять сайтов «на всякий случай», то платите вы не за один лишний VPS, а за пять — и это уже ощутимая часть общего счёта за инфраструктуру. Возьмите список всех активных серверов и доменов и честно отметьте: какие из них приносят пользу прямо сейчас, а какие существуют просто потому, что их никто не выключил. Обычно после такой ревизии список сокращается заметнее, чем ожидалось.
Здесь же стоит учитывать не только счета за сервер, но и smtp-релеи, лицензии на закрытое ПО, платные плагины CMS с автопродлением, сторонние API с почасовой или помесячной тарификацией — всё это тоже продолжает списываться с карты, даже если сайт не открывали полгода.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.
Арендовать VPSСкрытая цена: заброшенный сервер как точка входа
Это самая недооценённая часть уравнения. Сайт, который никто не смотрит, — это не нейтральный «спящий» актив. Это сервер, на котором:
- давно не обновлялась операционная система и её пакеты;
- крутится CMS или фреймворк старой версии с известными к текущему моменту уязвимостями;
- никто не проверяет логи, не следит за подозрительной активностью, не получает алерты;
- часто остались открытыми порты и сервисы, нужные когда-то для отладки, а теперь просто забытые.
Пока сервер стоит изолированно и ни с чем не связан, риск ограничен им самим. Но на практике так бывает редко: старый сайт часто живёт на том же VPS, что и что-то ещё важное — либо в соседнем контейнере на одной машине, либо в общей сети, либо с теми же переиспользуемыми паролями и ssh-ключами, что и на боевых серверах. В таком случае заброшенный сайт становится самым слабым звеном инфраструктуры — а взломщику ровно это и нужно: не самый ценный сервер, а самый уязвимый, с которого можно развивать атаку дальше.
Логика человека, который «на всякий случай» ничего не трогает, разворачивается ровно наоборот, если посмотреть с точки зрения безопасности: чем дольше сервер работает без внимания, тем выше вероятность, что на нём уже накопились необновлённые пакеты и известные CVE. Год без апдейтов почти гарантированно означает несколько закрытых с тех пор дыр, актуальных именно для той версии, что стоит на заброшенном сервере. Разбор похожих случаев — когда точкой входа стал именно забытый, а не основной сервис — есть в статье про взлом через забытый порт: механика там типичная — не таргетированная атака на конкретную компанию, а автоматическое сканирование, которое находит открытую и не обновлённую точку и использует её.
Отдельно стоит риск для домена. Если старый сайт использует TLS-сертификат, который никто не продлевает и не мониторит, при его истечении браузеры начинают показывать посетителям предупреждение о небезопасном соединении — и это распространяется на репутацию домена и бренда, даже если сам сайт давно не бизнес-критичен.
Скрытая цена номер два: время, которое утекает на неопределённость
Кроме денег и риска безопасности, у заброшенных проектов есть третья, менее очевидная стоимость — время команды, которое тратится на возврат к одному и тому же вопросу. «А что это за сервер, можно его выключить?» — вопрос, который всплывает при каждой ревизии инфраструктуры, при каждой смене ответственного, при каждом аудите перед проверкой или сертификацией. Если явного решения по проекту нет, этот вопрос будет звучать снова и снова, и каждый раз кто-то должен будет заново разбираться, что на сервере есть, кто его создавал и почему он ещё жив.
Это классическая цена отложенного решения: избегание одного небольшого, но неприятного разговора («мы закрываем проект») оборачивается повторяющимся мелким трением при каждом последующем контакте с инфраструктурой. Причём цена растёт со временем — чем дольше сервер существует в подвешенном статусе, тем сложнее и страшнее становится его трогать, потому что накапливается неопределённость: а вдруг там всё-таки что-то важное, о чём все забыли.
Явное решение — архивировать, удалить или оставить работающим осознанно — снимает этот вопрос раз и навсегда. Даже если решение окажется «оставляем как есть», сам факт, что оно принято сознательно, а не по умолчанию, экономит время на будущих ревизиях: достаточно записать причину и дату следующего пересмотра.
Методика: регулярный аудит запущенных проектов
Чтобы не разбираться с этим руками каждый раз с нуля, полезно завести регулярный процесс — раз в квартал или раз в полгода, в зависимости от того, как быстро у вас плодятся новые сервисы.
Шаг 1. Составьте полный список. Все VPS, выделенные серверы, домены, поддомены и облачные сервисы, за которые списываются деньги. Источники — панель хостинг-провайдера, история платежей по карте, DNS-зона основного домена (поддомены часто выдают забытые проекты, о которых уже никто не помнит).
Шаг 2. Для каждого пункта — один факт, а не мнение. Не «кажется, им никто не пользуется», а конкретная метрика: последний визит по логам веб-сервера или аналитике, дата последнего коммита в связанный репозиторий, дата последнего входящего запроса к API. Если сайт отдаёт трафик роботам и сканерам, это не значит, что им пользуются люди — смотрите на реальных посетителей, а не на записи в access-логе.
# Быстрая проверка активности на nginx: уникальные IP за последние 30 дней
awk '{print $1}' /var/log/nginx/access.log | sort -u | wc -l
# Дата последнего запроса вообще (если лог не ротировался месяцами — это красноречиво само по себе)
tail -1 /var/log/nginx/access.log
Шаг 3. Разложите проекты по трём категориям.
| Категория | Признак | Что делать |
|---|---|---|
| Активный | Есть реальные посетители/пользователи, кто-то отвечает за него | Оставить работающим, включить в план обновлений и мониторинга |
| Нужен архив | Данные или контент представляют ценность, но сервис никто не открывает | Заменить рабочий сервер на статическую копию (см. ниже) |
| Не нужен | Ни трафика, ни ценности, никто не может объяснить зачем это существует | Сделать финальный бэкап и удалить |
Шаг 4. Зафиксируйте решение и дату следующего пересмотра. Даже простой текстовый файл или страница в внутренней вики с перечнем серверов, статусом и датой последнего аудита снимает большую часть повторяющихся вопросов «а это что». Не обязательно сложная CMDB — для большинства команд достаточно таблицы.
Такой аудит стоит проводить вместе с ревизией доступов: если сервер остаётся активным, но им управляет человек, который уже полгода как ушёл из проекта, это отдельный риск, который вскрывается ровно тем же процессом.
Что делать с тем, что нужно сохранить, но не должно работать
Не всё, что не используется активно, можно сразу удалить. Иногда есть юридическая необходимость держать старый контент доступным (условия оферты, документы, история переписки с клиентом), иногда — просто жалко терять годы контента, который может понадобиться позже. Здесь важно разделить два разных требования: «данные должны существовать» и «сервис должен работать как полноценное приложение с базой данных и бэкендом». Это не одно и то же, и вторая часть почти всегда избыточна.
Полноценный рабочий сервер с базой данных, бэкендом и CMS нужен, только если контент действительно меняется или на сайте есть интерактив — формы, личный кабинет, поиск по динамическим данным. Если ничего из этого не требуется — а для архивной копии обычно не требуется — разумная замена: статический архив.
Практическая последовательность:
- Снять полный снимок сайта как набор статических html-страниц. Для многих CMS есть готовые инструменты экспорта в статику; универсальный вариант — рекурсивно скачать сайт локальным краулером:
wget --mirror --convert-links --adjust-extension \
--page-requisites --no-parent \
https://old-project.example.com
- Проверить, что все внутренние ссылки, изображения и css/js подтянулись локально, поправить то, что осталось битым.
- Выложить получившийся набор файлов на минимальный статический хостинг — либо на отдельный лёгкий VPS без базы данных и рантайма приложения, либо через простой веб-сервер, обслуживающий только статику. Подробный разбор, как развернуть такой сайт с нуля, — в статье про установку статического сайта на VPS.
- Отключить исходный «тяжёлый» сервер с базой данных и рантаймом — после того как убедились, что статическая копия действительно содержит всё нужное, а её резервная копия сохранена отдельно.
Экономический смысл в том, что статический архив не требует ни СУБД, ни постоянных обновлений безопасности рантайма, ни мониторинга процессов приложения — там просто нечему ломаться и почти нечего взламывать, потому что нет исполняемого кода на сервере, только файлы. Ресурсов такому серверу нужно на порядок меньше, чем полноценному стеку с базой и бэкендом, поэтому для архивных копий разумно смотреть на минимальные конфигурации — этот же принцип разобран в статье про VPS под бэкапы и архив: архивному хранению почти никогда не нужны ресурсы уровня боевого сервера.
Если после перевода в статику доступ к сайту нужен крайне редко и даже минимальный постоянно работающий сервер кажется избыточным — рассмотрите вариант держать архив офлайн: файлы в объектном хранилище или в бэкапе, разворачиваемые на временный сервер только тогда, когда доступ действительно понадобился. Это увеличивает время до доступности с секунд до минут, но при по-настоящему редком обращении экономия может того стоить.
Для по-настоящему нужного, но неактивного проекта эта же логика применима и к безопасности: минимальный список того, что должно остаться включённым при переходе на архив — базовый чек-лист безопасности сервера всё равно стоит пройти даже для статики, потому что и у веб-сервера, отдающего html-файлы, есть своя поверхность атаки. Общий список пунктов, который стоит закрыть на любом новом или переведённом в архив сервере, собран в чек-листе безопасности нового сервера.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США, Франция и РФ. Оплата картой РФ и по СБП.
Арендовать VPSНужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.
Частые вопросы
Как понять, что сайтом действительно никто не пользуется, а не просто временный спад трафика?
Смотрите не на один день, а на окно минимум в 30 дней, и на уникальных посетителей, а не на суммарные запросы — боты и сканеры создают трафик независимо от того, нужен ли сайт людям. Если за месяц нет ни одного визита, похожего на реального человека (не с известных IP поисковых роботов и не с явно автоматизированным паттерном запросов), это надёжный сигнал.
Правда ли, что заброшенный сайт может быть точкой входа для взлома всей остальной инфраструктуры?
Да, если он живёт на общей машине, в общей сети или с переиспользуемыми учётными данными с другими сервисами. Сам по себе изолированный старый сайт менее опасен, но на практике полная изоляция бывает редко — переиспользуемые ssh-ключи и общие пароли встречаются чаще, чем хотелось бы.
Можно ли просто оставить всё как есть и ничего не делать?
Можно, но это тоже решение — и его стоит принимать осознанно, с пониманием, что расходы продолжат накапливаться, а риск на неподдерживаемом стеке со временем только растёт, а не остаётся постоянным.
Нужен ли отдельный сервер под архивную копию или можно разместить несколько архивов на одном?
Несколько статических архивов вполне можно разместить на одном небольшом сервере — ресурсов для отдачи статики нужно немного, а изоляция между разными архивными сайтами обычно не так критична, как между активными боевыми проектами.
Что делать, если непонятно, кто отвечал за старый сервер и можно ли его выключать?
Начните с сохранения полного бэкапа перед любыми действиями — это снимает риск необратимой ошибки. Затем дайте разумный срок на объявление (например, две-четыре недели с уведомлением всем, кто может быть причастен), и если за это время никто не откликнулся — выключайте по плану из шага 3 методики выше.
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →