Skąd mam wiedzieć, kiedy plik był ostatnio czytany lub otwierany w systemie Windows?

13

Muszę ustalić, czy dany plik był dostępny w ciągu ostatnich, powiedzmy, dwóch dni.

Czy jest to możliwe w systemie Windows Server 2008 R2?

javapowered
źródło

Odpowiedzi:

7

Po tym fakcie? Nie, nie wierzę w to, chyba że kontrolna lista ACL została odziedziczona od rodzica lub ustawiona bezpośrednio w pliku dla uprawnienia do „odczytu pliku”. Jeśli włączysz inspekcję systemu plików, możesz spojrzeć na dzienniki zabezpieczeń, aby znaleźć te informacje, które większość osób potokuje lub przekazuje do jakiegoś narzędzia do analizy.

Możesz także rzucić okiem na użycie czegoś takiego jak Tripwire do zachowania integralności plików, jeśli stanie się to celem.

SpacemanSpiff
źródło
czy można zrobić bez użycia narzędzi innych firm? Windows śledzi czas utworzenia, czas modyfikacji, dlaczego nie może śledzić „czasu odczytu”?
javapowered
@javapowered Tak to jest. Jak wspomniał SpacemanSpiff. Użyj wbudowanego audytu. Przeczytaj to: technet.microsoft.com/en-us/library/dd560628%28v=ws.10%29.aspx
Tom
1
@javapowered - tak naprawdę nie jest to o wiele trudniejsze niż ustawienie uprawnień do plików. Jeśli chcesz to zrobić tylko dla jednego pliku lub katalogu, przejdź do tego katalogu. Otwórz okno właściwości pliku / folderu, przejdź do karty kontroli. Dodaj grupę „wszyscy” lub „użytkownicy domeny”, jeśli jesteś w domenie, i zaznacz pole wyboru uprawnienia „do odczytu”. Spowoduje to utworzenie wpisu dziennika zdarzeń bezpieczeństwa za każdym razem, gdy ktoś uzyskuje dostęp do pliku. Następnie zacznij przeglądać dzienniki lub zrzuć je do czytnika dzienników w poszukiwaniu tego pliku / folderu, o którym chcesz wspomnieć.
SpacemanSpiff
1
i ... uważaj, ustawiając inspekcję w katalogu głównym dysku, prawdopodobnie spadnie kaskadowo, a Twój dziennik oszaleje. Fyi.
SpacemanSpiff
1
Otwórz Narzędzia administracyjne, Podgląd zdarzeń i spójrz na dziennik bezpieczeństwa
SpacemanSpiff,
8

Właściwie istnieje sposób, ale został domyślnie wyłączony od Vista / 2008 i właśnie zweryfikowałem, że jest domyślnie wyłączony w Win7 / 2008R2.

Ustawienie rejestru NtfsDisableLastAccessUpdateznajdujące się HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystemteraz w domyślnej wartości 1 dla celów wydajności. Jeśli zmienisz to na 0, NTFS zaktualizuje właściwość LastAccessTime pliku / folderu.

Możesz zobaczyć tę wartość, patrząc na właściwości pliku / folderu lub możesz pobrać informacje za pomocą skryptu PowerShell. Pamiętaj jednak, aby najpierw przetestować, aby upewnić się, że wydajność nie jest taka zła.

Również NTFS nie zawsze aktualizuje informacje natychmiast. Według Microsoft :

System plików NTFS opóźnia aktualizację czasu ostatniego dostępu do pliku nawet o 1 godzinę po ostatnim dostępie.

Murisonc
źródło
1
Wspaniale jest wiedzieć, czy to również przechowuje, kto miał do niej dostęp?
SpacemanSpiff
1
Nie, tylko wtedy, gdy było dostępne. Jeśli chcesz wiedzieć, kto to będzie, musisz włączyć kontrolę zgodnie z inną odpowiedzią.
murisonc
@murisonc, Czy złośliwy użytkownik nie mógł po prostu użyć programu, który przywraca pierwotną datę powrotu do pierwotnej wartości po uzyskaniu dostępu do plików?
Pacerier
@Pacerier, jestem pewien, że złośliwy użytkownik może znaleźć sposób na sfałszowanie go. Aby to złapać, należy włączyć kontrolę i upewnić się, że wpisy kontroli są przekazywane do serwera kolekcji kontroli.
murisonc
Jak duży wpływ na wydajność ma włączanie NtfsDisableLastAccessUpdate?
Stevoisiak
4

Jak wskazał @murisonc , woluminy NTFS w systemie Windows mogą śledzić czas ostatniego dostępu, po prostu domyślnie tego nie robią i można je łatwo włączyć, ustawiając klucz rejestru.

Możesz to połączyć z narzędziem do monitorowania integralności plików, takim jak Verisys lub Tripwire , które może zapewnić automatyczne alarmowanie i raportowanie.

Opcjonalne mogą być również narzędzia do kontroli systemu plików, choć wiele z nich polega na włączeniu kontroli obiektów, co może obniżyć wydajność. Niektóre inne polegają na sterownikach filtrów systemu plików, ale te sterowniki mogą być nieco płatkowe.

Cocowalla
źródło
0

Ten przewodnik powinien zrobić sztuczkę, aby umożliwić audyt pliku: http://www.discoveryourpc.net/2010/01/auditing-access-to-files-on-windows-7.html

To jest dla Windows 7, ale jest prawie identyczny z 2008.

Możesz również użyć do tego zasad grupy. Ale jak powiedziałeś, że nie jesteś profesjonalnym administratorem, nie byłoby to dla ciebie właściwą drogą.

Musisz dodać użytkownika lub grupę do kontroli. Zalecam dodanie tej samej grupy, która ma dostęp do folderu nadrzędnego.

Musisz poinformować użytkowników o tym, co kontrolujesz. W twoim przypadku „dostęp do pliku”. Jeśli nie poinformujesz ich, audyt może być nielegalny.

Tomek
źródło
Dzięki. Zrobiłem dokładnie tak, jak prosiłeś i działało idealnie! Jedynym problemem jest to, że nie wyświetla dzienników przed włączeniem dostępu do inspekcji. Jak mogę to zrobić?
Domena discoveryourpc.net już nie istnieje (nie ma wpisów DNS). Link w odpowiedzi jest martwy.
Peter Hansen