Always-on VPN IPSec policy Intune-ból

Aki már konfigurált AOVPN-t, az tudja, hogy illik az IPsec beállításokat az alapértelmezettnél erősebbé tenni.

Az alapértelmezett IPSec értékek a következők:

  • Encryption: 3DES
  • Authentication/Integrity: SHA-1
  • Key Size: DH Group 2 (1024 bit)

A javasolt beállítások:

  • Encryption: AES128
  • Authentication/Integrity: SHA-256
  • Key Size: DH Group 14 (2048 bit)

A VPN szerver oldalon ezt powershell paranccsal tudjuk módosítani:

Set-VpnServerConfiguration -CustomPolicy -AuthenticationTransformConstants SHA256128 -CipherTransformConstants AES128 -DHGroup Group14 -EncryptionMethod AES128 -IntegrityCheckMethod SHA256 -PFSgroup PFS2048 -SALifeTimeSeconds 28800 -MMSALifeTimeSeconds 86400 -SADataSizeForRenegotiationKilobytes 1024000

Utána szükséges a Remote Access service-t újraindítani:

Restart-Service RemoteAccess -PassThru

Ezzel a szerveroldali beállítások elkészültek. Szükséges viszont hogy a kliens oldalon is megegyezzenek az IPSec konfigurációk, itt is segítségül hívhatjuk a powershellt:

$connection = “[connection name]”
Set-VpnConnectionIPsecConfiguration -ConnectionName $connection -AuthenticationTransformConstants SHA256128 -CipherTransformConstants AES128 -DHGroup Group14 -EncryptionMethod AES128 -IntegrityCheckMethod SHA256 -PFSgroup PFS2048 -Force

Hogy néz ki mindez, ha Intune-ból akarjuk kiküldeni az IPSec policyt? Nos, elsőre nem feltétlenül egyértelmű, hogy a fenti parancsban definiált értékek hol vannak az Intune policyban:

Hogy ne kelljen sokat keresgélni, tesztelgetni, itt egy működő beállítás:

IKE Security Association Parameters

  • Encryption algorithm: AES-128
  • Integrity check algorithm: SHA2-256
  • Diffie-Hellman group: 14

Child Security Association Parameters

  • Cipher transform algorithm: CBC-AES-128
  • Authentication transform alorithm: HMAC-SHA256-128
  • Perfect forward secrecy (PFS) group: Use parent Diffie-Hellman group

Elavult böngészők szűrése

Az IT-securityben nagy hangsúlyt fektetünk rá, hogy az operációs rendszerek/alkalmazások naprakészek legyenek. Ugyanez vonatkozik a böngészőkre is, elemi érdek, hogy mindig a biztonsági frissítésekkel ellátott verziót használjuk, a céges erőforrások eléréséhez (OWA, Sharepoint Online stb).

Lásd CIS Control 9.1 “Ensure only fully supported browsers and email clients are allowed to execute in the enterprise, only using the latest version of browsers and email clients provided through the vendor.”

Eddig az elmélet, de a gyakorlatban hogyan tudjuk kikényszeríteni, hogy valóban csak “friss” böngészővel lehessen az erőforrásokat elérni?

Ebben segit az Azure AD Conditional Acces és Defender for Cloud Apps szolgáltatás. Lássuk, hogyan lehet letiltani az “outdated” browser használatát.

Megjegyzés: outdated browsernek számít az aktuális főverzió -2. Tehát ha pl. az Edge a 109-es verziónál jár, akkor támogatott a 109, 108 és 107 főverzió.

Először is, szükség lesz a kívánt erőforrás (OWA, Sharepoint stb) továbbirányítására a Defender for Cloud Apps-ba.

Conditonal Access

Készítsünk egy Conditional Access policy-t, az alábbi beállításokkal:

Defender for Cloud Apps Access Policy

A Cloud Apps-ban hozzunk létre egy Access Policyt:

