Virtual Study

24 kwietnia 2016

Nowa możliwość poznawania technologii chmurowych dla IT Pro

Kolejne zmiany w technologiach, wykorzystywanych w IT pokazują, że specjalista IT musi dużo czasu poświęcić na aktualizację wiedzy i poznawanie nowości technologicznych. Od kilku lat Microsoft promuje swoje technologie chmurowe i mimo tego, że najczęściej nadal zajmuję się technologiami działającymi w serwerowniach klientów, to staram się nadążać, a przynajmniej śledzić zmiany technologii chmurowych, zwłaszcza, że są one coraz bardziej powiązane ze sobą jak i z technologiami on-premises (modele hybrydowe wdrożenia). W tym tygodniu Microsoft żeby wspomóc specjalistów IT w dostosowywaniu się do nowych technologii chmurowych uruchomił dw nowe programy – Microsoft IT Pro Cloud Essentials oraz Microsoft IT Pro Career Center.  
IDC prognozuje, że o ile całość zatrudnienia w IT będzie rosła o 4% każdego roku do roku 2020, to liczba stanowisk związanych ze środowiskiem chmurowym będzie zwiększać się kilkukotnie szybciej. Prognozuje się, że do roku 2020, ponad 1/3 stanowisk IT będzie związana z technologiami  chmurowymi.  
Żeby sprostać tym wyzwaniom trzeba poznawać szybko zmieniające się technologie chmurowe. Microsoft dotychczas udostępniał 30-dniowe wersje ewaluacyjne, ewentualnie roczne (np. w ramach subskrypcji trenerskiej). Teraz pojawiła się możliwość przedłużenia testów, z dodatkowym wsparciem, a nawet voucherem na wybrany egzamin. Takie możliwości daje nam program Microsoft IT Pro Cloud Essentials, który obejmuje:
- usługę Azure z limitem kosztowym, do wypróbowania różnych scenariuszy, jak np. backup, bezpieczeństwo, disaster recovery.
- subskrypcja Pluralsight na wybrane szkolenia on-line.
- rozszerzone wsparcie poprzez forum TechNet.
- możliwość zgłaszania incydentów technicznych dla usługi Azure.
- voucher egazminacyjny.
- rozszerzone czasowo triale na Enterprise Mobility Suite oraz Office 365.

Dodatkowo można spróbować poszukać nowych wyzwań na portalu Microsoft IT Pro Career Center.
Portal Microsoft IT Pro Career Center przedstawia możliwe ścieżki kariery w chmurze, pozwala lepiej poznać role chmurowe oraz uzyskać dodatkowe informacje: 
- Mapa stanowisk IT związanych z chmurą.
- Informacje o zapotrzebowaniu na poszczególne role i widełkach płacowych.
- Ścieżki rozwoju na poszczególne role.
- Informacje na temat trendów rynkowych i wymaganiach ze strony pracodawców.

Kształcić na pewno się warto, więcej informacji można znaleźć na wymienionych powyżej portalach lub na blogu zespołu produktowego.

11 kwietnia 2016

Exchange 2007 - pożegnanie czas zacząć

Właśnie przed chwilą zespół produktowy Exchange umieścił na swoim blogu przypomnienie, że równo za rok skończy się rozszerzone wsparcie dla Exchange 2007. Ta pierwsza wersja systemu przygotowana na bazie Powershella miała szereg zalet, ale czas leci - w październiku minie 10 lat od premiery Exchange 2007 (kilka tygodni temu minęła 20 rocznica obecności Exchange na rynku) i nowsze wersje wprowadziły wiele usprawnień. Tradycjonaliści, którzy trzymają się nadal tej wersji systemu powinni jednak zaplanować w najbliższym czasie aktualizację systemu do wersji 2013 (przypomnę, że do 2016 nie można) lub do Exchange Online. Już od dawna pakiety Rollup Updates uwzględniają tylko krytyczne poprawki bezpieczeństwa nie odnosząc się do innych problemów.

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

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.






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:















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, do weryfikacji poprawności utworzonych rekordów. Wyniki działania skryptu widać na poniższym rysunku:

Niestety dla Exchange Server 2010/2013/2016 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.
W kolejnym poście opiszę funkcjonalność DMARC.

