Управление поверхностью атаки
Поверхность атаки — всё, что злоумышленник может попробовать использовать как точку входа в вашу компанию: серверы, веб-сервисы, 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-адреса, домены, доступные сервисы.
Внутренняя поверхность атаки — то, что открывается после получения первоначального доступа (например, через скомпрометированный ноутбук сотрудника или фишинговую атаку): внутренние сервисы, базы данных, файловые хранилища.
Управление поверхностью атаки сосредоточено прежде всего на внешней стороне — сокращении того, что атакующий видит снаружи. Но внутренняя поверхность важна для ограничения ущерба после успешного проникновения.
Из чего состоит поверхность атаки компании
Сетевой уровень
Активы, доступные из интернета, которые необходимо отслеживать:
- веб-серверы (порты 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 везде
- Выставлять заголовки безопасности
Сегментация сети
Ограничение радиуса поражения при компрометации одного из компонентов. Трафик проходит через четыре уровня, изолированных друг от друга:
- Интернет → WAF / CDN — весь публичный трафик проходит через межсетевой экран приложений или CDN (анти-DDoS: Curator/Qrator, DDoS-Guard, StormWall) до достижения инфраструктуры
- DMZ (публичная зона) — веб-серверы, API-шлюз, балансировщик нагрузки; открыты в интернет, но изолированы от внутренних систем
- Уровень приложений — серверы приложений и фоновые задачи; доступны только из DMZ, не из интернета напрямую
- Уровень данных — базы данных, кэш, хранилища; доступны только с уровня приложений
Серверы баз данных не должны быть достижимы из интернета — только с уровня приложений.
Инструменты для работы с поверхностью атаки
Open-source инструменты (нейтральные, можно развернуть у себя)
| Инструмент | Назначение | Примечание |
|---|---|---|
| Nmap | Сетевое сканирование, обнаружение портов и сервисов | Базовый инструмент любого аудита |
| OpenVAS / Greenbone | Полное сканирование уязвимостей | Docker-образ доступен |
| Nuclei | Шаблонное сканирование уязвимостей | Большая библиотека шаблонов |
| OWASP ZAP | Сканер безопасности веб-приложений | Подходит для автоматизации в CI |
| Trivy | Сканирование контейнеров и IaC | Интеграция с реестрами контейнеров |
| testssl.sh | Проверка конфигурации SSL/TLS | Выявляет устаревшие протоколы |
Российские коммерческие сканеры
| Продукт | Вендор | Для чего |
|---|---|---|
| MaxPatrol VM | Positive Technologies | Управление уязвимостями, инвентаризация |
| XSpider | Positive 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-сертификатов (нет истечения неожиданно)
- Ежегодный внешний пентест силами аттестованного подрядчика
Вопросы для разговора с лидером безопасности:
- Сколько публичных активов у нас сейчас — и сколько из них нужно в интернете?
- Когда последний раз обновлялся реестр активов?
- Есть ли открытые находки из прошлого аудита, которые не устранены?
- Что изменилось в инфраструктуре за последние 3 месяца?
См. также
- Защита сайта — защита публичного сайта
- Обновления и уязвимости — закрытие найденных уязвимостей
- Разведка угроз — какие угрозы актуальны сейчас
Что дальше
Следующая глава: сообщество лидеров безопасности — как масштабировать безопасность за пределы одного человека, создав сеть лидеров безопасности по всей компании.