28 maja 2023

Konferencje w maju

Dosyć długo nie pisałem nic na blogu, ale sporo się działo w moim życiu - przede wszystkim zmiana pracy, co wymagało zakończenia lub przekazania wielu tematów przed odejściem, a od kwietnia intensywnie wdrażam się w nowe obowiązki. Mój profil zawodowy skręcił mocno w kierunku cloud security, pozostawiając obszar usług komunikacyjnych i low code nieco na boku.
Nie przeczę, że uproszczenie ścieżki aktualizacji dla Exchange (paczki CU tylko dla wersji 2019) również wpłynęło na mniejszy ruch na blogu.

Niemniej jednak nie zniknąłem całkowicie - udało mi się poprowadzić kilka sesji na konferencjach (Power Platform Global Bootcamp 2023, Azure Summit 2023 oraz MS Tech Summit 2023), z których slajdy postanowiłem udostępniać na moim GitHubie. Przedwczoraj prowadziłem również warsztaty dla szkolnych administratorów O365 na konferencji Majowe Mrozy (podobnie jak w poprzednich latach).

Maj w tym roku obfitował w konferencje i spotkania związane z usługami Microsoft, zarówno online jak i prowadzonych lokalnie. Osobiście byłem na 150 spotkaniu WGUiSW, udało mi się również uczestniczyć w premierze polskiego regionu Azure i wspomnianej wcześniej konferencji MS Tech Summit, na której prowadziłem sesję w Sentinelu i Lighthouse (prezentacja na GitHubie). Tym przyjemniej, że konferencja odbywała się na mojej macierzystej uczelni, chociaż w gmachu innego wydziału. Udało mi się jeszcze uczestniczyć, przynajmniej częściowo w Cloud Summit 2023, oraz w Microsoft Build, na której AI oraz różnego rodzaju Copiloty zdominowały program. W ramach konferencji jak zwykle uruchomiono kilka Cloud Skills Challenge'y, które jeszcze kilka tygodni potrwają.
Byłem zachęcany również do wzięcia udziału w kilku konferencjach zagranicznych - w tym tygodniu miała miejsce European Collaboration Summit, a w najbliższych dniach ma miejsce Thrive Conference 2023, ale niestety logistycznie nie dałem rady. Może w następnym roku się uda. Ale dzieje się dużo.

22 stycznia 2023

Raportowanie postępów w nauce - Microsoft Learn Organizational Reporting

UPDATE

Oprócz meetupów, prezentacja na temat raportowania postępów w nauce odbyła się również na Global Power Platform Bootcamp 2023, skąd można zobaczyć na Youtube nagranie. Ponadto umieściłem slajdy na swoim GitHubie.

Ostatnio miałem okazję opowiadać na Meetupie o raportowaniu postępów w nauce na platformie Microsoft Learn, co spotkało się z dużym zainteresowaniem słuchaczy. Microsoft umożliwia pobieranie informacji o zaliczonych modułach i ścieżkach szkoleniowych od prawie dwóch lat, od roku możemy również uzyskać informacje o certyfikatach Microsoft zdobytych przez pracowników naszej firmy. Oczywiście, żeby było to możliwe, prywatne konto MSID, używane do rejestracji na egzaminy i odbywania szkoleń na platformie Microsoft Learn, musimy połączyć z kontem służbowym (możemy w ten sposób dodać aż 5 kont powiązanych z różnymi tenantami Azure AD), a potem je odpiąć, jeżeli zmienimy pracę. Istotne jest, że na poziomie organizacji nie są dostępne żadne informacje wrażliwe - nawet nasz adres mailowy powiązany z kontem prywatnym.










Co ciekawe, nadal niewiele osób wie o tej funkcjonalności, a Microsoft specjalnie nie chwali się przygotowanym rozwiązaniem, całą uwagę skupiając na zachwalaniu Viva Learning. Z drugiej strony, wdrażając rozwiązania chmurowe, takie jak Azure czy M365, istotne jest podnoszenie kwalifikacji pracowników, o czym mówi Cloud Adoption Framework, więc możliwość raportowania postępów w nauce jest z punktu widzenia każdej firmy, wchodzącej w chmurę, istotnym elementem planu wdrożenia.

