GoPhish: техническая настройка фишинг-тренировки для сотрудников

Статья «Осведомлённость сотрудников» разбирает программу целиком: периодичность, правила безопасного проведения, разбор результатов с людьми. Здесь — отдельно техническая часть: как именно настроить саму рассылку инструментом GoPhish. Проводить тренировку можно только для сотрудников собственной компании, по согласованию с руководством и в рамках зафиксированных правил — не как способ протестировать чужую организацию.
Статья опирается на логику направления «Культура кибербезопасности» из методики зрелости Группы Сбер (источник); это методика для крупных компаний, мы используем её как ориентир и пересказываем своими словами. Проверка выполнена на GoPhish в контейнере с тестовым получателем, без реальной отправки почты, после неё всё удалено.
Что должно получиться
| Уровень | Что это значит на практике |
|---|---|
| 2. Гигиенический | Фишинг-тренировка проводится управляемым инструментом с измеримым результатом (кто перешёл по ссылке, кто ввёл данные), а не разовым письмом без возможности оценить эффект |
Критерии сформулированы нами по мотивам методики, это ориентир, а не оценка соответствия.
Четыре сущности кампании
GoPhish собирает тренировку из четырёх независимых частей, каждую можно переиспользовать в разных кампаниях:
- Шаблон письма — текст, похожий на реальную попытку (например, от имени «ИТ-поддержки» с просьбой обновить пароль).
- Страница — то, что увидит сотрудник после перехода по ссылке: тестовая форма входа, которая не передаёт данные никуда, кроме журнала тренировки.
- Профиль отправки — через какой почтовый сервер уйдут письма.
- Группа получателей — список сотрудников для конкретной кампании.
Управлять всем этим можно через административный интерфейс или через REST API — второе удобно, если тренировки проводятся регулярно и процесс стоит автоматизировать:
curl -k -X POST "https://gophish.internal:3333/api/templates/?api_key=КЛЮЧ" \
-H "Content-Type: application/json" \
-d '{"name":"IT support test","subject":"Обновление пароля","html":"<p>Перейдите по ссылке {{.URL}}</p>"}'
Результат проверки полного цикла
На тестовом стенде через API последовательно созданы шаблон, тестовая страница с полями логина и пароля, профиль отправки (без реального почтового сервера — для проверки механики кампании), группа с одним тестовым получателем и кампания. Дальше — проверка того, что происходит с конкретным получателем на всех этапах:
| Действие | Статус в кампании |
|---|---|
| Кампания создана, письмо поставлено в очередь отправки | Sending |
| Профиль отправки указывает на несуществующий почтовый сервер | Error — GoPhish явно и быстро сообщает об ошибке доставки конкретному адресату, не оставляя её незамеченной |
Переход по индивидуальной ссылке отслеживания (rid=...) |
Clicked Link, тестовая страница открылась корректно |
| Отправка данных через форму на тестовой странице | Submitted Data |
Каждый статус привязан к конкретному получателю, поэтому по итогам кампании сразу видно, кто дошёл до какого шага — это и есть измеримый результат, которого не даёт разовое письмо без отслеживания.
Два отдельных сетевых интерфейса
У GoPhish два разных слушателя, которые легко перепутать: административный интерфейс (управление кампаниями, по умолчанию порт 3333, с TLS) и «фишинговый» сервер, который реально принимает клики и отправку форм от получателей (по умолчанию порт 80, без TLS по умолчанию). Открывать первый в интернет нельзя никогда — это управление всей платформой. Второй открывается наружу ровно настолько, чтобы письма со ссылками работали для получателей, и для него стоит настроить отдельный сертификат, если тестовая страница должна выглядеть как реальный HTTPS-сайт.
Порядок внедрения
- Разверните GoPhish во внутренней или облачной среде, не связанной напрямую с продуктивной инфраструктурой компании.
- Используйте домен, похожий, но не идентичный реальным сервисам компании — цель тренировки научить замечать подделку, а не создать реальный риск путаницы.
- Согласуйте правила тренировки заранее: кто видит результаты, что происходит с «попавшимися» сотрудниками (обучение, не наказание) — подробнее в статье про программу осведомлённости.
- Автоматизируйте регулярный запуск через API, если тренировки проводятся часто, вместо настройки каждой кампании вручную.
- Разбирайте результат с людьми, а не оставляйте только цифру в отчёте — переход по ссылке без последующего разговора не меняет поведение.
Диагностика
| Симптом | Причина и что делать |
|---|---|
Все получатели сразу получают статус Error |
Профиль отправки указывает на недоступный или неверно настроенный почтовый сервер. Проверьте host и учётные данные профиля |
Переход по ссылке не меняет статус на Clicked Link |
URL кампании указывает не на адрес «фишингового» сервера (порт по умолчанию 80), а на административный интерфейс. Проверьте, какой порт указан в поле url кампании |
| Письма попадают в спам у получателей | Ожидаемо и даже полезно для тренировки: обсудите с получателями, что в реальной атаке письмо тоже может быть помечено спам-фильтром, но не всегда |
| Сотрудники жалуются, что тренировка выглядит как настоящая атака | Заранее предупредите о периоде тренировок на уровне компании (без раскрытия конкретных дат) — исчезновение элемента неожиданности не обязательно, но прозрачность программы в целом снижает недовольство |
Где это в модели зрелости
Материал относится к направлению «Культура кибербезопасности» (материалы направления, карта зрелости). Уровень 2 требует, чтобы программа осведомлённости давала измеримый результат: отслеживание по статусам (переход, отправка данных) превращает абстрактную «тренировку» в конкретные цифры для отчёта и для работы с конкретными сотрудниками.
Как проверить
- Административный интерфейс GoPhish не доступен из интернета, только изнутри или по VPN для ответственных.
- Кампания проверена тестовым прогоном (хотя бы на одном внутреннем адресе) перед массовой рассылкой.
- Результаты по каждому получателю (переход, отправка данных) собираются и доступны для отчёта.
- Правила тренировки (кто видит результаты, что происходит с «попавшимися») согласованы и доведены до сотрудников на уровне программы, а не придумываются постфактум.
Источники
- Методика оценки уровня зрелости кибербезопасности компании, Группа Сбер: sberbank.ru.
- Документация GoPhish: docs.getgophish.com; исходный код: github.com/gophish/gophish.


















