O projeto começou como uma lista de endurecimento simples para o Windows 10. Depois de algum tempo, o HardeningKitty foi criado para simplificar o endurecimento do Windows. Agora, o HardeningKitty suporta diretrizes da Microsoft, CIS Benchmarks, DOD Stig e BSI Sisyphus Win10. E, claro, minha própria lista de endurecimento.
Esta é uma lista de verificação de endurecimento que pode ser usada em ambientes privados e de negócios para endurecer o Windows 10. A lista de verificação pode ser usada para todas as versões do Windows, mas no Windows 10 Home o editor de políticas de grupo não está integrado e o ajuste deve ser feito diretamente no registro. Para isso, existe o modo Hailmary de Hardeningkitty .
As configurações devem ser vistas como recomendação de segurança e privacidade e devem ser cuidadosamente verificadas se afetarão a operação de sua infraestrutura ou afetarão a usabilidade das principais funções. É importante pesar a segurança contra a usabilidade.
O projeto começou com a criação de uma lista de verificação de endurecimento simples para o Windows 10. O foco mudou para a auditoria de várias estruturas / benchmarks bem conhecidos com o desenvolvimento do Hardeningkitty . Enquanto isso, vários benchmarks cis e linhas de base da Microsoft Security são suportadas. Com o desenvolvimento do modo Hailmary , também será possível aplicar configurações de qualquer lista de verificação de endurecimento em um sistema Windows.
HardeningKitty suporta o endurecimento de um sistema Windows. A configuração do sistema é recuperada e avaliada usando uma lista de descobertas. Além disso, o sistema pode ser endurecido de acordo com valores predefinidos. HardeningKitty lê configurações do registro e usa outros módulos para ler configurações fora do registro.
O script foi desenvolvido para sistemas ingleses. É possível que em outros idiomas a análise esteja incorreta. Crie um problema se isso ocorrer.
O desenvolvimento de Hardeningkitty acontece neste repositório. No repositório da Scip AG, há uma versão estável do HardeningKitty que foi assinada com o certificado de assinatura de código da Scip AG . Isso significa que o HardeningKitty também pode ser executado em sistemas que permitem apenas scripts assinados.
Execute o script com privilégios administrativos para acessar as configurações da máquina. Para as configurações do usuário, é melhor executá -las com uma conta de usuário normal. Idealmente, a conta de usuário é usada para o trabalho diário.
Faça o download do HardeningKitty e copie -o para o sistema de destino (script e listas). Em seguida, HardeningKitty pode ser importado e executado:
PS C:tmp > Import-Module .HardeningKitty.psm1
PS C:tmp > Invoke-HardeningKitty - EmojiSupport
= ^ ._ .^ =
_ ( ) / HardeningKitty 0.9 . 0 - 1662273740
[ * ] 9 / 4 / 2022 8 : 54 : 12 AM - Starting HardeningKitty
[ * ] 9 / 4 / 2022 8 : 54 : 12 AM - Getting user information
[ * ] Hostname: DESKTOP - DG83TOD
[ * ] Domain: WORKGROUP
...
[ * ] [ * ] 9 / 4 / 2022 8 : 54 : 12 AM - Starting Category Account Policies
[?] ID 1103 , Store passwords using reversible encryption , Result = 0 , Severity = Passed
[?] ID 1100 , Account lockout threshold , Result = 10 , Severity = Passed
[?] ID 1101 , Account lockout duration , Result = 30 , Severity = Passed
...
[ * ] 9 / 4 / 2022 8 : 54 : 12 AM - Starting Category User Rights Assignment
[?] ID 1200 , Access this computer from the network , Result = BUILTINAdministrators;BUILTINUsers , Recommended = BUILTINAdministrators , Severity = Medium
...
[ * ] 9 / 4 / 2022 8 : 54 : 14 AM - Starting Category Administrative Templates: Printer
[?] ID 1764 , Point and Print Restrictions: When installing drivers for a new connection (CVE - 2021 - 34527 ) , Result = 1 , Recommended = 0 , Severity = High
[?] ID 1765 , Point and Print Restrictions: When updating drivers for an existing connection (CVE - 2021 - 34527 ) , Result = 2 , Recommended = 0 , Severity = High
...
[ * ] 9 / 4 / 2022 8 : 54 : 19 AM - Starting Category MS Security Guide
[?] ID 2200 , LSA Protection , Result = , Recommended = 1 , Severity = Medium
[?] ID 2201 , Lsass.exe audit mode , Result = , Recommended = 8 , Severity = Low
...
[ * ] 9 / 4 / 2022 8 : 54 : 25 AM - HardeningKitty is done
[ * ] 9 / 4 / 2022 8 : 54 : 25 AM - Your HardeningKitty score is: 4.82 . HardeningKitty Statistics: Total checks: 325 - Passed: 213 , Low: 33 , Medium: 76 , High: 3 .Primeiro, crie o diretório HardeningKitty e, para cada versão, um sub -diretório como 0.9.3 em um caminho listado na variável de ambiente PSMODULEPATH .
Copie o módulo endureningkitty.psm1 , hardeningkitty.psd1 e o diretório da lista para este novo diretório.
PS C:tmp > $Version = " 0.9.3 "
PS C:tmp > New-Item - Path $ Env: ProgramFiles WindowsPowerShellModulesHardeningKitty $Version - ItemType Directory
PS C:tmp > Copy-Item - Path .HardeningKitty.psd1 , .HardeningKitty.psm1 , .lists - Destination $ Env: ProgramFiles WindowsPowerShellModulesHardeningKitty $Version - RecursePara obter mais informações, consulte o artigo da Microsoft instalando um módulo PowerShell.
Você pode usar o script abaixo para baixar e instalar o lançamento mais recente do HardeningKitty .
Function InstallHardeningKitty () {
$Version = ((( Invoke-WebRequest " https://api.github.com/repos/0x6d69636b/windows_hardening/releases/latest " - UseBasicParsing) | ConvertFrom-Json ).Name).SubString( 2 )
$HardeningKittyLatestVersionDownloadLink = (( Invoke-WebRequest " https://api.github.com/repos/0x6d69636b/windows_hardening/releases/latest " - UseBasicParsing) | ConvertFrom-Json ).zipball_url
$ProgressPreference = ' SilentlyContinue '
Invoke-WebRequest $HardeningKittyLatestVersionDownloadLink - Out HardeningKitty $Version .zip
Expand-Archive - Path " .HardeningKitty $Version .zip " - Destination " .HardeningKitty $Version " - Force
$Folder = Get-ChildItem .HardeningKitty $Version | Select-Object Name - ExpandProperty Name
Move-Item " .HardeningKitty $Version $Folder * " " .HardeningKitty $Version "
Remove-Item " .HardeningKitty $Version $Folder "
New-Item - Path $ Env: ProgramFiles WindowsPowerShellModulesHardeningKitty $Version - ItemType Directory
Set-Location .HardeningKitty $Version
Copy-Item - Path .HardeningKitty.psd1 , .HardeningKitty.psm1 , .lists - Destination $ Env: ProgramFiles WindowsPowerShellModulesHardeningKitty $Version - Recurse
Import-Module " $ Env: ProgramFiles WindowsPowerShellModulesHardeningKitty $Version HardeningKitty.psm1 "
}
InstallHardeningKittyO modo padrão é auditoria . HardeningKitty executa uma auditoria, salva os resultados em um arquivo CSV e cria um arquivo de log. Os arquivos são nomeados automaticamente e recebem um registro de data e hora. Usando os parâmetros ReportFile ou LogFile , também é possível atribuir seu próprio nome e caminho.
O parâmetro do filtro pode ser usado para filtrar a lista de endurecimento. Para esse fim, a sintaxe PowerShell ScriptBlock deve ser usada, por exemplo, { $_.ID -eq 4505 } . Os seguintes elementos são úteis para filtragem: ID, categoria, nome, método e gravidade.
Invoke-HardeningKitty - Mode Audit - Log - ReportHardeningKitty pode ser executado com uma lista específica definida pelo parâmetro FileFindingList . Se o HardeningKitty for executado várias vezes no mesmo sistema, pode ser útil ocultar as informações da máquina. A parâmetro skipmachineInformation é usada para esse fim.
Invoke-HardeningKitty - FileFindingList .listsfinding_list_0x6d69636b_user.csv - SkipMachineInformationHardeningKitty usa a lista padrão e verifica apenas testes com o meio de gravidade.
Invoke-HardeningKitty - Filter { $_ .Severity -eq " Medium " }A configuração do modo recupera todas as configurações atuais de um sistema. Se uma configuração não tiver sido configurada, o HardeningKitty usará um valor padrão armazenado na lista de descobertas. Esse modo pode ser combinado com outras funções, por exemplo, para criar um backup.
Hardeningkitty obtém as configurações atuais e as armazena em um relatório:
Invoke-HardeningKitty - Mode Config - Report - ReportFile C:tmpmy_hardeningkitty_report.csvOs backups são importantes. Realmente importante. Portanto, HardeningKitty também tem uma função para recuperar a configuração atual e salvá -la em um formulário que pode ser parcialmente restaurado.
Isenção de responsabilidade: HardeningKitty tenta restaurar a configuração original. Isso funciona muito bem com as chaves do registro e o endurecimento de Kitty realmente tenta o melhor. Mas a função de backup não é um instantâneo e não substitui um backup do sistema real. Não é possível restaurar o sistema 1: 1 com Hardeningkitty sozinho após o Hailmary. Se isso for um requisito, crie um backup de imagem ou sistema e restaure -o.
O interruptor de backup especifica que o arquivo é gravado na forma de uma lista de descobertas e, portanto, pode ser usado para o modo Hailmary . O nome e o caminho do backup podem ser especificados com o parâmetro backupfile .
Invoke-HardeningKitty - Mode Config - BackupTeste esta função para ver se ela realmente funciona corretamente no sistema de destino antes de fazer alterações sérias. O backup de um Schrödinger é perigoso.
Observe que, se -FileFindingList não for especificado, o backup será referido na lista de descobertas padrão. Antes de implantar uma lista específica no modo Hailmary , sempre crie um backup referido a essa lista específica .
Invoke-HardeningKitty - Mode Config - Backup - BackupFile " .myBackup.csv " - FileFindingList " .list{list}.csv " O interruptor de backup cria um arquivo na forma de uma lista de descobertas, para restaurar a carga de backup no modo Hailmary , como qualquer lista de localização:
Invoke-HardeningKitty - Mode HailMary - Log - Report - FileFindingList " .myBackup.csv " O método Hailmary é muito poderoso. Ele pode ser usado para implantar uma lista de localização em um sistema. Todas as descobertas são definidas neste sistema, conforme recomendado na lista. Com o poder vem a responsabilidade. Por favor, use este modo apenas se você souber o que está fazendo. Certifique -se de ter um backup do sistema.
Por enquanto, a função de filtro é suportada apenas no modo de auditoria e configuração. Como o modo Hailmary é uma questão delicada, crie seu próprio arquivo e remova todas as linhas que você deseja filtrar.
Invoke-HardeningKitty - Mode HailMary - Log - Report - FileFindingList .listsfinding_list_0x6d69636b_machine.csvAntes que o Hailmary seja executado, uma lista de descobertas deve ser escolhida. É importante verificar se as configurações influenciam a estabilidade e a funcionalidade do sistema. Antes de executar o Hailmary, um backup deve ser feito.
Graças a @Gderybel, o HardeningKitty pode converter uma lista de descobertas em uma política de grupo. Como requisito básico, o módulo PowerShell de gerenciamento de políticas de grupo deve ser instalado. No momento, apenas as configurações do registro podem ser convertidas e nem tudo foi testado ainda. Uma nova política é criada, desde que não seja atribuída a um objeto, nenhuma alteração é feita no sistema. Use -o com cuidado.
Invoke-HardeningKitty - Mode GPO - FileFindingList .listsfinding_list_0x6d69636b_machine.csv - GPOName HardeningKitty - Machine - 01Cada descoberta passada dá 4 pontos, uma descoberta baixa dá 2 pontos, uma descoberta média dá 1 ponto e uma descoberta alta dá 0 pontos.
A fórmula para a pontuação do HardeningKitty é (pontos alcançados / pontos máximos) * 5 + 1 .
| Pontuação | Classificação casual | Classificação profissional |
|---|---|---|
| 6 | ? Excelente | Excelente |
| 5 | ? Bom trabalho | Bom |
| 4 | ? Suficiente | Suficiente |
| 3 | ? Você deveria fazer melhor | Insuficiente |
| 2 | ? Fraco | Insuficiente |
| 1 | ? Falso | Insuficiente |
@ataumo Construa uma interface baseada na Web para HardeningKitty. A ferramenta pode ser usada para criar suas próprias listas e fornece informações adicionais sobre as configurações de endurecimento. O código -fonte está sob licença AGPL e há um site de demonstração.
HardeningKitty pode ser usado para auditar sistemas em relação às seguintes linhas de base / benchmarks:
| Nome | Versão do sistema | Versão |
|---|---|---|
| 0x6d69636b Windows 10 (máquina) | 22H2 | |
| 0x6d69636b Windows 10 (usuário) | 22H2 | |
| BSI Sisyphus Windows 10 Hoher Schutzbedarf Domänenmitglied (máquina) | 1809 | 1.0 |
| BSI Sisyphus Windows 10 Hoher Schutzbedarf Domänenmitglied (usuário) | 1809 | 1.0 |
| BSI Sisyphus Windows 10 Normaler Schutzbedarf Domänenmitglied (máquina) | 1809 | 1.0 |
| BSI Sisyphus Windows 10 Normaler Schutzbedarf Domänenmitglied (Usuário) | 1809 | 1.0 |
| BSI Sisyphus Windows 10 Normaler Schutzbedarf Einzelrechner (máquina) | 1809 | 1.0 |
| BSI Sisyphus Windows 10 Normaler Schutzbedarf Einzelrechner (usuário) | 1809 | 1.0 |
| CIS Microsoft Windows 10 Enterprise (máquina) | 1809 | 1.6.1 |
| CIS Microsoft Windows 10 Enterprise (usuário) | 1809 | 1.6.1 |
| CIS Microsoft Windows 10 Enterprise (máquina) | 1903 | 1.7.1 |
| CIS Microsoft Windows 10 Enterprise (usuário) | 1903 | 1.7.1 |
| CIS Microsoft Windows 10 Enterprise (máquina) | 1909 | 1.8.1 |
| CIS Microsoft Windows 10 Enterprise (usuário) | 1909 | 1.8.1 |
| CIS Microsoft Windows 10 Enterprise (máquina) | 2004 | 1.9.1 |
| CIS Microsoft Windows 10 Enterprise (usuário) | 2004 | 1.9.1 |
| CIS Microsoft Windows 10 Enterprise (máquina) | 20h2 | 1.10.1 |
| CIS Microsoft Windows 10 Enterprise (usuário) | 20h2 | 1.10.1 |
| CIS Microsoft Windows 10 Enterprise (máquina) | 21H1 | 1.11.0 |
| CIS Microsoft Windows 10 Enterprise (usuário) | 21H1 | 1.11.0 |
| CIS Microsoft Windows 10 Enterprise (máquina) | 21H2 | 1.12.0 |
| CIS Microsoft Windows 10 Enterprise (usuário) | 21H2 | 1.12.0 |
| CIS Microsoft Windows 10 Enterprise (máquina) | 22H2 | 2.0.0 |
| CIS Microsoft Windows 10 Enterprise (usuário) | 22H2 | 2.0.0 |
| CIS Microsoft Windows 10 Enterprise (máquina) | 22H2 | 3.0.0 |
| CIS Microsoft Windows 10 Enterprise (usuário) | 22H2 | 3.0.0 |
| CIS Microsoft Windows 11 Enterprise (máquina) | 21H2 | 1.0.0 |
| CIS Microsoft Windows 11 Enterprise (usuário) | 21H2 | 1.0.0 |
| CIS Microsoft Windows 11 Enterprise (máquina) | 22H2 | 2.0.0 |
| CIS Microsoft Windows 11 Enterprise (usuário) | 22H2 | 2.0.0 |
| CIS Microsoft Windows 11 Enterprise (máquina) | 23H2 | 3.0.0 |
| CIS Microsoft Windows 11 Enterprise (usuário) | 23H2 | 3.0.0 |
| CIS Microsoft Windows Server 2012 R2 (máquina) | R2 | 2.4.0 |
| CIS Microsoft Windows Server 2012 R2 (usuário) | R2 | 2.4.0 |
| CIS Microsoft Windows Server 2012 R2 (máquina) | R2 | 2.6.0 |
| CIS Microsoft Windows Server 2012 R2 (usuário) | R2 | 2.6.0 |
| CIS Microsoft Windows Server 2012 R2 (máquina) | R2 | 3.0.0 |
| CIS Microsoft Windows Server 2012 R2 (usuário) | R2 | 3.0.0 |
| CIS Microsoft Windows Server 2016 (máquina) | 1607 | 1.2.0 |
| CIS Microsoft Windows Server 2016 (usuário) | 1607 | 1.2.0 |
| CIS Microsoft Windows Server 2016 (máquina) | 1607 | 1.3.0 |
| CIS Microsoft Windows Server 2016 (usuário) | 1607 | 1.3.0 |
| CIS Microsoft Windows Server 2016 (máquina) | 1607 | 2.0.0 |
| CIS Microsoft Windows Server 2016 (usuário) | 1607 | 2.0.0 |
| CIS Microsoft Windows Server 2016 (máquina) | 1607 | 3.0.0 |
| CIS Microsoft Windows Server 2016 (usuário) | 1607 | 3.0.0 |
| CIS Microsoft Windows Server 2019 (máquina) | 1809 | 1.1.0 |
| CIS Microsoft Windows Server 2019 (usuário) | 1809 | 1.1.0 |
| CIS Microsoft Windows Server 2019 (máquina) | 1809 | 1.2.1 |
| CIS Microsoft Windows Server 2019 (usuário) | 1809 | 1.2.1 |
| CIS Microsoft Windows Server 2019 (máquina) | 1809 | 2.0.0 |
| CIS Microsoft Windows Server 2019 (usuário) | 1809 | 2.0.0 |
| CIS Microsoft Windows Server 2019 (máquina) | 1809 | 3.0.0 |
| CIS Microsoft Windows Server 2019 (usuário) | 1809 | 3.0.0 |
| CIS Microsoft Windows Server 2022 (máquina) | 21H2 | 1.0.0 |
| CIS Microsoft Windows Server 2022 (usuário) | 21H2 | 1.0.0 |
| CIS Microsoft Windows Server 2022 (máquina) | 22H2 | 2.0.0 |
| CIS Microsoft Windows Server 2022 (usuário) | 22H2 | 2.0.0 |
| CIS Microsoft Windows Server 2022 (máquina) | 22H2 | 3.0.0 |
| CIS Microsoft Windows Server 2022 (usuário) | 22H2 | 3.0.0 |
| DOD Microsoft Windows 10 Stig (máquina) | 20h2 | v2r1 |
| DOD Microsoft Windows 10 Stig (usuário) | 20h2 | v2r1 |
| DOD Windows Server 2019 Controlador de domínio (máquina) | 20h2 | v2r1 |
| DOD Windows Server 2019 Controlador de domínio (usuário) | 20h2 | v2r1 |
| DOD Windows Server 2019 Membro Server Stig (máquina) | 20h2 | v2r1 |
| DOD Windows Server 2019 Membro Server Stig (usuário) | 20h2 | v2r1 |
| Dod Windows Defender Antivirus Stig | 20h2 | v2r1 |
| Dod Windows Firewall Stig | 20h2 | v1r7 |
| Linha de linha de segurança da Microsoft para Microsoft Edge | 87 | Final |
| Linha de linha de segurança da Microsoft para Microsoft Edge | 88, 89, 90, 91 | Final |
| Linha de linha de segurança da Microsoft para Microsoft Edge | 92 | Final |
| Linha de linha de segurança da Microsoft para Microsoft Edge | 93, 94 | Final |
| Linha de linha de segurança da Microsoft para Microsoft Edge | 95 | Final |
| Linha de linha de segurança da Microsoft para Microsoft Edge | 96 | Final |
| Linha de linha de segurança da Microsoft para Microsoft Edge | 97 | Final |
| Linha de linha de segurança da Microsoft para Microsoft Edge | 98, 99, 100, 101, 102, 103, 104, 105, 106 | Final |
| Linha de linha de segurança da Microsoft para Microsoft Edge | 107, 108, 109, 110, 111 | Final |
| Linha de linha de segurança da Microsoft para Microsoft Edge | 112, 113 | Final |
| Linha de linha de segurança da Microsoft para Microsoft Edge | 114, 115, 116 | Final |
| Linha de linha de segurança da Microsoft para Microsoft Edge | 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127 | Final |
| Linha de linha de segurança da Microsoft para Microsoft Edge | 128, 129, 130 | Final |
| Linha de linha de segurança da Microsoft para Windows 10 | 2004 | Final |
| Linha de linha de segurança da Microsoft para Windows 10 | 20H2, 21H1 | Final |
| Linha de linha de segurança da Microsoft para Windows 10 | 21H2 | Final |
| Base de segurança da Microsoft para Windows 10 (máquina) | 22H2 | Final |
| Linha de linha de segurança da Microsoft para Windows 10 (usuário) | 22H2 | Final |
| Linha de linha de segurança da Microsoft para Windows 11 | 21H2 | Final |
| Base de segurança da Microsoft para Windows 11 (máquina) | 22H2 | Final |
| Base de segurança da Microsoft para Windows 11 (usuário) | 22H2 | Final |
| Base de segurança da Microsoft para Windows 11 (máquina) | 23H2 | Final |
| Base de segurança da Microsoft para Windows 11 (usuário) | 23H2 | Final |
| Base de segurança da Microsoft para Windows 11 (máquina) | 24h2 | Final |
| Base de segurança da Microsoft para Windows 11 (usuário) | 24h2 | Final |
| Linha base de segurança da Microsoft para Windows Server (DC) | 2004 | Final |
| Base de segurança da Microsoft para Windows Server (membro) | 2004 | Final |
| Linha base de segurança da Microsoft para Windows Server (DC) | 20h2 | Final |
| Base de segurança da Microsoft para Windows Server (membro) | 20h2 | Final |
| Linha de linha de segurança da Microsoft para Windows Server 2022 (DC) | 21H2 | Final |
| Base de segurança da Microsoft para Windows Server 2022 (membro) | 21H2 | Final |
| Base de segurança da Microsoft para Office 365 Proplus (máquina) | Setembro de 2019 | Final |
| Linha de base da segurança da Microsoft para Office 365 ProPlus (usuário) | Setembro de 2019 | Final |
| Linha de linha de segurança da Microsoft para aplicativos Microsoft 365 para Enterprise (Machine) | v2104, v2106 | Final |
| Linha de linha de segurança da Microsoft para aplicativos Microsoft 365 para Enterprise (usuário) | v2104, v2106 | Final |
| Linha de linha de segurança da Microsoft para aplicativos Microsoft 365 para Enterprise (Machine) | v2112 | Final |
| Linha de linha de segurança da Microsoft para aplicativos Microsoft 365 para Enterprise (usuário) | v2112 | Final |
| Linha de linha de segurança da Microsoft para aplicativos Microsoft 365 para Enterprise (Machine) | v2206 | Final |
| Linha de linha de segurança da Microsoft para aplicativos Microsoft 365 para Enterprise (usuário) | v2206 | Final |
| Linha de linha de segurança da Microsoft para aplicativos Microsoft 365 para Enterprise (Machine) | v2306, v2312 | Final |
| Linha de linha de segurança da Microsoft para aplicativos Microsoft 365 para Enterprise (usuário) | v2306, v2312 | Final |
| Microsoft Windows Server TLS Configurações | 1809 | 1.0 |
| Configurações do Microsoft Windows Server TLS (uso futuro com TLSV1.3) | 1903 | 1.0 |