Os benchmarks CIS fornecem diretrizes de configuração seguras, desenvolvidas por consenso da comunidade, para aprimorar a segurança de sistemas, softwares e redes. Eles apresentam dois níveis de perfis para diferentes impactos em segurança e usabilidade, além de instruções específicas de implementação para integrar esses benchmarks em ferramentas MDM como Fleet e Primo.
O que são os benchmarks do CIS?
Os CIS Benchmarks são guias de configuração segura baseados em consenso, usados para fortalecer sistemas, softwares e redes — uma referência reconhecida pela indústria para reduzir a superfície de ataque.
Como são produzidos?
Eles são desenvolvidos pela comunidade por meio de um processo de consenso aberto (CIS WorkBench) com o governo, a indústria e a academia. Existem mais de 100 benchmarks em mais de 25 famílias de fornecedores.
Níveis 1 e 2
Cada benchmark é fornecido com perfis:
- Nível 1 : configurações prudentes e de baixo impacto que proporcionam um claro valor de segurança.
- Nível 2 : configurações mais robustas de defesa em profundidade que podem afetar a usabilidade/desempenho.
Como adicionar benchmarks CIS
Se você deseja baixar as políticas de benchmarks do fleetDM CIS em sua instância MDM, pode executar este script para gerar o arquivo YAML de consultas de políticas CIS.
#!/bin/bash#shellcheck disable=SC2207# convert.cis.policy.queries.yml @2024 Fleet Device Management# CIS queries as written here:# https://github.com/fleetdm/fleet/blob/main/ee/cis/macos-14/cis-policy-queries.yml# must be converted to be uploaded via Fleet GitOps.## This script takes as input the YAML from the file linked above & creates a new YAML array compatible with the "Separate file" format documented here:# https://fleetdm.com/docs/configuration/yaml-files#separate-file# get CIS queries raw file from Fleet repocisfile='https://raw.githubusercontent.com/fleetdm/fleet/refs/heads/main/ee/cis/macos-14/cis-policy-queries.yml'cispath='/private/tmp/cis.yml'# cisspfl='/private/tmp/cis.gitops.yml'/usr/bin/curl -X GET -LSs "$cisfile" -o "$cispath"# create CIS benchmark arrayIFS=$'\n'cisarry=($(/opt/homebrew/bin/yq '.spec.name' "$cispath" | /usr/bin/grep -v '\-\-\-'))for i in "${cisarry[@]}"do cisname="$(/opt/homebrew/bin/yq ".[] | select(.name == \"$i\") | (del(.platforms)) | (del(.purpose)) | (del(.tags)) | (del(.contributors))" "$cispath" | /opt/homebrew/bin/yq eval '.name')" cispfrm="$(/opt/homebrew/bin/yq ".[] | select(.name == \"$i\") | (del(.platforms)) | (del(.purpose)) | (del(.tags)) | (del(.contributors))" "$cispath" | /opt/homebrew/bin/yq eval '.platform')" cisdscr="$(/opt/homebrew/bin/yq ".[] | select(.name == \"$i\") | (del(.platforms)) | (del(.purpose)) | (del(.tags)) | (del(.contributors))" "$cispath" | /opt/homebrew/bin/yq eval --unwrapScalar=true '.description')" cisrslt="$(/opt/homebrew/bin/yq ".[] | select(.name == \"$i\") | (del(.platforms)) | (del(.purpose)) | (del(.tags)) | (del(.contributors))" "$cispath" | /opt/homebrew/bin/yq eval --unwrapScalar=true '.resolution')" cisqrry="$(/opt/homebrew/bin/yq ".[] | select(.name == \"$i\") | (del(.platforms)) | (del(.purpose)) | (del(.tags)) | (del(.contributors))" "$cispath" | /opt/homebrew/bin/yq eval --unwrapScalar=true '.query')" printf "name: %s\nplatform: %s\ndescription: |\n%s\nresolution: |\n%s\nquery: |\n%s\n" "$cisname" "$cispfrm" "$cisdscr" "$cisrslt" "$cisqrry" | /usr/bin/sed 's/^/ /g;s/^[[:space:]]*name:/- name:/;s/^[[:space:]]*platform:/ platform:/;s/^[[:space:]]*description:/ description:/;s/^[[:space:]]*resolution:/ resolution:/;s/^[[:space:]]*query:/ query:/'# set -x# trap read debugdoneEm seguida, você pode executar este comando para carregar essas políticas em sua instância do FleetDM.
fleetctl apply --policies-team "Workstations" -f cis-policy-queries.ymlOnde as ferramentas MDM se encaixam (TI de frota/ Factorial )
O Fleet expõe consultas de políticas para avaliar a conformidade com o CIS no macOS 13+ e no Windows 10+ (Enterprise).
As políticas não resolvem o problema por si só — você ainda precisa de perfis MDM e/ou scripts para aplicar as configurações (por exemplo, habilitar o FileVault e impedir sua desativação), e pode usar automações para direcionar fluxos de trabalho de correção. Algumas verificações exigem inscrição no MDM e permissões específicas do agente.
Você pode encontrar nossos perfis e scripts de remediação abaixo.
Criptografia de disco
Esta política foi criada com Factorial IT e funciona tanto para dispositivos macOS quanto Windows.
- No Factorial IT, acesse MDM > Perfis.
- Selecione todos os dispositivos
- Clique no cartão: Criptografia
- Clique em “Ativar configuração”
- Por fim, confirme.
Política de senhas e bloqueio de tela automático
Tempos de bloqueio curtos e senhas fortes ajudam a prevenir ataques como observação indevida, uso indevido por funcionários e acesso oportunista a laptops desacompanhados.
Esta política foi criada com Factorial IT e funciona para dispositivos iOS, macOS e Windows.
- No Factorial IT, acesse MDM > Perfis.
- Selecione todos os dispositivos
- Clique no cartão: Senha e Bloqueio de tela
- Clique em “Ativar configuração”
- Navegue até as abas Mac, Windows e iOS para configurar cada uma delas.
- Finalmente, confirme.