Az User agent tag értéke legyen egyenlő az Outdated browser kategóriával illetve az Action legyen Block értéken. Természeseten más filtereket is hozzáadhatunk (user group stb.)

Tesztelés

Tesztelésként telepítettem egy Firefox 98-at és megpróbálkoztam egy böngészős Teams bejelentkezéssel. A Defender for Cloud Apps blokkolta is az elérést, ahogy vártuk:

A fenti tiltást nemcsak böngészőre, de akár operációs rendszerre is alkalmazható:

Összefoglalás

Ahogy a fentiekből látható, könnyen biztosíthatjuk, hogy naprakész böngészőkből legyen elérhető az erőforrás (ne feledjük, hogy nemcsak beépített MS szolgáltatásokat tudunk így védeni, az Azure AD Application Proxy segítségével akár 3rd party vagy on-prem alkalmazásokat is).

Break-glass account monitorozása

Fontos szerepe van a break-glass accountoknak, hogy legyen “visszaállási” lehetőségünk hibás konfiguráció (pl. kizártuk magunkat a tenantból Conditional Access policyval) vagy szolgáltatás kiesés esetén. Személyes élmény 2018-ból, mikor nagyjából napig nem működött az Azure MFA, így bejelentkezni sem tudtam az admin accounttal 🙂

Erre a veszélyre reflektálva sok szervezet használ már break-glass accountot. Mielőtt rátérnénk a security vonatkozásokra, nézzük át gyorsan az ajánlásokat az accounttal kapcsolatban:

  • a break-glass account az Azure AD-ban létrehozott entitás legyen; ne használjuk syncelt vagy federált accountot.
  • ne legyen személyhez kapcsolva
  • Ha használunk a breakglasshoz MFA-t, ne legyen valaki személy telefonja, emailcíme stb; a legjobb egy dedikált FIDO2 security key, biztos helyre elzárva
  • az accountra ne vonatkozzon semmilyen Conditional Access policy, illetve egyéb más security policy
  • Azure AD Identity Protectionban állítsuk permanent Global Administratorra, ne csak Eligible-re

Monitorozás

Security szempontból elengedhetetlen, hogy monitorozzuk ennek az accountnak a használatát. Hiszen nincs személyhez kötve, nincs MFA sem hozzá, így kritikus hogy lássuk az aktivitását. Ebben tud segiteni a Microsoft Sentinel.

A monitorozáshoz szükséges előfeltételek:

  • Microsoft Sentinel és Log Analytics Workspace
  • Azure AD P1 vagy P2 licensz a sign-in logok exportálásához
  • Break-glass account
  • Break-glass account Object ID

Feltételezzük, hogy a Sentinel már be van állítva, rátérhetünk a konnektor konfigurálásra.

Sentinel konnektor konfigurálása

Navigáljunk el a Sentinel portálra, majd a Data Connectors közül válasszuk ki az Azure Active Directory konnektort:

Az Audit és Sign-in logokat válasszuk ki:

A konnektor státuszát és a loggyűjtést tudjuk ellenőrzni a tulajdonságlapon:

Analytic rule elkészítése

Készítünk egy rule-t, ami incidenst generál ha a break-glass accounttal aktivitás történne.

Navigáljunk el a Sentinel portálon az Analytics részre és válasszuk a Create scheduled query rule opciót.

Adjunk nevet és leírást a szabálynak, a Tactics résznél válasszuk ki az Initial Access és Credential Access lehetőségeket, a Severity legyen High értéken.

A Set rule logic résznél egy Kusto lekérdézést kell definiálnunk:

SigninLogs
| project UserId,UserPrincipalName, Location, SourceSystem, TimeGenerated, IPAddress
| where UserId == 'object-id'
| extend AccountCustomEntity = UserPrincipalName
| extend IPCustomEntity = IPAddress
| extend HostCustomEntity = SourceSystem