27 lutego 2016

Dynamiczne grupy dystrybucyjne - filtrowanie użytkowników

Tworząc dynamiczne listy dystrybucyjne czy polisy list adresowych w panelu administracyjnym serwera Exchange możemy wybrać tylko kilka podstawowych atrybutów - "State or province", "Country", "Department" oraz jedną z 15 wartości Custom Attributes (rysunek poniżej).




















Co jednak w przypadku, gdy chcemy stworzyć filtr na podstawie np. nazwy miasta? Czy trzeba tą wartość skopiować do Custom Attribute? Na szczęście nie jest to potrzebne.
Zespół produktowy uwzględnił jeszcze wiele innych atrybutów, jednak w żadnej wersji systemu nie umieścił ich w kreatorze. Żeby było ciekawiej, nazwy atrybutów Exchange nie zawsze są takie same w Exchange, co w Active Directory, a niektóre atrybuty nie mają nawet swoich odpowiedników w AD (!). Żeby nie popełnić błędu dobrze jest sprawdzić listę, która jest dostępna np. w artykule
Na liście musimy zatem odszukać odpowiedni nazwę odpowiedniego atrybutu. Jeżeli chcemy filtrować po nazwie miasta, np. Warszawa, to musimy utworzyć grupę, wykonując komendę:
New-DynamicDistributionGroup -Name WawaUsers -RecipientFilter {(City -eq 'Warszawa')}
Co ciekawe, jak podejrzymy właściwości tak zdefiniowanej grupy, to zobaczymy komunikat, że filtr został utworzony w Powershellu i w ten sam sposób może być zmieniony (rysunek poniżej).













Jeżeli sprawdzimy właściwości z poziomu shella, to zobaczymy, że system automatycznie dodał dodatkowe warunki, doprecyzowujące zakres filtrowania:







Jak widać, możemy w wyrażeniach, będących elementami filtru stosować wilcard i różne wyrażenia logiczne.

26 lutego 2016

Uprawnienia do wysyłania w imieniu skrzynki współdzielonej

Temat wydaje się banalny - w systemie Exchange we właściwościach skrzynki użytkownika możemy przypisać uprawnienie zarówno "Send As" jak i "Send on behalf".
Jednak gdy wejdziemy w Exchange 2013 lub 2016 we właściwości skrzynki współdzielonej (shared), to zauważymy, że w Exchange Admin Center okienka, w którym moglibyśmy przypisać uprawnienie "Wyślij w imieniu" po prostu nie ma. Błąd, czy inne właściwości? Niemożliwe, bo przecież możemy zmienić typ skrzynki z osobowej na użytkownika jedną prostą komendą set-mailbox.
Można się domyślić, że jak czegoś nie ma w konsoli webowej, to jest to nadal dostępne z poziomu Management Shella. Tak jest i w tym przypadku.
Jeżeli wykonamy komendę:
Get-mailbox | fl GrantSendOnBehalfTo
lub bardziej ogólnie
Get-mailbox -RecipientTypeDetails shared | fl name,GrantSendOnBehalfTo






To zobaczymy, że taki atrybut jest obecny. Wystarczy teraz przypisać uprawnienie:
Get-mailbox | set-mailbox -GrantSendOnBehalfTo 
Prawidłowo wykonana komenda nie zwróci nam żadnych informacji, ale po ponownym sprawdzeniu uprawnień, zobaczymy nową wartość w tablicy kont uprawnionych do wysyłania w imieniu danej skrzynki:

13 lutego 2016

Problem z .NetFramework 4.6.1

Kolejny raz grupy produktowe się nie dogadały i pojawił się problem. Po wydaniu aktualizacji .NetFramework 4.6.1 zarówno grupa produktowa Exchange jak i grupa produktowa Skype for Business. Aktualizacja ta jednak została wrzucona na Windows Update jako rekomendowana, więc niestety, może się zdarzyć, że ktoś niechcący ją zainstaluje, co może spowodować sporo problemów. Jak na razie dobrze jest postąpić z powyższą rekomendacją zespołu Exchange - chwilowo zablokować instalację tej poprawki. Jeżeli jednak komuś zdarzy się zainstalować na serwerze Exchange lub Lync/SfB, to odinstalowanie jest trochę skomplikowane - nie wystarczy odinstalowanie tej poprawki - trzeba ponownie rekompilować komponenty Exchange. Jak zrobić to w sposób jak najmniej bolesny opisuje na swoim blogu Jeff Guillet. Podstawą jest pobranie skryptu 7318.DrainNGenQueue.wsf.
Zespół produktowy poleca również po odinstalowaniu .NetFramework 4.6.1 reinstalację .Net Framework 4.5.2 i rekompilację Exchange powyższym skryptem.

