Защита клиентской стороны от нежелательных действий

Узнайте, как изолировать врага на клиентской стороне: заблокируйте фишинг, вредоносные скрипты и токсичных пользователей простыми методами!

В современном мире информационных технологий «враг» может принимать самые разные формы:

  • злоумышленник, пытающийся выполнить фишинговую атаку;
  • нежелательный пользователь в онлайн‑игре;
  • вредоносный скрипт, внедрённый в веб‑страницу;
  • внутренний пользователь, получивший лишние привилегии.

Ниже рассмотрены методы, позволяющие «закрыть» (заблокировать, изолировать) такого врага непосредственно на клиентской стороне.

Понимание места действия: клиент vs. сервер

В большинстве систем «клиент» – это конечный пользовательский компьютер, браузер или мобильное приложение. Именно здесь происходит:

  1. Отображение интерфейса;
  2. Выполнение JavaScript‑кода;
  3. Обмен данными с сервером через API.

Поэтому любые меры защиты, реализованные на клиенте, работают быстрее (меньше задержек) и могут сразу реагировать на подозрительные действия.

Инструменты Microsoft Defender for Office 365

Если речь идёт о защите корпоративных почтовых ящиков от фишинга, полезно использовать Microsoft Defender for Office 365. Платформа позволяет:

  • Эмулировать фишинговые атаки, чтобы обучить сотрудников (см. Эмуляция фишинговой атаки в обучении симуляции атаки).
  • Создавать «страницы входа», которые имитируют реальные сервисы, но собирают только данные о попытках входа.
  • Автоматически блокировать подозрительные домены и ссылки уже на клиентском уровне (в Outlook, Teams и др.).

Для настройки:

  1. Перейдите в Microsoft 365 Defender → Threat management → Attack simulation training.
  2. Выберите Создать новую эмуляцию и укажите тип атаки (фишинг, спуфинг и т.д.).
  3. На этапе Выбор страницы входа убедитесь, что выбрана новая страница входа, после чего нажмите Сохранить.
  4. Сохраните изменения и закройте всплывающее окно сведений о полезных данных.

Защита веб‑клиентов (браузерных приложений)

CSP (Content Security Policy)

С помощью HTTP‑заголовка Content‑Security‑Policy можно ограничить, какие скрипты и ресурсы могут загружаться в браузер:

Content-Security-Policy: default-src 'self'; script-src 'self' https://trusted.cdn.com;

Это существенно уменьшает риск внедрения вредоносного кода.

Защита от XSS и CSRF

  • Используйте токены CSRF в формах и AJAX‑запросах.

Блокировка нежелательных IP‑адресов и User‑Agent’ов

На клиенте можно хранить «чёрный список» в localStorage и проверять его перед выполнением критических действий:


// Пример простого блока
const blockedIPs = ['192.0.2.123', '203.0.113.45'];
if (blockedIPs.includes(userIP)) {
 alert('Доступ запрещён');
 // Отключаем функционал
}
 

Защита клиентских приложений 1С: Предприятие

В 1С часто используют директиву НаСервере для выполнения кода на сервере, а не на клиенте. Тем не менее, иногда требуется выполнить проверку на клиенте, чтобы «закрыть» (запретить) недопустимые действия:

  • Создайте процедуру ПроверитьПраваПользователя без директивы НаСервере. Внутри неё проверяйте роль пользователя и, при необходимости, выводите сообщение об ошибке.
  • Если требуется изменить реквизиты формы, делайте это в клиентском коде, но проверяйте данные через серверный запрос (вызов ВызватьСервер).

Пример:


Процедура ПриОткрытии
 Если Не ПроверитьПраваПользователя Тогда
 Сообщить("У вас нет прав для работы с этим документом");
 Закрыть;
 КонецЕсли;
КонецПроцедуры

Функция ПроверитьПраваПользователя Экспорт
 // Вызов серверной процедуры
 Возврат ВызватьСервер("ПользовательИмеетПрава", ТекущийПользователь);
КонецФункции
 

Защита игровых клиентов

В онлайн‑играх «враг» часто – это читер или пользователь, использующий стороннее ПО. На клиенте можно реализовать:

  • Анти‑чит – проверка целостности файлов, мониторинг процессов.
  • Систему репортов, позволяющую игроку быстро «закрыть» (заблокировать) другого пользователя через UI.
  • Серверную валидацию: любые важные действия (урон, перемещения) проверяются на сервере, а клиент лишь отображает результат.

Общие рекомендации по «закрытию врага» на клиенте

  1. Минимизировать доверие к клиенту. Любая критическая логика должна проверяться на сервере.
  2. Логировать подозрительные действия. Храните логи в localStorage или отправляйте их в систему мониторинга.
  3. Обновлять списки блокировок. Регулярно синхронизируйте черные списки с сервером.
  4. Обучать пользователей. Как показала практика с Microsoft Defender, имитационные атаки помогают сотрудникам распознавать фишинг.
  5. Тестировать защиту. Проводите Pen‑test и проверку уязвимостей на клиентском уровне (например, с помощью OWASP ZAP).

Что НЕ стоит использовать

В интернете встречаются описания «ритуалов» и «магических» методов «закрытия врага». Они не имеют отношения к кибербезопасности и могут лишь отвлечь от реальных мер защиты. Сосредотачивайтесь на проверенных технических решениях.

«Закрыть врага» на клиенте – это совокупность практик, направленных на раннее обнаружение и изоляцию угроз до того, как они достигнут серверной части системы. Правильное сочетание политик CSP, анти‑чита, инструментов Microsoft Defender, а также грамотная архитектура клиент‑сервер (например, в 1С) позволяет создать надёжный барьер против большинства современных атак.

Помните, что защита – это процесс, а не разовая настройка. Регулярно пересматривайте правила, обучайте пользователей и следите за новыми уязвимостями.