Аудит передачи файлов: отслеживайте кто что скачал
Внедрите аудит передачи файлов для соответствия и безопасности. Отслеживайте загрузки, время доступа и создавайте отчёты.
Журнал аудита передачи файлов фиксирует каждое значимое событие в жизни передачи — загрузку, попытки ввода пароля, успешную аутентификацию, переданные диапазоны байт, IP-адреса, User-Agent и финальное удаление — в append-only лог, который переживает сбои диска и удовлетворяет требованиям GDPR статья 30, HIPAA 164.312(b), SOC 2 CC7.2 и PCI DSS 4.0 требование 10. Журнал отвечает на вопрос, который задаёт каждый специалист по реагированию на инциденты в 2 ночи: кто скачал PDF, когда, откуда и с какого устройства. Без журнала вы лишь строите предположения.
Какие события включать в лог
Шесть событий охватывают большинство криминалистических сценариев. Первое — завершение загрузки: IP отправителя, размер файла, SHA-256 шифротекста, заявленный MIME-тип. Второе — создание ссылки: срок действия, максимальное число скачиваний, признак пароля, признак 2FA. Третье — попытки доступа: временная метка, префикс /24 IP-адреса, булева корректность пароля, семейство User-Agent. Четвёртое — начало скачивания: идентификатор сессии, первый обслуженный байт. Пятое — завершение скачивания: общее число байт, продолжительность, код HTTP 2xx/4xx. Шестое — удаление: триггер (истечение срока, достижение максимума, ручная отзыва), временная метка, подтверждение затирания. Пропустите любое из них — аудитор заметит пробел.
Append-only хранилище, устойчивое к подделке
Лог должен быть защищён от изменения даже администраторами. Один подход: записывать события в бакет AWS S3 с Object Lock в режиме Governance (Compliance mode для HIPAA) и 90-дневным сроком хранения. Другой вариант: потоковая передача в ClickHouse с гарантией FINAL в MergeTree, хешированием в ежедневные корни Merkle, публикуемые на публичной доске объявлений. Блокчейн-анкоринг — отметка ежедневного корня в Bitcoin через OpenTimestamps — обходится примерно в $0,30 в день и даёт криптографическое доказательство того, что ни одно событие не было подделано. Для большинства команд достаточно S3 Object Lock с разделением IAM-полномочий.
Структурированные форматы, понятные аудиторам
JSON Lines работает, но аудиторы предпочитают RFC 5424 syslog или более новый OCSF (Open Cybersecurity Schema Framework) для приёма данных в SIEM. Каждое событие получает поля activity_id, severity_id, time, actor.user.email_hash, src_endpoint.ip, file.hashes.sha256. Splunk, Datadog и Elastic разбирают OCSF нативно. Для небольших команд экспорт в CSV с колонками (timestamp_utc, event_type, transfer_id, ip_hash, outcome, bytes), помещённый в общий диск ежеквартально, удовлетворяет требованиям к доказательствам без покупки лицензии SIEM.
Обработка IP-адресов по GDPR
IP-адреса являются персональными данными по GDPR (подтверждено решением по делу Breyer v. Germany, 2016). Логировать полные IP-адреса бессрочно нельзя. Хешируйте их с помощью HMAC-SHA256 с ежедневно ротируемым ключом — это нарушает корреляцию спустя 24 часа, сохраняя при этом внутридневную криминалистику. Сырые IP-адреса храните только в ходе активного расследования с задокументированным законным интересом по статье 6(1)(f). Некоторые сервисы хранят лишь префикс /24 — сохраняется геолокация, но убирается индивидуальная атрибуция, что является разумным компромиссом для бесплатного уровня. Задокументируйте свой выбор в политике конфиденциальности, чтобы субъекты данных могли воспользоваться правами по статье 15.
Синхронизация времени и неотказуемость
Журнал аудита достоверен, только если временные метки точны. Запустите chrony или systemd-timesyncd против серверов NIST или time.cloudflare.com и включайте в каждое событие поле clock_skew_ms, чтобы криминалистический аналитик знал доверительный интервал. Для неотказуемости подписывайте каждый файл лога с помощью Ed25519, используя ключ, хранящийся в AWS KMS или YubiHSM. Подпись доказывает, что лог не был изменён постфактум и не мог быть подделан без компрометации HSM — такое доказательство принимает суд.
Сроки хранения по требованиям различных регуляторов
Разные нормативные базы требуют разных периодов хранения. HIPAA предписывает 6 лет с даты создания или последнего использования — в зависимости от того, что позже (45 CFR 164.316(b)(2)). PCI DSS 4.0 требует 12 месяцев в быстром доступе плюс ещё 12 в холодном хранении. SOC 2 предоставляет это на усмотрение вашей политики, однако аудиторы с неодобрением смотрят на срок менее года. GDPR статья 5(1)(e) гласит «не дольше, чем необходимо» — интерпретируйте это как соответствие сроку хранения деловых документов, которые поддерживает лог. Задайте хранение на уровне клиента в схеме базы данных и запускайте ежемесячное задание очистки, повторно подписывая оставшиеся сегменты.
Отчёты, понятные людям
Сырые логи не удовлетворяют запросы регулятора. Создайте генератор отчётов, фильтрующий по идентификатору передачи, диапазону дат или хешу email получателя и формирующий PDF с временной меткой, логотипом компании, таблицей событий и подписью Ed25519, подтверждающей подлинность. Включите титульную страницу с SHA-256 самого отчёта — получатель сможет обнаружить модификацию. Инструменты WeasyPrint или Typst делают это аккуратно из шаблона Jinja2. HexaTransfer экспортирует отчёты как в PDF, так и в CSV — аудиторы, как правило, запрашивают оба формата.
Оповещение об аномалиях
Журнал бесполезен, если его никто не читает. Определите правила срабатывания оповещений: более 5 неверных попыток ввода пароля за 10 минут, скачивания с IP-диапазона, не соответствующего стране отправителя, доступ к медицинским файлам вне рабочих часов, любой всплеск 4xx по одной ссылке. Направляйте оповещения в PagerDuty для SOC-команд или в Slack-вебхук для одиночных операторов. Ежеквартально корректируйте пороги: шумные оповещения игнорируют, что сводит цель на нет. Задокументируйте набор правил, чтобы аудиторы видели: вы думали не только о логировании, но и об обнаружении.
Удаление как зафиксированное событие
Последняя запись в жизни передачи — её стирание. Зафиксируйте триггер (таймер истечения срока, достижение максимального числа скачиваний, ручная отзыва), метод затирания (число проходов, тип устройства) и SHA-256 региона диска после удаления — как доказательство того, что ничего распознаваемого не осталось. Это важно для подтверждений права на удаление по статье 17 GDPR и пороговых значений уведомления о нарушении HIPAA. Лог об удалении переживает сам файл — иногда на годы — и именно так должна вести себя система, соответствующая требованиям регуляторов.
Попробуйте на hexatransfer.com — бесплатно, без регистрации, до 10 ГБ.
Безопасная отправка больших файлов со сквозным шифрованием
Передавайте файлы до 10 ГБ бесплатно со сквозным шифрованием. Регистрация не требуется. Ваши файлы шифруются в браузере перед загрузкой — никто другой не может их прочитать.
Отправить файл