
Если вы читаете это не из праздного любопытства, значит, перед вами, скорее всего, стоит вопрос: насколько на самом деле защищена информационная система, за которую вы отвечаете. Внешний пентест от серьёзной компании стоит от трёхсот тысяч рублей и занимает недели, а бюджет на него выделяют не всегда. Но это не повод закрывать глаза: приличную часть проблем реально найти самому за выходные — если действовать по плану, а не запускать наугад пару «хакерских» утилит и смотреть, что выпадет.
Дисклеймер, который должен быть в начале, а не в конце: всё, о чём пойдёт речь ниже, касается только ваших собственных систем и систем, на проверку которых у вас есть письменное разрешение. Сканировать чужие сети «просто посмотреть» — это статья 272 УК РФ, а не этичный хакинг. Мы здесь про защиту, а не про приключения.
Аудит или пентест: в чём разница и что вам нужно
Пентест имитирует действия реального злоумышленника: он ищет путь снаружи внутрь, эксплуатирует уязвимости и пытается закрепиться в системе. Аудит — это оценка текущего состояния: конфигурация, обновления, права доступа, процессы. Для самостоятельной проверки реалистичен именно аудит. Вы не будете писать эксплойты, но системно пройдётесь по слоям защиты и вытащите на свет то, что обычно и приводит к инцидентам.
Хорошая новость: большинство реальных взломов происходит не из-за хитрых zero-day, а из-за элементарных вещей — забытого сервиса с дефолтным паролем, устаревшей библиотеки или секрета, закоммиченного в публичный репозиторий. И всё это находится обычной методичной проверкой, без магии.

