Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Řízení stavu SSH umožňuje auditovat a konfigurovat stav zabezpečení serveru SSH v systému Windows Server 2025. Řízení stavu SSH se bezproblémově integruje se službami zásad správného řízení Azure (zásady, konfigurace počítače), abyste mohli:
- Zajištění dodržování standardů sshd ve vašem odvětví nebo organizaci
- Omezení prostoru pro útoky na vzdálenou správu založenou na SSHD
- Zajištění konzistentního nastavení sshd ve vašem vozovém parku pro zajištění zabezpečení a produktivity
Abychom vám pomohli předvést dodržování předpisů auditorům (a pomoci vám v případě potřeby) každá kontrola dodržování předpisů zahrnuje důkazy prostřednictvím pole Důvody označující, jak bylo zjištěno dodržování předpisů nebo nedodržování předpisů.
Můžete přizpůsobit parametry sshd (číslo portu, povolené skupiny atd.) nebo použít výchozí hodnoty zásad.
Dokumentace pro začátek
rychlý start : Pokud chcete praktické prostředí klikni a kliknutím, přečtěte siRychlý start: Použití .řízení stavu SSH na testovacím počítači - Přehled a referenční informace: Koncepční informace, reference a nejčastější dotazy najdete v tomto článku.
Výběr chování pouze auditování a konfigurace
Při přiřazování zásad řízení stavu SSH můžete zvolit chování jen auditu (neboli Audit) nebo chování auditování a konfigurace (neboli Konfigurace).
Definice zásad | Účinek služby Azure Policy | Poznámky k tomu, co očekávat | |
---|---|---|---|
Chování jen pro audit | **Audit** SSH Posture Control on Windows machines |
auditIfNotExists | Tato zásada zahrnuje více omezující nastavení v porovnání s mnoha oblíbenými systémovou imagí. Například odepření přístupu root ssh. Proto očekáváte, že se zobrazí hlášení nekompatibilních stavů. |
Chování auditování a konfigurace | **Configure** SSH Posture Control on Windows machines |
deployIfNotExists | Jak je uvedeno výše, můžete očekávat, že se na začátku zobrazí nekompatibilní stavy. Následně se počítače překonfigurují tak, aby odpovídaly zásadám, což vede k případným stavům vyhovujícím předpisům . |
U existujících počítačů obvykle správci začínají chováním jen pro audit, aby zjistili existující stav a zjistili závislosti, jako jsou účty povolené pro automatizaci systémů. Po porovnání existujícího vozového parku s výchozími nastaveními řízení stavu SSH byste se rozhodli, které parametry řízení stavu SSH chcete přizpůsobit. Po této analýze a plánování byste pak přešli na chování auditování a konfigurace (s postupy bezpečného nasazení, jako jsou okruhy).
V případě scénářů zeleného pole nebo jednorázových testovacích počítačů se můžete rozhodnout tuto analýzu přeskočit a přejít přímo na chování auditování a konfigurace a začít znovu se silnými výchozími nastaveními řízení stavu SSH.
Upozornění
Před konfigurací libovolného počítače se velmi dbejte na ověření nové konfigurace. Omylem byste ztratili přístup k vašim počítačům.
Mezi příklady náhodného uzamčení patří:
- Použité nastavení net authorization (kombinace
allowUsers
denyGroups
atd.) nepovoluje potřebná přihlášení. - Konfigurace
port
pro sshd je blokována jinými ovládacími prvky ve vašem prostředí (pravidla brány firewall hostitele, pravidla síťové brány firewall atd.).- Abyste se vyhnuli nadměrnému překročení hranic podnikového týmu, nakonfigurujete sshd pouze řízení stavu SSH. V současné době se nepokoušá upravit pravidla brány firewall na počítači atd. tak, aby vyhovoval nakonfigurovaným portům sshd. Pokud chcete tyto scénáře prodiskutovat s námi, kontaktujte nás (viz další zdroje informací níže).
Rozsah řízení stavu SSH: pravidla, výchozí hodnoty a přizpůsobení
Následující tabulka uvádí položky, které je možné auditovat nebo nakonfigurovat pomocí řízení stavu SSH. Každý z nich se označuje jako pravidlo.
Většina pravidel může mít vlastní hodnoty prostřednictvím parametrů přiřazení zásad, které se mají auditovat nebo konfigurovat a auditovat. Pokud například standard ve vaší organizaci používá port 1111 (místo 22) pro sshd, nastavili byste odpovídající parametr v přiřazení zásad. Tyto parametry mají identifikátory, které jsou zahrnuty v tabulce níže. Krátký název parametru se obvykle používá programově (například s az policy assignment create --params ...
), zatímco delší zobrazovaný název parametru se používá v pracovních postupech webu Azure Portal.
Při přizpůsobení hodnot je potřeba zadat hodnoty, které jsou kompatibilní s sshd. Například allowGroups
vezme seznam vzorů názvů skupin oddělených mezerami. Referenční informace najdete na stránce sshd_config man. Referenční informace sshd_config jsou užitečné také pro pochopení jiných chování sshd, jako je například způsob protínající se seznamy povolených a odepření .
Poznámka:
Pokud chcete zachovat rozložení tabulky, některé hodnoty buněk byly přesunuty do poznámek pod čarou pod tabulkou.
Název pravidla | Výchozí hodnota | Název parametru | Zobrazovaný název parametru |
---|---|---|---|
Ujistěte se, že jsou nakonfigurované povolené skupiny pro SSH. | <poznámka pod čarou 1> | AllowGroups |
Povolené skupiny |
Ujistěte se, že jsou nakonfigurovaní povolení uživatelé pro přístup SSH. | "" | AllowUsers |
Povolené uživatele |
Ujistěte se, že je nakonfigurovaná metoda ověřování pro SSH. | jakýkoliv | AuthenticationMethods |
Metody ověřování |
Ujistěte se, že jsou nakonfigurované odepřené skupiny pro SSH. | "" | DenyGroups |
Odepřené skupiny |
Ujistěte se, že jsou nakonfigurovaní odepření uživatelé pro SSH. | "" | DenyUsers |
Odepření uživatelů |
Ujistěte se, že je nakonfigurovaný kód zařízení použitý při protokolování zpráv pro SSH. | LOCAL0 | SyslogFacility |
Zařízení pro protokolování systému |
Ujistěte se, že je nakonfigurované maxAuthTries SSH. | 6 | MaxAuthTries |
Maximální počet pokusů o ověření |
Ujistěte se, že je nakonfigurovaný klíč hostitele SSH. | <poznámka pod čarou 2> | HostKey |
Klíč hostitele |
Ujistěte se, že je nakonfigurovaný soubor autorizovaného klíče pro SSH. | <poznámka pod čarou 3> | AuthorizedKeysFile |
Soubor autorizovaného klíče |
Ujistěte se, že je nakonfigurované ověřování GSSApiAuthentication pro SSH. | Nepravda | GSSAPIAuthentication |
Ověřování GSSAPI |
Ujistěte se, že je nakonfigurovaný banner upozornění SSH. | <poznámka pod čarou 4> | Banner |
Korouhev |
Ujistěte se, že se pro SSH používají příslušné šifry. | aes128-ctr,aes192-ctr,aes256-ctr | Ciphers |
Povolené šifry |
Ujistěte se, že se používají jenom schválené algoritmy MAC. | hmac-sha2-256 | MACs |
Algoritmy MAC |
Ujistěte se, že je nakonfigurovaný SSH ClientAliveCountMax. | 0 | ClientAliveCountMax |
Počet zpráv naživu klienta |
Ujistěte se, že je nakonfigurovaný port SSH. | 22 | Port |
Přístav |
Ujistěte se, že je nakonfigurovaná přihlašovací graceTime SSH. | 60 | LoginGraceTime |
Čas odkladu přihlášení |
Ujistěte se, že je nakonfigurovaný protokol SSH ClientAliveInterval. | 3600 | ClientAliveInterval |
Interval živého klienta |
Ujistěte se, že je nakonfigurovaná možnost SSH PermitEmptyPasswords. | Nepravda | PermitEmptyPasswords |
Prázdné oprávnění k heslu |
Poznámky pod čarou tabulky:
administrators "openssh users"
__PROGRAMDATA__/ssh/ssh_host_ecdsa_key
%programdata%/ssh/administrators_authorized_keys
#######################################################################/r/n/r/nAuthorized access only!/r/n/r/nIf you are not authorized to access or use this system, disconnect now!/r/n/r/n#######################################################################/r/n
- Poznámka: Zobrazí se koncovým uživatelům takto:
####################################################################### Authorized access only! If you are not authorized to access or use this system, disconnect now! #######################################################################
Další parametry zásad (jiné než sshd)
Tyto další parametry zásad jsou k dispozici během přiřazování zásad. Tyto vliv mají na chování přiřazování služby Azure Policy na rozdíl od nastavení sshd na počítačích.
Název | Popis | Výchozí |
---|---|---|
Zahrnutí připojených serverů Arc | Výběrem této možnosti souhlasíte s měsíčním účtováním na počítač připojený k Arc. | NEPRAVDA |
Účinek | Povolení nebo zakázání provádění této zásady | <Závisí na výběru chování pouze pro audit a konfiguraci.> |
Definice zásad? Přiřazení zásad? Zadání hostů? Konfigurace počítače? Jak to všechno zapadá dohromady?
Pokud chcete začít používat řízení stavu SSH, je základní akcí vytvoření přiřazení zásad. Přiřazení zásad propojuje definici zásad (např. Audit řízení stavu SSH pro počítače s Windows) na obor (např. "my_factory_3_resource_group").
Při používání systému se setkáte s dalšími typy a terminologií prostředků, jak je shrnuto v následujícím příkladu.
Popis | |
---|---|
Definice zásad | V rámci služby Policy jsou abstraktní data, která popisují cluster dostupných auditů nebo chování konfigurace. Například Audit kontroly stavu SSH na počítačích s Windows. |
Přiřazení zásad | Propojuje abstraktní definici zásad s konkrétním oborem, například se skupinou prostředků. Přiřazení zásady může obsahovat parametry a další vlastnosti, které jsou specifické pro toto přiřazení. |
Konfigurace počítače | Služba a agenty Azure, které zpracovávají konfiguraci auditování a nastavení na úrovni operačního systému. |
Přiřazení hosta | Prostředek, který funguje jako trojcestné propojení mezi přiřazením zásady, počítačem a službou Konfigurace počítače. Zásada podle potřeby vytváří a monitoruje prostředky přiřazení hostů. Další informace o terminologii hosta vs. "machine" najdete v tématu Proč se na místech zobrazují termíny Konfigurace hosta a Automatická správa? |
Stroj | Počítač s podporou Arc nebo virtuální počítač Azure |
Informace o kompatibilitě (implementace serveru SSH atd.)
Řízení stavu SSH je navržené pro standardní scénář pro obecné účely Windows Serveru jedné dlouhotrvající instance serveru SSH:
- jehož životní cyklus spravuje inicializační systém, jako je Service Control Manager
- jehož chování se řídí sshd_config souborem v souladu s chováním openSSH sshd
- jehož efektivní konfigurace/stav se odhalí výstupem, který je konzistentní s chováním
sshd -T
sshd OpenSSH
Pro všechny podporované operační systémy (viz níže) se jedná o výchozí případ použití serveru SSH.
V zásadě může mít počítač libovolný počet instancí serveru SSH spuštěných s různými životnostmi na základě libovolného počtu základů kódu a převzetí konfigurace z libovolného počtu míst (konfigurační soubory, argumenty příkazového řádku, parametry doby kompilace atd.). Tyto případy nejsou v tuto chvíli omezené na řízení stavu SSH. Pokud vás takové případy zajímají v budoucnu, kontaktujte nás , abychom projednali.
Řízení stavu SSH je určené pro použití na počítačích s Windows Serverem 2025 podporovaných službou Azure Policy a konfigurací počítače –
Kompatibilita s jakýmkoli konkrétním počítačem v době běhu nemůže být zaručena, protože správci systému a tvůrci imagí mohou odebírat komponenty z operačního systému, vytvářet systémy souborů jen pro čtení atd.
Kompatibilita s direktivami sshd_config Include
Řízení stavu SSH se pokouší přizpůsobit a používat Include
direktivy v sshd_config následujícím způsobem:
- Pro akce auditu a čtení: Spoléháte se na -T sshd, aby odrážela síťovou konfiguraci z pohledu sshd – s ohledem na zahrnutí.
- Pro akce konfigurace/zápisu:
- Propojte nový soubor ovládacího prvku stavu SSH s sshd_config (jako zahrnutí). Následně umístěte všechny zápisy do propojeného souboru řízení stavu SSH. To zlepšuje hygienu systému a sledovatelnost systémových změn.
Kompatibilita s direktivami sshd_config Match
Řízení stavu SSH je navržené tak, aby auditování a konfigurace chování jádra sshd. Nepokoušá se interagovat s podmíněnými Match
bloky (pokud existuje), které můžou použít různé konfigurace sshd pro konkrétní populace.
Kompatibilita s více hodnotami sshd_config
Řízení stavu SSH nepodporuje použití více hodnot pro pravidlo "port", tj. nastavení pravidla "port" na 22 a 33. Toto pravidlo by mělo být nakonfigurováno s jednou hodnotou, aby se zajistily správné funkce a dodržování předpisů pro auditování a konfiguraci scénářů. Další pravidla, jako je povolení nebo zamítnutí uživatelů a šifer, můžou mít více hodnot, pokud se přidají na jeden řádek.
Příklad:
- Existující soubor sshd_config obsahuje řádek "port:22" a další řádek "port:33".
- Zásady auditování SSH slouží k auditování očekávané hodnoty portu 33.
- Výsledek: Audit může proběhnout nepředvídatelně nebo může selhat.
- Doporučení: Tuto funkci nepoužívejte se scénáři, jako jsou tyto.
Jak se můžu dotazovat na výsledky prostřednictvím kódu programu?
Pomocí dotazů Azure Resource Graphu (ARG) můžete integrovat data o přiřazení a stavu do vlastních pracovních postupů. Tyto příklady se používají Search-AzGraph
v PowerShellu ke spuštění dotazu ARG, ale PowerShell se nevyžaduje. ARG můžete použít z mnoha vstupních bodů, včetně webu Azure Portal, Azure CLI, volání REST atd.
V nejvyšší výšce sumarizace můžete získat počty počítačů podle kontejneru stavu dodržování předpisů. Například:
$machineCountsQuery = @' // SSH machine counts by compliance status guestconfigurationresources | where name contains "SecureShell" | extend complianceStatus = tostring(properties.complianceStatus) | summarize machineCount = count() by complianceStatus '@ Search-AzGraph -Query $machineCountsQuery <# Sample output from an environment with two machines: complianceStatus machineCount ---------------- ------------ Pending 1 Compliant 1 #>
Pokud chcete přejít k podrobnostem, abyste viděli celkový stav dodržování předpisů podle počítače, můžete použít následující:
$machinePerRowQuery = @' // SSH machine level compliance guestconfigurationresources | where name contains "SecureShell" | project machine = split(properties.targetResourceId,'/')[-1], complianceStatus = properties.complianceStatus, lastComplianceStatusChecked = properties.lastComplianceStatusChecked '@ Search-AzGraph -Query $machinePerRowQuery <# Sample output: machine complianceStatus lastComplianceStatusChecked ------- ---------------- --------------------------- sshdemovm01 Compliant 2/15/2024 11:07:21 PM sshdemovm02 Pending 1/1/0001 12:00:00 AM #>
Pokud chcete přejít k podrobnostem o nastavení podle nastavení, můžete použít následující:
$settingPerRowQuery = @' // SSH rule level detail GuestConfigurationResources | where name contains "SecureShell" | project report = properties.latestAssignmentReport, machine = split(properties.targetResourceId,'/')[-1], lastComplianceStatusChecked=properties.lastComplianceStatusChecked | mv-expand report.resources | project machine, rule = report_resources.resourceId, ruleComplianceStatus = report_resources.complianceStatus, ruleComplianceReason = report_resources.reasons[0].phrase, lastComplianceStatusChecked '@ Search-AzGraph $settingPerRowQuery <# Sample output: machine rule ruleComplianceStatus ruleComplianceReason ------- --------------- ------ ------ sshdemovm01 Ensure that the allowed groups for SSH are configured true ["administrators","openssh users"] contains the expected values: ["administrators","openssh users"] sshdemovm01 Ensure that appropriate ciphers are used for SSH true ["aes128-ctr","aes192-ctr","aes256-ctr"] contains the expected values: ["aes128-ctr","aes192-ctr","aes256-ctr"] sshdemovm01 Ensure that the authorized key file for SSH is configured true "%programdata%/ssh/administrators_authorized_keys" is equal to "%programdata%/ssh/administrators_authorized_keys" sshdemovm01 Ensure that the SSH ClientAliveInterval is configured true 3600 is equal to 3600 sshdemovm01 Ensure that the SSH PermitEmptyPasswords is configured true false is equal to false sshdemovm01 Ensure that the SSH port is configured true 22 is equal to 22 sshdemovm01 Ensure that the SSH MaxAuthTries is configured true 6 is equal to 6 sshdemovm01 Ensure that only approved MAC algorithms are used true ["hmac-sha2-256"] contains the expected values: ["hmac-sha2-256"] sshdemovm01 Ensure that the SSH HostKey is configured true "__PROGRAMDATA__/ssh/ssh_host_ecdsa_key" is equal to "__PROGRAMDATA__/ssh/ssh_host_ecdsa_key" sshdemovm01 Ensure that the SSH LoginGraceTime is configured true 60 is equal to 60 #>
Proč se na místech zobrazují termíny Konfigurace hosta a Automanage?
Služba Konfigurace počítače se také označuje jako Konfigurace hosta a jako Konfigurace počítače s automatickým správou. S těmito názvy se můžete setkat při interakci se službami a dokumentací. Například:
- V příkladech dotazu Azure Resource Graphu v tomto článku se volá
guestconfigurationresources
tabulka dat . - Na webu Azure Portal se užitečné zobrazení pro pozorování výsledků nazývá "Přiřazení hostů".
- Když na webu Azure Portal použijete příslušné rozšíření virtuálního počítače pro povolení konfigurace počítače, název rozšíření je "Automatická konfigurace počítače".
Pro účely řízení stavu SSH neexistuje žádný smysluplný rozdíl mezi "hostem" a "počítačem". Počítače s podporou arc a virtuální počítače Azure jsou způsobilé.
Jaké jsou identifikátory předdefinovaných definic zásad?
V některých případech, jako je vytváření přiřazení zásad pomocí Azure CLI, může být užitečné nebo nutné odkazovat na definici zásady podle ID místo zobrazovaného názvu.
zobrazované jméno | identifikační číslo |
---|
| Audit řízení stavu SSH na počítačích s Windows | ...
| | Konfigurace řízení stavu SSH na počítačích s Windows | ...
|
Související prostředky
- Pokud potřebujete podporu s problémy atd., obraťte se na podporu Microsoftu.
- Pokud chcete poskytnout zpětnou vazbu, proberte žádosti o funkce atd. kontakt: linux_sec_config_mgmt@service.microsoft.com