Задача
Платформа учит сотрудников компаний распознавать фишинг: рассылает учебные фишинговые письма, проводит тренинги и собирает статистику для службы безопасности. Её переписали на новых технологиях, и новая версия уже работала у клиентов, когда я в неё пришёл. При переписывании легко потерять то, как и зачем работала старая система: рассылки, почта, лицензии, защита.
Две версии одной платформы
Сначала — зрелая платформа Lucy на старых технологиях (Yii 1). Затем — новая версия Cyberdise на Laravel и Vue 3. Смысл тот же, устройство и интерфейс новые. Между ними был перерыв: Lucy — до конца 2021 года, Cyberdise — с ноября 2024.
Что делал в Lucy
Октябрь 2019 — декабрь 2021, 166 задач.
- Ответы на учебные письма. Учёт ответов и встроенный почтовый клиент: служба безопасности видит, как сотрудник отреагировал на письмо, а не только факт доставки.
- Проверки инфраструктуры. В мастер кампаний встроены технические проверки почты и антивируса — например, пройдёт ли письмо с подменённым отправителем. Обучение сотрудников и проверка защиты компании теперь в одном месте.
- Защита самой платформы. Закрыл критичные уязвимости: учебный симулятор фишинга не должен становиться входом для настоящей атаки.
- Поддержка и лицензии. Учёт часов поддержки, счета и лицензии.
- Сборка сервера. Автоматическая сборка готового образа сервера и переход на Ubuntu: новые установки разворачиваются предсказуемо.
Что делал в Cyberdise
Ноябрь 2024 — март 2026, 141 задача. Делал и сервер, и интерфейс.
- Отчёты для руководства — самый крупный блок. Документ в Word по шаблону: статистика рассылок и тренингов, графики, результаты тестов. Оператор выгружает его без ручной сборки в Excel.
- Личный кабинет сотрудника. Приглашения, тренинги, история обучения. Учебные фишинговые письма не видны сотруднику раньше, чем их отправят.
- Расписание рассылок с учётом рабочих часов и часовых поясов: письма приходят днём, а не ночью.
- Синхронизация групп из LDAP и Azure с журналом событий: видно, кого добавили, кого пропустили и почему.
- Оформление под бренд клиента. Логотип, фон и стили для каждого клиента, в том числе для компаний, которые оказывают услуги безопасности своим клиентам.
- Арабский язык с письмом справа налево: меню, вкладки и списки не ломаются, а адреса почты читаются как обычно.
- Роль только для просмотра. Аудитор видит всё, но ничего не может изменить: запрет проверяет сервер, а не только интерфейс.
- PDF-дипломы после тренинга стабильно создаются на рабочем сервере, а не только на компьютере разработчика.
Моя роль
В обеих версиях над платформой работали большие команды. Моя часть — поток сложных задач от сервера до экрана, а не весь код. В новой версии я брал их, уже зная платформу изнутри, поэтому знания о старой версии не потерялись.
Схема системы
Оператор — специалист по безопасности на стороне клиента — работает в Lucy или в Cyberdise. Пунктир между ними — переход со старой версии на новую, а не связь во время работы. Обе версии работают с почтой и учебными атаками; сотрудники заходят в личный кабинет новой версии.