Pular para o conteúdo

Pontuação de segurança

A pontuação de segurança é uma nota opcional de A a F (e uma pontuação de 0 a 100) mostrada ao lado dos monitores em que algumas verificações dizem algo útil: hosts Linux e Windows com o agente, Proxmox VE e Proxmox Backup Server, Synology, OPNsense, sites e Active Directory. Os outros monitores não mostram nada.

A pontuação vem desativada por padrão. Um administrador a ativa em Configurações → Conta e segurança → Pontuação de segurança. Depois de ativada:

  • cada monitor pontuado recebe um pequeno selo em forma de escudo com sua letra na lista de monitores, e um selo Security com a pontuação na sua página;
  • clicar no selo abre o relatório do monitor: o que falha, com a evidência e a correção, o que passa, os passos para melhorar a pontuação nesse tipo de monitor e um link para a seção correspondente abaixo.

Desativá-la oculta os selos, interrompe o cálculo periódico e as séries dumbmonit_security_score deixam de ser gravadas.

O DumbMonit nunca pede nada extra ao monitor para calcular a pontuação. As verificações leem os últimos valores que os coletores já registraram (olhando 6 horas para trás), então uma pontuação não custa nada ao monitor.

Cada verificação tem uma categoria (exposição, correções, autenticação, criptografia, backup, configuração), uma severidade que é o seu peso (critical 10, high 6, medium 3, low 1), um resultado (passa, falha ou desconhecido quando o dado não é coletado), a evidência, a correção e um link para a página do fabricante em que se baseia.

Pontuação = 100 × (peso das verificações que passam) ÷ (peso das que passam + falham). As verificações desconhecidas são mostradas, mas nunca contadas: uma pontuação não deve cair porque uma conta de monitoramento não tem um privilégio, nem subir porque nada se sabe. Um monitor cujas verificações são todas desconhecidas não é pontuado.

NotaPontuaçãoPalavra
A90–100Forte
B75–89Boa
C60–74Razoável
D40–59Fraca
F0–39Ruim

Uma verificação crítica que falha limita a nota a C, qualquer que seja a pontuação.

Enquanto a pontuação está ativada, o servidor a recalcula a cada 15 minutos e a armazena como dumbmonit_security_score{target="<id>"} (e o número de verificações que falham como dumbmonit_security_checks_failed). Duas regras integradas a usam: Security score dropped (10 pontos ou mais abaixo do melhor valor das últimas 24 horas) e Security score low (abaixo de 40). Veja Regras de alerta.

Máquinas com o agente. As verificações de SSH e de firewall precisam de um agente da mesma versão do servidor; com um agente mais antigo ficam desconhecidas.

VerificaçãoSeveridadeDado
Security updates installedhighatualizações de segurança pendentes (onde o gerenciador de pacotes as distingue)
No pending updateslowatualizações pendentes
No reboot pendingmediumreinicialização necessária
SSH root login with a password refusedhighPermitRootLogin de sshd -T (prohibit-password passa)
SSH accepts keys onlymediumPasswordAuthentication, e KbdInteractiveAuthentication com UsePAM
Host firewall filters inbound traffichighuma cadeia input de nftables ou iptables que descarta ou rejeita
SELinux enforcingmediummodo do SELinux (desconhecido onde o SELinux não existe)
Container images up to datemediumimagem mais recente no registro (só com contêineres)
No container image older than 180 dayslowidade da imagem (só com contêineres)

Para melhorá-la:

  1. Instale as atualizações de segurança pendentes e depois ative as atualizações de segurança automáticas: unattended-upgrades no Debian e no Ubuntu, dnf-automatic no Fedora e no RHEL.
  2. Reinicie após atualizações do kernel ou de bibliotecas.
  3. Verifique se sua chave SSH funciona e depois defina PermitRootLogin no, PasswordAuthentication no e KbdInteractiveAuthentication no em /etc/ssh/sshd_config e recarregue o sshd.
  4. Ative um firewall de host que descarte o tráfego de entrada não solicitado: ufw enable no Ubuntu, firewalld no Fedora e no RHEL, um conjunto de regras nftables nos demais.
  5. Mantenha o SELinux em enforcing onde a distribuição o inclui; baixe regularmente imagens de contêineres mais recentes.

Fontes: CIS Controls, sshd_config(5), Red Hat — Using SELinux.

