29 marca 2016

Odzyskiwanie danych Exchange - Kernel for Exchange Recovery

Rozmawiając na temat systemu Exchange prędzej czy później pojawia się temat zabezpieczenia, a właściwie odzyskiwania danych pocztowych użytkowników.
Zabezpieczenie na poziomie replikacji baz danych między serwerami Exchange (czyli Database Availability Group – DAG) jest świetną metodą na zabezpieczenie przed awarią bazy danych, czy nawet całego serwera Exchange. Staram się wykorzystywać tę funkcjonalność we wszystkich środowiskach Exchange 2010 i 2013, które wdrażam. Jednak nie zawsze jest możliwość wdrożyć środowisko wysokodostępne. Czasem również może przydarzyć się nawet przy stosowaniu DAG jakiś problem – np. awaria macierzy, na której były wykreowane grupy dyskowe, użyte przez Exchange. Oczywiście każdy serwer powinien używać innej macierzy lub wewnętrznych dysków serwera, ale wiadomo – zgodnie z prawem Murphy'ego coś może pójść nie tak. Co zrobić w wypadku, gdy znajdziemy się w sytuacji, gdy mamy tylko jedną replikę jakiejś bazy danych, a na dodatek kopia ta jest uszkodzona?
Nawet najnowsze wersje Exchange nie zawsze są w stanie sobie z takim problemem poradzić samodzielnie. Nie mając aktualnego backupu dobrze jest pomóc sobie w takim wypadku narzędziem zewnętrznym, które potrafi odzyskać dane z uszkodzonej bazy danych.
Z narzędziem Kernel for Exchange Recovery zetknąłem się ładnych kilka lat temu, jeszcze na etapie Exchange 2003. Później wracałem do niego wielokrotnie przy okazji różnych problemów, które rozwiązywałem w różnych organizacjach Exchange (można uzyskać licencję na jedną organizację lub dla konsultanta – na nielimitowaną ilość organizacji Exchange). Wracałem do Kernela, bo jest bardzo prosty w użyciu, nie wymaga skomplikowanych kroków przygotowawczych, no i jego cena jest bardzo korzystna.
Instalacja jest banalnie prosta. Uruchamiamy program instalacyjny i po kliknięciu kilku razy Next mamy zainstalowany produkt (możemy zmienić folder instalacyjny). Kernel może być zainstalowany na dowolnym systemie operacyjnym Windows (nawet Windows 10) i obsługuje pełen zakres dostępnych wersji Exchange, łącznie z Exchange 2016 oraz Exchange Online w usłudze O365.















UWAGA: Do odzyskiwania danych wymagany jest Microsoft Outlook w dowolnej wersji (najlepiej wspieranej, czyli począwszy od Outlook 2010). Profil Outlokowy również jest potrzebny, natomiast może to być konto tymczasowe.
Przy próbie pierwszego uruchomienia zostaniemy poproszeni o podanie emaila i powiązanego z nim klucza instalacyjnego, po czym od razu przejdziemy do trybu wyboru bazy danych.
























Mając wybraną bazę danych (może być nawet podłączona poprzez udział sieciowy) wybieramy tryb skanowania i po kliknięciu przycisku "Finish", jak widać na poniższym rysunku, otwiera nam się lista skrzynek pocztowych i folderów w poszczególnych skrzynkach danej bazy danych.







Teraz możemy wybrać tryb, w jakim chcemy odzyskiwać dane - do pliku pst (Save to PST) lub do istniejącej innej bazy Exchange. Najnowsza wersja narzędzia umożliwia również zapis do skrzynki Exchange Online lub folderu publicznego, jak pokazuje poniższy rysunek.
Jeżeli wybierzemy opcję zapisu, a właściwie eksportu do Exchange, musimy podać w kolejnym kroku konto, które ma odpowiednie uprawnienia w docelowym systemie. Przy eksporcie do pliku PST, wystarczy podać lokalizację, w której tworzony będzie plik (ewentualnie kilka plików, jeżeli chcemy ograniczyć ich rozmiar). I to wszystko. Po krótszej lub dłuższej chwili (w zależności od wielkości skrzynki) zawartość skrzynki lub wybranego przez nas folderu zostanie pobrana z pliku edb i zapisana we wskazanej przez nas lokalizacji jak pokazuje poniższy rysunek.
Proste? Proste.


21 marca 2016

CU2 dla Skype for Business 2015