Az UserID-hoz tartoztó object-id-t megtaláljuk az Azure Active Directoryban a break-glass account tulajdonságlapján.

A lekérdést állítsuk be 5 percenkéntire.

Az Incident setting résznél állitsuk be hogy generálódjon incidens

Ellenőrzés

A beállítások után érdemes leellenőrizni, hogy valóban működik-e az incidensgenerálás. Ehhez jelentkezzünk be a break-glass accounttal és nézzük, megjelenik-e a Sentinel alert.

Összefoglalás

Az break-glass account megléte nagyon fontos, de ugyanúgy kiemelt szerepet kap a monitorozása is. A fentiek alapján ez könnyen beállítható.

Defender External Attack Surface Management – a külső nézet

Amikor az IT-securityben gondolkodunk, nem szabad elfelejteni a külső támadási felületet (external attack surface), ahonnan a szervezet támadható. A támadási felületbe tartozhat egy internetre publikált weboldal, egy nem támogatott és esetleg sérülékenységet tartalmazó PHP-kód.

A külső támadási felület felmérését általában erre szakosodott cégekkel szokták megvizsgáltatni a vállalatok. Ez egyrész drága is lehet, illetve sokszor csak egy pillanatképet kapunk az aktuális problémákról.

Defender EASM

Az EASM folyamatosan felfedezi és feltérképezi digitális támadási felületet, hogy külső nézőpontot adjon az online infrastruktúráról. Ez a vizibilitás segithet az IT szakembereknek hogy azonositsák és elháritsák a kockázatokat.

A Defender EASM a Microsoft-infrastruktúra feltérképezési technológiai részét használja az online infrastruktúrához kapcsolódó eszközök felfedezésére, a technológia aktívan szkennel, hogy további betekintést nyerjen és felderítse a gyenge pontokat.

Az alábbi erőforrásokat képes felhasználni a felderitéshez:

  • Domains
  • Hostnames
  • Web Pages
  • IP Blocks
  • IP Addresses
  • ASNs
  • SSL Certificates
  • WHOIS Contacts

Licenszelés: az első 30 napig ingyenes, utána 0,011 USD/asset/nap. Assesnek számit a domain/host/IP cimek stb

EASM beállitása

A használatához szükségünk lesz egy Azure előfizetésre és egy resouce group-ra. Fontos tudni, hogy jelenleg EASM-instancet csak az alábbi régiókban tudunk létrehozni:

  • southcentralus
  • westus3
  • eastus
  • eastasia
  • swedencentral
  • australiaeast
  • japaneast

Navigáljunk el a https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.Easm%2Fworkspaces portálra és válasszuk a Create opciót és hozzuk létre az instace-t.

A deployment végeztével az Overview fülön kezdhetjük el a beállitást. Rákereshetünk egy létező vállalatra vagy a “Create custom attack surface” gombbal definiálhatunk egyedi beállitásokat. A példa kedvéért mi egy custom konfigurációt készitünk.

Itt meg kell adnunk a Seed-eket, azaz információkat, amikre a discovery process lefuthat. Ezek lehetnek domainek, IP-tartományok, email kontaktok (pl. office@cegnev.hu) stb. Válasszuk a domaint és irjuk be a kivánt értéket.

Végül mentsük el a konfigot. A leltározási folyamat 24-48 órát vehet igénybe

A discover folyamat igy néz ki:

EASM használata

A leltár felépülte után az Overview oldalon egy áttekintést kapunk

Az Attack Surface Priorities szekció összefoglalja a különböző megfigyelt problémákat. A képen látható 2 medium és 5 low severity találat.

Az egyes találatokra kattintva láthatjuk az érintett IP-ket/hostokat. Jelen esetben egy Django projectnél azonositott egy SQL-injection sebezhetőséget, a hozzátartozó CVE advisory-val és a remediation lépésekkel (Django frissités ajánlott)

Inventory

Az inventoryban láthatjuk a felderitett elemeket. Az asseteket törölhetjük, módosithatjuk

