152-ФЗ и обучение: в чём риск

Каждый пользователь Moodle — ФИО, email, должность, отдел, даты, оценки, прогресс обучения. Это персональные данные (ПДн). Если хотя бы один пользователь — гражданин РФ, их обработка регулируется 152-ФЗ «О персональных данных» и ужесточающим 242-ФЗ.

Штрафы за утечку ПДн: до 1,5 млн рублей при первом нарушении, до 6 млн рублей при повторном — плюс блокировка обработки данных на срок до 6 месяцев. Для бизнеса с 1 000+ пользователей остановка LMS на полгода — не штраф, а катастрофа с обучением персонала, compliance-отчётностью и аттестацией.

Дополнительный уровень — Google Fonts, Google Analytics, зарубежные CDN. Если на Moodle-портале подгружается шрифт с fonts.googleapis.com — IP-адрес пользователя уходит за рубеж. В ряде отраслей (фармацевтика, банки, госсектор) это прямое нарушение. Как мы убирали Google Fonts с lms-service.ru — описано в статье про кастомизацию темы.

Мы проектировали безопасные Moodle-порталы для ВТБ, Аэрофлота и других компаний с жёсткими требованиями. Знаем, как спроектировать LMS, чтобы она проходила аудит с первой попытки.

Где в Moodle хранятся персональные данные

Чтобы защитить данные, нужно знать, где они живут. В Moodle ПДн распределены по десяткам таблиц.

Профили пользователей
ФИО, email, телефон, организация, должность. Таблицы: user, user_info_data.

Результаты обучения
Оценки, статусы прохождения, временные метки, попытки тестов. Таблицы: grade_grades, quiz_attempts, course_completion.

Активность и логи
IP-адреса, user-agent, действия в системе. Таблицы: logstore_standard_log.

Файлы
Загруженные документы, аватарки, подтверждающие файлы. Каталог: filedir в moodledata.

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

Как мы обеспечиваем безопасность Moodle

Архитектура защищённого Moodle-портала строится на нескольких уровнях. Ни один из них нельзя пропустить.

Разграничение доступа (RBAC)
Ролевая модель Moodle — встроенный механизм, но его мало включить. Мы проектируем роли под задачи: кто видит оценки, кто может зачислять, кто управляет курсами. Минимально необходимые права — принцип, при котором администратор по умолчанию не видит данные пользователей за пределами своей зоны ответственности.

Шифрование каналов и данных
TLS 1.3 на всех эндпоинтах. База данных — шифрование на уровне диска. Файлы пользователей — шифрование на стороне хранилища. Резервные копии — шифрованные и с ограниченным сроком хранения.

Аудит доступа и действий
Все действия администраторов и преподавателей логируются. Кто, когда и зачем менял права пользователя — цепочка не рвётся. Подробнее о мониторинге — на странице технической поддержки Moodle.

Локализация данных
ПДн гражданина РФ должны обрабатываться на территории РФ. Moodle устанавливается на серверы в РФ (VK Cloud, Yandex Cloud, Selectel, собственный ЦОД). Никаких CDN, Google Fonts, зарубежных рекапч. Все внешние запросы — только на российские серверы. Подробнее об отказоустойчивой инфраструктуре — на странице кластера серверов.

Разработка без уязвимостей
Каждый плагин или доработка проходит код-ревью на OWASP Top 10. SQL-инъекции, XSS, CSRF — базовый минимум, который исключается на этапе написания кода. При интеграциях с внешними системами мы используем безопасные протоколы обмена.

Стандартная установка Moodle небезопасна. admin/admin, открытые веб-сервисы, дефолтный prefix таблиц, debug mode на проде — это не шутки. Мы видели порталы, где любой мог зайти в отчёты через прямой URL. Поэтому после установки мы проводим аудит и закрываем каждую дыру.

Аттестация ФСТЭК: что нужно знать

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

Что входит в аттестацию Moodle-портала:

Модель угроз
Кто может атаковать? Какие каналы? Какие данные под угрозой?

Политика безопасности
Парольная политика (длина, срок действия, блокировка после N попыток), политика резервного копирования, политика реагирования на инциденты.

Сертифицированные средства защиты
Межсетевой экран, СЗИ от НСД, антивирусная защита — всё должно быть сертифицировано ФСТЭК.

Документирование
Акты классификации, частное техническое задание, организационно-распорядительная документация. Moodle-портал — не просто сервер с обучением, а аттестованный объект.

Мы проходили аттестацию для Moodle-порталов банковского уровня. Если нужна LMS, а не просто Moodle «для галочки» — смотрим в сторону индивидуальных LMS на Moodle с закладкой безопасности на этапе проектирования.

Пример из нашего опыта

Для финансовой организации (4 000+ пользователей)

Задача: Moodle-портал с аттестацией ФСТЭК по классу защищённости 1Г (государственная информационная система). Все ПДн — на серверах в РФ. Внешние запросы — только внутри контура.

Мы спроектировали архитектуру с нуля: изолированный контур, сертифицированный межсетевой экран, шифрование на всех уровнях. Весь кастомный код прошёл аудит на OWASP Top 10. Разграничение доступа — 15 ролей с минимальными правами. Аутентификация — через SAML с корпоративным IdP.

Результат: аттестация ФСТЭК пройдена с первой попытки. За три года эксплуатации — ни одного инцидента безопасности. Сейчас портал обслуживается в рамках технической поддержки Moodle. Другие кейсы — в разделе наших проектов.

Почему мы это знаем

Мы занимаемся Moodle с 2014 года. Проектировали безопасные LMS для ВТБ (с высочайшими требованиями к защите данных), Аэрофлота (авиационная безопасность), промышленных компаний с обязательной аттестацией. Каждый проект — отдельная модель угроз, своя политика безопасности и свой путь через аудит.

Понимаем, что безопасность — не галочка «поставили сертификат». Это архитектура, начинающаяся с проектирования. И знаем, как сделать LMS, которая не сломается на первом же аудите.