Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Aplikacje utworzone za pomocą platformy Windows Communication Foundation (WCF) mogą rejestrować zdarzenia zabezpieczeń (powodzenie, niepowodzenie lub oba przypadki) za pomocą funkcji audytowania. Zdarzenia są zapisywane w dzienniku zdarzeń systemu Windows i można je zbadać za pomocą Podglądu zdarzeń.
Inspekcja umożliwia administratorowi wykrywanie ataku, który już wystąpił lub jest w toku. Ponadto inspekcja może pomóc deweloperowi w debugowaniu problemów związanych z zabezpieczeniami. Jeśli na przykład błąd w konfiguracji autoryzacji lub sprawdzania zasad przypadkowo odmówi dostępu do autoryzowanego użytkownika, deweloper może szybko odnaleźć i wyizolować przyczynę tego błędu, sprawdzając dziennik zdarzeń.
Aby uzyskać więcej informacji na temat zabezpieczeń WCF, zobacz Security Overview. Aby uzyskać więcej informacji na temat programowania WCF, zobacz Podstawowe programowanie WCF.
Poziom inspekcji i zachowanie
Istnieją dwa poziomy inspekcji zabezpieczeń:
Poziom autoryzacji usługi, w którym obiekt wywołujący jest autoryzowany.
Poziom komunikatu, w którym program WCF sprawdza poprawność komunikatu i uwierzytelnia obiekt wywołujący.
Możesz sprawdzić oba poziomy inspekcji pod kątem powodzenia lub niepowodzenia, co jest nazywane zachowaniem inspekcji.
Lokalizacja dziennika audytu
Po ustaleniu poziomu inspekcji i zachowania użytkownik (lub administrator) może określić lokalizację dziennika inspekcji. Trzy opcje to: Domyślne, Aplikacja i Zabezpieczenia. Po określeniu wartości Domyślne rzeczywisty dziennik zależy od używanego systemu i tego, czy system obsługuje zapisywanie w dzienniku zabezpieczeń. Aby uzyskać więcej informacji, zobacz sekcję "System operacyjny" w dalszej części tego tematu.
Aby zapisać dane w dzienniku zabezpieczeń, wymagany jest parametr SeAuditPrivilege
. Domyślnie tylko konta systemu lokalnego i usługi sieciowej mają te uprawnienia. Do zarządzania funkcjami dziennika zabezpieczeń read
i delete
wymagany jest element SeSecurityPrivilege
. Domyślnie tylko administratorzy mają te uprawnienia.
Natomiast uwierzytelnieni użytkownicy mogą odczytywać i zapisywać dane w dzienniku aplikacji. System Windows XP domyślnie zapisuje zdarzenia inspekcji w dzienniku aplikacji. Dziennik może również zawierać dane osobowe widoczne dla wszystkich uwierzytelnionych użytkowników.
Tłumienie błędów audytu
Inną opcją podczas inspekcji jest to, czy pominąć wszelkie błędy inspekcji. Domyślnie błąd inspekcji nie ma wpływu na aplikację. Jeśli jest to wymagane, można jednak ustawić opcję na false
, co powoduje zgłoszenie wyjątku.
Inspekcja programowania
Zachowanie inspekcji można określić programowo lub za pomocą konfiguracji.
Zajęcia audytorskie
W poniższej tabeli opisano klasy i właściwości używane do programowania zachowania inspekcji.
Klasa | Opis |
---|---|
ServiceSecurityAuditBehavior | Umożliwia ustawienie opcji dla zachowania usługi związanych z procesem audytu. |
AuditLogLocation | Wyliczenie, które określa, do którego dziennika należy prowadzić zapisy. Możliwe wartości to Default, Application i Security. Po wybraniu pozycji Domyślne system operacyjny określa rzeczywistą lokalizację dziennika. Zobacz sekcję "Wybór dziennika zdarzeń aplikacji lub zabezpieczeń" w dalszej części tego tematu. |
MessageAuthenticationAuditLevel | Określa, które typy zdarzeń uwierzytelniania komunikatów są poddawane audytowi na poziomie wiadomości. Dostępne opcje to None , Failure , Success i SuccessOrFailure . |
ServiceAuthorizationAuditLevel | Określa, które typy zdarzeń autoryzacji usługi są kontrolowane na poziomie usługi. Dostępne opcje to None , Failure , Success i SuccessOrFailure . |
SuppressAuditFailure | Określa, co się stanie z żądaniem klienta w przypadku niepowodzenia inspekcji. Na przykład gdy usługa próbuje zapisać w dzienniku zabezpieczeń, ale nie ma SeAuditPrivilege . Wartość domyślna wskazuje true , że błędy są ignorowane, a żądanie klienta jest przetwarzane normalnie. |
Przykład konfigurowania aplikacji w celu rejestrowania zdarzeń audytowych można znaleźć w Jak: Audyt zdarzeń zabezpieczeń.
Konfiguracja
Możesz również użyć konfiguracji, aby określić zachowanie inspekcji, dodając usługęSecurityAudit<> w ramach< zachowań>. Należy dodać element pod <behavior>, jak pokazano w poniższym kodzie.
<configuration>
<system.serviceModel>
<behaviors>
<behavior>
<!-- auditLogLocation="Application" or "Security" -->
<serviceSecurityAudit
auditLogLocation="Application"
suppressAuditFailure="true"
serviceAuthorizationAuditLevel="Failure"
messageAuthenticationAuditLevel="SuccessOrFailure" />
</behavior>
</behaviors>
</system.serviceModel>
</configuration>
Jeśli inspekcja jest włączona i auditLogLocation
nie jest określona, domyślna nazwa dziennika to "dziennik Zabezpieczeń" na platformie, która obsługuje zapisywanie w dzienniku Zabezpieczeń; w przeciwnym razie jest to "dziennik Aplikacji". Tylko systemy operacyjne Windows Server 2003 i Windows Vista obsługują zapisywanie w dzienniku zabezpieczeń. Aby uzyskać więcej informacji, zobacz sekcję "System operacyjny" w dalszej części tego tematu.
Zagadnienia dotyczące zabezpieczeń
Jeśli złośliwy użytkownik wie, że inspekcja jest włączona, osoba atakująca może wysyłać nieprawidłowe komunikaty, które powodują zapisanie wpisów inspekcji. Jeśli dziennik inspekcji zostanie wypełniony w ten sposób, system inspekcji zakończy się niepowodzeniem. Aby to złagodzić, ustaw właściwość SuppressAuditFailure na true
i użyj właściwości podglądu zdarzeń, aby kontrolować zachowanie inspekcji.
Zdarzenia inspekcji zapisywane w dzienniku aplikacji w systemie Windows XP są widoczne dla dowolnego uwierzytelnionego użytkownika.
Wybieranie między dziennikami zdarzeń aplikacji i zabezpieczeń
Poniższe tabele zawierają informacje ułatwiające wybranie, czy zalogować się do aplikacji, czy dziennika zdarzeń zabezpieczeń.
System operacyjny
System | Dziennik aplikacji | Dziennik zabezpieczeń |
---|---|---|
Windows XP z dodatkiem SP2 lub nowszym | Wsparte | Niewspierane |
Windows Server 2003 z dodatkiem SP1 i Windows Vista | Wsparte | Kontekst wątku musi zawierać SeAuditPrivilege |
Inne czynniki
Oprócz systemu operacyjnego w poniższej tabeli opisano inne ustawienia kontrolujące włączanie rejestrowania.
Czynnik | Dziennik aplikacji | Dziennik zabezpieczeń |
---|---|---|
Zarządzanie zasadami inspekcji | Nie dotyczy. | Wraz z konfiguracją dziennik zabezpieczeń jest również kontrolowany przez zasady lokalnego urzędu zabezpieczeń (LSA). Należy również włączyć kategorię "Audyt dostępu do obiektów". |
Domyślne środowisko użytkownika | Wszyscy uwierzytelnieni użytkownicy mogą zapisywać w dzienniku aplikacji, więc nie jest wymagany dodatkowy krok uprawnień dla procesów aplikacji. | Proces aplikacji (kontekst) musi mieć wartość SeAuditPrivilege . |