Шаг 0. Инвентаризация: сначала понять, что защищаем
Самый частый провал аудита случается до его начала: вы проверяете то, что помните, а проблема живёт в том, что забыли. Начните с полного списка активов. Не поленитесь — именно этот список станет основой всего дальнейшего.
- серверы и виртуальные машины, включая «экспериментальные» в облаке, о которых уже все забыли;
- веб-приложения, API, базы данных и очереди сообщений;
- рабочие станции и ноутбуки сотрудников;
- внешние сервисы: CRM, почта, файлообменники, подрядчики с доступом к вашим системам;
- сетевая инфраструктура: роутеры, VPN-шлюзы, точки доступа Wi-Fi.
Если не можете заполнить этот список за час — это уже результат аудита, причём неутешительный. Никакой инструмент не спасёт систему, о существовании которой вы не знаете.
Шаг 1. Внешний периметр: что смотрит наружу
Возьмите список публичных IP и доменов и посмотрите, какие порты реально открыты наружу. Бесплатного Nmap с определением версий сервисов (ключ -sV) хватит, чтобы получить картину за вечер. Вопрос не в том, как «взломать», а в том, что отвечает на запросы из интернета.
Нормальная ситуация: наружу торчат 80-й и 443-й порты веб-сервера, SSH скрыт за VPN или ограничен по IP, а базы данных и админки извне не видны вообще. Если вы обнаружили наружу MongoDB, Redis или панель управления без ограничений доступа — это уже готовая строка в отчёте об инциденте, а не «мелочь, потом поправим».
Для веб-сервисов проверьте конфигурацию TLS: утилита testssl.sh покажет устаревшие протоколы и слабые шифры, а SSL Labs даст понятную оценку от A до F. Оценка ниже B — повод разобраться. Заодно посмотрите заголовки безопасности ответов: отсутствие CSP, HSTS и X-Content-Type-Options у веб-приложения — типичная находка, которая закрывается за полчаса.
Шаг 2. Обновления и известные уязвимости
Дальше — проверка на известные CVE. Тут не нужны «волшебные» коммерческие сканеры: для старта хватает связки бесплатных инструментов.
- OpenVAS (Greenbone) — сканер сети, ищет устаревшие версии ПО и известные уязвимости на хостах;
- Trivy — проверка образов контейнеров и файловой системы на CVE, бесплатный и быстрый;
- WPScan — если у вас есть WordPress, это отдельная вселенная боли;
- бюллетени вендоров: рассылки или RSS вместо чтения новостей про «очередной апокалипсис».
Главное — не просто запустить сканер, а назначить ответственного за обновления и сроки. Уязвимость, о которой вы узнали в день выхода патча и закрыли через месяц, — это месяц, когда вы работали с открытой задолженностью перед злоумышленниками. Особое внимание публичным сервисам: их патчат первыми.
Шаг 3. Код, секреты и CI/CD
Если у вас есть собственная разработка, аудит не заканчивается на серверах. Первое и самое больное — секреты в репозиториях. Пароли, токены и ключи доступа, закоммиченные в git, живут там вечно: даже если вы удалили файл, история коммитов его сохранила.
Проверка простая: прогоните по репозиториям Gitleaks или TruffleHog. Обе утилиты бесплатные, ищут ключи, пароли и токены по сигнатурам и подозрительным строкам. Нашли — считайте секреты скомпрометированными: ротация обязательна, а не «удалим и закоммитим заново». Дальше настройте ту же проверку в CI/CD, чтобы новый секрет не проскочил в основную ветку.
Попутно посмотрите, что происходит в пайплайне: не хранятся ли переменные окружения в открытом виде в конфигах сборки, не собирается ли образ с правами root, не тянет ли CI/CD зависимости из непроверенных источников. Это DevSecOps-гигиена, и именно она отличает систему, которую можно развивать, от системы, которую останется только переписывать после утечки.
Шаг 4. Зависимости: supply chain бьёт по всем
Отдельная строка аудита — сторонние библиотеки и пакеты. Историй, когда уязвимость в популярной зависимости ложила тысячи проектов, хватает: от Log4Shell до бэкдора в xz-utils. Если ваше приложение собирается из сотен пакетов, вы отвечаете за каждый из них.
Для языковых экосистем есть встроенные средства: npm audit, pip-audit, cargo audit, composer audit. Плюс общие SCA-инструменты вроде OWASP Dependency-Check, которые сверяют ваш список зависимостей с базами CVE. Механика простая: собираете lock-файлы, прогоняете проверку, смотрите на критичные уязвимости и решаете — обновить или осознанно принять риск.
Важный нюанс: обновление зависимостей — не разовая акция перед аудитом, а регулярный процесс. Договоритесь с командой, что проверка зависимостей входит в definition of done каждой задачи. Иначе через месяц картина будет ровно такой же, как до аудита.
Шаг 5. Конфигурация и «базовые» настройки
Теперь пройдитесь по конфигурации систем, которые нашли в шаге 0. Чек-лист короткий, но результативный:
- смените все дефолтные пароли и учётные записи: на сетевом оборудовании, в БД, в панелях управления — везде;
- проверьте, что нет учёток без пароля и гостевых доступов;
- включите многофакторную аутентификацию везде, где она поддерживается, — начиная с почты, VPN и админок;
- посмотрите права доступа: есть ли у рядовых сотрудников доступ к серверам и БД «на всякий случай»;
- удалите учётные записи уволившихся сотрудников — классика, но именно на ней ловят каждого второго.
Если хочется структуры — возьмите OWASP ASVS и пройдитесь по уровню L1 для своих веб-приложений. Это готовый список проверок по аутентификации, управлению сессиями, контролю доступа и валидации ввода. Читать целиком за один вечер не нужно: выберите разделы под свою систему и честно отвечайте «да» или «нет» на каждый пункт. Там, где «нет», — ваш план работ на ближайшие месяцы.
Шаг 6. Логи и мониторинг: видите ли вы атаку
Система, которая не пишет логи, — это чёрный ящик: инцидент в ней обнаруживают по счёту из банка или звонку клиента. Проверьте, что у вас есть:
- централизованный сбор логов с ключевых систем: веб-серверов, межсетевых экранов, VPN, контроллера домена;
- хранение логов хотя бы 90 дней — по требованиям 152-ФЗ и просто по здравому смыслу;
- оповещения о подозрительных событиях: множественные неудачные входы, активность в нерабочее время, изменение конфигурационных файлов.
Для старта не нужен дорогой SIEM: связки Elasticsearch — Logstash — Kibana или просто системный журнал с настроенными алертами закрывают 90% потребностей малого бизнеса. Проверка простая: зайдите ночью в свою систему несколько раз с неверным паролем и посмотрите, увидит ли кто-нибудь это. Если нет — мониторинг у вас декоративный.
Шаг 7. Бэкапы и восстановление — честный тест
Последний, но, возможно, самый важный пункт: резервные копии. Аудит защищённости без проверки бэкапов — это техосмотр без проверки тормозов. Уточните три цифры: как часто делаются копии (RPO), сколько времени займёт восстановление (RTO) и — главное — когда вы в последний раз реально восстанавливались из бэкапа.
Если ответ «давно» или «никогда» — проведите тестовое восстановление на отдельной системе. Бэкап, из которого нельзя подняться, — это не защита, а самоуспокоение. Отдельно проверьте, что копии хранятся отдельно от основной системы и что до них нельзя дотянуться через ту же уязвимость, через которую шифровальщик доберётся до серверов.
Чек-лист: с чего начать в эти выходные
- Составьте список активов и отметьте, что из него смотрит в интернет.
- Просканируйте внешний периметр: открытые порты, версии сервисов, TLS.
- Проверьте обновления на публичных серверах и назначьте даты закрытия найденных CVE.
- Прогоните Gitleaks по репозиториям и настройте проверку секретов в CI/CD.
- Соберите lock-файлы и проверьте зависимости на известные уязвимости.
- Пройдитесь по дефолтным паролям, MFA и правам доступа.
- Убедитесь, что логи собираются и алерты реально доходят до людей.
- Сделайте тестовое восстановление из бэкапа и зафиксируйте время.
По каждому пункту заведите список находок с приоритетами: критичное закрываем в течение недели, остальное — в план на квартал. Через три-шесть месяцев повторите аудит: удивитесь, как много изменится, если подходить к делу системно.
Что аудит своими силами не заменит
Честно, без самообмана: самостоятельный аудит не заменяет профессиональный пентест. Свежий взгляд со стороны находит то, к чему вы привыкли и перестали замечать, а специалисты проверяют сценарии атак, которые домашними утилитами не воспроизвести. Но для малого и среднего бизнеса с ограниченным бюджетом аудит своими силами — это не замена пентесту, а его фундамент: закрыв базовые проблемы, вы сделаете так, что дорогой внешний пентест не превратится в список из «дефолтных паролей и забытого Redis».
И последнее: аудит — это не разовая акция перед отчётом руководителю, а регулярная привычка. Система, которую проверили один раз и успокоились, через полгода снова обрастает уязвимостями. Проходите по чек-листу хотя бы раз в квартал — и большинство громких историй из новостей обойдут вас стороной.