Máquinas com o agente Windows, da mesma versão do servidor (lido do registro; um agente mais antigo não reporta nenhuma destas).

VerificaçãoSeveridadeDado
Windows Firewall on for every profilehighperfis de domínio, privado e público (política de grupo primeiro)
No reboot pendingmediumWindows Update ou manutenção de componentes aguardando uma reinicialização
Remote Desktop requires Network Level Authenticationhighpassa quando a Área de Trabalho Remota está desativada
SMBv1 disabledhighconfiguração do servidor SMBv1

Para melhorá-la:

  1. Instale as atualizações do Windows (Configurações → Windows Update) e reinicie quando solicitado.
  2. Mantenha o Firewall do Windows Defender ativado nos perfis de domínio, privado e público.
  3. Se a Área de Trabalho Remota estiver ativada, exija a autenticação em nível de rede (NLA) e acesse-a por uma VPN, nunca diretamente da internet.
  4. Remova o SMBv1: Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol.

Fontes: Windows Firewall, SMBv1.

VerificaçãoSeveridadeDado
Security updates installedhighatualizações de segurança pendentes por nó (precisa de Sys.Modify no token, senão desconhecida)
Proxmox VE packages up to datemediumpacotes Proxmox atualizáveis por nó
Running the installed kernelmediumkernel instalado mais recente que o em execução
No test repository in usemediumrepositórios padrão habilitados
Package repositories correctly configuredmediumerros e avisos que o Proxmox VE levanta sobre os repositórios
Enterprise repository subscriptionlowstatus da assinatura por nó
Web interface certificate valid for 14+ daysmediumexpiração do certificado do nó
Every guest is in a backup jobhighconvidados não selecionados por nenhum job de backup
Backup jobs succeedhighúltimo resultado de cada job de backup

Para melhorá-la:

  1. Use um repositório ao qual você tem direito: enterprise com assinatura, caso contrário pve-no-subscription; nunca pvetest em um nó que importe.
  2. Instale as atualizações pelo painel Updates do nó e depois reinicie com o novo kernel.
  3. Coloque cada VM e contêiner em um job de backup, de preferência para um Proxmox Backup Server, e corrija qualquer job que falhe.
  4. Substitua o certificado web autoassinado por um ACME.

Fontes: System Software Updates, Package Repositories, Backup and Restore.

VerificaçãoSeveridadeDado
System updates installedhighatualizações pendentes (precisa de Sys.Modify em /system)
Running the installed Backup Server versionmediumdaemons que ainda executam a versão anterior à atualização
Verify job scheduledhighnúmero de jobs de verificação
Prune job scheduledmediumnúmero de jobs de prune
Backups copied elsewhere (sync or tape)mediumjobs de sincronização e de backup em fita (regra 3-2-1)
Garbage collection clean, no bad chunkshighúltimo resultado do GC e chunks defeituosos por datastore
Certificate valid for 14+ daysmediumexpiração do certificado

Para melhorá-la:

  1. Instale as atualizações e reinicie quando o kernel ou o proxmox-backup mudaram.
  2. Agende um job de verificação e um de prune em cada datastore.
  3. Mantenha uma cópia em outro lugar: um job de sincronização para um segundo Backup Server, ou fita.
  4. Use um certificado ACME para a interface web.

Fontes: Maintenance tasks, Remotes and sync.

VerificaçãoSeveridadeDado
DSM 7 or laterhighversão do DSM
DSM up to datehighhá uma atualização do DSM disponível (só conta de administrador)
Built-in admin account disabledmediumestado da conta admin (só conta de administrador)
Auto Block enabledmediumconfiguração do Auto Block (só conta de administrador)
DSM firewall enabledmediumconfiguração do firewall (só conta de administrador)
Hyper Backup task configuredmediumnúmero de tarefas do Hyper Backup
Hyper Backup tasks succeedhighúltimo resultado de cada tarefa

As quatro configurações são lidas uma vez por hora e só quando o DumbMonit entra com uma conta de administrador; com uma conta comum ficam desconhecidas e não contam. A verificação em duas etapas e o redirecionamento para HTTPS não são lidos.