Nowy rok

Tym razem nadmiar pracy utrudnił mi napisanie podsumowania zeszłego roku, zrobił się luty więc nie będę się zbytnio rozwodził. Po pojawieniu się Skype for Business 2015, Exchange 2016 i szeregu zmian w Office 365, pozostaje teraz czekać na Sharepointa 2016 i Windows Server 2016. Mam nadzieję, że kolejne zmiany i ciekawe przypadki będę w stanie opisywać na blogu tak jak dotychczas.

18 grudnia 2015

Aktualizacje antimalware w Exchange 2016

Jakiś czas temu pisałem na blogu artykuł o tym jak naprawić/ręcznie zaktualizować silnik Antimalware w Exchange 2013. Artykuł cieszył się dużym zainteresowaniem - problem jest dosyć popularny. Po kilku wdrożeniach Exchange 2016 z przykrością muszę zauważyć, że niestety w nowej wersji Exchange nie udało się Microsoftowi wyeliminować całkiem tego problemu.

Na szczęście jednak rozwiązanie problemu jest dużo prostsze. Wystarczy tylko otworzyć w Exploratorze Windows folder z binariami silnika antimalware, znajdujący się w katalogu - <Ścieżka instalacyjna Exchange>\FIP-FS\Data\Engines\amd64\Microsoft\bin - system stwierdzi brak uprawnień dla administratora, zaktualizuje ACL i po restarcie usługi Microsoft Filtering Management Service lub po odczekaniu do kolejnej sesji aktualizacyjnej najnowsza wersja silnika zostanie pobrana i usługa zacznie działać poprawnie.

16 grudnia 2015

Grudniowe aktualizacje Exchange

Właśnie ukazały się poprawki do Exchange - CU11 do Exchange 2013, RU12 do Exchange 2010SP3, oraz RU18 do Exchange 2007 SP3. Jak widać na powyższej liście nie ma Exchange 2016. Poprawki do tej wersji Microsoft zapowiedział na następny kwartał.
Najwięcej zmian wprowadza CU11 do Exchange 2013. Nie są one rewolucyjne, ale po pierwsze są niezbędne dla serwerów pracujących w hybrydzie z O365, po drugie wprowadzają zmiany funkcjonalne w pracy w trybie mieszanym z Exchange 2016 i 2010. Zmiany te zespół produktowy opisał w osobnym artykule na swoim blogu - Exchange management shell and mailbox anchoring.
CU11 nie rozszerza schematu, ale wprowadza kilka zmian w modelu RBAC, więc niezbędne jest przygotowanie lasu (co oczywiście wymaga uprawnień Enterprise Admina). No i oczywiście nieszczęsny UMLanguage Pack - jest nowy, ale przed instalacją CU11 poprzedniego trzeba odinstalować. Podobnie jak poprzednio, CU11 można instalować jako aktualizację na dowolną wczesniejszą poprawkę lub jako nowy serwer.

14 grudnia 2015

Shared Line Appearance w Skype for Business CU1


