Správa přístupu Just-in-Time (JIT) pro virtuální počítače Azure

Správa přístupu Just-in-Time (JIT) pro virtuální počítače Azure

01/10/2024

Tento technický a vzdělávací článek má za cíl vést bezpečnostní analytiky, IT administrátory a systémové inženýry při implementaci a správě přístupu Just-in-Time (JIT) pro virtuální počítače Azure (VM). JIT je základní bezpečnostní funkce nabízená aplikací Microsoft Defender for Cloud, která pomáhá chránit virtuální počítače před útoky neoprávněného přístupu, čímž dramaticky snižuje povrch síťových útoků tím, že omezuje přístup k portům pro správu pouze tehdy a na nezbytně nutnou dobu [1].

Úvod

V cloudových prostředích jsou virtuální stroje často terčem útoků hrubou silou a skenování portů, zejména ty s porty pro správu (jako RDP 3389 a SSH 22) vystavenými internetu. Udržování těchto portů neustále otevřených vytváří zbytečně velkou útočnou plochu, což zvyšuje riziko kompromitace. JIT Access tento problém řeší tím, že bezpečnostním týmům umožňuje ve výchozím nastavení blokovat příchozí provoz na virtuální počítače a otevírat porty pro správu pouze na vyžádání, po omezenou dobu a z konkrétních IP adres. Tento přístup se řídí zásadou nejmenšího privilegia a nulové důvěry, která zajišťuje, že přístup je udělen pouze v odůvodněných případech a na nejkratší možnou dobu [2].

Tato praktická příručka pokryje předpoklady pro aktivaci JIT, proces konfigurace prostřednictvím Microsoft Security Center, jak žádat a schvalovat přístup k JIT, integraci s výstrahami zabezpečení a osvědčené postupy pro efektivní správu. Budou poskytnuty podrobné pokyny, ukázkové příkazy a pokyny Azure CLI, aby čtenář mohl implementovat a ověřit JIT, posílit zabezpečení svých virtuálních počítačů Azure a chránit je před hrozbami neoprávněného přístupu.

Proč je pro virtuální počítače Azure zásadní přístup Just-in-Time (JIT)?

  • Attack Surface Reduction: Ve výchozím nastavení zavře porty pro správu virtuálních počítačů a odhalí je pouze tehdy a na tak dlouho, jak je to nutné, čímž se minimalizují příležitosti pro útočníky.
  • Granular Access Control: Umožňuje určit, kteří uživatelé mohou požadovat přístup, které porty lze otevřít, na jak dlouho a z jakých zdrojových IP adres.
  • Soulad: Pomáhá splnit požadavky na shodu, které vyžadují přísnou kontrolu nad přístupem ke kritickým zdrojům.
  • Viditelnost a audit: Poskytuje podrobné záznamy o všech žádostech o přístup JIT, schváleních a otevírání/zavírání portů, což usnadňuje audit a vyšetřování zabezpečení.
  • Integrace s aplikací Defender for Cloud: Plně integrovaná s aplikací Microsoft Defender for Cloud s využitím možností správy pozice zabezpečení a ochrany před hrozbami.
  • Automatizace: Může být automatizována pro schválení přístupu ve specifických scénářích, jako je reakce na incidenty nebo plánované operace údržby.

Předpoklady

K implementaci JIT Access for Azure Virtual Machines budete potřebovat následující položky:

  1. Aktivní předplatné Azure: Předplatné Azure k vytváření a správě prostředků.
  2. Administrativní přístup: Účet s rolí Vlastník, Přispěvatel nebo Správce zabezpečení v předplatném Azure nebo ve skupině prostředků, kde se nacházejí virtuální počítače.
  3. Microsoft Defender for Cloud Standard (nebo Defender for Servers): JIT je prémiová funkce programu Microsoft Defender for Cloud a vyžaduje, aby byl plán Defender for Servers povolen u předplatného obsahujícího virtuální počítače [3].
  4. Stávající virtuální počítače Azure: Virtuální počítače Azure, které chcete chránit pomocí JIT. V tomto kurzu budeme předpokládat, že již máte nasazené virtuální počítače.
  5. Azure CLI nebo Azure PowerShell: Nainstalované a nakonfigurované nástroje příkazového řádku pro interakci s Azure.

Krok za krokem: Povolení a správa přístupu JIT