Security Posture dashboard

A security posture mutat különböző értékeket, pl CVE exposure, domainek adminiszrációjával (hol vannak a domainek regisztrálva), az internet felől elérhető nyitott portokat

GDPR Compliance dashboard

A felderitett asseteket megvizsgálja GDPR megfelelőség szempontjából. A dashboard részei a következők:

  • Website by status
  • SSL Certificate Posture
  • SSL Certificate Expiration
  • Sites with SHA 1 / SHA256
  • P11 Posture
  • Login posture
  • Cookie posture

OWASP Top 10 dashboard

Ezen a dashboardon láthatjuk az OWASP által definiált legkritikusabb security ajánlásokat.

  • Broken access control
  • Cryptographic failure
  • Injection
  • Insecure design
  • Security misconfiguration
  • Vulnerable and outdated components
  • Identification and authentication failures
  • Software and data integrity failures
  • Security logging and monitoring
  • Server-side request forgery

Összefoglalás

A Defender EASM egy nagyon hasznos eszköz arra, hogy security szemszögből “kintről”, az internetről is felfedezzük a security hiányosságokat, problémákat. Az assetek számára érdemes odafigyelni, mert bár darabonként nem drága, de többezer tételnél már növelheti az Azure költséget.

Legacy authentication protokollok

Egyre közeleg a dátum, mikor a Microsoft végleg kivezeti a basic authenticationt az Exchange Online elérésében (2023.március 31.)

Az M365 adminok ezt többé-kevésbé tudják, és meg is teszik a szükséges lépéseket. Viszont sokszor jön a kérdés, mik is ezek a legacy protokollok és mi használja őket?

Az Azure Active Directoryban sign-in logban leszűrve ezeket látjuk, mint legacy protocols:

Legacy protocols:

  • Authenticated SMTP – POP és IMAP kliensek használják levélküldésre
  • Autodiscover – Outlook és Exhange Active Sync kliensek használják a mailboxok megkeresésére az Exchange Online-ban, pl Windows Mail és egyéb mobilalkalmazások
  • Exchange ActiveSync (EAS) – Postafiók elérés Exchane Online-ban
  • Exchange Online PowerShell – Exchange Online elérése Powershellből
  • Exchange Web Services (EWS) – úgynevezett programming interface amit az Outlook, Outlook for Mac, és 3rd party alkalmazások használnak
  • IMAP4 – IMAP4 email kliensek használják, pl Thunderbird vagy Apple Mail
  • MAPI over HTTP (MAPI/HTTP) – Outlook 2010/2013 kliensek használják.
  • Offline Address Book (OAB) – Outlook használja az address list letöltésére
  • Outlook Anywhere (RPC over HTTP) – Outlook 2016 használja
  • Outlook Service – Windows 10-ben lévő Mail and Calendar app használja
  • POP3 – POP3 kliensek használják
  • Other clients – minden más protokoll ami legacy módon működik

A POP/IMAP/Remote Powershell már kapott Oauth 2.0 támogatást, ezek továbbra is használhatók.

Microsoft Sentinel – ingyenes konnektorok

Ügyfelekkel való konzultáció során szinte mindig elhangzik a kérdés: melyek az ingyenes Sentinel-konnektorok? Tudjuk őket definiálni, de vannak olyan ingyenes konnektorok, amik tartalmaznak fizetős elemeket is.

Ingyenes adatforrások:

  • Azure AD Identity Protection
  • Azure Activity Logs
  • Office 365
  • Microsoft Defender for Cloud
  • Microsoft Defender for IoT
  • Microsoft 365 Defender
  • Microsoft Defender for Endpoint
  • Microsoft Defender for Identity
  • Microsoft Defender for Cloud Apps

Fontos tisztázni: a data connector bekötése mindig ingyenes. A logfileok esetén csak az Azure Acive Directory és O365 audit logok ingyenesek. A többi logforrásnál csak az alert és incidens generálás és néhány aktivitás ingyenes.

