АйТи Фреш
Главная / Статьи / Информационная безопасность
Информационная безопасность

Аудит прав доступа к файлам: кто что читает в вашей сети и как это проверить за полдня

Автор: Семёнов Евгений Сергеевич, директор ООО «АйТи-Фреш» · 2026-06-25
Аудит прав доступа к файлам: кто что читает в вашей сети и как это проверить за полдня

Месяц назад позвонил клиент — небольшая юридическая фирма, 12 человек. Нас волновал один вопрос: бывший помощник юриста ушёл некрасиво, и директор не спал уже третью ночь подряд, потому что никто в компании не мог ответить на простое — а был ли у него доступ к папке с договорами? Мы приехали, запустили несколько скриптов, и через три часа знали всё. Оказалось, у бывшего была полная запись в восемь из двенадцати общих папок. Вот об этом и поговорим.

Откуда берётся бардак с правами доступа

Я занимаюсь IT-аутсорсингом больше восьми лет. За это время могу по пальцам одной руки пересчитать случаи, когда в небольшой компании права на файлы были в порядке. Не потому что люди безответственные. Просто так устроена жизнь малого бизнеса: нет штатного сисадмина, нет политики, нет времени. Есть задача — дать Маше доступ к папке с накладными. Маше дали. Потом Маша ушла, пришла Катя — Кате тоже дали. Через три года в папке «Договоры» сидит половина офиса, включая курьера и бухгалтерскую практикантку, уволившуюся ещё в 2022 году.

Отдельный «привет» достаётся группе Everyone. Это встроенная группа Windows, в которую входят буквально все — все локальные пользователи, все, кто подключится по сети. Кто-то когда-то выдал на «Общий диск» права Everyone с Full Control. Удобно же — никто не жалуется, все видят всё. Жалуются потом, когда что-то пропадает или оказывается в чужих руках. Мы такое видим регулярно: в торговых компаниях, в медклиниках, в небольших производствах.

И отдельная история — унаследованные права. Это когда права задаются на верхнюю папку и автоматически расползаются по всем вложенным. Звучит удобно. На практике это значит, что менеджер по продажам, которому дали доступ к папке «Проекты», видит ещё и подпапку «Финансовые модели», и «Переговоры с инвесторами», и то, что туда случайно положили пять лет назад. Никто об этом не знал. До аудита.

Что именно мы ищем: карта опасных мест

Прежде чем запускать скрипты, нужно понять, что считать проблемой. У меня есть простой список «красных флагов». Первый — группа Everyone или Authenticated Users с правами Write или Full Control на чувствительные папки. Бухгалтерия, кадры, договоры, резервные копии — это не для всех. Второй флаг — конкретные пользователи с правами, которых у них быть не должно по должности. Менеджер с доступом к зарплатной ведомости — это проблема, даже если он честный человек.

Третий флаг — права уволенных сотрудников. Классика. Человека уволили, учётку в Windows отключили (хорошо если), а права на папки остались висеть. Технически отключённая учётка не войдёт в систему — но если её вдруг активируют снова, или если у бывшего есть пароль от какого-то общего аккаунта типа «admin» с паролем «1234», права сыграют свою роль. Четвёртый флаг — папки без явно заданных прав, которые живут только на наследовании. Их сложнее контролировать, и они чаще всего становятся сюрпризом при проверке.

Ещё момент, который многие упускают: права на чтение тоже бывают лишними. Люди обычно думают — ну и ладно, пусть читает, главное не пишет. Но если менеджер по продажам может прочитать условия всех договоров с поставщиками — это уже утечка коммерческой информации. Особенно если он собирается уходить к конкуренту. Принцип минимальных привилегий работает для чтения ровно так же, как для записи.

Подготовка: без Active Directory тоже можно

Хорошая новость: для базового аудита прав не нужна Active Directory, не нужен корпоративный домен и не нужно ничего покупать. Нужен Windows — хоть Server, хоть обычный Windows 10/11 Pro — и права локального администратора на той машине, где лежат файлы. Всё остальное уже встроено в систему. Никаких лицензий на дополнительный софт, никаких трёхмесячных проектов внедрения.

Перед запуском скрипта составьте список того, что проверяем. Обычно это сетевые папки на файловом сервере или на рабочей станции, которая играет роль «общего диска». Запишите конкретные пути: C:\Shared\Бухгалтерия, C:\Shared\Договоры, C:\Shared\Кадры. Это будет наш список для проверки. Если у вас несколько машин с расшаренными папками — лучше запускать скрипт на каждой отдельно, не пытаясь объять всё через UNC-пути сразу.

Кстати, прямо сейчас откройте оснастку «Управление компьютером» — compmgmt.msc — и посмотрите раздел «Общие папки» — «Общие ресурсы». Там видно, что вообще расшарено по сети и с какими именами. Иногда обнаруживается что-то неожиданное: папка с названием просто «Диск» и полным доступом для всех, или расшаренный корень диска. Это уже первая находка до всяких скриптов. У одного нашего клиента-автодилера так нашли расшаренную папку с резервными копиями баз 1С — открытую на запись для всей сети. Хранили там бэкапы четыре года, не подозревая, что любой офисный компьютер мог их удалить или забрать.