Pojďme nakonfigurovat JIT pro vaše virtuální počítače Azure.

1. Povolení plánu Defender for Servers

Jak je uvedeno v předpokladech, JIT vyžaduje aktivovaný plán Defender for Servers.

  1. Otevřete prohlížeč a přejděte na Azure Portal: https://portal.azure.com.
  2. Přihlaste se pomocí účtu, který má potřebná oprávnění.
  3. Do horního vyhledávacího pole napište „Defender for Cloud“ a vyberte jej z výsledků.
  4. Na řídicím panelu Defender for Cloud vyberte Nastavení prostředía v levém navigačním panelu.
  5. Vyberte předplatné Azure, které obsahuje vaše virtuální počítače.
  6. Na stránce plánů Defender se ujistěte, že plán Defender for Servers je „Aktivován“. Pokud tomu tak není, klikněte na „Povolit“ a podle pokynů jej povolte.

2. Povolení přístupu JIT pro virtuální počítače

JIT můžete povolit pro jednotlivé virtuální počítače nebo pro více virtuálních počítačů najednou.

  1. Na panelu Defender for Cloud vyberte v levém navigačním panelu Ochrana pracovní zátěže.
  2. Přejděte dolů do sekce Advanced Protection a klikněte na Just-in-Time VM Access.
  3. Na záložce Virtual Machines uvidíte tři podzáložky: Configured, Recommended a Not Configured.

    • Doporučeno: Uvádí virtuální počítače, které Security Center doporučuje chránit pomocí JIT.
    • Nekonfigurováno: Uvádí virtuální počítače, které nejsou chráněny JIT, ale jsou způsobilé.
  4. Vyberte virtuální počítače na kartě Recommended nebo Not Configured, pro které chcete aktivovat JIT.

  5. Klikněte na Povolit JIT na virtuálním počítači.

  6. Konfigurace zásad JIT: Pro každý vybraný virtuální počítač můžete nakonfigurovat následující možnosti:

    • Porty: Porty pro správu, které budou chráněny (např.: 22, 3389, 5985, 5986). Můžete přidat vlastní porty.
    • Protokol: Protokol pro každý port (např. TCP, UDP).
    • Maximální doba požadavku: Maximální doba (v hodinách), po kterou mohou být dveře otevřeny po schváleném požadavku. Výchozí hodnota je 3 hodiny.
    • Schválené zdrojové IP adresy: Volitelné, ale vysoce doporučené. Omezuje přístup ke konkrétním IP adresám nebo blokům IP. Ve výchozím nastavení je to Any (*), což znamená, že o přístup může požádat jakákoli IP adresa.
  7. Klepnutím na Uložit aplikujte zásady JIT na vybrané virtuální počítače.

3. Žádost o okamžitý přístup k virtuálnímu počítači

Když uživatel nebo správce potřebuje získat přístup k virtuálnímu počítači chráněnému JIT, musí o přístup požádat.

  1. Na řídicím panelu Security Center vyberte Ochrana pracovní zátěže > Přístup k virtuálnímu počítači Just-in-Time.
  2. Na kartě Virtual Machines vyberte VM, ke kterému chcete přistupovat (mělo by to být na kartě Configured).
  3. Klikněte na Požádat o přístup.

  4. V okně „Požádat o přístup“ zadejte:

    • Dveře: Dveře, které musíte otevřít.
    • Zdrojová IP adresa: Veřejná IP adresa, ze které se budete připojovat. Můžete vybrat „Moje IP adresa“ (aktuální veřejná IP vašeho zařízení) nebo „Vlastní“ a zadat IP nebo CIDR.
    • Časové období: Doba trvání přístupu (omezená „Maximálním časem požadavku“ nakonfigurovaným v zásadách JIT).
    • Odůvodnění: Stručný popis důvodu žádosti o přístup.
  5. Klikněte na Otevřít porty.

    • Poznámka: Pokud zásady JIT vyžadují schválení, bude žádost odeslána nakonfigurovaným schvalovatelům před otevřením portů.

4. Schvalování požadavků na přístup k JIT (pokud jsou nakonfigurovány)