Nézzük egyenként a data connectorokat:

Azure AD Identity Protection:

Előfeltétel: Azure AD Premium 2 licensz

Ingyenes adattipus: Security Alert (IPC)

Azure Activity:

Ingyenes adattipus: minden tipus

Office 365

Ingyenes adattipus: Sharepoint, Exchange és Teams activity

Defender for Cloud:

Ingyenes adattipusok: Security Alert

Defender for IoT:

Ingyenes adattipus: Security Alert

Microsoft M365 Defender:

Ingyenes adattipus: Security Alert és Security Incident

Figyelem: a többi adatbetöltés már számolódik a Sentinel költségbe!

Defender for Endpoint:

Ingyenes adattipus: Security Alert (MDATP)

Defender for Identity:

Ingyenes adattipus: Security Alert (AATP)

Defender for Cloud Apps:

Ingyenes adattipus: Security Alert (Defender for Cloud App)

A Cloud Discovery logok bekapcsolása szintén számolódik a Sentinelben

Összefoglalva:

Mint látjuk, a Microsoft Sentinelt költséghatékony módon tudjuk használni arra hogy az O365 és Azure Activity logokat gyűjtsük és a különböző Microsoft termékekből érkező alerteket is fogadjuk.

Azure AD Certificate-based Authentication

2022 novemberében a Microsoft az Ignite konferencián bejelentette az Azure AD CBA szolgáltatás végleges (General Available) állapotba kerülését. Lássuk, mi ez és hogyan tudjuk beállitani.

Mi az Azure AD CBA?

A CBA lehetővé teszi, hogy különböző Microsoft alkalmazásokba és webes felületekre tanúsitvánnyal jelentkezzünk be. A tanúsitványt a saját PKI (public key infrastructure) környezetünkből kapjuk és az Azure AD ezt használja fel a hitelesitéshez. Ezzel egy úgynevezett phishing-resistent megoldást kapunk.

Hogyan működik a CBA?

A következő ábra bemutatja a bejelentkezési folyamatot:

Lássuk az egyes lépéseket:

  1. A felhasználó megnyitja a https://myapps.microsoft.com portált
  2. Ha nem volt eddig bejelentkezve, akkor a felhasználót elirányitja a https://login.microsoftonline.com oldalra
  3. A felhasználó megadja a nevét
  4. Az Azure AD ellenőrzni, hogy a tenantban be van-e állitva a CBA authentication. Ha igen, akkor megjelenik egy link “Use a certificate or smartcard” néven
  • 7. Az Azure AD ellenőrzni a tanúsitvány visszavonási listát (CRL), hogy nincs-e visszavonva
  • 8. Ha van Conditional Access policy, ami megköveteli az MFA-t, és ha az úgynevezett certificate authentication binding rule megfelel, akkor a belépés megtörténik.
  • 9. Az Azure AD elküldi a primary refresh tokent és a belépési process lezárul

Hogyan állitsuk be a CBA-t?

Előfeltételek:

  • Működő PKI rendszer (legalább egy root CA plusz egy intermediate CA)
  • Kiadott tanúsitvány a felhasználóknak (client authentication SKU)
  • A CA-nak legyen elérhető a CRL listája az internet felől (ennek hiányában az Azure AD nem fogja leellenőrizni a tanúsitvány érvényességét és nem blokkolja a belépést)

CA konfiguráció az Azure portálon

Lépjünk be a https://portal.azure.com/#view/Microsoft_AAD_IAM/SecurityMenuBlade/~/CertificateAuthorities portálra és töltsük fel a Root (és esetleg az intermediate CA) tanúsitványunk publikus kulcsát. Töltsük ki a CRL endpoint URL-jét is.

Engedélyezzük a CBA-at a tenantban

