AzureAD priv preview

funkcje preview można niby włączyć… ale nie wszystkie. niektóre są dostępne – jeśli doda się specjalną flagę.

znalazłem poszukując narzędzia do weryfikacji uprawnień Enterprise Apps. obecnie jest spory śmietnik – apki pojawiają się i po pewnych czasie są trudności z określeniem co do czego ma uprawnienia (globalnie/centralnie).

po włączeniu tej funkcji dostępne  są dodatkowe opcje pozwalające na przejrzenie uprawnień wszystkich aplikacji – niestety brak opcji 'download’. ciekawą funkcją jest również application risk:

próbowałem znaleźć inne opcje, które dzięki tej fladze są dostępne, ale na razie nie trafiłem – zachęcam do poszukania i podzielenia się odkryciami.

eN.

katalog stricte sieciowy

w jaki sposób 'dostarczyć’ jakiś katalog na kilka serwerów/VDI? łatwym i popularnym sposobem jest wykorzystanie Azure Files i po prostu podmapować dysk sieciowy.

takie rozwiązanie ma (potencjalnie) kilka wad. potencjalnie – ponieważ wszystko zależy od założeń po co i dla kogo to robimy:

  • dodatkowa litera dysq
  • trzeba dodatkowe polisy GPO żeby ścieżka była zaufana i żeby system nie pluł się przy każdym uruchomieniu

chodziło o dostarczenie wspólnego repozytorium, dostępnego na wszystkich VDI. można taki efekt osiągnąć mapując udział sieciowy jako katalog.

potrzebny do tego jest Storage Account wspierający Azure Files, dodany do domeny. jest to konieczne ze względu na możliwość uwierzytelnienia. a kiedy mamy już założony Azure Files, wystarczy utworzyć w systemie katalog, który będzie na niego wskazywał:

PS> new-item -type SymbolicLink -path c:\myRepo -target \\wfilesrepo.file.core.windows.net\repo

as simple as that. i mamy katalog, który zachowuje się i wygląda (niemal) jak normalny katalog. nie trzeba już polis GPO ponieważ Windows już nie traktuje tego jako dysq sieciowego a zwykły katalog lokalny.

dodam do tego kilka uwag i ciekawostek:

  • taki symlink jest tylko wskazaniem. a to oznacza, że każdy oddzielnie musi mieć uprawnienia dostępu – to nie jest tak, że admin ma dostęp i podmapuje i każdy wlezie. trzeba więc odpowiednio posiedzieć nad uprawnieniami
  • standardowo uprawnieniami dostępu do Azure Files jest moduł IAM – to zresztą ogólna zasada. pojawia się tutaj problem nadania uprawnienia wszystkim – ponieważ nie nadamy na poziomie IAM uprawnienia dla 'authenticated users’. jest od jakiegoś czasu możliwość obejścia tego problemu, ustawiając atrybut ’defaultSharePermissions’ dla Storage Account.
  • ponieważ jest to link do sieci, jest problem z cache przy operacjach zapisu. zauważyłem, że czasem zapis jest odrzucany.
  • SymLink zachowuje się jak katalog… ale nie do końca. SymLink jako katalog odziedziczy uprawnienia z katalogu nadrzędnego, ale nawet jeśli jest włączona flaga dziedziczenia, nie do końca uprawnienia spływają poniżej. należy uważać i dobrze przetestować. najlepiej odpowiednio przygotować strukturę i wyłączyć dziedziczenie:
    \\wfilesrepo.file.core.windows.net\repo\wlasciwykatalog – i wyłączyć dziedziczenie na poziomie 'wlasiciwykatalog’
    albo
    c:\root\[repo] – gdzie [repo] to symlink – i wyłączyć dziedziczenie na poziomie 'root’…
    to problemu nie będzie. tylko jest wtedy bzdurny dodatkowy katalog /:
  • dodatkowy problem z uprawnieniami jaki zauważyłem, to fakt, że uprawnienia nadane dla grupy 'administrators’ bezpośrednio na file share, nie działają O_o . ogólnie: UWAGA NA UPRAWNIENIA, bo zachowują się dziwnie.
  • i jeszcze – jak takiego symlinka usunąć? najlepiej:
(get-item c:\symlink).delete()

mimo pewnych dziwnych zachowań sprawdza się fajnie a dla użytkowników wygląda i zachowuje się jak folder lokalny.

eN.

AzPseudoGUI – łatwiejsza praca z commandletami Az

trochę GUI dla commandline’a

pracując z linii poleceń braqje możliwości szybkiej weryfikacji nazw i list. ponieważ nie ma GUI, co chwile trzeba listować obiekty, wybierać odpowiednie właściwości (properites) i dopiero w ten sposób wykorzystać nazwę dalej. jest to denerwujące zwłaszcza w połowie pisania jakiegoś długiego oneliner’a i nagle 'o rety, ale jak była nazwa tej resorsgrupy?’ … i ctrl+c, listing wszystkich Resource Group i dopiero od nowa pisanie komendy…

żeby sobie ułatwić życie, oraz pisanie prostych skryptów, przydatny jest moduł AzPseugdoGUI, który obudowuje popularne funkcje Az i dodaje do niech out-gridView. w ten sposób, bez konieczności pamiętania nazw, często dość długich i pokrętnych można np.:

$ctx=select-subscription

co pozwoli wybrać konkretną subskrypcję i zwróci obecny kontext pracy, który można potem wykorzystać.

jak szybko wybrać maszynę wirtualną? po prostu

$vm=select-VM

za dużo maszyn w subskrypcji ale pamiętasz o którą resource group chodzi?

$vm=select-RG -isCritical | select-VM

ułatwia życie i nie trzeba ciągle sięgać do Azure Portal czy listować w kółko… moduł można łatwo zainstalować

install-module AzPseudoGUI

nowy destroy-AzureVM

