- File copy logs windows
- Answered by:
- Question
- Answers
- Возможено ли вести лог копирования файлов в Windows?
- Создание лога копирования файлов: что, куда и сколько времени на это ушло
- Решение
- Вертим логи как хотим ― анализ журналов в системах Windows
- Журналы и командная строка
- Работаем с журналами посредством запросов SQL
File copy logs windows
This forum has migrated to Microsoft Q&A. Visit Microsoft Q&A to post new questions.
Answered by:
Question
I’m hoping I can find some help here. I am looking for a tool that can help me find out who copied which file/folder over to our File Server. Or is there a built in option into Windows Server where I can see a text log of what has been transferred and by whom? Again your help is greatly appreciated.
Answers
You can turn on Auditing on your file server. Here is a blog that provides a good bit of detail about how to do this — http://blogs.technet.com/b/mspfe/archive/2013/08/27/auditing-file-access-on-file-servers.aspx.
- Proposed as answer by Ethan Hua Microsoft contingent staff Wednesday, September 2, 2015 11:01 AM
- Marked as answer by Ethan Hua Microsoft contingent staff Thursday, September 10, 2015 6:03 AM
You might need to enable Object Access: File System Audit Policy setting.
Monitor the Event 4663 (An attempt was made to access an object), which will allows you to track what content was accessed, the source (IP address and port) of the request, and the user account used for the access. However, this might not be able to accurately reflect the copy activity, only about file/folder creation, data write.
Also, please note that audit events are only generated for objects that have configured system access control lists (SACLs). So after configuring the Audit Policy setting, you will have to enable it in the Access Control List of the resource
(Right click and go to properties, click the security tab>Advanced>Auditing Tab>Edit>Add>then add the group that has access to that folder>Select the events you want to audit and click OK).
Возможено ли вести лог копирования файлов в Windows?
Исходные данные:
— Парк машин под Win 7, 8, 8.1 и 10;
— Сервер под управлением Win Srv 2012 R2;
— Доверительная политика компании к сотрудникам. Все ограничения вводятся только для обеспечения стабильной работы систем и ограждения от нарушений лицензионных соглашений.
Задача:
— Вести логи всех действий пользователя, чтобы при возникновении конфликтных ситуаций можно было отыскать, кто и что сделал.
В список конфликтных ситуаций входят:
— Изменение;
— Удаление;
— Передача данных третьим лицам.
Учитывая политику компании, заблокировать доступ пользователям и предотвратить утечку данных нельзя.
С логами изменения и удаления файлов всё довольно ясно, но как быть с, например, копированием файлов на флешку? Понятно, что нужно ввести дополнительные логи на каждой из машин и отслеживать это там как выглядит операция копирования в логах?
Также интересует вопрос, что делать, например, с передачей файлов через личную почту? Возможно ли это как-то отследить?
Я понимаю, что для этого лучше закупить комплекс DLP, но это:
— Куда дороже;
— «Давит» на пользователей мыслях о постоянной слежке;
— Не нравится лично мне из-за доступа к личной информации сотрудников (Пароли, личные переписки и т.д.).
Спасибо за внимание.
- Вопрос задан более трёх лет назад
- 3058 просмотров
Ориентируйтесь в первую очередь на ответ SyavaSyava
Но помните :
Доверительные отношения это доверительные отношения, а информация — это информация.
1.Как бы компания не доверяла сотрудникам — не каждому стоит давать доступ к файлу\отчёту «финансовая отчетность организации»
Разграничивайте доступ к документам : рабочие документы отдельно, важная информация управляется конкретным лицом\отделом и доступна максимум для чтения всем, кроме него\них.
2.Если сотрудник не видит файл, к которому ему доступ не нужен — это предотвратит лишние соблазны.
(в свойствах файлового сервера что-то вроде policy-based enumeration)
3. аудит доступа к файловым ресурам.(то что SyavaSyava прописал) позволит фиксировать кто когда работал\получал доступ к документу.
4. по сложным случаям,в которых применение DLP реально видится необходимым (пересылка с компа с личной почты или через мессенджер) — ничего поделать нельзя. Реально. Моцарт когда-то спиратил Miserere без всяких там смартфонов и личных почт.
Здесь может помочь :
5. Развивайте лёгкую паранойю у сотрудников на предмет «принимаются меры по защите информации». Проводите мероприятия, составляйте списки защищаемых документов. Подписывайте, проводите все стандартные процедуры. Сотрудники, таким образом, будут знать что если что — «атата» (даже если «атата» реально не получится сделать по причине невыяснения а кого-же «атата») .
Создание лога копирования файлов: что, куда и сколько времени на это ушло
А сколько у вас ушло времени на изучение C++ .
Я понимаю, это зависит от человека. но все же:)
Сколько времени на это уйдет ?
Начинаю изучать Си, тяжело мне дается честно сказать. Напишу пример задачи, хотелось бы знать.
что это такое и сколько это стоит?
помогите опознать что это такое и сколько это стоит?
узнать: сколько краски потребуется , что-бы покрасить стены комнаты, и сколько будет это стоить.
Помогите , плз, через 3 дня зачет. Нужно написать форму ВБА. Нужно вводить: длинна комнаты.
а можно сделать так что-бы в лог записывалась не системная дата, которая на компьютере а дата изменения файла?
Добавлено через 11 минут
и если папка названа по русски то какие-то кракозябры записываются
Решение
666blade666, Anonymоus не был на форуме больше года.
Добавлено через 1 минуту
Но там не используется инкрементальное копирование.
Скорость и так невелика — а после такого апгрейда она ещё глубже сядет. Тогда уж лучше использовать полноценный ЯП.
Хотя можно всё. Но нужны сторонние утилиты для получения md5 или crc32.
Тематические курсы и обучение профессиям онлайн Профессия Cпециалист по кибербезопасности (Skillbox) DevOps-инженер (Нетология) Профессия DevOps-инженер PRO (Skillbox) |
FraidZZ, подскажите, а каким-то ещё способом, кроме как запустить скопированную базу данных — можно проверить работоспособность бэкапа, ну то есть — как проверить что бэкап, который был скопирован через выше приведённый скрипт работоспособен и копирование произошло успешно на все 100%? Только непосредственно запустив бэкап через базу? Или можно как-то через скрипт это сделать? Если утилиты, то какие и как их туда подвязать (я имею в виду к батнику приведённому выше).
И ещё возможно ли дописать в этот батник пункт, который бы находился в конце лога копирования и говорил бы о том, сколько всего по весу скопировано файлов? Ну то есть чтобы в конце лога было видно суммарное количество, которое было скопировано.
А по поводу скорости, так бог с ней пусть копирование будет на много медленнее идти, зато будет спокойно на душе, что все файлы скопировались успешно на все 100% и в случаи падения базы бэкап будет 100% рабочим.
Добавлено через 1 час 11 минут
FraidZZ, Вот к примеру есть программа TeraCopy, которая позволяет после копирования проверить целостность скопированных файлов (MD5), вот только как можно через командную строку пустить эту программу на копирование, а затем ею же проверить хеш-суммы скопированных файлов на целостность и затем занести в лог результат копирования, что он удовлетворительный или копирование произведено с ошибками. Вы знаете как это сделать?
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
В зависимости от того, сколько файлов уже было загружено, определить директорию, куда загружать новый
В БД есть 3 колонки: file_new, file_new2 и file_new3. Если в file_new пусто, то файл грузится сюда.
Непонятно что с новым диском: низкая скорость копирования файлов
Купил на пробу новый Corsair Force LS 60 Gb (F60GBLSB). 1. Тест CrystalDiskMark вроде как.
Перейти ко времени . что это?
Что это и как этим пользоваться? Первый раз вижу такой диалог .
Вертим логи как хотим ― анализ журналов в системах Windows
Пора поговорить про удобную работу с логами, тем более что в Windows есть масса неочевидных инструментов для этого. Например, Log Parser, который порой просто незаменим.
В статье не будет про серьезные вещи вроде Splunk и ELK (Elasticsearch + Logstash + Kibana). Сфокусируемся на простом и бесплатном.
Журналы и командная строка
До появления PowerShell можно было использовать такие утилиты cmd как find и findstr. Они вполне подходят для простой автоматизации. Например, когда мне понадобилось отлавливать ошибки в обмене 1С 7.7 я использовал в скриптах обмена простую команду:
Она позволяла получить в файле fail.txt все ошибки обмена. Но если было нужно что-то большее, вроде получения информации о предшествующей ошибке, то приходилось создавать монструозные скрипты с циклами for или использовать сторонние утилиты. По счастью, с появлением PowerShell эти проблемы ушли в прошлое.
Основным инструментом для работы с текстовыми журналами является командлет Get-Content, предназначенный для отображения содержимого текстового файла. Например, для вывода журнала сервиса WSUS в консоль можно использовать команду:
Для вывода последних строк журнала существует параметр Tail, который в паре с параметром Wait позволит смотреть за журналом в режиме онлайн. Посмотрим, как идет обновление системы командой:
Смотрим за ходом обновления Windows.
Если же нам нужно отловить в журналах определенные события, то поможет командлет Select-String, который позволяет отобразить только строки, подходящие под маску поиска. Посмотрим на последние блокировки Windows Firewall:
Смотрим, кто пытается пролезть на наш дедик.
При необходимости посмотреть в журнале строки перед и после нужной, можно использовать параметр Context. Например, для вывода трех строк после и трех строк перед ошибкой можно использовать команду:
Оба полезных командлета можно объединить. Например, для вывода строк с 45 по 75 из netlogon.log поможет команда:
Журналы системы ведутся в формате .evtx, и для работы с ними существуют отдельные командлеты. Для работы с классическими журналами («Приложение», «Система», и т.д.) используется Get-Eventlog. Этот командлет удобен, но не позволяет работать с остальными журналами приложений и служб. Для работы с любыми журналами, включая классические, существует более универсальный вариант ― Get-WinEvent. Остановимся на нем подробнее.
Для получения списка доступных системных журналов можно выполнить следующую команду:
Вывод доступных журналов и информации о них.
Для просмотра какого-то конкретного журнала нужно лишь добавить его имя. Для примера получим последние 20 записей из журнала System командой:
Последние записи в журнале System.
Для получения определенных событий удобнее всего использовать хэш-таблицы. Подробнее о работе с хэш-таблицами в PowerShell можно прочитать в материале Technet about_Hash_Tables.
Для примера получим все события из журнала System с кодом события 1 и 6013.
В случае если надо получить события определенного типа ― предупреждения или ошибки, ― нужно использовать фильтр по важности (Level). Возможны следующие значения:
- 0 ― всегда записывать;
- 1 ― критический;
- 2 ― ошибка;
- 3 ― предупреждение;
- 4 ― информация;
- 5 ― подробный (Verbose).
Собрать хэш-таблицу с несколькими значениями важности одной командой так просто не получится. Если мы хотим получить ошибки и предупреждения из системного журнала, можно воспользоваться дополнительной фильтрацией при помощи Where-Object:
Ошибки и предупреждения журнала System.
Аналогичным образом можно собирать таблицу, фильтруя непосредственно по тексту события и по времени.
Подробнее почитать про работу обоих командлетов для работы с системными журналами можно в документации PowerShell:
PowerShell ― механизм удобный и гибкий, но требует знания синтаксиса и для сложных условий и обработки большого количества файлов потребует написания полноценных скриптов. Но есть вариант обойтись всего-лишь SQL-запросами при помощи замечательного Log Parser.
Работаем с журналами посредством запросов SQL
Утилита Log Parser появилась на свет в начале «нулевых» и с тех пор успела обзавестись официальной графической оболочкой. Тем не менее актуальности своей она не потеряла и до сих пор остается для меня одним из самых любимых инструментов для анализа логов. Загрузить утилиту можно в Центре Загрузок Microsoft, графический интерфейс к ней ― в галерее Technet. О графическом интерфейсе чуть позже, начнем с самой утилиты.
О возможностях Log Parser уже рассказывалось в материале «LogParser — привычный взгляд на непривычные вещи», поэтому я начну с конкретных примеров.
Для начала разберемся с текстовыми файлами ― например, получим список подключений по RDP, заблокированных нашим фаерволом. Для получения такой информации вполне подойдет следующий SQL-запрос:
Посмотрим на результат:
Смотрим журнал Windows Firewall.
Разумеется, с полученной таблицей можно делать все что угодно ― сортировать, группировать. Насколько хватит фантазии и знания SQL.
Log Parser также прекрасно работает с множеством других источников. Например, посмотрим откуда пользователи подключались к нашему серверу по RDP.
Работать будем с журналом TerminalServices-LocalSessionManager\Operational.
Не со всеми журналами Log Parser работает просто так ― к некоторым он не может получить доступ. В нашем случае просто скопируем журнал из %SystemRoot%\System32\Winevt\Logs\Microsoft-Windows-TerminalServices-LocalSessionManager%4Operational.evtx в %temp%\test.evtx.
Данные будем получать таким запросом:
Смотрим, кто и когда подключался к нашему серверу терминалов.
Особенно удобно использовать Log Parser для работы с большим количеством файлов журналов ― например, в IIS или Exchange. Благодаря возможностям SQL можно получать самую разную аналитическую информацию, вплоть до статистики версий IOS и Android, которые подключаются к вашему серверу.
В качестве примера посмотрим статистику количества писем по дням таким запросом:
Если в системе установлены Office Web Components, загрузить которые можно в Центре загрузки Microsoft, то на выходе можно получить красивую диаграмму.
Выполняем запрос и открываем получившуюся картинку…
Любуемся результатом.
Следует отметить, что после установки Log Parser в системе регистрируется COM-компонент MSUtil.LogQuery. Он позволяет делать запросы к движку утилиты не только через вызов LogParser.exe, но и при помощи любого другого привычного языка. В качестве примера приведу простой скрипт PowerShell, который выведет 20 наиболее объемных файлов на диске С.
Ознакомиться с документацией о работе компонента можно в материале Log Parser COM API Overview на портале SystemManager.ru.
Благодаря этой возможности для облегчения работы существует несколько утилит, представляющих из себя графическую оболочку для Log Parser. Платные рассматривать не буду, а вот бесплатную Log Parser Studio покажу.
Интерфейс Log Parser Studio.
Основной особенностью здесь является библиотека, которая позволяет держать все запросы в одном месте, без россыпи по папкам. Также сходу представлено множество готовых примеров, которые помогут разобраться с запросами.
Вторая особенность ― возможность экспорта запроса в скрипт PowerShell.
В качестве примера посмотрим, как будет работать выборка ящиков, отправляющих больше всего писем:
Выборка наиболее активных ящиков.
При этом можно выбрать куда больше типов журналов. Например, в «чистом» Log Parser существуют ограничения по типам входных данных, и отдельного типа для Exchange нет ― нужно самостоятельно вводить описания полей и пропуск заголовков. В Log Parser Studio нужные форматы уже готовы к использованию.
Помимо Log Parser, с логами можно работать и при помощи возможностей MS Excel, которые упоминались в материале «Excel вместо PowerShell». Но максимального удобства можно достичь, подготавливая первичный материал при помощи Log Parser с последующей обработкой его через Power Query в Excel.
Приходилось ли вам использовать какие-либо инструменты для перелопачивания логов? Поделитесь в комментариях.