Lépjünk be a https://portal.azure.com/#view/Microsoft_AAD_IAM/AuthenticationMethodsMenuBlade/~/AdminAuthMethods portálra és engedélyezzük a Certificate-based authenticationt.

Beállithatjuk az user csoportokat vagy minden usert is, a configure részben pedig maradhatunk az alapbeállitásoknál.

A többi opciót (single vs multi-factor authentication, rules) a következő posztban fogom részletezni.

Összefoglaló:

Áttekintettük, hogy mi az Azure CBA, hogyan működik és hogyan lehet alapszinten bekonfigurálni.

Földi Exchange postafiók elérérés – Azure AD Conditional Access

Ügyfeles konzultáció során merült fel az alábbi scenárió:

“Exchange 2016 hybrid környezetünk van, sok postafiókot már migráltunk az O365-be, de sok még a földi Exchange-en van. Az Exchange Online elérésére van több Conditional Access lehetőségünk (MFA, Intune compliant device stb) is, lehetne ezt a földi fiókokra is alkalmazni?”

Jó hír, hogy lehetséges, a Hybrid Modern Authentication révén (minimum követelmény az Exchange 2013 és Outlook 2013)

Hogyan néz ki a Hybrid Modern Authentication (HMA) folyamat?

  1. A felhasználó elindítja az Outlookot ami az autodiscover segítségével csatlakozik a földi Exchange–hez. Innen a kapcsolat továbbmegy az evoSTS URL-hez, amit az HMA kialakítása során beállítottunk.
  2. Az Outlook az AzureAD-hoz fordul, végrehajtja a modern auth folyamatot, alkalmazódnak rá az esetlegesen beállított Conditional Access szabályok.
  3. A sikeres auth után a felhaszáló megkapja az Access Tokent és Refresh Tokent.
  4. Az Access Tokent átadva a földi Exchange szervernek, a mailbox elérhetővé válik.
Hybrid modern authentication diagram

Kinek ajánlott a HMA?

Olyan szervezeteknek, ahol hosszú távú hybrid kialakítását tervezik, és biztosítani kívánják, hogy a földi postafiókok elérése is ugyanolyan szabályozottan történjen, mint a felhős esetén.

Exchange levélküldési probléma – mail queue stuck

Ha január 1-je után azt látjuk, hogy az Exchange szervereken állnak a levelek a küldési sorban, és az eventviewerben ezt látjuk:

“Error
The FIP-FS “Microsoft” Scan Engine failed to load. PID: 9244, Error Code: 0x80004005. Error Description: Can’t convert “2201010005” to long.”

Exchange mail flow breaks Event 5300 FIPFS

A megoldást itt találjuk: https://aka.ms/ResetScanEngineVersion

Ezt a ps scriptet lefuttatva az alábbi outputot kapjuk:

[PS] C:\Program Files\Microsoft\Exchange Server\V15\Scripts>.\Reset-ScanEngineVersion.ps1
EXCH1 Stopping services...
EXCH1 Removing Microsoft engine folder...
EXCH1 Emptying metadata folder...
EXCH1 Starting services...
WARNING: Waiting for service 'Microsoft Filtering Management Service (FMS)' to start...
WARNING: Waiting for service 'Microsoft Filtering Management Service (FMS)' to start...
WARNING: Waiting for service 'Microsoft Filtering Management Service (FMS)' to start...
WARNING: Waiting for service 'Microsoft Filtering Management Service (FMS)' to start...
WARNING: Waiting for service 'Microsoft Exchange Transport (MSExchangeTransport)' to start...
EXCH1 Starting engine update...
Running as EXCH1-DOM\Administrator.
--------
Connecting to EXCH1.CONTOSO.com.
Dispatched remote command. Start-EngineUpdate -UpdatePath http://amupdatedl.microsoft.com/server/amupdate

További információ: https://techcommunity.microsoft.com/t5/exchange-team-blog/email-stuck-in-transport-queues/ba-p/3049447