Główną zmianą czy też rozszerzeniem funkcjonalnym, jakie pojawiło się w pakiecie Cummulative Update 1 jest funkcjonalność Shared Line Appearance (SLA). Ma ona pozwolić grupie użytkowników/urządzeń współdzielić numer dla rozmów wychodzących oraz przychodzących. Analogiczne funkcjonalności istnieją np. w Asterisku czy CUCM.
Żeby obsłużyć SLA w CU1 pojawiły się nowe cmdlety, które pozwalają przypisać numer do grupy, przypisywać indywidualne numery do grupy i weryfikować ich przypisanie, a nawet ustalać ilość połączeń, które jednocześnie można przeprowadzić - https://technet.microsoft.com/en-us/library/gg398867.aspx. Dla połączeń przychodzących można ustawić sygnał zajętości (Busy on Busy), jeżeli wszyscy w grupie rozmawiają, Można również przekierować połączenie na pocztę głosową.
Dodatkowo w ramach grupy podpiętej do linii współdzielonej można sprawdzić status połączeń innych osób w grupie, zaparkować rozmowę i odebrać z innego telefonu w ramach grupy.
Nowa funkcjonalność jak na razie jest dostępna w telefonach Polycom VVX z firmware 5.4.1 (a właściwie ma być, bo nadal ta wersja firmware jeszcze oficjalnie nie jest dostępna). Dzięki uprzejmości polskiego biura Polycom dostałem do testów telefony VVX 500 i 400 z beta wersją nowego firmware’u. Przy okazji dodam, że telefony Polycom VVX obsługują opisywaną przeze mnie technologię Better Together over Ethernet, pozwalającą na przekierowywanie rozmów z klienta Lync/Skype for Business do telefonu. Oprogramowanie BToEConnector (aktualna wersja 3.1) nie wymaga konfiguracji, ale ma ograniczenie w porównaniu z odpowiednikami Audiocodesa czy SNOM-a – wymaga aby komputer był podpięty do sieci poprzez port ethernetowy w telefonie.
Wrócę jednak do funkcjonalności SLA. W pierwszej kolejności oczywiście musimy ją skonfigurować na serwerze SfB. Musimy zacząć od dodania nowej aplikacji, powiązanej z daną pulą serwerową (jej FQDN podajemy w wywołaniu komendy):
New-CsServerApplication -Identity 'Service:Registrar:%FQDN%/SharedLineAppearance' -Uri http://www.microsoft.com/LCS/SharedLineAppearance  -Critical $false -Enabled $true -Priority (Get-CsServerApplication -Identity 'Service:Registrar:%FQDN%/UserServices').Priority 












Kolejnym krokiem jest aktualizacja modelu zarządzania poprzez role:
Update-CsAdminRole
a następnie zrestartować usługę FrontEnd:
Stop-CsWindowsService RTCSRV 
Start-CsWindowsService RTCSRV
W ten sposób nasze środowisko jest przygotowane do SLA, możemy utworzyć pierwszy obiekt SLA. Jest to po prostu zwykły obiekt użytkownika domenowego (funkcyjnego), dla którego jest konfigurowana funkcjonalność SLA. Użytkownik musi być włączony do SfB i mieć przydzieloną funkcjonalność Enterprise Voice. Jeżeli utworzymy w domenie użytkownika SLAGroup1, włączymy mu funkcjonalność SfB z opcją Enterprise Voice to następnym krokiem jest ustawienie konfiguracji:
Set-CsSlaConfiguration -Identity SLAGroup1 -MaxNumberOfCalls 2 -BusyOption BusyOnBusy








Oczywiście, ilość równoległych połączeń i zachowanie w przypadku zajętości należy ustalić w zależności od środowiska.
Mając konfigurację możemy dodać delegatów, czyli osoby współdzielący dany numer/linię telefoniczną.
Add-CsSlaDelegates -Identity SLAGroup1 -Delegate sip:konrad.sagala@promise.pl









Na telefonie pojawią się dodatkowe pozycje, pozwalające odebrać rozmowy w imieniu grupy:







21 listopada 2015

TLS – zalecenia dla Exchange

UPDATE – ciekawy i bardzo obszerny wpis na temat wpisów w rejestrach i możliwości włączania/wyłączania poszczególnych algorytmów kryptograficznych można znaleźć tutaj - http://blogs.technet.com/b/askds/archive/2015/12/08/speaking-in-ciphers-and-other-enigmatic-tongues-update.aspx.