PowerShell-скрипт: получаем полную картину за 20 минут

В PowerShell есть командлет Get-Acl — он возвращает список прав (ACL, Access Control List) для любой папки или файла. В сыром виде его вывод читать неудобно: многострочный объект, плохо фильтруется. Поэтому пользуюсь небольшим скриптом, который обходит папки рекурсивно и выводит всё в CSV. Файл потом открываем в Excel и работаем с ним как с обычной таблицей — сортируем, фильтруем, подсвечиваем нужное.

Запускаем PowerShell от имени администратора. Вставляем следующий код: $paths = @('C:\Shared\Бухгалтерия', 'C:\Shared\Договоры', 'C:\Shared\Кадры'); $report = @(); foreach ($basePath in $paths) { Get-ChildItem -Path $basePath -Recurse -Directory -ErrorAction SilentlyContinue | ForEach-Object { $acl = Get-Acl -Path $_.FullName -ErrorAction SilentlyContinue; if ($acl) { foreach ($access in $acl.Access) { $report += [PSCustomObject]@{Папка=$_.FullName; Субъект=$access.IdentityReference; Права=$access.FileSystemRights; Тип=$access.AccessControlType; Наследование=$access.IsInherited} } } } }; $report | Export-Csv -Path "$env:USERPROFILE\Desktop\rights_audit.csv" -Encoding UTF8 -NoTypeInformation. Файл rights_audit.csv появится прямо на рабочем столе. На 500 папках скрипт работает около 3–5 минут, на тысяче — 10–15.

Альтернатива для тех, кто боится PowerShell, — утилита icacls, встроенная во все версии Windows. Открываем обычную командную строку от администратора и пишем: icacls "C:\Shared" /T > C:\rights.txt. Ключ /T — рекурсивный обход всех вложенных папок. Результат будет в текстовом файле — менее удобно для анализа, зато читаемо прямо в Блокноте. Третий вариант совсем без командной строки: щёлкаем правой кнопкой по папке, «Свойства» — «Безопасность» — «Дополнительно». Там видно дерево прав с наследованием. Но вручную это занимает часы при любом разумном количестве папок, поэтому для полноценного аудита — только скрипт.

Читаем результат: что нормально, а что тревожно

Открываем CSV в Excel. Первое, что делаем — фильтруем колонку «Субъект» по значениям Everyone, Authenticated Users и BUILTIN\Users. Всё, что нашлось с правами Write, Modify или FullControl — подсвечиваем красным. Это первый приоритет для исправления. В 80% аудитов малых компаний именно здесь живёт самое неприятное. Иногда находим права Everyone / FullControl на три-четыре папки сразу — и это уже повод для серьёзного разговора с руководством.

Дальше смотрим на конкретных пользователей. Видим что-то вроде DESKTOP-ABC123\Марина.Петрова с правами FullControl на папку «Зарплатные ведомости» — идём к директору и спрашиваем: Марина Петрова вообще кто? Часто выясняется, что человек давно не работает. Или что Марина — рядовой бухгалтер, которой достаточно только читать эти файлы, но никак не изменять их. Колонка «Наследование» тоже важна: TRUE означает, что право пришло от родительской папки. Само по себе это не плохо — но стоит проверить, откуда именно наследуется и было ли это намеренным решением.

Особое внимание — правам типа Deny в колонке «Тип». Это явные запреты, и они приоритетнее любых разрешений: если одновременно есть Allow и Deny для одного пользователя, работает Deny. Запреты в небольших сетях встречаются редко и обычно означают, что кто-то когда-то пытался «починить» доступ нестандартным способом — добавил Deny вместо того, чтобы убрать лишний Allow. Как правило, такие записи лучше убрать и переделать чисто.

Исправляем права: конкретные шаги без риска сломать всё

Самое важное правило перед любыми изменениями: сначала документируем, потом меняем. Тот CSV-отчёт, который мы получили — это baseline, исходная точка. Сохраните его с датой в названии: rights_audit_2025-06-25.csv. Когда через полгода что-то сломается и кто-то скажет «а раньше работало», у вас будет что показать. Без этого вы будете восстанавливать права по памяти — это плохо заканчивается.

Общий принцип исправления прост: убираем широкие группы Everyone и Authenticated Users с правами записи, добавляем конкретных пользователей или локальные группы с минимально необходимыми правами. Например, для папки «Бухгалтерия» создаём локальную группу «Бухгалтеры», добавляем туда Иванову и Петрову, даём группе Modify. Директору — только Read. Остальным — ничего. Управлять группой потом куда удобнее: пришёл новый бухгалтер — добавили в группу, ушёл старый — убрали. Права самой папки при этом не трогаем вообще.