Firewall integrado
Negar o tráfego de entrada por padrão reduz a probabilidade de um serviço inativo se tornar um ponto de entrada na rede, especialmente em redes Wi-Fi públicas.
Esta política foi criada com Factorial IT e funciona tanto para dispositivos macOS quanto Windows.
- No Factorial IT, acesse MDM > Perfis.
- Selecione todos os dispositivos
- Clique no cartão: Firewall
- Clique em “ativar configuração”
- Por fim, confirme.

Modo Invisível do Firewall (macOS)
Ocultar-se de sondas ICMP e similares dificulta a enumeração de dispositivos em varreduras e retarda a propagação do worm.
Essa política não está padronizada no Factorial IT e precisa ser configurada como uma Configuração de Perfil Personalizada.
- No Factorial IT, acesse MDM > Perfis.
- Selecione todos os dispositivos
- Clique no cartão: Adicionar uma configuração MDM personalizada
- Dê um nome (ex: Bloquear ICMP) e uma descrição (ex: a descrição acima).
- Para macOS , carregue o seguinte arquivo mobileconfig.
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"> <dict> <key>PayloadType</key> <string>Configuration</string> <key>PayloadVersion</key> <integer>1</integer> <key>PayloadIdentifier</key> <string>com.getprimo.cis.6EC2A11D-313F-410F-B2FA-80F1D726624A</string> <key>PayloadUUID</key> <string>AE317001-B5E0-4F78-B971-954506775306</string> <key>PayloadDisplayName</key> <string>Firewall Stealth Mode</string> <key>PayloadRemovalDisallowed</key> <true/> <key>PayloadContent</key> <array> <dict> <key>PayloadType</key> <string>com.apple.security.firewall</string> <key>PayloadVersion</key> <integer>1</integer> <key>PayloadIdentifier</key> <string>com.getprimo.cis.stealth</string> <key>PayloadUUID</key> <string>B852FF89-DBE2-4F85-BE9C-20D180F5C859</string> <key>EnableStealthMode</key> <true/> </dict> </array> </dict></plist - Por fim, confirme.