Całkiem po cichu Microsoft wydał 18 marca pakiet Cummulative Update 2 dla Skype for Business Server 2015. Nową funkcjonalnością, która pojawiła się w tej wersji produktu jest możliwość użycia Modern Authentication (ADAL), co wymaga jednak zainstalowania ADFS 3.0 i dodatkowych kroków konfiguracyjnych, zgodnie z opisem w dokumentacji. CU2 rozwiązuje również kilka problemów, takich jak kłopoty z połączeniem przez klienta webowego z komputera z Windows 10.
Opis zmian w CU2 oraz procedurę instalacyjną można znaleźć w artykule KB3061064.
Samą poprawkę można pobrać z tej lokalizacji

16 marca 2016

Poprawki do Exchange we wszystkich wersjach

15 marca czyli wczoraj wydano poprawki do rodziny serwerów Exchange:
 O ile poprawki dla serwerów 2007 i 2010 to czysta kosmetyka (głównie aktualizacja kontrolki OWA S/MIME do użycia certyfikatu z podpisem SHA-2), w Exchange 2010 można w konsoli EMC znaleźć dodatkowo link do zewnętrznego kreatora konfiguracji hybrydowej (taki jak stosowany od kilku miesięcy w nowszych wersjach), to pakiety CU dla Exchange 2013 i 2016 zawierają sporo zmian i poprawek. Najbardziej zauważalna zmiana to zastąpienie samorozpakowującego się archiwum w Exchange 2016 CU1 obrazem ISO. Dla środowiska z kilkoma serwerami jest to dużo wygodniejsze w użyciu (wystaczy podmontować płytę z poziomu Windows lub z poziomu wirtualizatora, ale zamiast 1,5 GB musimy ściągnąć plik wielkości 6,4GB (!).
Jet również niestety łyżka dziegciu. Niedawno pisałem o problemach z .Net Frameworkiem 4.6.1. Miałem nadzieję, że problem zostanie rozwiązany i uwzględniony w kwartalnych aktualizacjach, niestety nie udało się grupom produktowym dogadać - usunięcie problemu, a co za tym idzie wsparcie dla .Net Frameworka 4.6.1 ma być zawarte dopiero w kolejnym pakiecie CU.
Kolejny problem, a w zasadzie niedogodność, to znacznie dłuższy czas instalacji pakietu w wersjach 2013/2016 na platformie Windows Server 2012 R2. O ile normalnie pakiet Cummulative Update w Exchange 2013 instaluje się kilkadziesiąt minut, to teraz można zauważyć co najmniej dwukrotne wydłużenie tego procesu (!). Dlaczego tak się dzieje? Znowu okazuje się, że Framework generuje dodatkowe problemy. Po zainstalowaniu poprawki KB3097966 pojawia się właśnie takie wydłużone dodawanie komponentów do serwera Exchange. Zespół produktowy .Net Framework pracuje nad usunięciem tego problemu, ale na razie zalecanym obejściem problemu jest wykonanie na wszystkich serwerach Exchange na platformie Windows 2012 R2 komendy:
“%windir%\Microsoft.NET\Framework64\v4.0.30319\ngen.exe update”
Ciekawie opisał procedurę aktualizacji serwerów Exchange 2016 na swoim blogu Paul Cunningham. Oczywiście dobrze jest również przeczytać informację na blogu zespołu produktowego.

3.2.1.Wydano!

W zeszłym roku Microsoft wydał Skype for Business 2015 i Exchange 2016 ale nadal rodzina Office Servers 2016 nie była gotowa - brakowało Sharepointa. W poniedziałek 14 marca Sharepoint Server 2016 uzyskał status RTM i w końcu można powiedzieć o pełnej rodzinie produktów. Co prawda będzie dostępny do pobrania dla klientów wolumenowych dopiero na początku maja, ale wersję ewaluacyjną można pobrać już dziś. Razem z Sharepointem pojawił się również Project Server 2016 - produkt mocno powiązany. 4 maja ma odbyć się wirtualna premiera produktu, a chętni mogą przeczytać o nowych funkcjonalnościach w dokumencie Sharepoint Server 2016 Overview Guide.
Mam nadzieję, że niebawem będę mógł również zaprosić na Office 2016 Community Launch, ale to na razie jeszcze tajemnica ;)

10 marca 2016

Walka ze spamem - SPF, DKIM, DMARC

UPDATED
Zaktualizowane odnośniki

