Перейти к основному содержимому

Управление поверхностью атаки

11 мин чтения·Для руководителя

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

Большинство компаний не знают своей полной поверхности атаки. Забытые серверы, тестовые окружения, доступные из интернета, «теневые» ИТ-ресурсы, активы приобретённых компаний — всё это создаёт слепые зоны. Атакующие ищут именно их: незамеченные активы чаще всего слабее защищены.

Управление поверхностью атаки (Attack Surface Management, ASM) — это постоянный процесс обнаружения, учёта и сокращения цифрового «периметра» компании. Эта глава объясняет, что представляет собой поверхность атаки, что поручить лидеру безопасности, как контролировать выполнение и на что обращать внимание при аудите.

Почему это важно для бизнеса

Небольшие компании нередко считают, что их поверхность атаки мала. Это заблуждение. Типичная компания на 50 человек имеет:

  • 5–10 публично доступных веб-сервисов
  • 20–50 поддоменов (часть из них давно забыта)
  • ресурсы в 2–3 облачных средах
  • интеграции с десятками SaaS-сервисов
  • удалённых сотрудников с личными устройствами
  • подрядчиков с доступом к системам

Защитить можно только то, о чём знаешь. Тестовый сервер 2021 года с паролями по умолчанию? Staging-окружение с копией боевой базы данных? Лендинг маркетинговой кампании на стороннем хостинге? Именно такие активы атакующие находят первыми.

По данным российских ИБ-компаний, значительная часть взломов начинается с активов, о которых сама компания не знала или которые считала выведенными из эксплуатации. Автоматизированные инструменты сканируют весь диапазон IP-адресов интернета за часы — некорректно настроенный ресурс будет обнаружен и взят на заметку быстро.

Типичный сценарий для российского малого бизнеса. Небольшая ИТ-компания разработала внутренний инструмент для работы с клиентами. Разработчик временно выставил его в интернет для тестирования — и забыл закрыть. Через несколько месяцев инструмент обнаружили через поисковые системы интернета вещей: стандартный пароль, открытый доступ к базе клиентов.

Что такое поверхность атаки

Поверхность атаки — совокупность всех точек, через которые злоумышленник может попытаться проникнуть в вашу систему или извлечь данные. Аналогия: все двери, окна и возможные точки проникновения в здание — только в цифровом пространстве.

Типы поверхностей атаки

ТипЧто включаетПримеры
СетеваяСетевые активы с выходом в интернетОткрытые порты, сервисы, VPN, межсетевые экраны
ПриложенияВеб-приложения, API, мобильные приложенияСтраницы входа, API, панели администратора
ОблачнаяОблачные ресурсы и конфигурацииХранилища объектов, виртуальные машины, настройки IAM
ЧеловеческаяСотрудники и их доступыЦели фишинга, социальная инженерия, утечки паролей
ФизическаяФизические точки доступаСерверные, USB-порты, СКУД
Цепочка поставокЗависимости от третьих сторонSaaS-вендоры, open-source библиотеки, подрядчики

Внешняя и внутренняя поверхность

Внешняя поверхность атаки — всё, что видно из интернета без предварительного доступа. Именно это видит злоумышленник на этапе разведки: публичные IP-адреса, домены, доступные сервисы.

Внутренняя поверхность атаки — то, что открывается после получения первоначального доступа (например, через скомпрометированный ноутбук сотрудника или фишинговую атаку): внутренние сервисы, базы данных, файловые хранилища.

Управление поверхностью атаки сосредоточено прежде всего на внешней стороне — сокращении того, что атакующий видит снаружи. Но внутренняя поверхность важна для ограничения ущерба после успешного проникновения.

Из чего состоит поверхность атаки компании

Внешняя поверхность атаки состоит из сетевого уровня, доменов и DNS, приложений и облачных ресурсов. Самое слабое звено обычно забытое: старый поддомен, тестовый стенд или открытая панель администратора.ВНЕШНЯЯ ПОВЕРХНОСТЬ — ЧТО ВИДНО ДО ПЕРВОГО ДОСТУПАСетьВеб и API (80, 443)VPN и SSHПочта (25, 587)RDP (3389)DNS и доменыОсновной сайтstaging и devЗабытые поддоменыПанели админаПриложенияФормы входаЗагрузка файловТочки APIИнтеграции OAuthОблакоОбъектные хранилищаКлючи IAMРеестры образовKubernetes APIСлабое звено чаще всего забытоеСтарый поддомен и тестовый стенд находят перебором за минуты