wykorzystując ten moduł, poprawiłem destroy-AzureVM – który teraz również wykrywa backup maszyny i pozwala wybrać które zasoby mają zostać usunięte a które nie.

przy okazji ciekawostka:

  • W Azure (niemal) wszystko jest zasobem (resource) a dowolny zasób można usunąć uniwersalną funkcją 'remove-AzResource’.

to bardzo wygodnie i nawet złożone konstrukty takie, jak VM można potencjalnie usunąć jedną komendą… niestety zasobem (resource) nie jest kontener Storage Account. ale i tak można zoptymalizować skrypt, tworząc tabelę URI zasobów i wrzucając je do niszczarki:

foreach($resource in $resourcesForDeletion) {
    write-log "removing $resource" -type info
    $resourceSplited=$resource.split('/')
    try{
        remove-AzResource -ResourceID $resource -force
        write-log "$($resourceSplited[-2]): $($resourceSplited[-1]) removed." -type ok
    } catch { 
        write-log "error removing $($resourceSplited[-2]): $($resourceSplited[-1])." -type error
        write-log $_.exception -type error
    }
}
wygodne.
eN.

passwordless EXO connection

przeglądając ostatnio changelog dla commandletów ExchangeOnlineManagement znalazłem bardzo miłą informację.

po pierwsze w końcu PS dla EXO zaczyna się normalizować. po dziwnych zawirowaniach i wydania ExchangeOnline 1.0.1 określonej jako… V2, w końcu ktoś poszedł po rozum do głowy i dał i wersję 2.x . niby drobna rzecz, ale istotna, ze względu na przejrzystość.

ponadto, pomimo że GraphAPI dla EXO jeszcze nie ma, dostarczony został [trochę wydrutowany, ale zawsze] sposób, na bezhasłowe połączenie do konsoli. nie wymaga to zbyt dużo gimnastyki, a pozwala na tworzenie skryptów w trybie nienadzrorowanym [unattended].

eN.

MFA – dodatek czy konieczność?

zgodnie z zapowiedzią kolejny fragment arcyciekawego wywiadu z d0m3lem. to ważny temat, więc warto o nim porozmawiać…

Czy MFA jest ważne?

<MG> W kontekście architektury zabezpieczeń, chciałbym rozszerzyć to pytanie. W ogóle jakie są największe teraz wyzwania, z którymi mierzycie się w całej tej działce Identity? Czy to jest brak wiedzy? Czy jednak te ograniczenia technologiczne, czy ten dług technologiczny?

<d0m3l> Ludzie nie chcą korzystać z MFA.

<MG> Czyli jednak interface białkowy to jest największe wyzwanie?

[…]

<d0m3l> Tak, generalnie kwestia jest taka: Spytaliśmy naszych kolegów z Google’a, jaką mają adopcję MFA? Okazuje się, że w momencie, kiedy jesteś goniony przez atakujących, przez hackerów to jest tak, jak bycie gonionym przez stado wilków. Jak Cię gonią wilki to nie chodzi o to, żeby prześcignąć wilki. To chodzi o to, żeby prześcignąć najwolniejszego w tłumie. Więc w momencie, kiedy masz włączony SMS jako jedyne MFA na Twoim koncie, na Twojej usłudze, gdziekolwiek, to Cię broni przed 1oo% zautomatyzowanych ataków. Czyli jak jest scriptkidi albo narzędzia tych atakujących hackerskich grup narodowych takich jak Iran, Somalia, Nigeria, jest parę takich bardzo fajnych organizacji, które próbują się dostać do Twojej poczty. Jeżeli masz SMS jako jedyne MFA na swoim koncie, jakikolwiek skrypt, oprogramowanie jakie mają, żeby Cię zbruteforce’ować, zespray’ować jest zablokowane. Jeżeli targetują Ciebie, jako osobę koszt zhackowania Ciebie rośnie z 70 centów do 70 dolarów i udaje im się to w 40% przypadków.

<nExoR> To jeszcze tylko jedna rzecz apropos tego MFA i statystyk, chciałem zaznaczyć, że strasznie kłamiecie. Bo nie potraficie zliczać MFA wymuszonego Conditional Accessem, gdzie na przykład w firmach administratorzy to np. 2% w stosunku do użytkowników. Administratorzy mają wymuszone MFA, cała reszta, czyli 98% ma Conditional Accessem. Co mówi Microsoft? 98% ludzi nie ma włączonego MFA.

<d0m3l> W tej chwili z mogę Ci powiedzieć dokładnie ile jest ludzi, którzy mają MFA. To jest 33% użytkowników w Office 365 podało jakiś sposób weryfikacji, że można ich w jakiś sposób wymusić.

<nExoR> Czyli to jest nie na podstawie włączonej opcji, że musisz mieć MFA, tylko to jest na podstawie danych, które zostały podane do kont?

<d0m3l> Tak.

<nExoR> To jak jesteśmy przy tym od razu. Czy będzie jakaś usługa, jakiś sposób zabezpieczenia, bo jest taka dziura w MFA przy onboardingu. Bo jak założysz konto, włączysz MFA, masz provisioning użytkowników to nadal do kogo pierwszego trafią Credentiale, ten sobie MFA ustawia. No i teraz wiadomo, że jest jakiś duży procent użytkowników, którzy, no wiadomo są takie cienie, ktoś nigdy nie przyszedł do pracy albo nie używa konta i one sobie wiszą. Jak zhackujesz takie konto to od razu sobie ustawiasz MFA, i jest jakby podwójnie uwierzytelniony w tej domenie i przez to jeszcze bardziej zhackowany. Czy tutaj można się spodziewać jakiegoś wyjścia naprzeciw? […]