Rozmawiając o wdrożeniach Exchange, często pojawia się temat bezpieczeństwa dostępu i optymalnego zabezpieczenia dostępu klienckiego. Chociaż nie ma informacji o włamaniach z wykorzystaniem OWA, to poprawne skonfigurowanie protokołów dostępowych. Jest to istotne zwłaszcza w kontekście skompromitowania protokołu SSL 3.0 i pojawiających się w związku z tym zagrożeń. Bardzo dobry artykuł na ten temat pojawił się na blogu zespołu produktowego Exchange w lipcu tego roku - http://blogs.technet.com/b/exchange/archive/2015/07/27/exchange-tls-amp-ssl-best-practices.aspx. Opisano w nim ogólne zasady, których należy się trzymać, a nawet kroki konfiguracyjne, które należy wykonać. W skrócie chodzi o:

  • wyłączenie protokołu SSL 3.0 na serwerach i klientach i oparcie komunikacji o protokół TLS, jeżeli się da to 1.2, ewentualnie 1.1 lub 1.0.
  • jeżeli jest to możliwe to zablokowanie szyfrowania RC4 jako metody niewiarygodnej,

  • wyłączenie hashowania MD5/MD2

  • wykorzystanie RSA-2048 przy generowaniu nowych kluczy certyfikatów,

  • przejście na podpis SHA 256-bit lub wyższy, jeżeli to możliwe

Oczywiście instalowanie na bieżąco poprawek zabezpieczeń na serwerach Exchange jest również warunkiem niezbędnym.

Pozwalam sobie umieścić rysunek z domyślnymi ustawieniami SSL w kolejnych wersjach Windows Server:

SCHANNEL defaults

Zawsze jednak dobrze jest dodatkowo zabezpieczyć system Exchange poprzez reverse proxy, w przypadku środowiska składającego się z kilku serwerów, dobrze jest to realizować na urządzeniach, które jednocześnie realizują load balancing, jak np.LoadMaster firmy Kemp. Tutaj przy publikacji usług Exchange wszystko staje się proste (zwłaszcza gdy wybierzemy szablon z reenkrypcją) – w bardzo prosty sposób mamy możliwość wyłączenia SSL 3.0 oraz RC4. Domyślnie po włączeniu szablonu Exchange 2013z reenkrypcją i przypisaniu certyfikatu mamy ustawienia jak na rysunku poniżej:

Kemp LM - SSL settings

Dodatkowo z listy ustawień algorytmów szyfrujących możemy wybrać szablon bez RC4 lub zdefiniować własny, również dodatkowo okrojony:

Kemp - SSL settings with template no RC4

Takie ustawienia dają nam zgodność z zaleceniami bezpieczeństwa. przynajmniej dla protokołów SSL/TLS. Jakie to proste.

18 listopada 2015

Pakiet poprawek CU1 do Skype for Business

Oficjalnie pokazał się pakiet aktualizacji CU1 dla Skype for Business 2015. Trochę długo po premierze (wcześniej była wydana jedna mała poprawka funkcjonalna i poprawka zabezpieczeń), ale dobrze, że w końcu jest. Informacje o zmianach można znaleźć w artykule https://support.microsoft.com/en-us/kb/3061064. W odróżnieniu od Lync 2013 nie ma potrzeby aktualizować baz danych.

17 listopada 2015

Problem z certyfikatami Starfield w Firefoxie

Właśnie zauważyłem, że nowa wersja Firefoxa blokuje certyfikaty Starfield, nawet jeżeli doda się wyjątek bezpieczeństwa:

Firefox-sec_error_unknown_issuer

Dopiero zaimportowanie certyfikatu urzędu pośredniczącego rozwiązuje ten problem. W tym celu wchodzimy w Firefoxie w Opcje -> Zaawansowane -> Certyfikaty -> Wyświetl certyfikaty -> Organy certyfikacji –> Importuj.

Firefox-certificate-import

Następnie wskazujemy certyfikat “Stafield Secure Certification Authority” i potwierdzamy import, zanaczając dodatkowo opcję “Zaufaj temu certyfikatowi przy identyfikacji witryn internetowych”.

Trusting4Websites

Kolejne połączenie przebiegnie pomyślnie. Co ciekawe problem pojawił się ostatnio i występuje tylko w Firefoxie. Ciekaw jestem czy podobne problemy pojawiły się dla jakiś innych dostawców certyfikatów?

16 listopada 2015

Automatyzacja konfiguracji wirtualnych katalogów Exchange