Сетевой уровень

Активы, доступные из интернета, которые необходимо отслеживать:

  • веб-серверы (порты 80, 443)
  • серверы API (443, 8080)
  • точки подключения VPN
  • SSH-серверы
  • почтовые серверы (порты 25, 587, 993)
  • DNS-серверы
  • порты баз данных, если они открыты наружу
  • удалённый доступ (RDP, порт 3389)
  • панели администратора (/admin, /wp-admin, /phpmyadmin)

Каждый открытый порт — потенциальная точка входа. За каждым сервисом могут скрываться уязвимости.

DNS и домены

Домены и поддомены компании многое говорят атакующему:

company.ru
├── www.company.ru → Основной сайт
├── app.company.ru → Основное приложение
├── api.company.ru → API-сервер
├── staging.company.ru → Тестовый стенд (часто хуже защищён)
├── dev.company.ru → Среда разработки (иногда открыта)
├── mail.company.ru → Почтовый сервер
├── vpn.company.ru → Точка входа VPN
├── jenkins.company.ru → CI/CD (ценная цель)
├── grafana.company.ru → Мониторинг (раскрывает архитектуру)
├── old.company.ru → Старое приложение (забыто, уязвимо)
└── test-12345.company.ru → Тестовый сервер (стандартный пароль?)

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

Уровень приложений

Каждое приложение расширяет поверхность атаки:

КомпонентЭлементы поверхности атаки
АутентификацияФормы входа, сброс пароля, управление сессиями
Работа с файламиЗагрузка и скачивание файлов, обход путей
Пользовательский вводФормы, поиск, API, принимающие данные
APIЭндпоинты, аутентификация, ограничение запросов
Административные интерфейсыПанели администратора, CMS, инструменты работы с БД
Интеграции с третьими сторонамиOAuth, вебхуки, встроенный контент

Облачный уровень

Облачные ресурсы российских провайдеров (Yandex Cloud, VK Cloud, Cloud.ru, Selectel) создают свою поверхность атаки:

РесурсРиск
Объектные хранилища (S3-совместимые)Публичный доступ, включён листинг
Виртуальные машиныОткрытые порты без необходимости
Ключи IAMУтечка ключей, избыточные права
Serverless-функцииВыполнение кода, раскрытие секретов
Реестры контейнеровПубличные образы с встроенными секретами
KubernetesОткрытые дашборды, незащищённые API

Что поручить лидеру безопасности

Лидер безопасности (сотрудник, который берёт на себя вопросы информационной безопасности в команде как дополнительную зону ответственности) не должен лично проводить технический аудит каждую неделю. Задача руководителя — убедиться, что процесс выстроен и регулярно выполняется.

Что лидер безопасности должен организовать

1. Инвентаризация активов. Ведение актуального реестра: все домены и поддомены, облачные аккаунты и проекты, публично доступные IP-адреса, сторонние сервисы с доступом к данным компании. Реестр обновляется при каждом значимом изменении инфраструктуры.

2. Регулярное сканирование внешней поверхности. Не реже одного раза в квартал — проверка, что открыто «снаружи». Инструменты: Nmap (сетевое сканирование), OpenVAS/Greenbone (сканирование уязвимостей), OWASP ZAP (веб-приложения). Для более глубокого сканирования — MaxPatrol VM или XSpider (Positive Technologies), RedCheck (Алтэкс-Софт), Сканер-ВС (Эшелон). Можно привлекать внешних подрядчиков для ежегодного пентеста.

3. Мониторинг изменений. Настройка уведомлений при появлении новых поддоменов, открытии портов, истечении SSL-сертификатов, обнаружении новых уязвимостей в используемом стеке.