U scénářů, kde je vyžadováno schválení (prostřednictvím Azure Logic Apps nebo Azure Functions), se proces může lišit. Ve výchozím nastavení JIT otevírá porty okamžitě na vyžádání, pokud není nakonfigurována automatizace pracovního postupu.

  • Tip: Pro pracovní postupy schvalování můžete pomocí Azure Logic Apps monitorovat protokoly auditu Azure nebo události Azure Security Center a spouštět proces schvalování (např. poslat e-mail skupině zabezpečení pro ruční schválení).

5. Kontrola stavu přístupu k JIT

Po vyžádání přístupu můžete zkontrolovat stav na portálu.

  1. Na řídicím panelu Security Center vyberte Ochrana pracovní zátěže > Přístup k virtuálnímu počítači Just-in-Time.
  2. Na záložce Virtual Machines by měl virtuální počítač, ke kterému jste požadovali přístup, zobrazovat stav označující, že přístup je Aktivní nebo Čeká na vyřízení (pokud je schválen).
  3. Sloupec Zbývající čas zobrazuje zbývající dobu přístupu.

6. Zakázání přístupu JIT (volitelné)

Pokud potřebujete zakázat JIT pro virtuální počítač, postupujte takto:

  1. Na řídicím panelu Security Center vyberte Ochrana pracovní zátěže > Přístup k virtuálnímu počítači Just-in-Time.
  2. Na kartě Virtual Machines vyberte nakonfigurovaný virtuální počítač.
  3. Klikněte na Zakázat JIT na virtuálním počítači.

Validace a testování

Ověření účinnosti přístupu JIT je zásadní pro zajištění ochrany vašich virtuálních počítačů a pro umožnění přístupu v případě potřeby.

1. Testování D-blokua Standardní přístup

  1. Zkuste získat přístup k portu pro správu (např. RDP 3389 nebo SSH 22) z virtuálního počítače chráněného JIT bez požadavku na přístup k JIT.
    • Očekávaný výsledek: Připojení by mělo být odmítnuto nebo vypršel časový limit, protože porty jsou ve výchozím nastavení uzavřeny.

2. Testování schváleného přístupu JIT

  1. Požádejte o přístup JIT k požadovanému virtuálnímu počítači a portu pomocí jeho veřejné IP adresy.
  2. Po schválení (nebo okamžitém otevření, pokud není nakonfigurováno žádné schválení) se pokuste o přístup k VM přes RDP nebo SSH ze stejné veřejné IP adresy.

    • Očekávaný výsledek: Připojení by mělo být úspěšné.
  3. Počkejte, dokud neuplyne čas přístupu k JIT (nebo ručně zrušte přístup).

  4. Zkuste znovu získat přístup k virtuálnímu počítači.
    • Očekávaný výsledek: Připojení by mělo být znovu odmítnuto.

3. Kontrola protokolů auditu

Všechny operace JIT se zaznamenávají do protokolů auditu Azure, které poskytují úplný přehled o tom, kdo co, kdy a odkud požadoval.

  1. Na webu Azure Portal přejděte do skupiny prostředků nebo konkrétního virtuálního počítače.
  2. V levém navigačním panelu vyberte Protokol aktivity.
  3. Filtrujte události související s Just-in-Time VM Access nebo Microsoft.Security/locations/jitNetworkAccessPolicies.
    • Uvidíte události jako „Vytvořena politika přístupu k síti JIT“, „Požadována zásada přístupu k síti JIT“, „Zásady přístupu k síti JIT schváleny“ (pokud jsou použitelné) a „Zásady přístupu k síti JIT uzavřeny“.

Bezpečnostní tipy a doporučené postupy

  • Princip nejmenšího oprávnění: Nakonfigurujte zásady JIT tak, aby poskytovaly co nejmenší oprávnění – přesné potřebné porty, na co nejkratší dobu a z nejomezenějších zdrojových IP.
  • Omezit zdrojové IP adresy: Kdykoli je to možné, uveďte zdrojové IP adresy v zásadách JIT a žádostech o přístup. Nepoužívejte pro zdrojové IP adresy Any (*).
  • Krátká časová období: Nastavte maximální dobu požadavku na nejkratší rozumnou dobu (např. 1–2 hodiny), což uživatele přinutí přehodnotit potřebu přístupu.
  • Monitorování a výstrahy: Nakonfigurujte výstrahy v Azure Monitor pro požadavky na přístup JIT, zejména pro kritické porty nebo neočekávané IP adresy. Integrujte tato upozornění se svým SIEM (např. Microsoft Sentinel).
  • Automatizace pracovních postupů: Pro prostředí s přísnými požadavky na schválení použijte Azure Logic Apps nebo Azure Functions k vytvoření vlastních pracovních postupů schválení pro požadavky JIT.
  • Dokumentace a školení: Jasně zdokumentujte zásady přístupu JIT a vyškolte uživatele, jak žádat o přístup a jak je důležité dodržovat osvědčené bezpečnostní postupy.
  • Pravidelná kontrola: Pravidelně kontrolujte zásady JIT a protokoly přístupu, abyste zajistili, že zůstanou relevantní a účinné.
  • Kombinace s NSG a Azure Firewall: JIT doplňuje další vrstvy zabezpečení sítě, jako jsou skupiny zabezpečení sítě (NSG) a Azure Firewall. Použijte je společně pro obranu do hloubky.

