TMAegis

Formato de regras

Como uma regra YAML é estruturada e como escrever uma.

As regras são arquivos YAML simples em rules/. Um arquivo descreve um controle: o que verificar e como corrigir.

Exemplo

yaml
id: "CIS-UBUNTU-5.2.8"
title: "Ensure SSH root login is disabled"
description: "The PermitRootLogin parameter specifies if the root user can log in using ssh."
target: "linux"
os_family: ["ubuntu-22.04", "ubuntu-24.04", "rocky-9"]
level: 1
severity: "high"
tags: ["ssh", "server"]
audit:
  type: "file_regex"
  file_path: "/etc/ssh/sshd_config"
  pattern: '(?m)^\s*PermitRootLogin\s+no\b'
remediation:
  type: "command"
  command: "sed -i 's/^#*PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config"
  verify_cmd: "sshd -t"
  backup_files: ["/etc/ssh/sshd_config"]

Campos

CampoSignificado
idIdentificador único
title, descriptionO que é o controle, em inglês
targetPlataforma, por exemplo linux, windows, postgres, aws
os_familyLista opcional que restringe a regra a certos sistemas operacionais
levelNível do perfil CIS, 1 ou 2
severitycritical, high, medium ou low
tags, referenceTags de busca e a seção do benchmark contra a qual verificar
auditComo verificar
remediationComo corrigir

Tipos de auditoria

TipoO que faz
commandExecuta um comando e compara a saída com expected_output
file_regexProcura um padrão em um arquivo; must_not_match inverte o resultado
config_regexProcura um padrão na configuração exportada de um dispositivo
sql_queryExecuta uma consulta no banco de dados
registryLê um valor do registro do Windows
cloud_checkChama uma API de nuvem por meio do SDK
manualNão pode ser automatizado; exibido com instruções

Tipos de correção

TipoO que faz
commandExecuta um comando; verify_cmd valida o resultado e é criado antes um snapshot de backup_files
file_lineSubstitui em um arquivo a linha que corresponde a match_regex por replace_line
sql_execExecuta uma instrução SQL
iac_patchOrientação ou patch de infraestrutura como código; nunca aplicado automaticamente
As regras derivadas dos CIS Benchmarks continuam sob os termos do próprio CIS. Não adicione texto copiado dos PDFs dos benchmarks além do que a regra precisa.

Explorar o catálogo

O explorador de regras deste site lista todas as regras. tmaegis rules export gera o mesmo catálogo em JSON.

Editar esta página no GitHub