4. Приоритизация и устранение. По результатам каждой проверки — краткий отчёт с разбивкой находок по критичности (критические, высокие, средние), назначением ответственных и дедлайнами. Критические уязвимости — в течение 24–48 часов.

Ключевые вопросы для руководителя

При встрече с лидером безопасности спрашивайте:

  • Когда последний раз проводилось сканирование внешней поверхности?
  • Есть ли активы, о которых мы не знали раньше?
  • Какие находки открыты дольше двух недель?
  • Есть ли у нас ресурсы, доступные из интернета без необходимости?

Сокращение поверхности атаки

Обнаружение имеет смысл только если по результатам принимаются решения.

Устранение лишнего

ДействиеКак реализовать
Закрыть неиспользуемые портыПравила межсетевого экрана, группы безопасности, отключение сервисов
Вывести из эксплуатации старые приложенияАудит и деактивация неиспользуемых сервисов
Удалить забытые поддоменыУдаление DNS-записей для нефункционирующих узлов
Отключить неиспользуемые функцииОтключение сервисов, которые не нужны
Закрыть панели администратора от интернетаДоступ только через VPN или по списку IP-адресов
Убрать страницы по умолчаниюУдаление дефолтных страниц веб-серверов

Защита того, что должно быть открыто

Для сервисов, которые обязаны быть публично доступны:

  • Использовать WAF (PT Application Firewall, SolidWall WAF, BI.ZONE WAF или Yandex Cloud Smart Web Security)
  • Включить ограничение запросов (rate limiting)
  • Требовать надёжную аутентификацию; пароли хранить централизованно — в системе управления паролями, например Пассворк
  • Регулярно обновлять ПО
  • Отслеживать аномалии
  • Использовать HTTPS везде
  • Выставлять заголовки безопасности

Сегментация сети

Ограничение радиуса поражения при компрометации одного из компонентов. Трафик проходит через четыре уровня, изолированных друг от друга:

  1. Интернет → WAF / CDN — весь публичный трафик проходит через межсетевой экран приложений или CDN (анти-DDoS: Curator/Qrator, DDoS-Guard, StormWall) до достижения инфраструктуры
  2. DMZ (публичная зона) — веб-серверы, API-шлюз, балансировщик нагрузки; открыты в интернет, но изолированы от внутренних систем
  3. Уровень приложений — серверы приложений и фоновые задачи; доступны только из DMZ, не из интернета напрямую
  4. Уровень данных — базы данных, кэш, хранилища; доступны только с уровня приложений

Серверы баз данных не должны быть достижимы из интернета — только с уровня приложений.

Инструменты для работы с поверхностью атаки

Open-source инструменты (нейтральные, можно развернуть у себя)

ИнструментНазначениеПримечание
NmapСетевое сканирование, обнаружение портов и сервисовБазовый инструмент любого аудита
OpenVAS / GreenboneПолное сканирование уязвимостейDocker-образ доступен
NucleiШаблонное сканирование уязвимостейБольшая библиотека шаблонов
OWASP ZAPСканер безопасности веб-приложенийПодходит для автоматизации в CI
TrivyСканирование контейнеров и IaCИнтеграция с реестрами контейнеров
testssl.shПроверка конфигурации SSL/TLSВыявляет устаревшие протоколы

Российские коммерческие сканеры

ПродуктВендорДля чего
MaxPatrol VMPositive TechnologiesУправление уязвимостями, инвентаризация
XSpiderPositive TechnologiesСканирование периметра
RedCheckАлтэкс-СофтСертифицированный сканер ФСТЭК
Сканер-ВСЭшелонСертифицированный, для защищённых сред

Российские сканеры важны для компаний, которые обрабатывают государственные данные или являются субъектами критической информационной инфраструктуры (КИИ), — там требуются сертифицированные ФСТЭК средства защиты информации (СЗИ).

Как выбрать подход

СитуацияРекомендация
Стартовая точка, бюджет минималенNmap + OpenVAS + OWASP ZAP
Нужна автоматизация и регулярностьMaxPatrol VM или RedCheck + автозапуск
Требования ФСТЭК / КИИСертифицированные СЗИ (RedCheck, Сканер-ВС)
Привлечение внешнего подрядчикаГодовой пентест от аттестованной компании (лицензия ФСТЭК на ТЗКИ)