Běžné odstraňování problémů

  • Nelze povolit JIT pro virtuální počítač: Ověřte, zda je pro předplatné virtuálních počítačů povolen plán Defender for Servers. Ujistěte se, že virtuální počítač není v neplatném stavu nebo že neexistují žádná konfliktní nastavení.
  • Nelze požádat o přístup JIT: Ujistěte se, že máte potřebná oprávnění (např. „Spolupracovník“ nebo „Operátor přístupu k virtuálnímu počítači Just-in-Time“), abyste mohli požádat o přístup. Ujistěte se, že je virtuální počítač nakonfigurován pro JIT a porty jsou definovány v zásadách.
  • Připojení odmítnuto po požadavku JIT: Zkontrolujte, zda zdrojová IP adresa, kterou jste zadali v požadavku JIT, odpovídá veřejné IP adrese vašeho zařízení. Potvrďte, že časové období nevypršelo. Ověřte, že po otevření portu JIT nejsou žádné další NSG nebo pravidla brány firewall blokující provoz.
  • Otevřené nesprávné porty: Zkontrolujte zásady JIT nakonfigurované pro virtuální počítač a ujistěte se, že jsou uvedeny správné porty. Pokud používáte Azure CLI, zkontrolujte parametry portu.
  • Výstrahy zabezpečení přístupu JIT: Prozkoumejte všechna bezpečnostní upozornění související s JIT. To může znamenat pokus o neoprávněný přístup nebo nesprávnou konfiguraci.
  • Ovlivněný výkon virtuálního počítače: Samotný JIT by neměl ovlivnit výkon virtuálního počítače. Pokud se vyskytnou problémy, prozkoumejte další součásti virtuálního počítače nebo sítě.

Závěr

OSpráva přístupu Just-in-Time (JIT) pro virtuální počítače Azure je základní bezpečnostní strategií pro ochranu vašich cloudových prostředků před hrozbami neoprávněného přístupu. Tím, že ve výchozím nastavení zavírá porty pro správu a otevírá je pouze na požádání, JIT výrazně snižuje plochu útoku, posílí vaši pozici zabezpečení a pomůže vám splnit požadavky na dodržování předpisů. Efektivní implementace JIT v kombinaci s osvědčenými bezpečnostními postupy a nepřetržitým monitorováním zajišťuje, že vaše virtuální počítače zůstanou zabezpečené a přístupné pouze legitimním uživatelům a účelům. Díky této praktické příručce budou odborníci na zabezpečení dobře vybaveni ke konfiguraci, ověřování a správě přístupu JIT, díky čemuž budou jejich virtuální počítače Azure odolnější a chráněné.


Reference:

[1] Microsoft Learn. Co je JIT (just-in-time) přístup k VM?. Dostupné na: https://learn.microsoft.com/pt-br/azure/defender-for-cloud/just-in-time-access-overview [2] Microsoft Learn. Povolte přístup just-in-time na virtuálních počítačích. Dostupné na: https://learn.microsoft.com/pt-br/azure/defender-for-cloud/just-in-time-access-usage [3] Microsoft Learn. Spravujte zabezpečení serveru pomocí Microsoft Defender for Cloud. Dostupné na: https://learn.microsoft.com/pt-br/azure/defender-for-cloud/tutorial-enable-servers-plan [4] Microsoft Learn. Spravujte přístup JIT (just-in-time) k vašim virtuálním počítačům pomocí PowerShellu. Dostupné na: https://learn.microsoft.com/pt-br/azure/defender-for-cloud/just-in-time-access-powershell