Zaczął się sezon na migracje, także do Exchange 2016. Jednym z elementów konfiguracji jest odpowiednie przygotowanie wirtualnych katalogów dla roli CAS. Exchange od dawien dawna dla  każdej z usług webowych udostępnia nazwę zewnętrzną (exernal URL) i wewnętrzną (internal URL). Od Exchange 2013 ten dualizm dotyczy również usługi Outlook Anywhere – wcześniej można było zdefiniować tylko publiczną nazwę hosta dla tej usługi. Żeby było ciekawiej, nie wszystkie nazwy można skonfigurować przez Exchange Admin Center, co utrudnia proces. Dla jednego serwera musimy zdefiniować więc następujące URL-e:

  • dwa dla usługi ActiveSync,
  • dwa dla OWA,
  • dwa dla ECP,
  • dwa dla OAB,
  • dwa dla EWS,
  • dwa dla Outlook Anywhere,
  • dwa dla Poweshell,
  • dwa dla MAPI (jeżeli włączamy ten typ dostępu),
  • jeden dla Autodiscover (jako atrybut serwera CAS)

Daje nam to 17 URL-i na jeden serwer (!), czyli całkiem sporo. A jeżeli w organizacji mamy kilka takich serwerów do skonfigurowania daje nam to odpowiednio więcej wpisów. Jakiś rok temu, żeby zaoszczędzić sobie pracy przygotowałem (a w zasadzie uaktualniłem) skrypt, który automatyzuje ten proces, jak widać na poniższym rysunku. W ostatni weekend znalazłem chwilę, żeby to trochę poprawić i dopasować do Exchange 2016. Zapraszam do korzystania i przekazywania sugestii na temat możliwych ulepszeń.

działanie skryptu set-allvdirs.ps1

15 listopada 2015

Aktualizacja dla Lync Room Systems

10 listopada Microsoft wydał istotną aktualizację dla urządzeń Lync Room Systems wszystkich producentów - Crestron, Polycom oraz SMART-a, który dostosowuje szatę graficzną do nowej wersji systemu – Skype for Business. Urządzenie SMART w DemoRoom Promise również się zaktualizowało i teraz przedstawia się jako Skype for Business:

Nowy wygląd Lync Room System

Więcej informacji na blogu - https://blogs.office.com/2015/11/06/a-new-skype-for-business-look-for-lync-room-systems/

14 listopada 2015

Integracja Exchange 2016 ze Skype for Business 2015

Jakiś czas temu pisałem na blogu o integracji Exchange 2013 z Lyncem 2013. Kwestie dotyczące wykorzystania unified store nie uległy zmianie, więc po weryfikacji URL usług webowych puli serwerów SfB oraz usługi autodiscover dla poczty, po stronie serwerów Exchange musimy wykonać skrypt Configure-EnterprisePartnerApplication.ps1. Podobnie jak w wersji 2013 znajduje się on w katalogu z innymi skryptami Exchange. Składnia parametrów również nie uległa zmianie – niezależnie od tego, czy będziemy łączyć się z Lync 2013 czy z Skype for Business 2015, to jako parametr połączenia podajemy “Lync”:

Configure-EnterprisePartnerApplication.ps1 -AuthMetadataUrl “https://<EnterprisePoolFQDN>/metadata/json/1″ -ApplicationType Lync

Kolejnym etapem jest konfiguracja po stronie SfB – utworzenie aplikacji partnerskiej:

New-CsPartnerApplication -Identity Exchange -ApplicationTrustLevel Full -MetadataUrl https://autodiscover.<domain>/autodiscover/metadata/json/1

Jeżeli nie zrobiliśmy literówki, to test integracji powinien zakończyć się sukcesem:

Test-CsExStorageConnectivity -SipUri “user@domain” –Verbose

Integracja w zakresie OWA w Exchange 2013 jest dosyć uciążliwa. Również już o tym pisałem wcześniej, więc tylko przypomnę, że kluczowym elementem konfiguracji była edycja pliku web.config, co niestety wymagało ponownej edycji pliku po każdej instalacji pakietu Cummulative Updates. W Exchange 2016 na szczęście mechanizm ten został poprawiony. Został do tego wykorzystany mechanizm nadpisywania ustawień domyślnych. W przypadku organizacji z jednym serwerem Exchange sytuacja jest prosta – sprawdzamy jaki certyfikat jest przypisany do usługi OWA