Wracając do szczegółów - jak skonfigurować takie raportowanie? Mając konta prywatne połączone z firmowymi (jeżeli nie interesują nas zdobywane certyfikaty, to można używać tylko firmowych kont), musimy w pierwszej kolejności skonfigurować synchronizację lub eksport danych z Microsoft Learn do naszej przestrzeni chmurowej. Sama konfiguracja synchronizacji jest bardzo prosta i wymaga od nas użycia dwóch płatnych komponentów Microsoft Azure:

  • Azure Data Share (używamy tylko opcji odbierania danych z Microsoft Learn),
  • Azure SQL Database (alternatywnie można użyć storage accounta i zapisywać dane w blobie lub data lake'u, ale przygotowany szablon korzysta z bazy SQL).

Koszty ich użycia, nawet na potrzeby dużej organizacji, są naprawdę bardzo małe - kilka do kilkudziesięciu Euro miesięcznie, w zależności od wybranych funkcji SQL. Oczywiście, musimy mieć do tego subskrypcję Microsoft Azure, ale jej uruchomienie jest banalnie proste.

Cały proces konfiguracji synchronizacji jest dobrze opisany w dokumentacji platformy Microsoft Learn, w artykule Get Started with Microsoft Learn Organizational Reporting. Żeby uruchomić proces synchronizacji danych o szkoleniach dla użytkowników, którzy logują się do Microsoft Learn kontami z naszego tenanta, musimy zalogować się do Microsoft Learn kontem z uprawnieniami Global Administratora i na stronie Get Started with Microsoft Learn Organizational Reporting musimy kliknąć przycisk Get Started.

W tym momencie zostaniemy poproszeni o wyrażenie zgody w imieniu organizacji na pobieranie danych z Microsoftu dla użytkowników logujących się do naszej organizacji.







Po wyrażeniu zgody w usłudze Data Share pojawi nam się przesłane przez Microsoft Learn zaproszenie (kolejny rysunek), które musimy potwierdzić, aby przejść do dalszych kroków konfiguracyjnych.




Teraz możemy już skonfigurować, gdzie mają być zapisywane synchronizowane z Microsoft dane






















Wymaga to zamapowania odpowiednich tabel, pobieranych z Learn'a na nasze własne (kolejny rysunek)













Jeżeli chcemy użyć przygotowanego przez Microsoft i rozbudowanego przeze mnie szablonu raportu, to wybieramy utworzoną wcześniej pustą bazę Azure SQL i mapujemy odpowiednio tabele (rysunek poniżej).

Żeby synchronizacja się powiodła, Azure SQL musi pozwolić usłudze Azure Data Share na tworzenie tabel i modyfikację danych, więc musimy dodatkowo ustawić na poziomie bazy danych uprawnienia, a także skonfigurować odpowiednio firewall dla naszej bazy. Kreator synchronizacji podpowie nam odpowiednie komendy




Wystarczy je przekopiować i wykonać w SQL Server Management Studio lub np. w konsoli webowej Azure SQL (kolejny rysunek). Jeżeli utworzyliśmy Azure Data Share z nazwą learndatashare, to musimy wykonać takie komendy:
create user "learndatashare" from external provider
exec sp_addrolemember db_datareader, "learndatashare";
exec sp_addrolemember db_datawriter, "learndatashare";
exec sp_addrolemember db_ddladmin, "learndatashare"





















Teraz możemy uruchomić synchronizację (domyślnie raz na dobę, ze wskazaniem godziny, kiedy pierwszy raz uruchomiliśmy synchronizację). Historia synchronizacji widoczna jest w konsoli Data Share.












Mamy już źródło danych w naszym Azure, z którym możemy powiązać raport, dla którego trzeba najpierw pobrać szablon z mojego githuba - https://github.com/ksagala/LearnReporting. O samym raporcie więcej informacji znajdziecie w readme w tym repozytorium, proces instalacji można również prześledzić na nagraniu mojej sesji z Power Platform Global Bootcamp 2023 na kanale Youtube.


10 stycznia 2023

Nowy Rok - nowe poprawki do Exchange

Zaczął się drugi tydzień stycznia i pojawiły się kolejne poprawki bezpieczeństwa dla systemów Exchange. Nic strasznego, ale dobrze się zabezpieczyć. Poniżej lista poprawek:

Warto dodać, że po instalacji poprawki, możliwe jest (a także zalecane) włączenie ochrony pakietów Powershell poprzez weryfikację certyfikatów - Certificate signing of PowerShell serialization payload in Exchange Server

Przy okazji Microsoft przypomina o weryfikacji certyfikatów OAuth, używanych na serwerach Exchange, dostarczając skrypt MonitorExchangeAuthCertificate.ps1, który pozwala na weryfikację i automatyczne odnawianie takich certyfikatów.

Weryfikacja, czy na wszystkich serwerach Exchange w organizacji jest aktywny certyfikat dla OAuth jest drugim warunkiem wstępnym (oprócz instalacji styczniowej poprawki), aby włączyć nową funkcjonalność. W Exchange 2016/2016 możemy ją włączyć poprzez zdefiniowanie override'a, odświeżenie konfiguracji i restart usług (kroki poniżej):

New-SettingOverride -Name "EnableSigningVerification" -Component Data -Section EnableSerializationDataSigning -Parameters @("Enabled=true") -Reason "Enabling Signing Verification"

Get-ExchangeDiagnosticInfo -Process Microsoft.Exchange.Directory.TopologyService -Component VariantConfiguration -Argument Refresh 

Restart-Service -Name W3SVC, WAS -Force

W Exchange 2013 musimy dodać klucz w rejestrach i również zrestartować usługi webowe.

  • New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\ExchangeServer\v15\Diagnostics -Name "EnableSerializationDataSigning" -Value 1 -Type String

06 stycznia 2023

Podsumowanie roku 2022

Nie wiadomo kiedy przeleciał mi rok 2022 i zaczął się kolejny. Był on trudny, ciężki i jednocześnie ciekawy. O wojnie, inflacji i pandemii nie będę pisać, skupię się na nieco bardziej osobistych tematach. Dla mnie ten rok był z jednej strony znowu mocno związany z różnymi problemami zdrowotnymi moimi i rodzinki, ale mimo wszystko udało się wiele rzeczy osiągnąć.

Ciekawy wyjazd wakacyjny, żeby w końcu pokazać córkom miejsca, którymi zachwycaliśmy się z żoną 25 lat temu (Lazurowe Wybrzeże, Prowansja i Katalonia) był na pewno dużym pozytywem (pomimo połamanej przez linie lotnicze walizki). Przez cały rok słuchałem również intensywnie książki, odkrywając autorów, których wcześniej nie znałem (np. rewelacyjny cykl o komisarzu Zakrzewskim Mieczysłąwa Gorzki), ale również wracałem do swoich ulubionych pisarzy (jak Aneta Jadowska czy Andrzej Pilipiuk). Oczywiście innych form sztuki, również starałem się nie zaniedbywać, chociaż w kinie byłem chyba rzadziej niż w teatrze (platformy streamingowe dają radę).

Po pandemii powróciły konferencje i meetupy stacjonarne, co pozwoliło zobaczyć na żywo wielu znajomych z branży, z którymi nie widziałem się od kilku lat. Na kilku konferencjach i meetupach również prowadziłem sesje (a nawet warsztaty), dobrze przyjęte przez słuchaczy, co również było satysfakcjonującym doświadczeniem. Brałem również udział w dwóch hackatonach, Power Platform i Azure (w tym drugim jako wsparcie techniczne).

Patrząc na technologie, to o ile początek roku zaczął się dla mnie od Power Platform, to później zdecydowanie skręcił w kierunku Microsoft Azure i Azure DevOps, z silną domieszką Cybersecurity. W połowie roku doszedł do tego jeszcze ciekawy projekt Power BI, ale końcówka roku znów ostro skręciła w kierunku Azure. Nie byłbym sobą gdybym nie wspomniał tutaj o Microsoft Exchange - w tym roku Microsoft w połowie roku opublikował trochę informacji na temat planowanych nowości, o czym pisałem już na blogu, we wrześniu odbyła się wirtualna konferencja MEC Technical Airlift z wieloma ciekawymi sesjami na temat Exchange, które można nadal oglądać na YouTube, zredukował ilość pakietów Cumulative Update do cyklu półrocznego (zwłaszcza, że aktualizacje wydawane są teraz tylko dla wersji 2019, co miesiąc za to wydawane były poprawki bezpieczeństwa - rok 2022 obfitował w różnego rodzaje dziury w zabezpieczeniach, niektóre nawet zero-day. Zgodnie z zapowiedziami, to rok 2023 nie przyniesie dla poczty elektronicznej wielkich zmian, ale jeżeli chodzi o inne usługi chmurowe to na pewno można spodziewać się wielu ciekawych aktualizacji. Pod koniec ubiegłego roku została również uchwalona unijna dyrektywa DORA, która powinna w tym roku trafić do poszczególnych państw, w tym Polski. 

Poznawanie tajników różnych technologii to dobra okazja do zdawania egzaminów i pod tym względem mogę uznać miniony rok za udany. Chociaż nie miałem czasu przygotować się egzaminów z innych technologii chmurowych - planowałem i poznawałem w wolnych chwilach zarówno AWS jak i GCP, to jednak zdobyłem kilka certyfikatów chmurowych Microsoft (odnowień nie będę wymieniał):

  • Microsoft Certified: Azure Solutions Architect Expert
  • Microsoft Certified: Azure Security Engineer Associate
  • Microsoft Certified: Cybersecurity Architect Expert
  • Microsoft Certified: DevOps Engineer Expert

Przy okazji programu szkoleniowego na platformie Learn, przygotowałem również dashbord raportowania postępów w nauce dla organizacji, miałem nadzieję, że skończę również post na blogu na ten temat, ale niestety, nie starczyło czasu w zeszłym roku.

17 listopada 2022

Poprawki do Exchange albo ich brak

Trochę czasu minęło od ostatniego postu na temat Exchange'a i poprawek do niego. Trochę się działo, a moje codzienne zajęcia dosyć mocno odsunęły się od poczty elektronicznej. W ostatnich miesiącach Microsoft skupił się na wydawaniu co miesiąc poprawek bezpieczeństwa na pojawiające się kolejne (niestety) mniej lub bardziej krytyczne zagrożenia. Miesiąc temu wykryto krytyczne podatności (tzw. zero-day) CVE-2022-41040 oraz CVE-2022-41082), na którą nie udało się przygotować od razu poprawki, zamiast tego opublikowano tylko informację o obejściu problemu, poprawka pojawiła się dopiero kilka dni temu. Poniżej linki do pbrania:

Więcej informacji można znaleźć na blogu zespołu produktowego - Released: November 2022 Exchange Server Security Updates.

Teraz Microsoft ogłosił, że w tym roku nie będzie kolejnego pakietu poprawek skumulowanych, ze względu na zbyt krótki czas, jaki pozostał do końca roku. No cóż, z jednej strony jest to prawda, opublikowaną w zeszłym tygodniu poprawkę większość firm pewnie będzie wdrażać dopiero w nadchodzących tygodniach, a w grudniu ze względu na zamknięcie roku i święta lepiej nie wdrażać zbyt dużych zmian. Z drugiej strony może po prostu nie mieli pomysłu na kolejne usprawnienia?  Biorąc pod uwagę, że Cumulative Update (nomen omen o numerze 13) przysługuje tylko Exchange 2019 (bo pozostałe wersje już dostają tylko poprawki bezpieczeństwa), zespół produktowy chyba bardziej skoncentrował się na łataniu podatności i rozwoju usług chmurowych. Firmy posiadające Exchange 2013 powinny również zastanowić się, czy kupować nowe licencje i aktualizować do Exchange 2019, czy też migrować do chmury. 

05 czerwca 2022

Nowości w Exchange

Drugiego czerwca zespół produktowy Exchange opublikował kolejną odsłonę informacji na temat ścieżki rozwoju systemu Exchange. Już kilkukrotnie wspominałem o braku konsekwencji w polityce informacyjnej zespołu produktowego Exchange, tym razem jednak zespół wytłumaczył się z braku informacji o nowej wersji systemu, która przecież była zapowiadana na jesień zeszłego roku, wskazując na wiele koniecznych usprawnień w obszarze bezpieczeństwa, które trzeba było poczynić w ostatnim roku (np. integracja z AMSI, czy też dodanie do Exchange 2016 i 2019 Emergency Mitigation Service).

Poznaliśmy jednak trochę szczegółów na temat planowanej daty wydania kolejnej wersji - 14 października 2025. Microsoft będzie dążył do możliwości aktualizacji in-place serwerów (już teraz Exchange 2019 jest wspierany na platformie Windows 2022), a na razie namawia wszystkich klientów do aktualizacji serwerów właśnie do wersji Exchange 2019, tak żeby skorzystać z już udostępnionych w tej wersji produktu innowacji, ale również skorzystać z nowych funkcji, które są w przygotowaniu (np. wsparcie dla TLS 1.3, planowane na przyszły rok). Kolejnym ciekawym uzupełnieniem konfiguracji hybrydowej będzie bez wątpienia rozszerzenie konsoli administracyjnej Microsoft 365 o informację na temat poziomu aktualizacji serwerów Exchange po stronie on-premises. Nawet jeżeli zmigrujemy skrzynki pocztowe do Exchange Online, warto pamiętać o pozostawionych lokalnie serwerach (nie zawsze możemy się ich pozbyć) i zwracać uwagę na wersję poprawek na nich zainstalowanych. Więcej informacji na temat nowości ma być przedstawionych we wrześniu na wznowionej po latach konferencji MEC (Microsoft Exchange Conference). Już nie mogę się doczekać.



02 czerwca 2022

Majowe aktualizacje bezpieczeństwa do Exchange

Już niebawem kolejny patch tuesday, ale dla porządku wspomnę o opublikowanych w maju poprawkach bezpieczeństwa dla Exchange:

  • Exchange Server 2013 CU23
  • Exchange Server 2016 CU22 and CU23
  • Exchange Server 2019 CU11 and CU12
Warto wspomnieć, że od tego pakietu Microsoft zmienia sposób instalacji poprawek - zamiast paczki msp, która musiała być instalowana w kontekście administratora, teraz dostarczana jest paczka w formacie exe, z automatyczną eskalacją uprawnień, co powinno pomóc nawet zapominalskim adminom.
Ponadto Microsoft dodatkowo po zainstalowaniu poprawek każe uruchomić ponownie setup.exe z opcją przygotowania wszystkich domen (jednorazowo). Więcej informacji na blogu zespołu produktowego.

22 maja 2022

Majowe Mrozy i K@SSK 2022 - warsztaty z PowerApps

W tym roku po raz kolejny miałem okazję uczestniczyć w konferencji Majowe Mrozy i K@SSK, tym razem w edycji 2022, prowadząc warsztaty, zarówno z bezpieczeństwa Azure AD jak i z Power Apps. Warsztat z bezpieczeństwa Azure AD, podobnie jak zeszłoroczny (do którego opis i uzupełnienie przedstawiłem w osobnym poście na tym blogu), dotyczyły głównie aspektów, które można poprawić nawet w planie licencyjnym A1 (dwa konta administracyjne, użycie MFA, sprawdzanie zaleceń Secure Score i Compliance Managera).

Na warsztacie z Power Apps, pokazywałem jak można przygotować prostą aplikację do inwentaryzacji komputerów - kod takiej przykładowej aplikacji, którą można zaimportować do swojego środowiska można znaleźć na GitHubie.

Edycja aplikacji testowej















Przykład jest bardzo prosty, jako źródło danych wykorzystuje tabelę z danymi przechowywaną w pliku Excel, ale działa poprawnie i został stworzony zaledwie w kilka godzin (większość czasu to dopieszczanie wyglądu i nawigacji). Działający przykład udało się stworzyć na warsztatach w kilka minut. Źródło danych w postaci tabeli Excel, bardzo prosto można zastąpić listą Sharepoint. Użycie listy jako źródła danych pozwoli nam również w prosty sposób ograniczyć widoczność wprowadzanych w aplikacji danych. Wystarczy tylko we właściwościach listy ograniczyć widoczność danych, tylko to tych tworzonych przez użytkownika, jak pokazuje poniższy obrazek.

Sahrepoint - list advanced permission















O czym należy pamiętać i wiedzieć, próbując wykorzystać platformę Power Apps do prostych, a nawet bardziej rozbudowanych aplikacji, tworzonych bez użycia kodu. Nawet plan A1 zawiera licencje na Power Apps i Power Automate dla Office 365. Pozwala to tworzyć aplikacje typu Canvas, z użyciem właśnie takich źródeł danych jak tabele w Excelu oraz listy Sharepoint, a także kilka innych standardowych źródeł danych chmurowych. Łączenie innych źródeł danych (oznaczanych jako Premium) lub definiowanie własnych, wymaga dodatkowo płatnych licencji Power Apps, których niestety nie ma ani w planie A3 ani nawet w planie A5 Office 365. Podobnie wygląda sytuacja, gdybyśmy chcieli utworzyć aplikację typu Model Driven lub Portal.

Nawet jednak ograniczając się do aplikacji typu Canvas, ze standardowymi źródłami danych mamy spore możliwości. Przykłady gotowych aplikacji, udostępnionych w ramach społeczności Power Apps, możemy znaleźć tutaj - Community App Samples - Power Platform Community.

Dużą pomocą jest również portal Microsoft Learn, gdzie możemy znaleźć wiele ścieżek i modułów szkoleniowych dotyczących tworzenia i architektury Power Apps.



22 kwietnia 2022

Pakiety poprawek dla Exchange po nowemu

Zespół produktowy Exchange opublikował poprawki zbiorcze dla Exchange 2016 i 2019, ogłaszając jednocześnie sporo zmian. Chociaż nie są wg. mnie rewolucyjne, jednak warto o nich wiedzieć. Po raz kolejny i prawdopodobnie ostatni ogłoszono, że obecny pakiet aktualizacji dla Exchange 2016 - CU23 będzie już ostatnim dla tej wersji systemu, w przyszłości mają już być dostępne tylko poprawki bezpieczeństwa. 

Ale wracając do istotnych zmian - ze względu na dużą ilość wykrytych podatności w ubiegłym roku, Microsoft intensywnie monitorował wdrażanie pakietów poprawek przez klientów on-premises, a nawet dyskutował z klientami na temat powodów związanych z opóźnieniami w ich instalacji. Ostatecznie podjęto decyzję o zmianie modelu serwisowego - zamiast kwartalnych pakietów, kolejne pakiety CU dla Exchange 2019 będą wydawane w cyklu półrocznym (H1 i H2), przeważnie w marcu i wrześniu. Obecna paczka poprawek została przypisana jako H1.

Kolejne zmiany dotyczą funkcjonalności i licencjonowania w środowisku hybrydowym - po pierwsze serwer hybrydowy Exchange 2019 pobiera automatycznie bezpłatną licencję (aplikowaną prze Hybrid Configuration Wizard), tak jak działało to w Exchange 2016 i starszych wersjach. Po drugie zaktualizowane zostały narzędzia administracyjne dla Exchange 2019, tak że do zarządzania właściwościami mailowymi kont użytkowników ze skrzynkami pocztowymi nie potrzebujemy zostawiać lokalnych serwerów Exchange, wystarczy stacja zarządzająca z narzędziami administracyjnymi. Narzędzia te również zostały zaktualizowane, tak żeby działały cmdlety dla agentów hybrydowych przy użyciu MFA.

Następną opublikowaną zmianą jest dodanie wsparcia dla Windows Server 2022, co przy nowych wdrożeniach lub migracjach może być istotną kwestią (oczywiście tylko dla Exchange 2019).

Ostatnim ogłoszeniem jest uruchomienie programu nagradzania za znalezione podatności w Exchange, gdzie można zgłaszać znalezione problemy i uzyskiwać nagrody pieniężne. 

Opis poprawek i linki do pobrania:

10 marca 2022

Marcowe aktualizacje zabezpieczeń dla Exchange

Kolejny "patch Tuesday" i kolejna łatka na zabezpieczenia serwerów Exchange. W tym miesiącu aktualizacja adresuje dwa problemy opisane w artykułach CVE-2022-23277 (Remote Code Execution) oraz CVE-2022-24463 (Spoofing). Chociaż nie znaleziono jeszcze aktywnych exploitów, wykorzystujących te podatności, to Microsoft zaleca niezwłoczną instalację poprawki. W zależności od wersji należy pobrać odpowiednią paczkę:

  • Exchange Server 2013 CU23
  • Exchange Server 2016 CU21 and CU22
  • Exchange Server 2019 CU10 and CU11

Poprawkę należy instalować ręcznie, w kontekście administratora, ale mam nadzieję, że do tego wszyscy się już przyzwyczaili. Więcej informacji na blogu zespołu produktowego.

23 stycznia 2022

Kolekcja skryptów Powershell

Przez wiele lat moje skrypty ułatwiające konfigurację czy też dokumentowanie organizacji serwerów Exchange wisiały w galerii Technet i mogę powiedzieć z dumą, że większość z nich było pobieranych ponad 1000 razy i doczekały się wielu pozytywnych opinii. Niestety, galeria została w zeszłym roku zamknięta, co nie oznacza jednak, że skrypty zniknęły z internetu. Przeniosłem je na swoje konto GitHub, a ostatnio nawet zacząłem je nieco odświeżać, tak żeby np. działały poprawnie z serwerami Exchange 2019.  Na tym samym koncie w trakcie pandemii pojawiły się również skrypty, pomagające zarządzać środowiskami Office 365 w edukacji, ale oczywiście można je również wykorzystać w tenantach komercyjnych.

Dla przypomnienia przedstawiam poniżej listę skryptów dla edukacji:

  1. addusersfromfile.ps1 - opisany w artykule na moim blogu
  2. bulkpasswordreset.ps1 - opisany w artykule na moim blogu
  3. zmianaDisplayName.ps1 - opisany w artykule na moim blogu
A tutaj lista skryptów dla Exchange:
  1. set-allvdirs.ps1 - skrypt ustawia wszystkie (lub tylko wybrane przez nas) wirtualne katalogi wszystkich serwerów Exchange lub tylko lokalnego oraz SCP usługi autodiscover.
  2. get-allvdirs.ps1 - sprawdza i zapisuje w pliku informacje o wszystkich wirtualnych katalogach na serwerach Exchange w organizacji.
  3. get-ExDocs.ps1 - zapisuje w plikach parametry konfiguracyjne wszystkich usług Exchange naszej organizacji.
  4. remove-oldaliases.ps1 - kasuje dla wszystkich odbiorców poczty wybrany alias
  5. reenableExServices.ps1 - W przypadku niepoprawnej instalacji poprawki Exchange, może nastąpić sytuacja, gdy usługi Exchange pozostają w stanie disabled. Skrypt naprawia taki problem.
  6. list-mobiledevsforallmailboxes.ps1 - prosty skrypt do wyświetlania listy urządzeń mobilnych, skonfigurowanych dla użytkowników Exchange.

06 stycznia 2022

Antimalware w Exchange raz jeszcze

Noworoczny problem z aktualizacją silnika Antimalware w serwerach Exchange wywołał sporo dyskusji, które pokazały mi, że nie wszyscy dobrze rozumieją tematy związane z powyższym zagadnieniem. Dodatkowe zamieszanie spowodowała wprowadzona w czerwcu 2021 integracja z AMSI systemu operacyjnego. Należy pamiętać o jednej podstawowej różnicy - starszy mechanizm poprzez agenta transportowego, skanuje pod kątem malware treść i załączniki przesyłanych maili w warstwie transportowej serwera. Integracja z AMSI pozwala poprzez moduł http proxy skanować zapisywane w skrzynce pocztowej wiadomości w trakcie zapisywania/odczytu z użyciem mechanizmów ochrony animalware działających w systemie operacyjnym i również korzystających z AMSI. Uzupełnienie szczególnie istotne dla firm, które nie mają zbyt dobrej ochrony na stacjach roboczych - dostęp do skrzynki zarówno z Outlooka jak i OWA jest dodatkowo weryfikowany.

Problemy z aktualizacjami Antimalware pojawiały się już wielokrotnie - pisałem o tym kilkukrotnie w kontekście Exchange 2013 jak i Exchange 2016. Ale powtórzę raz jeszcze kilka podstawowych kwestii.

Sam komponent od momentu dodania do systemu Exchange specjalnie się nie zmienił, jednak pomimo faktu, że jest dostępny już ponad 8 lat, to nadal część administratorów powtarza ten sam błąd. Po zainstalowaniu serwerów Exchange nie zwraca uwagi na komunikaty generowane przez usługę antimalware (systemowy log aplikacyjny serwera Windows, źródło zdarzeń - usługa FIPFS). Najczęstszym problemem, jaki spotykam, to brak aktualizacji - przeważnie spowodowany brakiem komunikacji z internetem. Warto pamiętać, że usługa Antimalware ma oddzielny moduł powershell do zarządzania i niezależną od systemu operacyjnego i Exchange definicję serwera proxy, który musimy włączyć oddzielnie:

Add-PsSnapin Microsoft.Forefront.Filtering.Management.Powershell

Set-ProxySettings -Enabled <$true | $false> -Server <Name or IP address of proxy server> -Port <TCP port of proxy server>

Więcej informacji można znaleźć w dokumentacji - Download antimalware engine and definition updates.

Jeżeli nie chcemy korzystać z aktualizacji poprzez proxy, możemy pobierać aktualizacje silnika i sygnatur antimalware skryptem update-engines.ps1, udostępnionym na stronach pomocy technicznej, a następnie wskazać usłudze inną niż domyślna ścieżkę aktualizacji. Mając pobrany skrypt oraz utworzony folder (przykładowa nazwa ScanEngineUpdates) na serwerze plikowym FileServer01, który ma służyć jako udział sieciowy do aktualizacji serwerów Exchange uruchamiamy skrypt:
Update-Engines.ps1 -EngineDirPath C:\ScanEngineUpdates\

A następnie na wszystkich serwerach Exchange korzystającym z ochrony antimalware, wywołujemy standardowy skrypt, dostarczony z systemem Exchange

& $env:ExchangeInstallPath\Scripts\Update-MalwareFilteringServer.ps1 -Identity mailbox01.pepug.org -EngineUpdatePath \\FileServer01\ScanEngineUpdates

W ten sposób również osiągniemy aktualizację silnika i sygnatur na naszych serwerach, nawet przy całkowitej blokadzie dostępu tych maszyn do internetu. Oczywiście, jeżeli chcemy, żeby przy kolejnej próbie aktualizacji serwer sięgnął do naszego udziału sieciowego, dobrze jest zmienić podstawową lokalizację aktualizacji komendą:
Set-MalwareFilteringServer mailbox01.pepug.org -PrimaryUpdatePath \\FileServer01\ScanEngineUpdates

Podsumowanie roku

 Zaczął się nowy rok, więc jak zwykle pora na małe podsumowanie.

Z jednej strony rok 2021 był dla mnie bardzo ciężki - sporo chorób w domu, wszechobecny Covid i moje własne problemy ze zdrowiem, z drugiej strony miał również sporo pozytywów - starsza córka była na Erazmusie we Włoszech (okazja do rodzinnej wycieczki) i obroniła licencjat, młodsza zdała maturę i rozpoczęła ciekawe studia.

Ja co prawda nie rozpocząłem studiów, ale realizowałem ciekawe projekty chmurowe i on-premises, nieco mniej ale jednak udało mi się napisać kilka artykułów na blogu i poprowadzić kilka warsztatów online. Zdałem 5 egzaminów (743, SC-300, SC-400, MS-500, PL-900) oraz odnowiłem dwie certyfikacje - Azure Administrator Associate i Messaging Administrator Associate). Odnowiłem również uprawnienia trenera MCT. Czyli coś się udało. I to prawie bezkosztowo (w większości przypadków wykorzystałem vouchery egzaminacyjne za udział w cloud skills challenge, organizowanych przy okazji różnych konferencji). Przeczytałem również sporo ciekawych książek, największe wrażenie wywarła na mnie chyba "Projekt Hail Mary" Andy Weira. Nie mówiąc o filmach i serialach, które również staram się śledzić. Chociaż zachwyty nad niektórymi tytułami trudno mi zrozumieć.

Nie odważę się prognozować tego co przyniesie rok 2022, jak na razie przyszłość nie wygląda różowo (kolejne fale Covid, inflacja, etc.). Ale nie chcę tu pisać o polityce. Jak śpiewał Młynarski - "Róbmy swoje".

02 stycznia 2022

Noworoczna niespodzianka dla serwerów Exchange

 Poprzedni rok dla grupy produktowej Exchange nie był dobry - słynna marcowa dziura i wiele serwerów zaatakowanych tą podatnością (pisałem o tym na blogu w marcu aż trzykrotnie - art. 1, art. 2, art. 3), później pojawiły się kolejne problemy bezpieczeństwa, choć nie tak spektakularne, konieczne do łatania prawie w każdym miesiącu. No i ciągle brak nawet słowa o kolejnej wersji systemu, mimo, że miał zostać wydany w 2021 roku.

Ten rok zaczął się od poważnego zgrzytu wkrótce po północy. Silnik animalware - pamiątka po produkcie Forcepoint Protection for Exchange, zaczął szwankować po przekręceniu się licznika na rok 2022. Na wielu serwerach Exchange 2016 i 2019 pojawił się w aplikacyjnym logu systemowym komunikat (Usługa FIPFS, EventID 1106) “The FIP-FS Scan Process failed initialization. Error: 0x80004005. Error Details: Unspecified error”, ewentualnie podobny w treści o numerze 5300, a w kolejkach transportowych zaczęły się gromadzić maile. 

Zespół produktowy zidentyfikował problem i opublikował na swoim blogu opis problemu oraz skrypt do jego rozwiązania - https://aka.ms/ResetScanEngineVersion, który tak naprawdę czyści folder z aktualną wersją silnika Antimalware. Można to zrobić również ręcznie, wykonując poniższe kroki:

  1. Zatrzymaj usługę Microsoft Filtering Management service.  Zostaniesz poproszony również o zatrzymanie Microsoft Exchange Transport service, potwierdź "Yes".
  2. Sprawdź w Task Managerze, czy updateservice.exe nie jest uruchomiony.
  3. Skasuj folder:
     %ProgramFiles%\Microsoft\Exchange Server\V15\FIP-FS\Data\Engines\amd64\Microsoft.
  4. Skasuj wszystkie pliki z folderu:
     %ProgramFiles%\Microsoft\Exchange Server\V15\FIP-FS\Data\Engines\metadata.

Teraz tylko ponowne uruchomienie usług, wymuszenie aktualizacji silnika poprzez uruchomienie skryptu z folderu standardowych skryptów Exchange Update-MalwareFilteringServer.ps1 <server FQDN> i powinno działać poprawnie. Kolejki transportowe Exchange zaczną przetwarzać się normalnie.

Ciekawe, ile firm  w poniedziałkowy poranek zauważy ze zgrozą, że ich kolejki transportowe stoją...

22 grudnia 2021

Domyślne zabezpieczanie Teams w Edukacji

Temat tworzenia zdalnych spotkań (a zwłaszcza lekcji) w sposób bezpieczny ciągle powraca. Pisałem o tym również na blogu jakiś czas temu. Kilka miesięcy temu Microsoft wprowadził w panelu administracyjnym Teams dla Edukacji rewolucyjną zmianę, która potrafi nieźle zaskoczyć osoby, które nie zaglądają w to miejsce zbyt często. Przy wejściu na stronę https://admin.teams.microsoft.com przywitać może nas okienko proponujące dodatkowe zabezpieczenie (ekran poniżej).
























Jeżeli wybierzemy opcję "Zrobię to później" to nic nie zmienimy. Jeżeli jednak wybierzemy przycisk domyślny "Dalej", to przejdziemy do konfiguracji grypy polis zostawiających odpowiednie uprawnienia nauczycielom, a odbierające np. opcje organizacji spotkań i czatowania uczniom. W kolejnym kroku zostaniemy poproszeni o wskazanie grupy, zawierającej nauczycieli













Oczywiście grupa może nazywać się dowolnie - pokój nauczycielski, nauczyciele, pracownicy, itp, jednak musi zawierać wszystkie osoby, które powinny mieć odpowiednie uprawnienia w Teams do organizowania i kierowania spotkaniami. Jeżeli takiej grupy nie wybierzemy, to przechodząc dalej ograniczymy uprawnienia w Teams wszystkim.













Po kliknięciu "Zastosuj" polityki organizacji spotkań i wymiany wiadomości (oraz kilka innych) zostanie zastosowanych.














Warto przeczytać ze zrozumieniem również ekran podsumowania i pamiętać o tym, że zmiana polityk dla dużej organizacji może trwać nawet kilkanaście godzin, więc warto wszystko sprawdzić dwa razy, a najlepiej aplikować zmiany w piątek wieczorem, tak żeby mieć czas na zweryfikowanie zmian w weekend. Jeżeli jednak popełnimy błąd, to nic straconego - kreator możemy uruchomić ponownie z ekranu startowego panelu administracyjnego Teams.









Warto również przeczytać dokumentację, gdzie jest dokładnie opisane, jakie ustawienia kreator modyfikuje.

12 listopada 2021

Listopadowe poprawki bezpieczeństwa dla Exchange i parę przemyśleń

Minęło raptem kilka tygodni od październikowych poprawek bezpieczeństwa dla serwerów Exchange, a tu znowu kolejny wysyp. Czyżby ktoś przeklął administratorów poczty on-premises? Niestety tak bywa. Obserwując poszczególne produkty Microsoft, widać w jakie obszary idzie cały wysiłek koncernu, a gdzie prace zostały mocno spowolnione. Dokładnie rok temu na konferencji Ignite Microsoft ogłaszał wydanie w tym roku kalendarzowym (2021) nowej wersji Exchange, Skype for Business i Sharepoint Server. Niestety, na szumnych zapowiedziach się skończyło. O ile w przypadku Sharepoint Servera, pojawiła się wersja Subscription Edition, z wydaną w lipcu wersją preview, to w przypadku zarówno Skype for Business jak i Exchange, brak informacji o nowych wersjach, nawet testowych. W zeszłym tygodniu odbyła się kolejna konferencja Ignite, na której była jedna (!) sesja o Exchange Online (ale bez ogłaszania żadnych nowości). Pojawiają się co prawda usprawnienia, takie jak aktualizacje modułu administracyjnego powershell, dla którego właśnie pojawiła się wersja preview, umożliwiająca łączenie z chmurą bez konieczności użycia uwierzytelnienia Basic dla WinRM, albo nowy serwis Emergency Mitigation, o którym pisałem w poprzednim poście. Jednak rozwój systemu nie jest już tak dynamiczny jak kiedyś, w końcu trudno coś rewolucyjnego wymyślić po tylu latach stabilizacji funkcjonalności.

Wracając jednak do tematu aktualizacji. Na blogu zespołu produktowego pojawiła się informacja o kolejnych poprawkach, które administratorzy powinni zainstalować jak najszybciej. Poprawka chroni przed opisaną w biuletynie bezpieczeństwa podatnością CVE-2021-42321. Poprawka jest dostępna jak zwykle dla dwóch ostatnich wersji CU serwerów Exchange 2016 i 2019 oraz dodatkowo dla wersji 2013:

Oczywiście warto sprawdzić przed instalacją środowisko najnowszą wersją skryptu Health Checker. Dla mniej sprawnych administratorów jest dostępny również kreator, pomagający zaktualizować wersję Exchange. Warto również skorzystać ze środowiska testowego, jeżeli je posiadamy.

16 października 2021

Poprawki wrzesień-październik dla Exchange

Dużo ostatnio pracuję i mam lekkie opóźnienie z publikowaniem treści na blogu. Niestety, taki mamy klimat. Ale muszę wspomnieć o poprawkach do Exchange jakie Microsoft wydał we wrześniu i październiku.  28 września opublikowane zostały poprawki Cumulative Updates dla Exchange 2019 i dla Exchange 2016. Pisałem już wcześniej, że Microsoft, ze względu na koniec podstawowego wsparcia dla Exchange 2016 miał zakończyć publikowanie CU dla tej wersji systemu, jednak zgodnie ze starym powiedzieniem "Nigdy nie mów nigdy", musiał zmienić zdanie. Tegoroczny wysyp podatności w Exchange i próby ich opanowania skutkowały kilkoma decyzjami - w czerwcu została wprowadzona integracja z interface'm AMSI systemu operacyjnego, na tyle istotna, że niezbędny był pakiet CU21 (pisałem o tym na tym blogu), a we wrześniu Microsoft dodał do architektury Exchange dodatkową usługę, która ma za zadanie ułatwiać ochronę przed krytycznymi podatnościami - Microsoft Exchange Emergency Mitigation Service, o którym zespół produktowy pisał szczegółowo na swoim blogu. Po marcowym trzęsieniu ziemi z potężną dziurą w zabezpieczeniach Exchange, Microsoft udostępnił dodatkowe narzędzie EOMT (Exchange On-premises Mitigation Tool). Teraz zostało ono dodane jako dodatkowy serwis do usług Exchange, więc konieczny był kolejny pakiet przebudowujący całościowo binaria Exchange.

Warto również wspomnieć, że od wrześniowych pakietów poprawek Microsoft wprowadził opcjonalnie wysyłanie danych diagnostycznych z działania systemu, dlatego też zmieniła się zgoda, którą udzielamy w trakcie instalacji CU. Skutkuje to istotną zmianą w trakcie instalacji z linii komend - zamiast przełącznika /IAcceptExchangeServerLicenseTerms mamy do wyboru dwa alternatywne przełączniki:

/IAcceptExchangeServerLicenseTerms_DiagnosticDataON

/IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF

Jak można się domyślać, używając pierwszego przełącznika zgadzamy się na warunki licencyjne i wysyłanie danych diagnostycznych do Microsoftu, drugi przełącznik nie zezwala na wysyłanie takich danych.

Więcej informacji znajdziecie na blogu zespołu produktowego. A tutaj znajdziecie pakiety aktualizacji:

Niecałe dwa tygodnie po wydaniu CU pojawiły się dodatkowo pakiety poprawek bezpieczeństwa, również dla wersji Exchange 2013. Poprawki te adresują podatności opisane w poniższych biuletynach bezpieczeństwa:
Należy pamiętać o tym, że poprawki są udostępnione tylko dla dwóch najnowszych wersji CU. Więc najpierw należy zaktualizować CU do wymaganej wersji. Więcej szczegółów można znaleźć na blogu zespołu produktowego. Stąd można pobrać odpowiednie wersje poprawek:
  • Exchange Server 2013 CU23 (dla Exchange 2013 może być potrzebne rozszerzenie schematu /prepareschema.)
  • Exchange Server 2016 CU21 oraz CU22
  • Exchange Server 2019 CU10 oraz CU11

28 sierpnia 2021

Zmiany w Azure AD Connect

Ponad rok w aplikacji Azure AD Connect nie widać było żadnych aktualizacji, ale ostatnie miesiące przyniosły istotne zmiany, na które warto zwrócić uwagę i zaaplikować jak najszybciej, zwłaszcza w konktekście znalezionych podatności oraz wygasającego wsparcia dla poszczególnych komponentów.

Wchodząc na stronę historii wersji Azure AD Connect, zobaczymy, że dostępne są dwie ścieżki:

  • Azure AD Connect 2.0, do instalacji na serwerze w wersji Windows Server 2016 lub nowszej,
  • Azure AD Connect 1.6, do instalacji na starszych wersjach systemu (które już wyszły ze wsparcia lub za chwilę wyjdą)
Co nowego przynosi wersja 2.0? Jest kilka istotnych zmian, w komponentach, które wykorzystuje nowa wersja (więcej informacji w dokumentacji produktu):
  • lokalna baza danych w wersji SQL Server 2019 LocalDB. Instalowany w wersji 1.x SQL Server 2012 wychodzi ze wsparcia w lipcu 2022.
  • biblioteka uwierzytelnienia MSAL zamiast ADAL, która będzie wycofana w czerwcu 2022,
  • TLS 1.2 jako domyślny i jedyny protokół zabezpieczania transmisji (TLS 1.0 i 1.1 są od dluższego czasu oznaczane jako podatne na ataki) - przed aktualizacją musimy ustawić obsługę protokołu TLS w odpowiedniej wersji,
  • Visual C++ Redist 14 jako komponent niezbędny dla SQL 2019
Jak możemy zrobić upgrade? Oczywiście jest możliwy upgrade in-place, jeżeli oczywiście mamy serwer w co najmniej wersji 2016, po zakończeniu aktualizacji musimy pamiętać jednak o odinstalowaniu komponentów SQL 2012. Niestety auto-upgrade nie zadziała, musimy pobrać najnowszą wersję produktu i uruchomić proces instalacji samemu.


























Po zweryfikowaniu konfiguracji serwera i instalacji dodatkowych składników, kreator poprosi nas o wprowadzenie poświadczeń administratorskich i przejdzie do kroku finalnego (kolejny rysunek).


























Możemy również wykorzystać ścieżkę eksportu i importu konfiguracji, kiedy na przykład musimy zmienić wersję systemu operacyjnego. Proces jest dobrze opisany w dokumentacji.

CLM - Ograniczanie możliwości Powershell w środowisku firmowym

Powershell jest moim ulubionym językiem skryptowym, bardzo popularny na platformie Windows i w chmurze, stopniowo zadomawia się również w środowiskach Linux, stał się również zamiennikiem powłoki systemu operacyjnego Windows. Taka popularność rodzi obawy przed możliwymi zagrożeniami, więc warto zastanowić się jak można poprawić bezpieczeństwo środowiska? Od wersji 3.0 wprowadzono w Powershell możliwość włączenia trybu Constrained Language Mode (CLM), co powoduje znaczące ograniczenie możliwości wywołania bardziej zaawansowanych mechanizmów języka (bardziej szczegółowy opis ograniczeń można znaleźć w artykule https://devblogs.microsoft.com/powershell/powershell-constrained-language-mode).

Cmdlety wykonują się poprawnie, jednak przy wywołaniu skryptu możemy zobaczyć komunikat:

Cannot invoke method. Method invocation is supported only on core types in this language mode.
Czyli włączenie CLM, będzie skutkowało koniecznością zweryfikowania wszystkich skryptów, które są wykonywane w tak chronionym kontekście, a nawet zmodyfikowania pliku profilowego.
No dobrze, ale dobrze jest wiedzieć, jak włączyć CLM w naszym środowisku. W ramach pojedynczej sesji Powershell wystarczy wykonać komendę:

$ExecutionContext.SessionState.LanguageMode = "ConstrainedLanguage"

Oczywiście, jeżeli uruchomimy drugą sesję Powershell to będzie ona działać w trybie standardowym. Możemy również ponownie zmienić tryb pracy na pełny komendą

$ExecutionContext.SessionState.LanguageMode = "FullLanguage"

Możemy również ustawić zmienną środowiskową __PSLockDownPolicy na wartość 4.  Jednak zalecanym rozwiązaniem w środowisku domenowym Active Directory jest użycie polis GPO, włączając odpowiednie polisy - AppLocker dla komputerów Windows 7 lub nowszych, ewentualnie Windows Defender Application Control dla Windows 10.

Przykładowo, dla applockera tworzymy polisę, w której definiujemy reguły dla skryptów (rysunek poniżej), nie możemy również zapomnieć o wymuszeniu stosowania polisy (kolejny rysunek).





















Wymuszenie konfiguracji komputera przez GPO jest trudne do obejścia, nawet dla osoby mającej uprawnienia administracyjne. Warto w takim przypadku spojrzeć na szczegóły polisy opisującej konfigurację applockera dla skryptów. Przy włączonym wymuszeniu stosowania polisy na naszym komputerze, będzie działać tryb CLM we wszystkich lokalizacjach oprócz dopuszczonych przez polisę, gdzie będzie działać pełny tryb języka. Przy domyślnych regułach lokalni administratorzy mogą uruchamiać skrypty bez ograniczeń, a pozostali użytkownicy tylko z folderów Windows i Program Files, ale jeżeli domyślne reguły zostały zmienione, to dobrze jest to sprawdzić, chociażby podglądając ustawienia polisy w konsoli Group Policy Management, jak pokazuje rysunek poniżej.



31 lipca 2021

Poprawki czerwiec-lipiec do Microsoft Exchange

UPDATED

Tuż przed moim urlopem Microsoft opublikował kwartalne pakiety Cumulative Updates, a niedługo potem również dodatkowe poprawki bezpieczeństwa. Dlatego też uwzględnię je wspólnie, bo jedne i drugie powinny zostać zainstalowane. Tak więc po kolei:

Najważniejszą zmianą w tych poprawkach była integracja z interface'em antimalware systemów Windows Server 2016/2019 (AMSI). Więcej o integracji Exchange z AMSI można przeczytać w oddzielnych artykułach na blogu zespołu produktowego - News About the June 2021 Cumulative Update for Exchange Server oraz More about AMSI integration with Exchange Server. Pakiety poprawek wymagają również aktualizacji schematu, co warto wcześniej zaplanować, zwłaszcza w dużych organizacjach.
Poprawka bezpieczeństwa została udostępniona również dla Exchange 2013, dla którego nie ma już Cumulative Updates, ale dziury bezpieczeństwa łatać trzeba. I tak po kolei:
  • Exchange Server 2013 CU23
  • Exchange Server 2016 CU20 and CU21
  • Exchange Server 2019 CU9 and CU10
Warto pamiętać, że instalacja poprawek bezpieczeństwa w tym miesiącu wymaga również aktualizacji schematu - w Exchange 2016 i 2019, jest ona realizowana w najnowszej paczce CU, ale jeżeli ktoś instaluje dla N-1, to powinien taką aktualizację również uwzględnić. Więcej informacji na blogu zespołu produktowego - Released: July 2021 Exchange Server Security Updates.

Kilkukrotnie dotarły do mnie informacje o problemach wydajnościowych po instalacji Exxchange 2016 CU21 lub Exchange 2019 CU10 - problem dotyczy wolnej pracy Outlooka, a nawet problemów z jego uruchamianiem, nie dotyczy natomiast innych usług dostępowych - OWA, Activesync czy EWS. Związane jest to z nieprawidłowo działającą integracją ADSI przy obsłudze niektórych dostawców narzędzi AV, jak na razie problem potwierdzono dla McAfee Endpoint Security oraz Sophos Central Server Protection. Czekając na rozwiązanie problemu, możemy po zauważeniu takich problemów wyłączyć integrację po stronie konsoli zarządzającej dane oprogramowanie (przykłady w powyższych artykułach), edytując na serwerach Exchange pliki web.config, albo definiując wyjątek konfiguracji (oczywiście przy użyciu powłoki Exchange Management Shell):
New-SettingOverride -Name "DisablingAMSIScan" -Component Cafe -Section HttpRequestFiltering -Parameters ("Enabled=False") -Reason "Testing"
Get-ExchangeDiagnosticInfo -Process Microsoft.Exchange.Directory.TopologyService -Component VariantConfiguration -Argument Refresh
Restart-Service -Name W3SVC, WAS -Force