<d0m3l> Generalnie są 2 sposoby. Sposób proceduralny i sposób technologiczny. Sposób proceduralny, pomijanie MFA ze względu na lokalizację, jedno z najgorszych zaleceń, jakie Microsoft kiedykolwiek wydał. MFA  powinno być też wymuszone w Corpnecie. MFA musisz zrobić zawsze. Jeden prompt per użytkownik, per urządzenie, per zmiana hasła, koniec kropka. To, że spiąłeś się VPNem nie powinno Cię wykluczać z wymagania MFA. To jest Zero Trust. To jest proceduralnie. Drugi to jest taki, że jest funkcjonalność w Conditional Accessie, która mówi, że żeby się zenrollować do MFA musisz spełniać wymagania. Jest takie coś, co nazywa się User Actions jako warunek w Conditional Accessie, gdzie możesz powiedzieć: “Żeby zenrollować się do MFA musisz być na urządzeniu, które uważam za zaufane” albo “Musisz być w konkretnym zakresie adresów IP”.

<nExoR> Zakresy IP to w ogóle są trochę od czapy te polityki z zakresami IP, bo połowa firm używa Proxy, Application Proxy czy innych mechanizmów przekierowujących ruch i wychodzenie ze stałego IP, zwłaszcza w świecie mobilnym, to jest w ogóle jakieś nieporozumienie.

<d0m3l> Kwestia jest taka, że nie ma wystarczającej ilości technologii na świecie, żeby naprawić gówniane procesy. Nie ma. Jeżeli Twój proces jest niewystarczający to możesz się bawić w hocki-klocki. Takie podatności o jakich Ty mówisz, że hacker albo zły aktor dostanie się i uwierzytelni zamiast użytkownika zdarzają się 2 w miesiącu na całą skalę Office 365. Na 320 milionów użytkowników. 2 w miesiącu. Oba z nich są łapane przez zwykłych użytkowników, którzy zostają wykopani z konta w momencie, kiedy ktoś zamiast nich dokona poświadczenia. Więc takie reaktywne wyłapywanie działa bardzo dobrze pod warunkiem, że nie masz wykluczeń MFA. Okazuje się, że najbardziej popularną polityką Conditional Access jaka istnieje jest: MFA dla wszystkich, poza zaufaną lokalizacją, czyli jeżeli jesteś na Cornplecie albo na Wi-Fi, żadnego MFA. Czyli Pani Józia, która siedzi w biurze i nigdy nie dostaje się do maila poza biurem, nigdy tego MFA nie zobaczy.

<nExoR> Tak, no wtedy go nigdy nie skonfiguruje, czyli jest niebezpieczne. No właśnie, czyli to taki drugi scenariusz.

<d0m3l> Dlatego jeżeli zły aktor dostanie hasło i spróbuje zrobić zarejestrowanie tego MFA, możesz to Conditional Accessem ograniczyć. Mówisz, że ktoś, kto ma hasło Pani Józi, żeby zarejestrować jej MFA musi być na urządzeniu, które jest dopięte do naszej domeny, musi być Hybrid Joined. I tyle.

[…]

<d0m3l> MFA musi być włączone zawsze. Ten link, który pokazałem, M365 Golden Config. Użytkownik przychodzi pierwszego dnia w pracy. Tego pierwszego dnia w pracy użytkownik musi potwierdzić, że ma dostęp do jakiegoś MFA. Problemem zaczyna się robić wdrożenie gdzie masz 23.ooo użytkowników, którzy jeszcze nie podali danych. MFA ma 1o% Faliure Rate przy rejestracji. 1o% użytkowników będzie Ci krzyczało, że nie umieją zeskanować kodu QR na ekranie.

[…]

<MG> Czy MFA jest, zadam takie pytanie znowu z wyższego poziomu, czy MFA jest idealnym zabezpieczeniem? Jak nie, to czego mu brakuje?

[…]

<d0m3l> Powiem tak: Grzesiek pytał o te statystyki Googlowe. Statystyki są prosto z konferencji, która nazywa się “Stripe”. Google mówił, że jedyne idioto-odporne, bo MFA da się zfishować. Fishing, czyli ktoś wysyła Ci maila, klikasz link i podajesz Twój login, hasło i MFA. MFA da się zrobić fish. Bez problemu, potem mam dostęp do Twojej poczty forever and ever, dopóki nie zmienisz swojego hasła. Jedyny sposób, który takiemu atakowi zapobiegnie to używanie metod poświadczeń, które są oparte o sprzęt. Czyli: Hello for Businnes – niefishowalny, Tokeny FIDO – niefishowalne. Dlatego, w momencie kiedy masz hasło i coś po haśle dopóty, dopóki to będzie aktywnym MFA, dopóty będziesz miał możliwość, że ktoś je zhackuje. Do wtedy, gdy będziesz klikał w te linki fishingowe. Nie da się zrobić, żeby mniej niż 20% Twoich użytkowników klikało w linki fishingowe. Możesz robić banery, ostrzeżenia itd.., 2o% ludzi kliknie w link, który się im pojawi w skrzynce odbiorczej. SANS Institute zrobił badania. 2o% to jest podłoga. W Microsofcie 35% ludzi jest fishowalnych, wewnętrznie u nas w firmie, bo jesteśmy przyklejeni do maila 24/7. 35% ostatnia kampania wewnętrzna fishingowa, testowa.

<MG> Czyli trzeba ogólnie całkowicie ominąć możliwość tego fisha, czyli tak, jak mówiłeś, Tokeny FIDO na przykład.

<A> Ale pamiętaj, że jeszcze masz drugą możliwość, czyli na przykład “o, tu jest taka fakturka”; “Ty, słuchaj, nie chce mi się w niczym otworzyć, zobacz co to”.

<d0m3l>     No. „Każdy burdel da się ogarnąć, tylko proszę dane do faktury”, nie? Ale to już jest chyba trochę taki Social Engeneering, prawda?

End Of Quote

oryginał rozmowy tutaj.