Когда меняете права на папку с большим количеством вложенных объектов — используйте опцию «Заменить все записи разрешений дочерних объектов наследуемыми» осторожно. Она сбросит все ранее выставленные вручную права на подпапках. Иногда это именно то, что нужно — навести порядок сверху вниз. Иногда нет. У одного клиента в папке «Проекты» была подпапка «Архив 2019», на которой специально стоял запрет записи для всех, кроме директора. После применения «сброса» этот запрет слетел вместе со всем остальным. Хорошо, что мы работали по чек-листу и заметили пропажу до того, как папку тронул кто-то посторонний.

Делаем аудит регулярным: раз в квартал и без лишних усилий

Один аудит — это хорошо. Но права — живая вещь. Люди приходят и уходят, папки добавляются, кто-то «временно» выдаёт доступ и забывает отозвать. Поэтому аудит должен быть регулярным. Самый простой способ — добавить запуск нашего скрипта в Планировщик задач Windows. Открываем taskschd.msc, создаём задачу, ставим запуск раз в три месяца, выбираем «Запускать с наивысшими правами». Скрипт тихо отработает ночью и положит новый CSV в нужную папку — без вашего участия.

Чтобы не забывать проверять результат, добавьте в конец скрипта строку Send-MailMessage с отправкой файла на свою почту — это два часа работы один раз. Или просто поставьте напоминание в календарь: «первое число каждого квартала — смотрю права». Звучит банально, но работает. Стоимость игнорирования этой задачи я однажды наблюдал лично: небольшая торговая компания, 18 человек. Ушёл менеджер по продажам, унёс клиентскую базу — потому что у него был Read на всю папку с CRM-выгрузками в формате Excel. Права никто не пересматривал три года. Ущерб от потери клиентов они оценивали в 800 тысяч рублей. Цена аудита — ноль рублей и полдня времени.

Если хотите чуть более продвинутый мониторинг — включите аудит событий доступа к файлам через локальную политику безопасности: secpol.msc — «Локальные политики» — «Политика аудита» — «Аудит доступа к объектам». После этого в Журнале событий Windows при обращении к файлам с настроенной аудиторской SACL будут появляться записи с Event ID 4663. Это уже не инвентаризация прав, а мониторинг реального использования: кто, когда и какой файл открыл. Мощный инструмент — но требует свободного дискового пространства под логи и понимания, как читать Event Viewer. Для начала достаточно квартального скрипта и внимательного взгляда на результаты: это уже на порядок лучше, чем ничего.

Частые вопросы

Нужен ли Active Directory для аудита прав на файлы?
Не нужен. PowerShell-командлет Get-Acl и утилита icacls работают на любой версии Windows, включая обычные рабочие станции с Windows 10/11 Pro. Для небольших сетей без домена этого вполне достаточно, чтобы получить полную картину того, кто и что видит на общих папках. Active Directory добавляет удобство управления группами, но не является обязательным условием для проведения аудита.

Как часто нужно проводить аудит прав доступа?
Минимум раз в квартал — этого хватает для большинства малых компаний. Обязательно проводить внеплановый аудит при увольнении любого сотрудника с доступом к чувствительным данным, при добавлении нового общего ресурса и после любых изменений структуры папок. Скрипт отрабатывает за 5–15 минут, отчёт в Excel читается за час — это разумный регламент.

Что делать, если PowerShell-скрипт не запускается или выдаёт ошибки?
Чаще всего проблема в том, что PowerShell запущен не от имени администратора, или в системе включена политика ограничения выполнения скриптов. Второе лечится командой Set-ExecutionPolicy RemoteSigned, которую тоже нужно выполнить от администратора. Если папки лежат на удалённом сервере Windows Server — проще всего подключиться к нему по RDP и запустить скрипт уже там, локально: это быстрее и надёжнее, чем работать через сеть.

Можно ли получать автоматические уведомления при изменении прав на папки?
Можно — через аудит событий Windows. В secpol.msc включаете «Аудит изменения прав доступа к объектам» и настраиваете аудиторскую SACL на нужных папках. При любом изменении ACL в журнале появится запись с Event ID 4670. Для действительно чувствительных папок — бухгалтерия, кадры, договоры — стоит потратить один вечер на настройку: это даёт сигнал в реальном времени, а не только при плановой проверке раз в квартал.

Проведём аудит прав доступа в вашей сети и дадим конкретный отчёт с планом исправлений
Позвоните или напишите — за полдня разберёмся, кто и что видит в ваших общих папках, и расскажем, что нужно закрыть в первую очередь.
Бесплатная консультация →

Подпишитесь на рассылку ITfresh

Раз в неделю — практические гайды для руководителя и сисадмина: безопасность, 1С, миграции, резервные копии, лайфхаки из реальных проектов.

© ООО «АйТи-Фреш» · Москва · Все статьи