Kiedy 10 lat temu wprowadzono system Exchange 2007, mechanizmy walki ze spamem były stosunkowo ubogie - weryfikacja nazwy serwera w RevDNS operatora, listy RBL i niewiele więcej. Jednak opracowywany od 2004 roku standard SPF, opublikowany jako draft RFC 4408 oraz jego Microsoftowe rozszerzenie Sender Id - draft RFC 4406 (RFC dla SPF został zaktualizowany jako 6652 i 7208) i , a Sender Id został zaimplementowany w Exchange 2007. Napisałem już kiedyś artykuł na temat SenderId, więc nie będę się powtarzał, warto jednak zająć się nowszymi metodami podniesienia bezpieczeństwa. Na ostatnim spotkaniu PEPUG prezentowany był DMARC, a jakiś czas temu DKIM, więc uznałem, że warto tym razem poświęcić parę słów tym rozwiązaniom.
DKIM czyli DomainKeys Identified Mail (opisana w 2009 roku w RFC 5585) to usługa polegająca na zabezpieczaniu wysyłanych maili kluczem domenowym. Żeby klucz ten można było zweryfikować, w DNS umieszczany jest rekord zawierający klucz publiczny odpowiadający danej domenie.
















Od przeszło pół roku usługa Office365 pozwala na weryfikację maili przychodzących poprzez DKIM, możliwości wykorzystania tej usługi posiada również wiele komercyjnych rozwiązań antyspamowych. Od niedawna pojawiła się również możliwość zabezpieczania ruchu wychodzącego.
W tym celu po pierwsze musimy dodać do DNS naszej domeny dwa rekordy CName (nie TXT!).
W przykładzie użyję domeny pepug.net.

Host name:          selector1._domainkey
Wskazanie na hosta: selector1-domainGUID._domainkey.O365Domain
TTL:                3600 

Host name:          selector2._domainkey
Wskazanie na hosta: selector2-domainGUID._domainkey.O365Domain
TTL:                3600

Jakie wartości podstawić pod domainGUID O365Domain?
DomainGUID to wartość, która jest wstawiana jako początkowy człon rekordu MX (przed suffixem mail.protection.outlook.com), dla tenanta naszej firmy. W omawianym przykładzie jest to ciąg pepug-net, jak pokazuje poniższy rysunek:

O365Domain, to nazwa tenanta, wskazana w konfiguracji usługi - w omawianym przykładzie pepugnet.onmicrosoft.com.
Czyli odpowiednie wartości to selector1-pepug-net._domainkey.pepugnet.onmicrosoft.comselector2-pepug-net._domainkey.pepugnet.onmicrosoft.com.






Dokumentacja Exchange Online opisuje również ten proces całkiem szczegółowo. Po skonfigurowaniu DNS, możemy włączyć usługę DKIM w ustawieniach domen pocztowych, obsługiwanych przez nasz tenant. W tym celu przechodzimy w konsoli administracyjnej do administracji Exchange, zakładki "Ochrona" - "DKIM". W prawym panelu akcji jest dostępny przycisk "Włącz" (wyróżniony na niebiesko). 













Po włączeniu tej funkcjonalności zmieniają się ustawienia, jak widać na poniższym rysunku:















UPDATED: Analogiczna możliwość dostępna jest w ustawieniach zabezpieczeń poczty w portalu zarządzaniu ochroną naszego tenanta - https://protection.office.com.
Po wysłaniu  wiadomości widać w nagłówku informację o użyciu DKIM i szczegóły podpisu:





















Alternatywnie można użyć skryptu Validate-DkimConfig.ps1, opisanego na blogu Terry'ego Zinka, oraz Alexa Veboona, do weryfikacji poprawności utworzonych rekordów. UPDATED: Skrypt w ostatnich miesiącach kilkukrotnie zmieniał miejsce publikacji, ale powyższe linki powinny działać. Wyniki działania skryptu widać na poniższym rysunku:






















Niestety dla Exchange Server 2010/2013/2016/2019 on-premises, nie ma jak na razie możliwości włączenia takiej funkcjonalności. Są co prawda zewnętrzne dodatki umożliwiające skorzystanie z tej funkcjonalności, niektóre płatne, jak np. EA DomainKeys/DKIM for Exchange Server lub bezpłatne jak DKIM Signing Agent for Microsoft Exchange Server. Mam nadzieję, że niedługo, przynajmniej w najnowszej wersji Exchange 2016 zostanie dodana opcja konfiguracji DKIM-a.
UPDATED: Niestety, Microsoft nie wprowadził natywnej obsługi DKIM ani w Exchange 2016 ani w Exchange 2019.

W kolejnym poście opiszę funkcjonalność DMARC.