"Display information about previous logons"

"Display information about previous logons"

  • Comments 1
  • Likes

Jedną z metod zachęcania do nowego (kiedyś, bo teraz ma on prawie cztery lata) systemu Windows Server 2008 było opowiadanie o tym ile więcej ma on ustawień Group Policy niż Windows 2003. Część z nich dotyczy istniejących od zawsze funkcji, które dla wygody administratorów "ubrane" zostały w GPO. Miłą ich cechą jest to, że zupełnie sprawnie działają na przykład w Windows XP. Istnieją jednak i takie, które wiążą się z zupełnie nowymi funkcjonalnościami systemu. Przykładem może być tu tytułowe ustawienie "Display information about previous logons" znajdujące się w gałęzi Computer Configuration\Administrative Templates\Windows Components\Windows Logon Options. Piszę o GPO dlatego, że po stronie klienta nie ma prostego GUI, które dawałoby tę samą funkcjonalność. Tak więc najlepiej świadomie i konsekwentnie włączyć dla wszystkich a nie na każdym komputerze oddzielnie kombinować. Na pierwszy rzut oka, wydawać się może, że ustawienie to dotyczy wyłącznie informowania logującego się do sieci użytkownika o tym kiedy logował się ostatnio i kiedy ktoś próbował zgadnąć jego hasło. Funkcjonalność taka nie jest niczym niezwykłym i stosowana jest w wielu serwisach internetowych. Rzecz w tym, że każdy świadomy administrator powinien zadać sobie pytanie: "a skąd właściwie system to wie...?" Bo to wcale nie takie proste. Skoro ma to działać w domenie Active Directory, to oczywiście zarejestrowane muszą zostać udane i nieudane próby z każdego komputera w sieci. Czyli informacja musi być przechowywana centralnie, w samym AD. Oczywiście tak właśnie jest i każdy użytkownik ma atrybut msDS-LastSuccessfulInteractiveLogonTime, msDS-LastFailedInteractiveLogonTime i jeszcze dwa inne służące do zliczania nieudanych logowań. System kliencki nie tylko wyświetla informacje odczytane z AD, ale i aktualizuje je przy każdym logowaniu interaktywnym. Czyli tak, jak być powinno. Klient mówi do AD o tym, że użytkownik próbuje się zalogować a po udanym logowaniu – odczytuje historię logowań i wyświetla ją na ekranie. Wszystko jest pięknie pod warunkiem, że:

  1. Klient ma włączoną funkcjonalność wyświetlania historii logowania
  2. Klientem jest system Windows Vista lub nowszy
  3. Domena ma poziom funkcjonalny 2008 lub nowszy
  4. Polisa dotyczy i klienta i kontrolera domeny

A jeżeli nie...? Przyjrzyjmy się po kolei.

Jeżeli funkcjonalność w ogóle nie została włączona w GPO, wpis DisplayLastLogonInfo nie pojawi się w rejestrze, Winlogon nie dowie się, że ma z AD coś przeczytać czy wyświetlić i użytkownik nic ciekawego nie zobaczy.

A jeżeli klientem jest Windows XP? Poza faktem, że jego użytkownika można powoli zacząć tytułować "panie kustoszu", to jego Winlogon taki sprytny nie jest i danych nie przeczyta ani nie wyświetli niezależnie od tego, czy w rejestrze coś będzie czy nie. AD zaktualizuje sobie te atrybuty, więc dotrzeć do wiedzy teoretycznie można. Ale nie będzie sama się rzucać w oczy przy każdym zalogowaniu.

A jeżeli domena ma poziom funkcjonalny 2003, że o starszych nie wspomnę? Cóż... dostęp do danych o historii logowana nie jest możliwy, na co system Windows zareaguje w prosty sposób: nie pozwoli się zalogować.

art01

Jest to o tyle przykre, że domeny na takim poziomie nadal istnieją w wielu środowiskach. Dla pewności więc podaję jak poziom sprawdzić: Otworzyć konsolkę Active Directory Users and Computers, kliknąć prawym nazwę domeny i wybrać Properties. Poziom funkcjonalny domeny jest jasno pokazany.

art02

Prawdziwi twardziele mogą zapytać o wartość atrybutu msDS-Behavior-Version na przykład przy użyciu adfind. Trzeba też pamiętać o objęciu polisą kontrolerów domeny. Bez tego też się nie uda zalogować.

Ale jeżeli wszystko gra, efekt jest naprawdę przyjemny. Przy pierwszym logowaniu, użytkownik zobaczy coś takiego:

art03

Wie wtedy na przykład, że od momentu założenia konta przez administratora nikt nic nie zdążył pooszukiwać. Przy kolejnych logowaniach pojawiają się już bardziej konkretne informacje:

art04

Jeżeli od ostatniego zalogowania ktokolwiek, gdziekolwiek w domenie próbował szczęścia z imieniem psa, dziecka, datą urodzenia czy rejestracją samochodu – użytkownik, który zaloguje się poprawnie zobaczy całą prawdę:

art05

Oczywiście, poza ekranem logującego się użytkownika, cała prawda trafia również do AD.

art06

 

Tak więc, jeżeli w jakimś środowisku warto bardziej serio zwracać uwagę na bezpieczeństwo – ustawienie Display information about previous logons na pewno się przyda. Dzięki niemu, każdy kombinator wie, że nie uda mu się łatwo ukryć z próbami przechwycenia konta i hasła. Trzeba tylko pamiętać, że taka funkcjonalność nie może wynikać z fanaberii administratora. Zawsze i w każdym środowisku, właściciel systemu musi tego chcieć i wiedzieć co zyskuje. Do tego, nowej funkcjonalności muszą spodziewać się użytkownicy, ponieważ przyzwyczajenie ich do zmieniającego się bez zapowiedzi ekranu logowania sprawi, że kiedyś przeoczą zmiany nieautoryzowane, które powinni natychmiast zgłaszać administratorom.

Autor: Grzegorz Tworek [MVP]

Comments
  • Całkiem ciekawe i interesujące, szkoda, że poziom domeny jest 2003 :(

    Ale już niedługo ....

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment