00:02 Martin Velkommen til endnu en episode af How to Get There From Here. Vores podcast, Christian og jeg, har startet den her podcast, og vi er nu på episode 4, hvor vi har tænkt os at samle op og ligesom runde af i forhold til Conditional Access. Og vi kalder det afsnit Conditional Access, Bits and Pieces and Best Practices. Og vi på de her 10 minutter prøver…

00:26 Martin Og lige runde emnet af og komme forbi nogle af de her best practices og bits and pieces, som overskriften lyder. Og jeg tænker, at jeg egentlig bare vil starte ballet, Christian, med noget så kontroversielt som…

00:45 Martin Den her tankegang, der hedder Deny by Default, vi har nu et par gange oplevet, at nogen refererer til at bruge Conditional Access som en slags firewall, og gribe Conditional Access an med den her Deny by Default tankegang. Og det har vi lige talt om, også uden for det her afstøt i bilen om morgenen og frem og tilbage.

01:15 Martin Og er det en praktisk tilgang, og er der fordele og ulepper, og kan det overhovedet fungere egentlig i virkeligheden?

01:24 Christian Det er jo en spændende filosofi og tankegang at have block by default alt. Jeg tror…

01:36 Christian Jeg tror, det er svært at rigtig faktisk få ud over rampen i sidste ende, fordi du kan jo så skulle starte med at blokere alt. All users, all resources. Og så skal du til at lave exclusions efterfølgende der på, hvad det nu vil tillade. Og det tror jeg kan skabe et ret stort overhead ret hurtigt, hvis vi bare holder os til det. Og skal huske på, at der jo kun er

02:04 Christian Der er kun 195 mulige policies at lave, så jeg kan godt forestille mig, hvis det her kunne lade sig gøre, at man så kunne komme ret hurtigt ind ad en limit.

02:16 Martin Der er et loft på, hvilke policies man kan have i alt. Og det du mener, hvis man griber den her tankegang og tilgang, så vil man ret hurtigt ramme potentielt det her loft her, fordi det vil kræve rigtig mange regler.

02:33 Christian Ja, og det er jo også, jeg tror, at den her deny all default, tror jeg, kommer også ud af den her firewall-mentalitet. At du på firewall-niveau starter ud fra at sige, blokér al trafik, og så laver du exclusion, stille vej ned igennem, du tillader, og hvad du nu har behov for, kan tale ind og ud. Ligesom filosofien så også går sig på det her.

03:03 Christian Og ja, hvad tænker du omkring det egentlig, Marcel?

03:07 Martin Jeg tænker udenbart, at når man lige siger det højt, så giver det jo mening, især hvis man kommer med den her fire år tankegang. Men det vil være et administrativt nightmare. Der er også nogle ting, som så potentielt vil holde op med at virke, hvis man griber det an på den måde. Og der er noget, der faktisk er ved at rulle ud her fra Microsofts side af.

03:34 Martin Der vil skabe endnu flere problemer. Det er ved at blive rullet ud til alt tændt, hvor der er nogle af de her low privilege scopes, som tidligere har været excluded fra Microsofts side af. De er nu automatisk blevet inkluderet i Conditioned Access.

03:54 Martin Og det er sådan noget som User Read, nogle af de her små scopes, som har gjort, som Microsoft har ekskluderet for at gøre livet nemmere for os, er sikkert sindssygt, så inkluderer de nu nogle af de her scopes i Codex Access, så hvis man vender den derom, så vil det være sådan en administrativt helvede, og jeg tror faktisk ikke, at det vil fungere i praksis.

04:18 Christian Nej.

04:21 Martin Det, man så skal gøre i stedet for, det kan du måske lige nævne. Hvad er Microsofts anbefalinger? For jeg ved, at du har arbejdet meget med Conditional Access her på det sidste.

04:31 Christian Som I da husker i hvert fald, så er det jo, at du laver en regel, der takkender all users, all apps, og så har kravet om MFA eller Compliant Device. Hvis du vil 90% af dine use cases her, brugeren bliver ikke forstyrret, hvis det er, at de har et compliant device, men hvis de ikke har det, så MFA, så du når en god balance allerede her, og så vil det jo så være meningen, du fylder mere på den vej igennem. Hvad er det til at snakke? Skal det være phishing resistance med MFA, og hvad for en MFA-metode skal det være? hvilke krav alle til compliant device, at det bare skal være tændt, som det måske ikke er sikkert. Og så kan det meget hurtigt blive den næste afsnit om at være en god in-tune compliance policy for devices. Og ja, så det vil nok være den bedre approach at gå den vej igennem.

05:27 Martin Og i stedet for at tage

05:31 Martin at gå med Deny by Default, så egentlig gå med Allow by Default, man sørger for, at man har sin faceline på plads.

05:39 Christian Jamen netop, det lyder jo lidt åbent, når du siger Allow by Default, fordi hvis man tog Firewall tak i gangen til sig igen, så er vi sådan øh, skal vi tillade alt? Nej, du skal ikke tillade alt, eller du tillader alt, men du stiller krav til den adgang, og det kommer her, Conditional Access, øh,

05:58 Christian Og ja, det vil være en bedre tanke også, fordi at 195. policies kan jo også ret hurtigt komme ud af kontrol for en selv, hvis man når dertil og har hørt om nogen, der er

06:11 Christian Der går så så langt ud, at så har de den samme regel tre gange, hvor så er det en dev-regel, og så er det en quality assurance-regel, og så er det produktion. Og så bruger man infrastructure as code, og så kommer vi jo også ud i lidt varensting, hvor hvis vi skal prøve at gøre sikkerhed og især conditional access lidt mere spiseligt,

06:32 Christian så vil det nok være bedre at have noget lidt mere standard, altså have den baseline, og så bare være på den her. Omkring 40-50 policies, det behøver ikke, og det lyder også meget allerede, det behøver ikke at være billigere end det. Hvis du helst gerne vil ramme nogle af de store scenarier igennem os med directory roads, der skulle du helst gerne kræve phishing-resistant MFA, i stedet for SMS, for eksempel. Så stille flere krav til det.

07:00 Christian Det er også noget, vi har talt om, det med, at skal man bundle politikker sammen?

07:07 Christian For eksempel med directory roles, skal det være én politik, der indeholder kravet om phishing resistance, og du skal komme fra en trusted location, og du skal være, lad os sige, hyper-joined, eller bør det være tre forskellige? Det ved jeg ikke, du kan sætte noget mere på.

07:23 Martin Vi har jo talt om, at skal man bundle…

07:27 Martin Flere krav eller flere scenarier i en politik, eller skal man sigte efter at sprede det lidt op? Og vi har jo talt om, at hvis man kan sprede det lidt op, måske ikke helt ned på nogle af de her simple niveauer, men hvis man spreder det lidt ud, så har man også muligheden for at lave exclusions, unikke, separate exclusions til hver policy, og så kan man… nemmere at administrere eksklusen, så man kun ekskluder fra det specifikke scenarie, og ikke lige pludselig hele politikken, som dækker flere forskellige ting.

08:01 Christian Ja, det kommer overhovedet til en snak, vi havde lidt i et eller andet afsnit omkring, hvordan håndterer man lidt exclusions. En af mine måder at gå til det på vil være, at du har en gruppe for hver policy, plus du har den gruppe, der bruger på alle policies som exclusion, hvor dine break glass accounts skal være medlemmer af.

08:27 Christian Ja. Og der er jo forskellige måder, hvordan man så navigerer, og det er en god ide, som også er nævnt i et andet afsnit, at bruge access reviews og monitorere de her med coastal queries, til at se, hvad sker der på de her exclusions, og så de ikke ender med at sende til, og man ikke rigtig ved, er der stadig behov for det her, og som I begge to godt ved, så er det mest permanente i verden, det er en midlertidig løsning. Ja.

08:53 Martin Hvis vi skal runde det her emne af, vi plejer jo at stile efter at prøve at holde de her episoder på 10-12 minutter. Så hvis vi lige skal runde den af, du nævnte lige Infrastructure as Code. Kan du lige runde den af med at fortælle, hvad det er for en størrelse?

09:12 Christian Ja, det er jo noget, der vinder mere og mere indpas. I stedet for, at du citerer en kollega, klik ops, og i stedet for, at du sidder og klikker rundt inden i interportalen og laver din conditional access policy, så bøger du kode til det, så du deployer din conditional access policy ved et par kode og på den måde sikrer, at de opfylder de krav, du vil have, så du ikke glemmer Exclusions fx, og du får sat de korrekte settings.

09:41 Martin Ja, mennesket laver fejl, og det gør computeren ikke, hvis det er lavet rigtigt. Ja, man er professionel.

09:50 Christian Præcis, og det tror jeg også hurtigt kan blive et afsnit i sig selv omkring, hvordan man kunne gribe det an. Jeg kender også en eller to, vi prøvede at invitere med, der kunne tale mere om det, tror jeg, end jeg kunne gøre.

10:03 Martin Og best practices, så er der også noget omkring navnestandarder for seriære policies, og det ved du, eller jeg har også en stor interesse i, ved jeg. Du er næsten umål i det, hvertfald.

10:16 Martin Ja, præcis. Kan du ikke lige sige, hvordan bør man navngive sit policies? Er der en standard, man bør holde sig op ad?

10:23 Christian Jeg vil i hvert fald blive enig med sig selv om sit egen standard, men jeg tror, at en ting, jeg vil stå ret meget fast på, det er at bruge numre til at starte med for ens policies. Det gør det meget nemmere at identificere policien, især også når det kommer til fejlsøgning på sign-in-sloksen, at du kan se, at det er policy 125, der er noget galt med, i stedet for, at det er et navn, hvor det er skrevet uden mellemrum, eller måske bare med en indstrækker, at det kan være svært.

10:49 Martin Man vil ikke kun et nummer? Nej. Okay.

10:53 Christian Det er jo også derfor, at det kan være en opsnit i sig selv med det her, fordi hvis du har et nummer i det, så gør det dit liv meget nemmere som administrator. Og sådan herefter bør man så tilføje, hvad er target? Er det all users? Er det guests? Er det, jeg vil sige, shared accounts, developers? Hvilke personer er man nu ved at have ind, så du ved, hvad target er? Og så igen også…

11:20 Christian hvad det er for nogle ressourcer, du bruger at ramme. Er det Always, er det All Apps, eller er det Exchange, eller Office 365, man rammer, og så, hvad arvet eller sessionen er. Er det MFA, eller er det noget andet, eller blog for eksempel.

11:39 Christian Og det er jo igen, det er hvordan jeg helst gerne vil lave dem og se dem. Jeg vil for eksempel gerne have mellemrum i navnene, der ved det, der er andre, der måske er lidt mindre glade for. Bare sådan et

11:50 Martin Ja, jeg er ikke stor fan af mellemrum, men det er, fordi jeg er old school it-mand fra den tid, hvor man undgik space og underlige karakterer. Det er altså en ny verden. En ny verden, moderne verden. Hvad har vi ellers på tapet? Åh, jamen… Det var Deny by Default. Har vi noget andet, vi kan tale om?

12:18 Christian Jeg vil gerne høre, hvad din tæk er på en god navnestandard. Er du også til nummer?

12:27 Martin Ikke før nu. Nu er jeg. Om det er glade for? Jeg har ikke implementeret så meget Conditional Access, men…

12:38 Martin numre, det er nyt for mig, men jeg kan godt se ideen i det. Jeg plejer også bare at definere, hvad handler det om? Er det users, agents, eller hvad i starten? Og hvilke ressourcer? Og hvad er så kravet et eller andet sted? Som ret hurtigt bare ved navn kan identificere, hvad den enkelte policy gør. Det skal gerne være sådan, at man kan kigge på den og sige, nu er det den, der gør det. Og så kan jeg godt se ideen i nogle numre, især efterhånden, som man får

13:07 Martin flere policies og ikke bare har fem, men efter andet, så man får bygget på og virkelig får det komplette CIA-setup. Så kan jeg godt se et en i det. Så er der noget med, at hvordan de her Conditional Access Policies evalueres. Og hvis man har flere, og hvis ens sign-in er subject til flere policies,

13:35 Martin Ja, det er ret vigtigt at vide, at der ikke er en sekvens, altså der er ingen rækkefølge på, hvormed de her konditioner bliver evalueret. Selvom du sagde, at det er en anden nummer, eller for andre steder, I fik taget kan det også være noget med, hvornår de er oprettet, og hvilken gud de har fået bagved, og sådan noget, som så styrer en eventuel rækkefølge. Men her er det faktisk dem alle sammen, som på en eller anden måde skal være true, og så er der noget med, at det er en logisk and, det vil sige, at det er policy 1.

14:10 Martin og and policy 2, og policy 3. Og de skal alle sammen være opfyldt, for at man får lov at få adgang til den ressource, man nu prøver at tilgå. Så det er vigtigt at forstå, det er dem alle sammen på en gang, og hvis man nu bliver blokt et eller andet sted i processen, jamen så er du ude, og så bliver resten af policies ikke evalueret, hvis den rammer ind i den første blok.

14:32 Christian Øh.

14:37 Christian Og det er jo ret vigtigt at vide på den måde, at hvis du er target for det, så er det and, and, and, and, indtil du har været hele listen af policies igennem.

14:48 Martin Og du kommer ikke igennem for, at alle dem, du er subject for, de kommer ud som allow på en eller anden måde. Du får lov at komme igennem dem alle sammen. Det er vigtigt at forstå den logiske and og forskellen på over. Det er ikke eller.

15:05 Christian Ja, det er noget, man kan bruge over, inden i selve nogle af politikerne. Kræver i hvert fald over.

15:15 Martin Der er da også muligheden for, at det både skal være and over, men altså selve evalueringen af de policies, man har, det er så and. Det næste over, det næste over, det næste, de alle sammen skal være true, hvis man boligerer true. Hvad har vi ellers på tapetet? Best practices? Brug report only mode først.

15:35 Christian Ja, det er jo en meget god idé, når man laver en ny policy, at lige starte der i hvert fald, uanset hvor dygtig man er. For det ville være synd at få låst sig selv ud, eller i hvert fald skulle have fat i sin emergency account, fordi at… Man måske var for lidt for selvsikker i sit egen tag.

15:55 Martin Og det er jo en anden best practice, at man altid sørger for at eksklude den her break glass account, som vi også har et helt afsnit om, hvis jeg ikke husker.

16:04 Martin Og et godt afsnit. Ja, og så teste med pilotgrupper før bred udrulling og alle de her ting. Start småt, inden man bevæger sig videre.

16:15 Christian Ja, det skal aldrig være et big bang, det skal gerne være rullende, så selvom man kalder den all users, så starter man med at targete en gruppe af brugere og tilføjer på der, efter man har valideret fra Vport Only, og der kan man jo bygge en masse. workbooks baseret på ens sign-ins logs, og så se, hvordan de navigerer der, i stedet for måske at bruge what-if-toolet eller noget andet, så prøv at lave et større billede, så du får en dybere indsigt, for så bagefter at kunne dyppe ned i sine moffer, vil den her bruger potentielt være blevet blokeret af den her B-port only policy, så man ikke ender med at belaste ens helpdesk-funktion, fordi man har overset noget, man er trods alt et menneske, eller brugeren for eksempel ikke har MFA sat op, eller har et compliant device, men stadig skal have adgang, og så må man jo finde ud af, hvordan man kan løse det.

17:09 Christian Kan man få brugeren til at bruge MFA for eksempel, eller hvad den måtte være? Ja.

17:15 Martin Så støttede jeg på… Jeg blev lige klogere her, inden vi optog det her. Når det hedder Protected Actions. Det lyder også… Hvad er det? Ja, der lærte jeg, at man faktisk kan beskytte

17:33 Martin for eksempel med editering eller oprettet af den nye Conditional Access Policy, eller bare det, man editerer, sletter eller opretter nye Conditional Access Policy, den handling i sig selv kan man beskytte med Conditional Access. Og hvis man tænker scenariet, at ens token, ens session, bliver stjålet af en ondsinder, og nu har den ondsindet adgang til for eksempel ens Conditional Access i andre idéer, med den session og den token, så kan man kræve, at i det, du går ind og editerer, så kan man sige, at næste mål er at sørge for, at disable the conditional access, så han kan komme ind igen.

18:16 Martin uagtet. Men i det, man faktisk går så ind og editerer en Conditional Access Policy, den handling i sig selv, kan man også stille krav til. Det stiller et krav om ny MFA satisfaction. Altså, man skal opfylde MFA på ny, og så skal man rent faktisk refresh sin token. Så det er jo faktisk noget, jeg lige har lært. Og det er en ting, man kan faktisk med Conditional Access.

18:39 Christian Det lyder faktisk ret smart.

18:41 Christian Det er bare selv, at vi skal dykke ned i baggrunden af det her. Ja.

18:45 Martin Og det er med en hel masse handlinger, kan man gøre det her. Nu nævner vi bare Conditional Access og editere ens politisk.

18:52 Christian Der kan man stille det krav. Det er noget, vi skal have læst op på bag os. Det lyder ret smart og et godt tiltag, man kan have.

19:03 Christian Jeg tænker også, det er lidt det, vi nåede for det her afsnit.

19:06 Martin Jeg tror, vi gik over tid. Nu må vi lige se, hvor mange minutter det blev til. Tak for denne gang, og vi ses og høres ved i næste afsnit af How to Get There from here.