New-SettingOverride -Name <Nazwa> -Component OwaServer -Section IMSettings -Parameters @(“IMServerName=<Pool FQDN>”,”IMCertificateThumbprint=<Odcisk Certyfikatu>”) -Reason “OWA IM config”

Nazwa ustawienia może być dowolna. Następnie musimy odświeżyć ustawienia serwera:

Get-ExchangeDiagnosticInfo -Server $ENV:COMPUTERNAME -Process Microsoft.Exchange.Directory.TopologyService -Component VariantConfiguration -Argument Refresh

Na koniec pozostaje restart usługi webowej (nie musimy restartować całęgo IIS-a, wystarczy restart puli OWA:

Restart-WebAppPool MSExchangeOWAApppool

Jeżeli jednak mamy kilka serwerów Exchange, a na dodatek wykorzystują one indywidualnie wygenerowane certyfikaty (z innymi odciskami), to wtedy musimy zdefiniować oddzielne override’y dla każdego z serwerów, jak to opisuje Jens Trier Rasmussen na swoim blogu. Jeżeli mamy serwery o nazwach EX1 oraz EX2, to komendy będą wyglądały następująco:

New-SettingOverride SetIMServerEx1 -Server Ex1 -Component OwaServer -Section IMSettings -Parameters @('IMServerName=<Pool FQDN>') -Reason "OWA IM config"
New-SettingOverride SetIMCertificateThumbprint1 -Server Ex1 -Component OwaServer -Section IMSettings -Parameters @('IMCertificateThumbprint=<Odcisk Certyfikatu 1>') -Reason "OWA IM Config"
New-SettingOverride SetIMServerEx2 -Server Ex2 -Component OwaServer -Section IMSettings -Parameters @('IMServerName=<Pool FQDN>') -Reason "OWA IM config"
New-SettingOverride SetIMCertificateThumbprint2 -Server Ex2 -Component OwaServer -Section IMSettings -Parameters @('IMCertificateThumbprint=<Odcisk Certyfikatu 2>') -Reason "OWA IM config"

Następnie na każdym z serwerów EX1,EX2 należy wymusić odświeżenie konfiguracji (tak jak dla pojedynczego serwera komendą Get-ExchangeDiagnosticInfo), a następnie zrestartować pulę OWA.

Kolejnym krokiem jest wskazanie, że integracja ma być włączona (co ciekawe, tutaj używamy parametru jeszcze z czasów Office Communications Servera). Najwygodniej wykonać komendę korzystając z potokowania dla wszystkich witryn razem:

Get-OwaVirtualDirectory | Set-OwaVirtualDirectory -InstantMessagingEnabled $True -InstantMessagingType OCS

Dodatkowo powinniśmy taką samą operację przeprowadzić na poziomie polis OWA. Jeżeli nie tworzyliśmy własnych polis, wystarczy zmodyfikować polisę domyślną:

Set-OwaMailboxPolicy -Identity “Default” -InstantMessagingEnabled $True -InstantMessagingType “OCS”

W interface OWA powinna pojawić się teraz informacja o statusie SfB:

OWA-integracja z SfB

Jeżeli nadal nie możemy się zalogować do “usługi wiadomości błyskawicznych”, dodatkowo powinniśmy w konfiguracji Skype for Business wskazać serwery Exchange jako zaufaną pulę serwerów (wykorzystując nazwę dostępową dla usługi OWA):

New-CsTrustedApplicationPool -Identity <owa FQDN> -Registrar <Pool FQDN> -Site <Site name> -RequiresReplication $False

Następnie w nowoutworzonej puli dodajemy aplikację, wskazując dodatkowo port komunikacyjny. Oczywiście po stronie Exchange należy zweryfikować, czy port nie jest zablokowany przez ustawienia firewalla:

New-CsTrustedApplication -ApplicationId OutlookWebApp -TrustedApplicationPoolFqdn <owa FQDN> -Port 6100

Pozostaje odświeżenie ustawień:

Enable-CsTopology

Osobnym zagadnieniem jest integracja w zakresie Unified Messaging. Tutaj nie ma zmian w stosunku do Exchange 2013, więc może do tego zagadnienia  wrócę innym razem.