RE:NODE
Обзор хостинга

Безопасность

Что на самом деле защищает ваш аккаунт и ваши серверы

RE:NODE пишет свою панель, а не лицензирует чужую, поэтому безопасность этого места — то, что мы построили и можем описать, а не список функций, проданный кем-то ещё. На этой странице то, что внутри, включая места, которые являются ограничением, а не преимуществом.

Только HTTPS
Обычный HTTP перенаправляется; сертификаты обновляются сами.
Двухфакторная
Одноразовые коды из любого приложения и коды восстановления.
Ночью, вне машины
Копии уезжают на отдельное железо и проверяются после каждой.
По контейнеру
У вашего сервера своя файловая система, память и потолок по CPU.

Ваш аккаунт

Всё, что решает, действительно ли запрос от вас.

Пароли хешируются, а не хранятся

Панель держит bcrypt-хеш и больше ничего. Прочитать ваш пароль здесь не может никто — по той же причине никто не сможет вам его и напомнить. Единственный путь назад — сброс, и это не недоработка.

Двухфакторная аутентификация

Временные коды из любого приложения-аутентификатора и одноразовые коды восстановления, которые выдаются сразу при включении. Храните их не в телефоне: именно они вернут вам доступ, когда телефона не будет.

Вход ограничен по частоте и с проверкой

Вход, регистрация и восстановление пароля ограничены по частоте на адрес и закрыты капчей. Перебор пароля перестаёт окупаться задолго до того, как начнёт срабатывать.

Сессии, которые видно и можно закрыть

Страница аккаунта показывает все открытые сейчас сессии, откуда они используются и когда были активны, и позволяет закрыть те, которые вы не узнаёте. Сами cookie зашифрованы, недоступны JavaScript и не отправляются с других сайтов.

Входная дверь

Что проходит запрос, прежде чем добраться до чего-либо вашего.

HTTPS и только HTTPS

Обычный HTTP перенаправляется, а не обслуживается; сертификаты выпускаются и обновляются автоматически — так что просроченный сертификат не может тихо случиться в воскресенье.

У каждой формы есть CSRF-токен

Запрос, который что-то меняет и пришёл не со страницы, отданной нами, отклоняется. Другой сайт не может действовать от вашего имени во вкладке, которую вы оставили открытой.

Сканерам не отвечают

Большая часть трафика, который находит панель, ищет не её: он обходит интернет, спрашивая у каждого хоста файлы с учётными данными и исходники, которых здесь нет. Такие запросы распознаются сразу, адресу перестают отвечать, и блокировка удлиняется с каждым возвращением. Каждый отказ пишется в журнал, который оператор действительно читает.

Блокировки на краю

fail2ban стоит перед приложением, поэтому трафик, который очевидно не клиент, не стоит ни одного PHP-процесса.

Ваш сервер

Сервер одного клиента — не папка внутри сервера другого.

Изолированные контейнеры

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

Учётные данные на каждый сервер

Пароли администратора, пароли RCON и пользователи базы генерируются для вашего сервера, а не общие на тариф, и показываются вам, а не кому-то ещё.

API-ключи можно привязать к адресу

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

Субпользователи вместо общего логина

Дайте кому-то консоль без файлов или резервные копии без биллинга. Каждое действие записывается на тот аккаунт, который его выполнил, в журнале активности сервера — так что у вопроса «кто перезапустил» есть ответ.

Данные и резервные копии

Страховка, которая не лежит на том же диске, что и застрахованное.

Каждую ночь и безопасно без присмотра

База и рабочие данные выгружаются каждую ночь. Дамп снимается без блокировки, из-за которой панель ждала бы, пароль базы никогда не появляется в командной строке, где его прочитали бы другие процессы, и два запуска не могут наложиться друг на друга.

Вторая копия вне машины

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

Проверено, а не просто скопировано

Каждая копия проверяется на целостность архива, а дамп базы — на завершающую запись, которая появляется только если выгрузка действительно дошла до конца. Непроверенная копия — это предположение.

Хранение, которое не забьёт диск

Копии удаляются по расписанию, а не копятся вечно. Резервные копии, растущие до тех пор, пока не уронят панель, — авария, которую мы предпочли бы не изобретать.

Что проходит запрос

По порядку, с момента нажатия кнопки в панели.

  1. 1

    Шифрование

    Соединение шифруется до того, как отправлен первый байт запроса. Обычный HTTP получает только перенаправление.

  2. 2

    Репутация

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

  3. 3

    Сессия и источник

    Cookie сессии расшифровывается, CSRF-токен проверяется — значит, запрос и от вас, и со страницы, которую отдали вам мы.

  4. 4

    Право

    И только потом действие сверяется с тем, что этому аккаунту разрешено на этом конкретном сервере, и пишется в журнал активности сервера.

Чего мы не делаем

Та часть страницы о безопасности, которой обычно нет.

  • Мы ни у кого не спрашиваем, где вы

    Страна определяется по таблице на нашей собственной машине. Определять адрес через сторонний сервис значило бы рассказывать кому-то о наших посетителях по одному запросу за раз.

  • Просмотры страниц хранятся без адресов

    Мы считаем, что читают, чтобы понимать, какие руководства стоит писать. Кто читал — не храним.

  • Мы не можем восстановить потерянный пароль

    Именно это и означает хеширование. А если включена двухфакторная и коды восстановления тоже потеряны, аккаунт нельзя вернуть никому — включая вас. Храните коды.

  • Учётные данные некоторых игр хранятся как введены

    Arma 3, DayZ, Project Zomboid и 7 Days to Die нельзя установить анонимно: установщик входит в Steam от вашего имени, и серверу эти данные нужны при каждом обновлении. Используйте отдельный аккаунт для серверов, а не основной. Страница каждой из этих игр говорит об этом до покупки, а не после.

Что-то нашли?

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

Связаться с нами