Para melhorá-la:

  1. Execute a última versão do DSM 7 para o seu modelo e deixe o DSM instalar automaticamente as atualizações importantes (Painel de Controle → Atualização e Restauração).
  2. Desative a conta integrada admin; entre com um administrador pessoal protegido por verificação em duas etapas.
  3. Ative o Auto Block e o firewall (Painel de Controle → Segurança) e não encaminhe portas do DSM para a internet: use uma VPN.
  4. Faça backup com o Hyper Backup para outro monitor ou um destino na nuvem e corrija qualquer tarefa que falhe: RAID e snapshots não são backups.

Fontes: Product support status, How to add extra security to your Synology NAS.

VerificaçãoSeveridadeDado
Firmware updates installedhighatualizações de pacotes pendentes (desconhecida até o OPNsense verificar atualizações)
On the current major release seriesmediumnova série principal disponível
No reboot pending after an updatemediumreinicialização necessária
Packet filter enabledcriticalestado do pf

Para melhorá-la:

  1. Verifique atualizações em System → Firmware → Status, instale-as e reinicie quando solicitado.
  2. Passe para a nova versão principal quando ela sair.
  3. Mantenha o filtro de pacotes ativado.
  4. Permita a interface web e o SSH apenas pela LAN ou por uma VPN, nunca pela WAN.

Fontes: OPNsense updates, OPNsense firewall.

Para os monitores HTTP(S) e TLS que negociam TLS, e para os monitores Website health & SEO. Um monitor HTTP simples não tem pontuação.

VerificaçãoSeveridadeDado
Certificate valid for 14+ dayshighdias até a expiração (monitores HTTP(S) e TLS)
Certificate chain trustedhighverificação da cadeia (monitores HTTP(S) e TLS)
TLS 1.3 negotiatedlowversão do protocolo negociada (monitores HTTP(S) e TLS)
Served over HTTPShighendereço final após redirecionamentos (Website health)
Strict-Transport-Security headermediumcabeçalho com um max-age acima de 0
X-Content-Type-Options: nosnifflowvalor do cabeçalho
Protected against clickjackinglowX-Frame-Options ou frame-ancestors da CSP
Content-Security-Policy headerlowuma política aplicada (report-only não conta)

Os cabeçalhos só são lidos em respostas HTTPS.

Para melhorá-la:

  1. Sirva o site apenas por HTTPS e redirecione o HTTP simples para HTTPS.
  2. Automatize a renovação do certificado (ACME, p. ex. Let’s Encrypt) e sirva a cadeia completa.
  3. Adicione cabeçalhos de segurança no servidor web ou no proxy reverso: Strict-Transport-Security, X-Content-Type-Options: nosniff e uma Content-Security-Policy com frame-ancestors.
  4. Confronte com o Mozilla HTTP Observatory, que testa muito mais do que esta pontuação.

Fontes: Mozilla Server Side TLS, MDN — HTTP headers.

Pontuado a partir dos achados no estilo PingCastle do coletor do Active Directory: contas kerberoastable, contas sem pré-autenticação Kerberos, delegação irrestrita, idade da senha do krbtgt, tamanho dos grupos privilegiados, cobertura do LAPS, política de senhas, contas obsoletas. Cada achado é uma verificação que passa quando diz respeito a zero objetos.

Para melhorá-la:

  1. Corrija primeiro os achados críticos e altos: são os caminhos habituais até os Domain Admins.
  2. Se a senha do krbtgt for antiga, redefina-a duas vezes, com algumas horas de intervalo, e remova a delegação irrestrita dos computadores que não são controladores de domínio.
  3. Passe os serviços executados com contas de usuário com SPN para contas de serviço gerenciadas de grupo (gMSA).
  4. Execute o PingCastle para uma avaliação completa.

Fontes: PingCastle health check rules, Windows LAPS.

  • A pontuação reflete apenas o que o DumbMonit consegue ver; muitas boas práticas não são verificadas porque nenhum coletor lê o dado: firewall e autenticação de dois fatores do Proxmox, interface web do OPNsense exposta na WAN, contêineres Docker executados com privilégios ou com o socket do Docker montado, TLS 1.0/1.1 ainda oferecidos (a sonda só negocia TLS 1.2 e 1.3), e muitas outras.
  • Uma verificação é tão atual quanto os seus dados: alguns coletores só relêem as atualizações a cada poucas horas.
  • Os pesos são uma escolha de produto, igual para todas as instalações.
  • Só os tipos acima são pontuados. Os outros (switches, impressoras, UniFi, pfSense…) não mostram selo de propósito: duas ou três verificações dariam uma nota sem significado.