Практический аудит поверхности атаки

Шаг 1: Инвентаризация известных активов

Зафиксируйте, что у вас есть:

  • Все домены (основной, редиректы, домены для продуктов и маркетинга)
  • Облачные аккаунты и проекты (Yandex Cloud, VK Cloud, Selectel и т.д.)
  • IP-диапазоны офисных и дата-центровских сетей
  • Сторонние сервисы с доступом к данным (CRM, HRM, корпоративный мессенджер, почта)

Шаг 2: Проверка поддоменов

Цель: найти поддомены, о которых вы не знаете. Инструменты — Subfinder, Amass (open-source), данные Certificate Transparency (crt.sh). Вопрос лидеру безопасности: сколько живых поддоменов найдено сверх тех, что в реестре?

Шаг 3: Сканирование портов

Проверка, какие порты и сервисы открыты на публичных IP-адресах. Для каждого открытого порта: нужен ли он в интернете? Актуальна ли версия сервиса? Требуется ли аутентификация?

Шаг 4: Сканирование уязвимостей

Запуск сканера уязвимостей по всем живым публичным хостам. Документирование находок по критичности. Критические уязвимости — немедленно в очередь на устранение.

Шаг 5: Документирование и приоритизация

Результат аудита — краткий отчёт:

УровеньПримеры
КритическиеОткрытый SSH без аутентификации, панель Jenkins без пароля
ВысокиеТестовый стенд с боевой базой данных, устаревшая версия ПО с известными CVE
СредниеОтсутствие заголовков безопасности, TLS 1.0/1.1 всё ещё включён

К каждой находке: ответственный, дедлайн, статус.

Непрерывный мониторинг

Разовый аудит — это хорошо, но недостаточно. Поверхность атаки меняется постоянно:

  • Появляются новые поддомены
  • Разработчики поднимают ресурсы в облаке
  • Сервисы случайно открываются наружу
  • Истекают SSL-сертификаты
  • Обнаруживаются новые уязвимости в используемом ПО

Задача лидера безопасности — настроить автоматизацию так, чтобы при любом из этих событий поступало уведомление.

Что отслеживать и оповещать:

  • Появление новых поддоменов
  • Новые открытые порты
  • Истечение SSL-сертификатов (предупреждение за 30 дней)
  • Новые уязвимости, которые затрагивают используемый стек
  • Учётные данные компании в базах утечек (сервисы DLBI — dlbi.ru)

Типичные ошибки

Единичный аудит без регулярности. Поверхность атаки меняется постоянно. Аудит полугодичной давности не отражает актуальную картину. Настройте регулярное сканирование.

Фокус только на основном домене. Проверяйте домены приобретённых компаний, старые домены продуктов, домены маркетинговых кампаний. Атакующие проверяют их все.

Игнорирование dev и staging окружений. Там часто хуже с безопасностью, но бывают реальные данные. Они — приоритетные цели.

Красивые отчёты без действий. Отчёт без плана устранения не имеет ценности. Назначайте ответственных, ставьте дедлайны, контролируйте выполнение.

Сканирование в пиковое время. Тяжёлое сканирование лучше планировать вне рабочих часов. Некоторые инструменты могут влиять на производительность сервисов.

Управленческий чек-лист

Что должно быть у вас как у руководителя:

  • Актуальный реестр всех публично доступных активов (домены, IP, облачные ресурсы)
  • Лидер безопасности или ответственный за ежеквартальную проверку периметра
  • Процедура: что происходит при обнаружении критической уязвимости (кто исправляет, за сколько часов)
  • Мониторинг SSL-сертификатов (нет истечения неожиданно)
  • Ежегодный внешний пентест силами аттестованного подрядчика

Вопросы для разговора с лидером безопасности:

  1. Сколько публичных активов у нас сейчас — и сколько из них нужно в интернете?
  2. Когда последний раз обновлялся реестр активов?
  3. Есть ли открытые находки из прошлого аудита, которые не устранены?
  4. Что изменилось в инфраструктуре за последние 3 месяца?

См. также

Что дальше

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