Безопасность
Последнее обновление: 16 июля 2026 г.
На этой странице описаны меры безопасности, которые реально действуют в Astrina.io сегодня. Она намеренно конкретна и намеренно неполна: там, где у нас чего-то нет, мы так и говорим, а не намекаем на обратное. Если какая-либо мера безопасности не указана на этой странице, считайте, что её у нас нет.
Где хранятся ваши данные
Astrina работает на одном-единственном сервере, размещённом у OVH в ЕС. Сервер управляется панелью управления Hestia, и база данных (MariaDB/MySQL) работает на том же сервере. Перед ним стоит Cloudflare — для DNS, CDN, терминации TLS и WAF.
Полный список третьих лиц, обрабатывающих данные от нашего имени, приведён на странице Субобработчики. Что мы собираем и как долго это храним, изложено в Политике конфиденциальности и на странице Хранение данных.
Шифрование при передаче
Весь трафик к Astrina.io и от него передаётся по TLS. Cloudflare настроен в режиме Full (strict), а это значит, что соединение между Cloudflare и нашим origin-сервером также зашифровано, а сертификат origin-сервера проверяется. Сертификат origin-сервера выпущен Let's Encrypt.
Пароли
- Пароли хранятся только в виде хеша, полученного функцией PHP password_hash() с использованием bcrypt (PASSWORD_DEFAULT), и проверяются функцией password_verify().
- Мы никогда не храним ваш пароль в открытом виде и никогда не записываем его в лог. Никто в Astrina не может прочитать ваш пароль или сказать вам, какой он.
- Токены подтверждения email и сброса пароля хранятся в виде SHA-256-хеша токена, являются одноразовыми и имеют срок действия.
- Там, где пароль проверяется по известным спискам утечек, мы используем метод k-anonymity сервиса Pwned Passwords: передаются только первые пять символов SHA-1-хеша пароля. Сам пароль никогда не покидает браузер или наш сервер.
На аккаунтах Astrina нет двухфакторной аутентификации. См. раздел «Чего у нас пока нет» ниже.
Сессии и формы
- Cookie сессии называется astrsess. Она устанавливается с флагами HttpOnly (JavaScript не может её прочитать), Secure (она передаётся только по HTTPS) и SameSite=Lax.
- Отправка форм, изменяющих состояние, сопровождается CSRF-токеном, поэтому другой сайт не может заставить ваш браузер выполнить действие в вашем аккаунте.
API-ключи
- Ваш API-ключ принимается только в заголовке запроса — X-Api-Key или Authorization: Bearer. Мы намеренно не принимаем ключи в строке запроса URL.
- Этот выбор имеет значение: ключ, помещённый в URL, как правило, оказывается в логах доступа сервера, логах прокси, истории браузера и заголовках Referer, отправляемых на другие сайты. С ключом в заголовке этого не происходит.
- Вы можете перегенерировать свой ключ в любой момент на /my/api.php. Перегенерация мгновенно отзывает старый ключ.
- У каждого плана есть суточная квота вызовов. Как только она исчерпана, API возвращает HTTP 429, а не продолжает обслуживать запросы.
Кросс-доменный доступ (CORS)
Наши публичные методы API намеренно открыты для любого источника (Access-Control-Allow-Origin: *), поскольку они отдают публичные данные каталога. Приватный метод аналитики, /api/v1/stats, вообще не отправляет заголовок Allow-Origin — поэтому веб-страница на другом сайте не может использовать браузер посетителя, чтобы прочитать вашу статистику, даже если каким-то образом получила ваш ключ.
Защита SEO-краулера
Наш SEO-краулер загружает URL, которые указывают клиенты, — а это именно та функциональность, которой злоупотребляют, чтобы добраться до внутренних систем (SSRF). Он защищён от этого:
- Принимаются только URL с http и https.
- Приватные, loopback- и link-local-диапазоны IP отклоняются.
- Разрешённый IP-адрес закрепляется, поэтому имя хоста не может разрешиться в другой адрес между проверкой и запросом.
- Каждый переход по редиректу повторно проверяется по тем же правилам, а не только первый URL.
- Размер тела ответа ограничен.
Запись сессий маскируется по умолчанию
Если вы включите необязательный рекордер сессий, маскирование будет включено по умолчанию и применяется в браузере посетителя — до того, как что-либо будет отправлено нам:
- Поля ввода пароля, email и телефона вообще никогда не передают значение. Ни текст, ни его замаскированную версию, ни даже его длину.
- Поля платёжных карт обрабатываются так же.
- Текст, введённый в любое другое поле ввода, маскируется точками.
- Любая часть вашей страницы, помеченная атрибутом [data-astr-mask], вымарывается до того, как покинет браузер.
Записи по умолчанию хранятся 30 дней. Срок хранения настраивается.
Файлы-доказательства в отзывах
Изображения и видео, приложенные как доказательства к некоторым типам отзывов, хранятся вне веб-корня, поэтому их нельзя получить, угадав URL. Они отдаются только через закрытую точку доступа, которая возвращает 403, кроме случаев, когда отзыв одобрен, либо вы являетесь автором отзыва, либо вы администратор.
Защита от злоупотреблений и ботов
- Отправка отзывов ограничена по частоте для каждого IP-адреса, и отзывы модерируются. Отзывы от гостей публикуются только после модерации; отзывы от авторизованных участников публикуются сразу.
- Трафик аналитики фильтруется от ботов с помощью правил по user-agent вместе с классификацией IP-адресов дата-центров и хостингов через обратный DNS (rDNS).
Доступ администраторов
Админ-раздел закрыт проверкой роли аккаунта. Административные аккаунты используют тот же механизм входа, что и все остальные, а значит, они тоже не защищены двухфакторной аутентификацией.
Письма, которые мы отправляем
Исходящая почта (с адреса noreply@astrina.io) отправляется нашим собственным почтовым сервером Exim с настроенным DKIM, поэтому получатели могут проверить, что сообщение действительно пришло от нас. Мы не передаём ваш адрес стороннему почтовому провайдеру.
Резервные копии и восстановление сервиса
Hestia делает одну ежедневную резервную копию файлов и базы данных, примерно в 05:12 UTC.
Резервные копии хранятся на том же сервере, на котором работает сервис. Копии вне площадки (off-site) нет, георезервированной репликации нет. Это реальное ограничение, и вам следует учитывать его в собственном планировании: событие, которое уничтожит сервер, уничтожит и хранящиеся на нём резервные копии. На практике в любой момент времени существует примерно одна ежедневная копия.
Если сервис потребуется восстановить, мы восстанавливаем его из самой последней ежедневной резервной копии. Мы не гарантируем целевое время восстановления (RTO) или целевую точку восстановления (RPO) и не предлагаем публичное соглашение об уровне обслуживания. SLA существует только там, где оно было отдельно согласовано в индивидуальном договоре.
Чего у нас пока нет
Мы предпочитаем сказать вам об этом прямо, чем позволить странице о безопасности намекать на большее, чем следует. У Astrina в настоящее время нет:
- Нет двухфакторной аутентификации (2FA) и нет SSO для самой панели Astrina.
- Нет стороннего аудита безопасности и нет тестирования на проникновение. Ничего из этого не проводилось, поэтому нет результатов для публикации.
- Нет ISO 27001, SOC 2 или какой-либо другой сертификации. Мы не сертифицированы и не проходили аудит ни по одному стандарту.
- Нет резервной копии вне площадки (off-site). См. раздел о резервных копиях выше.
- Нет программы bug bounty. Мы принимаем отчёты, но не можем платить за них.
- Нет формального соглашения об уровне обслуживания и нет опубликованной гарантии аптайма.
Если что-то из этого является для вас обязательным требованием, то сегодня этого нет, и вам следует принимать решение соответственно.
Сообщение о проблеме безопасности
Если вы нашли уязвимость, пожалуйста, сообщите о ней на support@astrina.io. Это единственный контактный адрес для сообщений о безопасности.
Будет полезно, если вы укажете затронутый URL или эндпоинт, шаги для воспроизведения и то, чего мог бы добиться атакующий. Пожалуйста, дайте нам разумную возможность устранить проблему до её публичного раскрытия и, пожалуйста, не получайте доступ к данным других людей, не изменяйте и не удаляйте их в ходе тестирования.
У нас нет программы bug bounty, и мы не можем предложить оплату или вознаграждение за отчёты. Мы также не обещаем срок ответа, поскольку не предоставляем публичного SLA, — но отчёты, отправленные на этот адрес, действительно доходят до нас, и мы действительно принимаем по ним меры.
Ваши данные и ваш контроль над ними
- Вы можете в любой момент удалить отдельный отслеживаемый сайт из своей панели — это удалит его данные.
- Вы можете в любой момент перевыпустить или отозвать свой API-ключ на странице /my/api.php.
- На сегодняшний день в панели нет кнопки самостоятельного удаления аккаунта. Чтобы ваш аккаунт и данные были удалены, напишите на support@astrina.io, и мы сделаем это по запросу.
Связанные страницы
- Политика конфиденциальности — что мы собираем и зачем
- Срок хранения данных — как долго хранится каждый вид данных
- Субобработчики — какие третьи стороны задействованы
- Файлы cookie — что устанавливается и на чьём домене
- Соглашение об обработке данных
- Условия обслуживания · Политика допустимого использования
- Контакты
На какие запросы отвечает эта страница
- безопасность
- безопасность — руководство
- безопасность — разбор
- безопасность — пошаговый разбор
- с чего начать: Безопасность
- безопасность — как делают правильно
- безопасность по шагам
- что такое Безопасность
- безопасность для новичков
- безопасность — чек-лист
- безопасность — примеры
- зачем нужно Безопасность