Forefront Protection 2010 for Exchange – część 2
Autor: Jacek Światowiak
Opublikowano: 2012-02-02
W poprzedniej części opisano proces instalacji i aktualizacji produktu Forefront Protection 2010 for Exchange (FPE). Przedstawiono wygląd konsoli w zależności od roli serwera Exchange, na którym produkt FPE został zainstalowany. W tej części postaram się omówić zagadnienia dotyczące silników antywirusowych, aktualizacji silników, samych definicji antywirusowych oraz przedstawione zostaną zagadnienia sposobu integracji produktu FPE z Exchange. Omówiony zostanie wstęp do zarządzania produktem za pomocą PowerShell.
Silniki służące ochronie przed szkodliwym oprogramowaniem
Produkt FPE bazuje na mechanizmie wielosilnikowym przy skanowaniu przesyłek pocztowych. Po instalacji, w ciągu maksymalnie 5 minut, nastąpi próba pobrania aktualizacji samych silników antywirusowych oraz definicji antywirusowych z witryny Microsoft. Wygląd konsoli, zaraz po instalacji, z ostrzeżeniem wyświetlanym w oknie Dashboard przedstawia Rys. 1.
Rys. 1. Okno Dashboard wskazujące na nieprawidłowości w działaniu silników antywirusowych.
Jeżeli klikniesz teraz w oknie Engines, pokazanym na Rys. 1., na link Show details zostanie wyświetlone okno stanu silników antywirusowych oraz antyspamowych. Wygląd okna Engine Summary, zaraz po procesie instalacji, przedstawia Rys. 2.
Rys. 2. Wygląd okna Engine Summary zaraz po zakończonym procesie instalacji.
FPE może posługiwać się 5 niezależnymi silnikami antywirusowymi równocześnie w różnych konfiguracjach: Są to silniki:
- Authentium Command Avntivirus Engine,
- Kaspersky Antivirus Technology,
- Microsoft Antimalware Engine,
- Norman Virus Control,
- Virus Buster Antivirus Scan Engibe.
Wygląd okna Engine Summary, po zakończonym procesie aktualizacji, prezentuje Rys. 3. W przykładzie nie są pobierane elementy mechanizmu antyspamowego Cloudmark Antispam Engine, gdyż w środowisku testowym nie jest on jeszcze skonfigurowany.
Rys. 3. Wygląd okna Engine Summary po zakończonym procesie aktualizacji.
Ustawienia, związane z aktualizacją silników i definicji, są dostępne w dwóch miejscach:
Tryb Policy Management:
- Global Settings, sekcja Engine Options (pokazana na Rys. 4.) – w której to można dokonać zmiany domyślnego miejsca i protokołu pobierania aktualizacji, z domyślnego protokołu HTTP na SMB, możliwość zdefiniowania parametrów serwera PROXY HTTP. Dodatkowe opcje to możliwość włączenia aktualizacji silników przy starcie serwera oraz możliwość utworzenia z danego serwera FEP tzw. serwera dystrybucyjnego. W tego typu konfiguracji jeden serwer FEP pobiera aktualizacje z witryny Microsoft.com, a potem udostępnia je po protokole SMB innym serwerom FEP. Niestety funkcjonalność ta jest nie dostępna dla pobierania definicji antyspamowaych.
Uwaga
Ostatnia opcja Engine download timeout (w sekundach – domyślnie 300) – określa czas, w którym serwer FEP będzie próbował pobrać aktualizacje z witryny Microsoft. Często ten czas jest zbyt mały, w szczególności dla silnika Kaspersky i zaleca się zdecydowanie wydłużenie tego czasu nawet do 3000 sekund).
Rys. 4. Wygląd okna Global Settings, sekcja Engine Options.
- Global Settings Advances Options, sekcja Intelligent Engine Management(pokazana została na Rys. 5.).
Rys. 5. Wygląd okna Global Settings Advances Options, sekcja Intelligent Engine Management.
W sekcji Intelligent Engine Management można dokonać modyfikacji domyślnych ustawień, w tym harmonogramów aktualizacji silników i definicji. Po przełączeniu trybu pracy na Engine Management z Automatic na Manual, jak pokazano na Rys. 6., dla każdego z silników możesz wybrać, kiedy ma być stosowany (skanowanie: Transport, Realtime, Scheduled, On-Demand).
Rys. 6. Wygląd sekcji Intelligent Engine Management.
Klikając prawym przyciskiem myszy w sekcji Update scheduling, dla danego silnika, możesz wybrać opcje:
- Edit – edycja ustawień danego silnika,
- Enable – włączyć globalnie silnik,
- Disable – wyłączyć globalnie silnik,
- Update now – wymusić aktualizację.
Okno ustawień jednego z silników przedstawia Rys. 7.
Rys. 7. Okno ustawień przykładowego silnika.
O tym, ile z tych silników w rzeczywistości jest wykorzystywanych do skanowania antywirusowego, decyduje się na poziomie Policy Management | Antimalware | tryb skanowania.
Usługi i procesy FEP
Forefront instaluje i uruchamia kilka usług, a te powodują uruchomienie w pamięci określonych procesów, które realizują zarówno podstawowe funkcjonalności skanowania oraz wiele zadań dodatkowych. W poniższej tabeli zabrano listę instalowanych usług FPE.
Usługa |
Uwagi |
Microsoft Forefront Server Protection Controller | Usługa ta jest serwerem zarządzającym i pośredniczącym w monitowaniu działania FPE. Koordynuje wszystkie aktywności skanowania we wszystkich trybach: realtime, scheduled, transport oraz and on-demand. Po zainstalowaniu staje się elementem podległym [zależnym] dla usługi Microsoft Forefront Server Protection Registration service. Dodatkowo w sytuacji, w której usługa Microsoft Exchange Information Store service jest zatrzymywana lub startowana – takie samo działanie jest przypisane do usługi Microsoft Forefront Server Protection Controller service. Harmonogram zadań (Task Scheduler) musi funkcjonować poprawnie w celu poprawnej inicjalizacji usługi Microsoft Forefront Server Protection Controller. Tryb pracy: Manual, Started, Local System - wszystkie role Exchange. Nie wolno samodzielnie zmieniać trybu pracy usługi. |
Microsoft Forefront Server Protection Monitor | Usługa Microsoft Forefront Server Protection Monitor monitoruje usługi Exchange Information Store i stos transportowy w celu weryfikacji ciągłości działania ochrony antywirusowej środowiska Exchange. Tryb pracy: Manual, Started, Local System – wszystkie role Exchange Nie wolno zmieniać konta, w kontekście którego działa usługa. |
Microsoft Forefront Server Protection ADO/EWS Navigator | Usługa Microsoft Forefront Server Protection ADO/EWS Navigator łączy się z Exchange Web Services (EWS) lub ActiveX Data Objects (ADO) w celu pobrania treści do skanowania. Jest ustawiona domyślnie w trybie wyłączonym, chyba że wykorzystujesz konsolę FPE w celu przeglądania skrzynek pocztowych lub jest realizowane zadanie skanowania w trybie on-demand. Tryb pracy: Stopped, Manual, Local System – Role Full i Malbox. |
Microsoft Forefront Server Protection Registration Service | Usługa Microsoft Forefront Server Protection Registration rejestruje element Forefront Transport Agent jako tzw. transport agenta. Zapewnia to skanowanie ruchu SMTP przez procesy FSC Transport Scanner. Usługa Microsoft Forefront Server Protection Registration staje się elementem podległym [zależnym] dla usługi Microsoft Exchange Transport Service. Usługa ta uruchamia się na krótki okres czasu (poniżej 1 minuty) podczas inicjalizacji FPE. Następnie wyłącza się i jej działanie nie jest wymagane podczas normalnego trybu pracy (skanowania). Tryb pracy: Stopped, Manual, Local System – Role Full, Hub i Edge. |
Microsoft Forefront Server Protection Mail Pickup Service | Usługa Microsoft Forefront Server Protection Mail Pickup dostarcza wiadomości generowane przez FPE, jak powiadomienia, celem dostarczenia do odbiorcy. Odpowiada również za dostarczanie widomości z kwarantanny. Jeżeli jest wyłączona, nie będą generowane żadne powiadomienia oraz nie da się pobrać wiadomości z kwarantanny. Tryb pracy: Manual, Started, Network Service - wszystkie role Exchange. |
Microsoft Forefront Server Protection Eventing Service | Usługa Microsoft Forefront Server Protection Eventing Service przetwarza wszystkie zdarzenia FPE, włączając w to logowanie incydentów, kwarantanny i powiadomień. Tryb pracy: Manual, Started, Network Service - wszystkie role Exchange. |
Microsoft Forefront Server Protection VSS Writer Service | Usługa Microsoft Forefront Server Protection VSS Writer umożliwia poprawne wykonywanie archiwizacji i odtwarzania komponentów FPE poprzez usługę Volume Shadow Copy Service (VSS). |
Na Rys. 8-11 przedstawiono listy procesów uruchomionych na serwerach Exchange Full, Mailbox, Hub Transport i Edge.
Rys. 8. Lista procesów FPE na serwerze Exchange Full.
Rys. 9. Lista procesów FPE na serwerze Exchange Mailbox.
Rys.10. Lista procesów FPE na serwerze Exchange Hub Transport.
Rys. 11. Lista procesów FPE na serwerze Exchange Edge.
Z listy procesów widać, iż część procesów jest wspólna i niezależna od roli pełnionej przez serwer: FSCConfigurationServer.exe *32, FSCController.exe *32, FSCEventing.exe *32, FSCMonitor.exe *32, fscvsswriter.exe, FSEMailPickup.exe – procesy te wykorzystują dość małe zasoby pamięciowe serwera.
Teraz, w zależności od pełnionej roli, pozostałe procesy odpowiadają za uruchomione instancje silników antywirusowych dla odpowiednich trybów skanowania:
- FSCTransportScanner.exe *32 – instancja skanowania w trybie transportowym (protokół SMTP – serwery, Full, Hub Transport i Edge),
- FSCRealTimeScanner.exe *32 – instancja skanowania w trybie on-line profili Outlook (serwer Full oraz Mailbox),
- FSCScheduledScanner.exe *32 – instancja skanowania określonego harmonogramem (serwer Full oraz Mailbox),
- FSEContentScanner64.exe – instancja skanowania antyspamowego (typu Content Filtering) dla Edge oraz dla Hub Transport (gdy zainstalowane zostały na nim komponenty antyspamowe).
Uwaga
Kreator domyślnie uruchamia po cztery instancje silników FSCTransportScanner.exe oraz FSCRealTimeScanner.exe, co w większości konfiguracji jest zbędne, ze względu na przyjętą metodologię kolejkowania zadań do silników antywirusowych. Zagadnienie to będzie jeszcze wyjaśnione w jednej z dalszych części.
Integracja z Exchange
Integracja z serwerem Exchange bazuje na zaprojektowanym i wykorzystywanym już w Exchange 2003 mechanizmie Virus Scanning API (VSAPI). Polega on na przechwytywaniu komunikacji (strumienia) SMTP oraz przechwytywaniu żądań synchronizacji elementów profilu Outlook, przy dostępie do bazy skrzynek pocztowych i folderów publicznych. VSAPI wykorzystuje tzw. „sinki”, które pozwalają na przechwytywanie określonego typu żądań. Na Rys. 13. pokazano wykorzystywane „sinki” przez produkt FPE (rysunek pochodzi z książki Deploying Microsoft Forefront Protection 2010 for Exchange Server).
Rys. 12. Sinki w serwerze Exchange.
Z punktu widzenia skanowania w trybie transportowym, możesz bardziej precyzyjnie podejrzeć, jak ten komponent jest zintegrowany z mechanizmami przetwarzania strumienia SMTP. Silnik antywirusowy FSCTransportScanner.exe *32 to nic innego jak tzw. agent transportowy. Listę agentów transportowych, w zależności od pełnionej przez serwer Exchange roli, przedstawiają Rys. 14-16. FSE Routing Agent – to agent transportowy, związany ze skanowaniem antywirusowym.
Rys. 13 Lista agentów transportowych na serwerze Full.
Rys. 14 Lista agentów transportowych na serwerze Hub Transport.
W przypadku serwera Edge automatycznie instalowane są komponenty antyspamowe, stąd dostępność agentów FSE Connection Filtering Agent oraz FSE Content Filtering Agent. Agenci ci będą również dostępni na serwerze Hub Transport lub Full , jeżeli komponenty antyspamowe zostaną tam zainstalowane i uruchomione.
Rys. 15. Lista agentów transportowych na serwerze Edge.
Zarządzanie produktem FSE za pomocą PowerShell
Do dyspozycji masz 78 cmd-letów podzielonych na następujące kategorie:
Zarządzanie konfiguracją i ustawieniami zaawansowanymi
Get-FseProductInfo | Podaje informacje o produkcie FPE |
Get-FseHealth | Podaje „stan zdrowia” produktu FPE |
Get-FseAdvancedOptions | Podaje zaawansowane ustawienia dotyczące skanowania |
Set-FseAdvancedOptions | Zmienia zaawansowane ustawienia dotyczące skanowania |
Export-FseSettings | Eksportuje konfigurację FPE do pliku xml |
Import-FseSettings | Importuje konfigurację FPE z pliku xml |
Get-FseEngineManagement | Podaje informacje o silnikach antywirusowych, powiązanych z trybami skanowania |
Set-FseEngineManagement | Ustawia parametry zarządzania silnikami antywirusowymi |
Get-FseExchangeManagementStatus | Podaje stan integracji z serwerem Exchange |
Get-FseExtendedOption | Podaje informacje o rozszerzonych opcjach FPE |
New-FseExtendedOption | Definiuje nową opcję rozszerzoną |
Remove-FseExtendedOption | Usuwa definicję opcji rozszerzonej |
Set-FseExtendedOption | Ustawia wartość opcji rozszerzonej |
Get-FseLicensing | Podaje status licencjonowania |
Set-FseLicensing | Zmienia status licencjonowania |
Ogólne informacje o produkcie możesz uzyskać za pomocą polecenia Get-FseProductInfo. Przykład pokazano na Rys. 17. Produkt FPE jest zainstalowany na serwerze Full, jest w okresie licencji trialowej (Licences, Evaluation).
Rys. 16. Informacje o produkcie wyświetlane przez polecenie Get-FseProductInfo.
Fragment działania polecenia Get-FseHealt pokazano na Rys. 18. Wyświetla ono informacje o statusie każdego komponentu produktu FPE. Status GREEN – określa poprawne działanie danego komponentu. Status ORANGE – wskazuje na jakiś problem, status RED – wskazuje na usterkę krytyczną.
Rys. 17. Fragment statusu komponentów produktu FPE wyświetlany przez polecenie Get-FseHealt.
Status licencji możesz podejrzeć za pomocą polecenia Get-FseLicensing. Przykład pokazano na Rys. 19. Produkt działa w trybie licencji trial. Licencja wygaśnie 9 maja 2012 roku.
Rys. 18. Informacje o statusie licencji wyświetlane przez polecenie Get-FseLicensing.
Listę zaawansowanych opcji (Rys. 20.) możesz podejrzeć za pomocą polecenia Get-FseAdvancedOptions.
Rys. 19. Lista opcji zaawansowanych wyświetlana przez polecenie Get-FseAdvancedOptions.
Listę opcji rozszerzonych, dostępnych za pomocą polecenia Get-FseExtendedOption, pokazano na Rys. 20.
Rys. 20. Lista opcji rozszerzonych wyświetlana przez polecenie Get-FseExtendedOptions.
Status integracji z systemem Exchange prezentuje Rys. 21.
Rys. 21. Status integracji z systemem Exchange wyświetlany przez polecenie Get-FseExchangeManagement.
Zarządzanie sygnaturami
Get-FseSignatureOptions | Podaje informacje o opcjach, związanych z pobieraniem sygnatur |
Set-FseSignatureOptions | Ustawia opcje, związane z pobieraniem sygnatur |
Get-FseSignatureUpdate | Podaje informacje o pobranych sygnaturach |
Set-FseSignatureUpdate | Ustawia parametry pobierania sygnatur |
Start-FseSignatureUpdate | Wymusza pobranie sygnatur poza harmonogramem |
Informacje o opcjach związanych z pobieraniem sygnatur dostępne są za pomocą polecenia Get-FseSignatureOptions. Listę opcji przedstawia Rys. 23.
Rys. 22. Lista opcji, związanych z pobieraniem sygnatur, wyświetlana przez polecenie Get-FseSignatureOptions.
Stan aktualizacji poszczególnych silników antywirusowych (Rys. 23.) dostępny jest za pomocą polecenia Get-FseSignatureUpdate.
Rys. 23. Stan aktualizacji poszczególnych silników antywirusowych dostępny przez polecenie Get-FseSignatureUpdate.
Zarządzanie incydentami
Get-FseIncident | Pobiera pojedynczy incydent z bazy incydentów |
Remove-FseIncident | Usuwa incydent z bazy incydentów |
Get-FseIncidentOptions | Pobiera ustawienia reagowania na incydenty |
Set-FseIncidentOptions | Zmienia ustawienia reagowania na incydenty |
Zarządzanie powiadomieniami
Get-FseNotification | Podaje ustawienia powiadomień |
Set-FseNotification | Zmienia ustawienia powiadomień |
Zarządzanie kwarantanną
Get-FseQuarantineOptions | Podaje opcje kwarantanny |
Set-FseQuarantineOptions | Zmienia ustawienia kwarantanny |
Get-FseQuarantine | Podaje wpisy (e-maile), znajdujące się w kwarantannie |
Remove-FseQuarantine | Usuwa wpisy (e-maile), znajdujące się w kwarantannie |
Export-FseQuarantine | Eksportuje zawartość e-maili, znajdujących się w kwarantannie na dysku |
Send-FseQuarantine | Dostarcza e-maile, znajdujące się w kwarantannie do oryginalnego lub innego odbiorcy |
Zarządzanie listami
Get-FseFilterList | Podaje listę filtrów |
Clear-FseFilterList | Czyści listę z filtrów |
New-FseFilterList | Tworzy nową listę filtrów |
Remove-FseFilterList | Usuwa listę filtrów |
Set-FseFilterList | Zmienia parametry listy filtrów |
Add-FseFilterListEntry | Dodaje wpis do listy filtrów |
Remove-FseFilterListEntry | Usuwa wpis z listy filtrów |
Raportowanie
Get-FseReport | Wyświetla raporty dotyczące skanowania, filtrowania |
Clear-FseReport | Czyści statystykę dla określonych raportów |
Get-FseSpamReport | Pobiera raport o określonym liczniku mechanizmów antyspamowych |
Śledzenie
Get-FseTracing | Podaje wartości wielkości logów, częstotliwości usuwania wpisów, poziom szczegółowości |
Set-FseTracing | Zmienia wartości wielkości logów, częstotliwości usuwania wpisów, poziom szczegółowości |
Logowanie
Get-FseLoggingOptions | Podaje ustawienia opcji logowania |
Set-FseLoggingOptions | Zmienia ustawienia opcji logowania |
Skanowanie w trybie transportowym
Get-FseTransportFilter | Podaje konfiguracje list filtrów dla trybu transportowego |
Set-FseTransportFilter | Ustawia konfiguracje list filtrów dla trybu transportowego |
Get-FseTransportScan | Podaje informacje o parametrach skanowania w trybie transportowym |
Set-FseTransportScan | Ustawia parametry skanowania w trybie transportowym |
Skanowanie w trybie real-time
Get-FseRealtimeFilter | Podaje konfiguracje list filtrów dla trybu realtime |
Set-FseRealtimeFilter | Ustawia konfiguracje list filtrów dla trybu realtime |
Get-FseRealtimeScan | Podaje informacje o parametrach skanowania w trybie realtime |
Set-FseRealtimeScan | Ustawia parametry skanowania w trybie realtime |
Skanowanie na żądanie (on-demand)
Get-FseOnDemandFilter | Podaje konfiguracje list filtrów dla trybu on-demand |
Set-FseOnDemandFilter | Ustawia konfiguracje list filtrów dla trybu on-demand |
Get-FseOnDemandScan | Podaje informacje o parametrach skanowania w trybie on-demand |
Set-FseOnDemandScan | Ustawia parametry skanowania w trybie on-demand |
Start-FseOnDemandScan | Uruchamia skanowanie w trybie on-demand |
Stop-FseOnDemandScan | Zatrzymuje skanowanie w trybie on-demand |
Resume-FseOnDemandScan | Wznawia skanowanie w trybie on-demand |
Suspend-FseOnDemandScan | Wstrzymuje skanowanie w trybie on-demand |
Skanowanie określone harmonogramem
Get-FseScheduledFilter | Podaje konfiguracje list filtrów dla trybu określonego harmonogramem |
Set-FseScheduledFilter | Ustawia konfiguracje list filtrów dla trybu określonego harmonogramem |
Get-FseScheduledScan | Podaje informacje o parametrach skanowania dla trybu określonego harmonogramem |
Set-FseScheduledScan | Ustawia parametry skanowania dla trybu określonego harmonogramem |
Start-FseScheduledScan | Uruchamia skanowanie w trybie określonego harmonogramu |
Stop-FseScheduledScan | Zatrzymuje skanowanie w trybie określonego harmonogramu |
Filtrowanie spamu
Get-FseSpamFiltering | Podaje stan filtrowania spamu |
Set-FseSpamFiltering | Ustawia stan filtrowania spamu |
Get-FseSpamAgentLog | Podaje logi dla wszystkich agentów antyspamowych |
Get-FseSpamConnectionFilter | Podaje opcje konfiguracyjne DNS Block Listy (DNSBL - RBL’e) |
Set-FseSpamConnectionFilter | Ustawia opcje konfiguracyjne DNSBL |
Get-FseSpamContentFilter | Podaje ustawienia dla content filteringu |
Set-FseSpamContentFilter | Zmienia ustawienia dla content filteringu |
Get-FSEBackscatterFilter | Podaje ustawienia filtru Backscatter |
Set-FSEBackscatterFilter | Zmienia ustawienia filtru Backscatter |
New-FSEBackscatterKeys | Generuje nowy klucz dla filtru Backscatter |
W następnej części opisane zostaną zagadnienia dotyczące skanowania w trybie transportowym, realtime, określonym harmonogramem oraz w trybie on-demand.