o ważności MFA jestem świadom i zawsze jest to pierwsza rzecz jaką sprawdzam – czy jest włączone. muszę przyznać, że zezwolenie na brak MFA kiedy się jest w biurze wydawało mi się zawsze dobrym pomysłem. teraz nie jestem już taki pewien (; pozostawiam do oceny czytelnikom.

eN.

czy Microsoft słucha użytkowników?

pasjonaci IT

nie tak dawno zapraszałem na spotkanie z Danielem Stefaniakiem, IAM Product Manager w Microsoft, pracującym w samym sercu tego, gdzie powstają usługi M365 – w Redmond. pełne nagranie z tego spotkania można obejrzeć na YT na kanale „Pasjonaci IT” . ilość wiedzy jaka posypała się podczas tych 1,5h okazała się olbrzymia. ponieważ nie każdy lubi słuchać, niektórzy nadal lubią czytać – zamieszczę kilka ważnych informacji jakie padły podczas tej rozmowy. dziś na smaka wrzucę fragment dotyczący User Voice – czy to tylko taki 'anti-stress button’ żeby ludzi mogli wylać swoje frustracje, czy faktycznie Microsoft przygląda się tym wpisom, analizuje i zmienia swoje plany?

poniżej fragment transkryptu, który może być nieco zmodyfikowany dla wygody czytania.

UserVoice

  • <nExoR>   […] to ciekawe, co powiedziałeś. Wiem, że uservoice funkcjonuje całkiem fajnie od jakiegoś czasu, natomiast jak to realnie wygląda procentowo? No bo uservoice – uservoice’em, natomiast musi być jakaś road mapa odgórna. czy jesteś w stanie określić na ile procentowo jest to uservoice, na ile odgórne ustalenia? np. uservoice to jest 15% całego rozwoju, a 85% to jest roadmapa, czy może jest odwrotnie, że właśnie 15% to jest jakaś odgórna wizja, a 85% to jest to, co ludzie chcą? Jak byś to mniej więcej określił?
  • <d0m3l>  W mojej działce, w Azure Active Directory [IAM], uservoice to jest około 15 – 2o% . Tak naprawdę chodzi o to, że w tej chwili Azure AD to jest system, który wiezie ze sobą 32o milionów użytkowników codziennie, więc to nie jest taki stateczek, który da się zawrócić z dnia na dzień. Więc w tej chwili korzystamy z uservoice’ów, albo z pracy z największymi klientami z Fortune 5oo, którzy na nas krzyczą: “Dlaczego to, kurka, tak nie działa? Bo próbuję zrobić XYZ, ale Wy mi nie dajecie takiej możliwości”. więc szturchamy na prawo i lewo, żeby ten stateczek popłynął tam, gdzie klienci będą chcieli na niego wsiąść, bo na pewno nie stoi w miejscu. Więc z uservoice te rzeczy, które mają powyżej 1oo głosów, czy tam 15o, muszą być wciśnięte w road mapę na najbliższe 12 miesięcy. Nasza Pani Vice President powiedziała, że tak ma być, koniec kropka: „Właściciele funkcjonalności wymyślcie, jak zaadresować uservoice’a”.
  • <MG>        1oo – 15o głosów to nie jest taki duży próg…
  • <domel>     W Azure AD to jest bardzo wysoki próg.
  • <nExoR>   Naprawdę? Tak mało jest uservoice’ów?
  • <domel>     Tak. Największy uservoice ma 13oo głosów.
  • <nExoR>   I na co jest?
  • <domel>     Rozdzielenie albo połączenie Microsoft Account i kont Azure AD. Bo, jak pamiętacie LifeID rozdzieliło się od Office 365 w jednym momencie i teraz się okazuje, że  jak masz LifeID i konto w Office 365 na ten sam adres e-mail to masz ten głupi label pod tytułem “konto organizacyjne vs. konto prywatne“, więc ludzie na to bluzgają strasznie. Drugi w tej chwili to jest chyba cel w Service Password Reset bez dostępu do kontrolera domeny, więc to są dwa takie największe. Teamsy mają dziesiątki tysięcy uservoice’ów [bo to frontend’owa aplikacja]

End of Quote

swoją drogą sprawdziłem i są jeszcze dwa requesty:

  • nested groups: ~18oo głosów
  • tokeny B2C zawierające członkostwo użytkownika: ~15oo głosów

i to faktycznie max. a Top Ideas dla Teams ma ponad 55k. to pokazuje, różnicę backend vs frontend q:

w świetnym dziele filozoficznym, post-humanistycznym „Po piśmie„, Jacek Dukaj pokazuje jak zmieniała się ludzkość na przestrzeni dziejów – z kultury mówionej, teraz przez literacką… a w przyszłości w przekaz natychmiastowy. ludzie już dziś wolą obejrzeć niż przeczytać, podcasty i filmy zastępują książki, video zastępuje instrukcje i poradniki…

jestem dinozaurem – ja wolę czytać. albo może to technologia jeszcze nie dorosła po prostu – bo jak wyszukać jakiś interesujący fragment? jak wyszukać interesującą frazę w 1,5h materiale? albo jak 'przelecieć wzrokiem’ video? czasem mniej ciekawe fragmenty artu można po prostu szybko ominąć, przy video trudniej. dla tego  w najbliższych dniach dodam jeszcze trochę fajnych informacji z naszej rozmowy – bo czasem tygodnie, a nawet miesiące surfowania, nie dadzą takich wyniqw.

d0m3lu – dzięki [twoje konto cały czas jeszcze jest na w-files q: ]

eN.

M365 jako platforma – inna perspektywa

kolejne spojrzenie na 'platformę’ – w dwóch kontekstach. po pierwsze – bezpieczeństwo, po drugie – konsekwencje 'on-premowego myślenia’. w sumie to odwrotnie, bo zaniechania z w prawidłowej konfiguracji bezpieczeństwa wynikają głównie z faktu, że M365 nie jest prawidłowo rozumiane. bo cały czas poqtuje 'stare myślenie’. taka oto anegdota [prawdziwa], która powinna dobrze zobrazować, co mam na myśli…

dzień dobry, my po Teamsy….

niedawno, po wybuchu pandemii, duża firma postanowiła zwiększyć możliwości pracy z domu [#WFH]. więc firma chce wdrożyć Microsoft Teams. *tylko* Teams…

[parafrazując] „no bo przecież takie Teamsy, to zainstaluje się i już – ludzie mogą sobie korzystać. mamy jakieś licencje i to w ramach EA nawet O365 E3 i to całkiem sporo. nie chcemy od razu dla wszystkich tylko małymi kroczkami – odpalimy dla np. 5o osób jako PoC a potem dla reszty organizacji. a jakieś dodatki typu skrzynki czy OneDrive to może potem. na razie chcemy szybko [i tanio], żeby skorzystać z możliwości tej wspaniałej pracy grupowej, jaką daje Teams”…

khmmm… no i to takie „onpremowe myślenie”. zupełnie wszystko do góry nogami. jeśli nie wiecie o czym mówię – to znaczy, że jeszcze musicie się w M365 wgryźć… jakie błędy zostały popełnione w tym rozumowaniu? zadajmy klientowi kilka pytań i co się okaże:

  • jest już AD. oczywiście powinno być SSO, a w przyszłości bardziej wykorzystać usługę. czyli trzeba zacząć od zaprojektowania tożsamości hybrydowej, synchronizacji, określić zasady synchronizacji – nawet jeśli początkowo synchronizowałoby się tylko kilka osób, to trzeba zrobić pełny projekt. firma niemała, AD niemałe, a wiadomo – jak się zajrzy do szafy [AD] to zaczną trupy wypadać [cała historia i nakładające się modele zarządzania]. trzeba jakieś serwery dla ADConnect postawić, redundancja, ustalić metodę uwierzytelnienia – w końcu to ma być produkcja, jak się źle poustala, to potem będzie ciężko to zmieniać… to tak w ramach rozgrzewki…
  • jest Exchange on-premise. ale Teams korzysta ze skrzynek pocztowych. nie dość, że trochę ciężko przewidzieć co by się stało jak by to tak po prostu rozdzielnie potraktować [znaczy duplicate-mailbox by się stało], ale klient wspomniał, że będzie raczej chciał usługę mocniej utylizować w przyszłości. a to oznacza hybrydę Exchange – i znów projekt i DNSy i mailflow i reguły na FW itd….
  • jest oczywiście i SfB on-premise… czyli musi być współdzielony SIP domain, hybryda SfB … i znów – trzeba to zaprojektować, wdrożyć ….
  • przetwarzane są informacje wrażliwe a firma podlega licznym normom i wymaganiom bezpieczeństwa – a więc trzeba skonfigurować polityki bezpieczeństwa dla wszystkich komponentów, ustalić co użytkownicy mogą a czego nie mogą … o tym więcej za chwilę, ale już widać – że to nie zadanie na 5 minut tylko ciężki projekt.

w dużym skrócie – nie ma pojęcia 'tylko Teamsy’… no ok, da się 'tylko Teamsy’. można wdrożyć na szybko tenant M365, zostać przy domenie *.onmicrosoft.com i sobie z Teamsów korzystać od razu. ale nie ma mowy o integracji, nie ma mowy o tym, żeby to post factum łączyć ze środowiskiem on-premise [technicznie się da, ale czas i koszty…], funkcjonalność będzie ograniczona, no i tak czy inaczej – trzeba to przecież zabezpieczyć… ma być zgodność z normami i bezpieczeństwo – a gdzie licencje EMS? a to będzie kosztowało …. w sumie to bez różnicy bo kwota już i tak przekroczyła jakiekolwiek wyobrażenia wstępne – coś co miało być szybkim wdrożeniem dla 5o osób okazuje się olbrzymim projektem – być może na długie miesiące. o kwotach nawet nie wspominam.

to tylko skrzynki Exchange

o bezpieczeństwie myślą niby wszyscy, niektórzy próbują, ale niewiele osób ma pojęcie co to w ogóle znaczy 'bezpieczeństwo M365′. może inna anegdota, tym razem mniejsza firma, ale schemat [czy raczej końcowy efekt], który obserwuję bez względu na wielkość firmy:

„mamy pocztę w takim to serwisie, i kupiliśmy licencje o365 i będziemy migrować”

„a bezpieczeństwo? macie jakiś projekt/pomysł jak to zabezpieczyć?”

„ale to tylko skrzyneczki”

czy aby na pewno? najbardziej oczywistym elementem, który pewnie każdy wskaże – jest tożsamość. w rozwiązaniach Chmury publicznej bezpieczeństwo sqpia się głównie na tożsamości [i danych]. w nazwie 'Chmura Publiczna’ dość kluczowe jest słowo 'Publiczna’. każdy – skądkolwiek na świecie, może próbować się logować, atakować konta itd. ale to dopiero początek… o czym [z przerażeniem zauważam] się zapomina. przecież wystarczy pojedyncza licencja, choćby trial, choćby wygasła dawno temu – ale jeśli była, to uruchamiane zostały w ramach M365 usługi, które objęte są/były licencją! to że licencje wygasły – nie wyłącza usług w ramach tenanta – co najwyżej z usługi nie da się w pełni korzystać, ale ona działa. to, że firma chce 'tylko skrzyneczki’, nie oznacza, że cała reszta nie istnieje. to nie jest onprem – w którym stawiamy sobie Exchange, a reszty nie ma, bo jeszcze nie zdecydowaliśmy czy instalować serwer SharePoint – te usługi są, działają, mają jakieś ustawienia wyjściowe, są dostępne – czyt. można próbować się do nich dostać. i nie mówię tylko o próbach włamania. zauważyłem, że powszechną praktyką jest przypisywanie użytkownikom pełnych licencji, bez wyłączania planów serwisowych – nawet jeśli firma jeszcze nie planowała z nich korzystać. a to oznacza, że użytkownicy mogą korzystać z pozostałych usług i zrobić sobie krzywdę. czy też firmie. np. przypadkiem udostępniając plik z danymi wrażliwymi, lub w ramach zabawy i nauki ustawić jakiś konektor, który automatycznie gdzieś tam wysyła maile czy kopiuje pliki…

a tych usług jest dużo: OneDrive, SharePoint, Teams, same grupy M365, co za tym idzie wieloraka możliwość współdzielenie plików na zewnątrz, możliwość dodawania dowolnych konektorów – i w Outlook i w Teams i w … można by tak wymieniać a szczegółów jest dużo.

a całe środowisko M365 projektowane jest przez DevOpsów tak, aby zaspakajać ich potrzeby. czyli wszycy-wszytko-wszytkim-zawsze-wszędzie-proszęBardzo. zupełnie jak na tych teaserach reklamowych Microsoft Teams – gdzie wszyscy są kreatywni, wszyscy piękni, młodzi i ambitni i świetnie adaptują te nowe super technologie. taaa… i rozgrzeszenie i życie wieczne za darmo, przy wyqpieniu Software Assurance.

życie zazwyczaj wygląda nieco odmiennie. dla tego…

ZABEZPIECZ SWOJE M365 KOMPLEKSOWO i AUDYTUJ

nie ma że 'tylko skrzyneczki’ czy 'tylko Teams’. trzeba wdrożyć minimum bezpieczeństwa dla *całego tenanta* – czyli wszystkich usług, bez względu no to czy dziś chcemy z nich korzystać. tym bardziej, że jest bardzo wiele elementów, związanych bezpośrednio z AAD i o365, które są dla wszystkich – a [prawie] nikt i tak tego nie konfiguruje zostawiając ustawienia wyjściowe, które są [za]bardzo liberalne. do tego trzeba pamiętać, że Chmura to nie jest 'produkt w wersji X’ – to jest dynamicznie rozwijające się środowisko. dla tego nie wystarczy 'zabezpieczyć’ – trzeba robić przeglądy, sprawdzać jakie nowe aplikacje się pojawiły, jakie dodatki – bo za chwilę pojawi się kolejna nowa aplikacja, która wymaga znów przyjrzenia się jej możliwościom i bezpieczeństwu, ocenić czy użytkownicy będą z niej korzystać i w jaki sposób i zaplanować co z nią zrobić i jak skonfigurować – bo wbrew dość powszechnej opinii – SaaS wcale nie oznacza, że tam się nic nie konfiguruje, czy że wszystko jest od razu bezpieczne.

jeśli myślisz poważnie o bezpieczeństwie a twoja firma musi być zgodna z normami – pomyśl od razu o licencjach EMS, M365sec, albo przynajmniej Business Premium dla mniejszych.

a po wiedzę – cóż, trzeba zgłosić się do odpowiednich konsultantów (:

eN.

Microsoft nie dostarcza produktów a platformę

Optymalizacja ROI

Klienci uzbrojeni w licencje Microsoft chcą osiągnąć maksymalny ROI [Return of Investment], żeby nie płakać co miesiąc wydając tysiące, dziesiątki tysięcy czy wręcz setki tysięcy PLN [licencja M365 E5 to obecnie €53.7o x 1o.ooo userów – i mamy €537oo miesięcznie]. firmy więc szukają oszczędności na dwa podstawowe sposoby:

  • biorą minimalne licencje – np. tylko Office365 E1/E3 czy wersje Business dla mniejszych
  • starają się jak najlepiej zutylizować te licencje, które posiadają – np. rezygnując z produktów, na rzecz tego, co jest w ofercie Microsoft – zastąpić DropBox przez OneDrive czy webEx przez Teams

pierwsza opcja sprawdzi się w zasadzie tylko dla małych firm… i tutaj właśnie wchodzi 'M365 to platforma’. licencje podstawowe typu E1 czy Business Standard pozbawione są [drogich] elementów bezpieczeństwa – co dla wdrożenia Enterprise jest zazwyczaj niedopuszczalne. Najłatwiej byłoby oczywiście sięgnąć po licencje M365 E3 lub E5… i wtedy oczywiście pojawia się sposób drugi – próba optymalizacji wykorzystywanych produktów, wykorzystanie funkcji w ramach posiadanych licencji i pozbycie się tego, co się dupliqje.

niby oczywiste, ale podane wcześniej przykłady – DropBox czy WebEx – są bardzo proste i odnoszą się właśnie do 'produktu’. czyli aplikacji/rozwiązania realizującego określony cel. ale wiele rozwiązań jest bardzo złożonych – np. rozwiązania DLP, audyty i monitoring [SIEM i monitoring systemów], systemy EndPoint Protection itp. .

I teraz firma zwraca się z prośbą o porównanie – dajmy na to Symantec DLP z DLP dostępnym w ramach M365, aby sprawdzić czy funkcjonalności dostępne w ramach M365 są wystarczające i czy można zrezygnować z kosztów związanych z produktem, potencjalnie duplikującym możliwości, za które płaci. oczywiście pierwszy odruch – sprawdźmy Gartnera… i okazuje się, że Microsoft w ogóle nie występuje na liście dostawców DLP. [ i jeszcze np. tutaj lista wyróżnień za 2o19 ]. sprawdzamy stronę Microsoft DLP – bida. faktycznie możliwości niewielkie….

ALE

„M365 to platforma a nie produkt”

nie będę próbował udowadniać, że DLP dostarczane przez Microsoft jest lepsze niż firm, które dostarczają produkty DLP – nie jest. ale też należy spojrzeć się na problem holistycznie i zrozumieć środowisko klienta oraz całe rozwiązanie M365. część, która faktycznie widnieje pod nazwą DLP jest uboga, ale uzupełniają ją inne produkty, rozwiązania, aplikacje:

  • jest część funkcjonalności stricte nazywająca się DLP w M365
  • w zasadzie cała szersza część tzw. 'Compliance&Security’ adresuje niektóre elementy DLP. choćby np. polityki retencji danych czy mechanizm Sensitive Labels, a można wymieniać więcej
  • część funkcjonalności dostępne jest jako mechanizm wbudowany OS Windows – np. WIP (Windows Information Protection) – co podlega zarządzaniu, zależnie od MDM dla Windows – czy to przez GPO, czy SCCM czy przez InTune jako urządzenie mobilne. DLP to przecież również prawidłowe zabezpieczenie prawidłowości konfiguracji stacji
  • do tego dochodzą produkty bezpieczeństwa takie jak CASB/MCAS (Microsft Cloud App Security) do kontroli sesji i reguł alertowania i monitoringu, cała konfiguracja polityki ochrony tożsamości, czy MDATP (Microsoft Defender ATP) działający jako część całego ekosystemu po stronie endpointów, czy AATP (Azure ATP) – co prawda to rozwiązania bardziej do monitoringu bezpieczeństwa ogólnie, ale pewne elementy się wzajemnie uzupełniają

zwłaszcza ostatni przykład jest istotny – MDATP staje się bardzo ważnym komponentem całej układanki. oczywiście to przede wszystkim rozwiązania EDR/EPP [w EPP Microsoft jest liderem na magicznym kwadracie] – ale czyż 'bezpieczeństwo’ nie wymaga spojrzenia holistycznego? funkcje się nawzajem przenikają, uzupełniają – w końcu mają finalnie zapewnić pełną ochronę. Wdrażając pełny stack M365 może się okazać, że ochrona którą zapewnia jest wystarczająca.

problem na jaki natrafiam to fakt, że… to się nie spina w tabelkach. bardzo często firma mogłaby [długofalowo] wprowadzić oszczędności i lepiej zutylizować posiadane licencje M365, ale projekt architektury jest zbyt wybiórczy, nie próbuje rozpatrywać jako całość, sqpiając się na pojedynczej funkcjonalności. i tak kiedy wpisze się w excelu że 'produkt firmy A robi to i to’ a obok czy 'Microsoft X to robi?’ – często może wypaść to na niekorzyść M365.

jak zdecydować?

wybrałem DLP nie bez powodu – bo to faktycznie jedno z trudniejszych porównań. podstawowym problemem w tym kontekście jest brak uniwersalności. ale każda firma/organizacja [i jej potrzeby] są specyficzne, i nie da się podać gotowej odpowiedzi bez dobrego zrozumienia ekosystemu i wymagań. pociągnę zatem porównanie na przykładzie DLP:

  • czy rozwiązanie ma zapewnić ochronę na serwerach on-premise? Microsoft’owe DLP potrafi to w bardzo ograniczonym zakresie, więc może nie wystarczać
  • czy ochrona ma obejmować stacje działające na systemach typu Linux, OSX czy innych wynalazkach? zazwyczaj backoffice działa na Windows ale wiadomo – OSX jest również popularną stacją roboczą. jeśli odpowiedź jest pozytywna – to dochodzi kolejna kwestia…
  • gdzie są przechowywane dane. cały czas firmy żyją wedle starych przyzwyczajeń i dane są na serwerach onprem i stacjach użytkowników – więc może warto pomyśleć o prawidłowej adaptacji Chmury i przenieść się do OneDrive/SharePoint? uniezależnić stacje robocze od lokalnego AD i lokalnych serwerów i zacząć tworzyć je według idei 'mobile workstation’, z danymi w Chmurze, zarządzane przez InTune? a wtedy również MS DLP będzie bardziej przydatne – bo zoptymalizowane jest właśnie pod takie zastosowanie.

to tylko kilka z podstawowych pytań, ale idea jest prosta – przyjrzeć się środowisq nie 'tu-i-teraz’ ale raczej pomyśleć o środowiq '2b’ – przyszłym. krótkofalowo może nie opłacać się wymienić tego-czy-innego komponentu, ale jeśli ustali się długofalową strategię przejścia do Chmury, to koszty i ROI liczy się nie w perspektywie pojedynczej inwestycji, tylko całego rozwiązania. przy pełnej strategii na np. 5 lat, i wyznaczeniu kierunq, tak modnego obecnie 'Digital Transformation’, nie rozpatruje się pojedynczego elementu i jak on pasuje do nas, tylko można spojrzeć z przeciwnej perspektywy – jak my możemy się zmienić, żeby najlepiej zutylizować licencje, za które płaci się grube pieniądze, i oczywiście jak powinniśmy się zmienić – żeby faktycznie zacząć korzystać z możliwości jakie dają rozwiązania Chmurowe. usilne trzymanie się przyzwyczajeń 'myślenia on-premise’ będzie kotwicą dla całej idei transformacji.

eN.

 

 

wygaszanie tokenów – zmora bezpieczeństwa i CAEP

Obsługa tokenu w czasie rzeczywistym

wpis dotyczy nowego mechanizmu bezpieczeństwa – Continues Access Evaluation Protocol. bardzo fajnie, że Microsoft w końcu adresuje bardziej życiowe sytuacje dotyczące sesji użytkownika – konkretnie obsługę wymuszenia wygaśnięcia tokenu uwierzytelnienia. obserwując jednak z poziomu wyższego, działania aplikacji, mam obawy, że to nie adresuje najważniejszych bolączek. przekonamy się wkrótce.

ale…. o czym ja mówię?

przykład podany w linkowanym arcie dotyczy wymuszenia wygaśnięcia tokenu bezpieczeństwa np. w przypadq zmiany typu sieci (biurowa/otwarta) w trakcie trwania sesji. w tej chwili token jest przyznawany na 1h i sobie jest póki nie wygaśnie.

ale obserwuję większy problem. 1h nie brzmi jak problem – ale już 2 dni? z praktyki i obserwacji tak właśnie to wygląda – użytkownicy, którzy zostali zablokowani lub wyłączeni często mają dostęp do danych nawet przez kilka dni. na to ile de facto to będzie czasu, wpływa wiele czynników:

  • czy środowisko jest cloud-only czy hybryda
  • jeśli hybryda to w jakim trybie – PHS, PTA czy ADFS? każdy z mechanizmów zmienia przebieg procesu uwierzytelniania i znacząco zmienia wiele aspektów związanych z bezpieczeństwem tożsamości.
  • pośrednio konfiguracja Conditional Access
  • wykorzystanie Cloud App Security – który podobnie do CAEP ma na celu kontrolę sesji a nie warunków dostępu
  • system operacyjny na końcówce – iOS, Android, Windows… na każdym apki zachowują się nieco inaczej
  • inne ustawienia typu konfiguracja serwera MFA w AAD ile czasu może być cache’owany.

w efekcie miałem okazję obserwować sytuacje, w których użytkownik jeszcze przez kilka dni (sic!) miał dostęp do swojego maila. tak – mógł odbierać i wiadomości. póty, póki nie zabił aplikacji na urządzeniu – dopiero wtedy pojawiło się żądanie uwierzytelnienia.

jest nadzieja, że ta oddolna zmiana opisuje tylko część konsekwencji ale w rezultacie zaadresuje ten problem – zwłaszcza, że pierwszymi klientami, które dostaną update jest Outlook i Teams.

procedury w przypadkach krytycznych

jest (teoretyczna) możliwość zabicia wszystkich sesji użytkownika i zmuszenia go do odświeżenia tokenu. jest również możliwość wyczyszczenia danych na końcówkach.

wipe-out

wyczyszczenie danych na końcówce jest możliwe jedynie jeśli zarządzane są aplikacje lub stacja – scenariusze BYOD z managed apps oraz klasyczny MDM z tzw. 'enrollmentem’ urządzeń. odpowiednik 'dodania do domeny’ pod kontrolę InTune (lub innego MDM) do zarządzania końcówką. wtedy zależnie od scenariusza (managed apps/MDM) możemy z portalu Azure wymusić wyczyszczenie danych firmowych (managed apps) lub całego urządzenia (MDM).

warunkiem jest oczywiście, że urządzenie zarejestruje się do sieci, co w przypadq świadomej kradzieży w celu pozyskania danych nie jest oczywiście dużym pocieszeniem. warto również pamiętać, że to już podlega licencjom InTune.

reset sesji

ciekawszym i bardziej powszechnym scenariuszem jest reset sesji użytkownika. po co? uwierzytelnienie jest 'bramą’ którą jak się przekroczy, mamy określony czas przebywania (sesję). do tego należy dodać różne mechanizmy cache – obecne zwłaszcza w aplikacjach mobilnych, ze względu na … mobilność. czyli częste utraty sieci i zmiany punktów dostępowych. pomimo, że token uwierzytelniania żyje 1h, to sesja utrzymywana jest, aż do zerwania albo jakiegoś timeoutu w aplikacji. dla Outlook obserwowałem długie czasy, sięgające nawet 2 dni [dodam, że taki scenariusz miałem ok roq temu – to o tyle istotne, że przy obecnej szybkości zmian, nie do końca wiadomo co jest aktualne. nie robiłem testów ostatnio].

(teoretyczny) reset sesji można wykonać na 3 sposoby. czy też może w 3ech krokach? bo nie jest dla mnie oczywiste w których częściach te kroki się pokrywają a w których wymagają wykonania oddzielnie [zapraszam do komentarzy i wrzucenia linqw – jeśli ktoś posiada materiały wyjaśniające te 'detale’, a jakże istotne ze względu na bezpieczeństwo].

  • z interfejsu AAD, w części 'Authentication Methods’ – opcja 'Revoke MFA sessions’
  • z PowerShell Revoke-AzureADUserAllRefreshToken, który zgodnie z opisem 'unieważnia wszystkie tokeny wydane dla aplikacji użytkownika’
  • z portalu M365 Admin Center – wyszukując użytkownika, w zakładce… OneDrive. tam dostępna jest opcja, która obecnie opisana jest 'Sign-out of all Office 365 sessions’

historycznie opcja 'sign-out user sessions’ działała tylko dla OD właśnie. czy dziś, zostając w tym samym miejscu w interfejsie, zrywa faktycznie sesje? podam taki przykład świeży, z przed miesiąca:

wraz z końcem miesiąca, zakończyło pracę sporo osób pracujących w projekcie i z dostępami administracyjnymi. ok. 3 dni później zgłasza się do mnie jedna z osób z pytaniem, czemu osoba, która już nie powinna być w organizacji 'świeci się w Teams na zielono’ – czyli jest jako aktywna. konto zablokowane, wszelkie resety porobione. nie pomaga. mija kolejny dzień – nadal 'active’. zakładam ticket w MS Support, jakaś tam analiza logów, że user zablokowany, że na pewno nie może się dostać – generalnie nic, czego bym nie wiedział. odpowiedzi na to, czemu sesja jest widoczna jako 'active’ i jak taką sesję zabić – brak. w tej sytuacji nie było zagrożenia, bo faktycznie wszystko było poblokowane i potwierdzały to logi dostępowe, ale ogólnie… brak narzędzi pozwalających na jakąkolwiek kontrolę sesji użytkowników to spory problem chmury. pozostawia sporo niejasności, co w kontekście bezpieczeństwa nie jest pożądane.

liczę na to, że implementacja CAEP znacząco poprawi element kontroli sesji….

eN.