DNS Docs

Bloquear domínios

Bloqueio individual, lista inteira, listas externas por URL e como provar que o bloqueio pegou.

O bloqueio vale para toda a base de uma vez, sem instalar nada no equipamento do assinante.

Esta página cobre os três caminhos para bloquear — um domínio, uma lista recebida, uma lista mantida por terceiros — e, principalmente, como provar que o bloqueio realmente pegou.

Onde clicar, passo a passo

Segurança → Bloqueio de domínios
Segurança → Bloqueio de domínios

A primeira aba traz as listas prontas — conjuntos mantidos por terceiros, que você liga e desliga. Cobrem a maior parte do que se quer bloquear sem trabalho manual nenhum.

Aba Domínios Customizados
Aba Domínios Customizados

É onde entram os domínios que você decide bloquear ou liberar, independentemente do que as listas de terceiros digam.

Informar o domínio
Informar o domínio

Um domínio por entrada. O bloqueio vale para toda a base de assinantes — não é por cliente.

Para agir sobre um cliente específico, o caminho é outro: veja investigar um cliente suspeito.

Escolher a política
Escolher a política

A política decide o que o assinante recebe, e a escolha muda o suporte que você vai dar:

PolíticaO cliente vêQuando usar
Domínio inexistente"Este site não existe"Padrão. O navegador dá erro claro e o usuário desiste
Descartar em silêncioNada — a consulta someQuando não se quer sinalizar que há bloqueio. Gera reclamação de "internet lenta", porque o cliente espera até estourar o tempo
Sem registroResposta vaziaCasos específicos de compatibilidade
LiberarResolve normalmenteExceção: tira o domínio do bloqueio das listas de terceiros

Liberar é o que resolve falso positivo. Quando uma lista pública marca por engano um serviço de que seus clientes dependem, você não desliga a lista inteira — libera aquele domínio.

Em lote
Em lote

Para listas grandes, a importação aceita colar vários domínios de uma vez, um por linha, com a política e um comentário.

O comentário é o que salva meses depois, quando ninguém lembra por que aquele domínio está lá.

Um domínio de cada vez

É o caminho para o caso avulso: uma ordem judicial, um domínio que o time de segurança pediu, um site de phishing que chegou por denúncia.

Menu Segurança → Bloqueio de domínios (RPZ), aba Domínios Customizados.

A tela abre na aba Listas de Bloqueio, que costuma estar vazia numa instalação nova. Os bloqueios individuais ficam na segunda aba.

No campo Domínio, informe o nome — phishing.example. Para pegar a subárvore inteira, use a forma com curinga: *.phishing.example.

O curinga só é aceito como prefixo (*. no começo). Não existe curinga no meio do nome.

Escolha a Política. É ela que decide o que o assinante recebe, e é ela que você vai reconhecer depois na validação:

PolíticaO recursor respondeComo aparece na verificação
Domínio inexistente (NXDOMAIN)"este nome não existe"status: NXDOMAIN
Descartar em silêncio (DROP)nada, a consulta é descartadaconsulta sem resposta, estoura o tempo
Sem registro (NODATA)resposta vaziastatus: NOERROR com ANSWER: 0
Liberar (PASSTHRU)resolve normalmentestatus: NOERROR com o endereço real

Preencha o Comentário — até 200 caracteres. O campo é opcional, mas é o que explica meses depois por que aquele domínio está ali. Acima de 200 caracteres o salvamento é recusado, não truncado.

Clique em Bloquear. O arquivo de zona é regerado e o recarregado na hora — em segundos o bloqueio está ativo.

Curinga não cobre o domínio raiz

*.phishing.example bloqueia www.phishing.example e todos os subdomínios, mas não bloqueia phishing.example. É assim que a tecnologia funciona, não é defeito.

Para cobrir os dois, cadastre duas entradas: phishing.example e *.phishing.example.

Uma lista inteira de uma vez

Recebeu uma planilha com 300 domínios? É este o caminho. Na aba Domínios Customizados, o botão Importar fica no canto superior direito do quadro que lista os domínios.

O formato aceito

Uma entrada por linha, em qualquer uma das três formas:

phishing.example
*.tracker.example
falso-positivo.example,passthru,liberado pelo suporte
malware.example,nxdomain,ticket 4711
FormaO que acontece
dominiousa a política padrão escolhida no próprio modal
dominio,policyusa a política indicada na linha
dominio,policy,comentáriopolítica e comentário na mesma linha

Os valores válidos de política são nxdomain, drop, nodata e passthru — os mesmos quatro da tela, escritos em minúsculas.

Linhas em branco e linhas começando com # ou ; são ignoradas, o que permite colar um arquivo comentado sem limpar antes.

Limites e o que acontece com linha inválida

SituaçãoResultado
Mais de 10.000 linhasa importação inteira é recusada — nada entra. Quebre o arquivo em partes
Domínio malformado (espaço, /, ;, caractere proibido)a linha é contada em "com erro" e pulada; o resto entra normalmente
Política desconhecidaidem: linha pulada, importação continua
Domínio que já está na listacontado em "duplicado(s)" e pulado — reimportar a mesma lista é seguro
Domínio repetido dentro do próprio loteidem, entra uma vez só

Ao final, o aviso resume o que aconteceu no formato N adicionado(s) · N duplicado(s) · N com erro. Se aparecer "com erro", vale conferir o arquivo — normalmente é linha de cabeçalho ou formato de arquivo hosts que passou batido.

A lista veio no formato hosts?

A importação em massa não aceita linhas do tipo 0.0.0.0 dominio.example — esse formato só é entendido na assinatura de lista por URL. Converta antes:

awk '/^(0\.0\.0\.0|127\.0\.0\.1)[ \t]/ {print $2}' hosts.txt > para-importar.txt

Exportar o que já está lá

Ainda no quadro de domínios customizados, CSV e TXT baixam o que está cadastrado:

  • CSV — domain,policy,comment, com cabeçalho. É exatamente o formato que a importação aceita, então exportar de um servidor e importar em outro funciona sem edição nenhuma.
  • TXT — um domínio por linha, sem política nem comentário.

É o caminho para replicar a lista manualmente entre servidores que não estão no mesmo cluster, e para guardar uma cópia antes de uma limpeza grande.

Assinar uma lista mantida por terceiros

Em vez de importar os domínios para dentro, você aponta para um arquivo publicado e o Made4DNS baixa e converte sozinho. Aba Listas de Bloqueio → Adicionar Lista.

O modal já traz três listas populares prontas para clicar; abaixo delas ficam os campos de nome, URL, política e intervalo de atualização (1 hora, 6 horas, 12 horas, 24 horas ou 7 dias).

O que o endereço precisa entregar

O arquivo pode estar em dois formatos, detectados automaticamente:

  • hosts — 0.0.0.0 dominio.example ou 127.0.0.1 dominio.example
  • lista simples — um domínio por linha

Linhas com # ou ; são ignoradas nos dois casos.

E o endereço precisa obedecer a três restrições, que são a causa mais comum de lista que não baixa:

RestriçãoDetalhe
Só http:// e https://qualquer outro esquema é recusado de saída
Sem redirecionamentoa URL tem de servir o arquivo direto. Se responder 301/302, a atualização falha com "Redirect não permitido"
Endereço públicoo nome precisa resolver para um IP público. Um servidor interno em 10.x, 172.16.x, 192.168.x ou localhost é recusado por segurança

O arquivo também tem teto de 64 MiB.

Recebi a lista num Git, num FTP ou num servidor interno

O produto assina lista por URL HTTP/HTTPS, e só isso. Não existe integração com git://, ftp://, SFTP ou compartilhamento de rede.

  • Git — funciona se o repositório for público e você usar o endereço do arquivo cru (o raw do GitHub, GitLab ou Bitbucket), desde que ele sirva o arquivo sem redirecionar. É a forma mais próxima do "exportar via git" e a que os presets já usam.
  • Git privado, FTP, SFTP, pasta de rede — não dá para assinar. Dois caminhos: publicar o arquivo num endereço HTTPS público, ou baixar o arquivo e usar a importação em massa descrita acima. A importação é o caminho universal: qualquer origem de onde você consiga extrair um texto com um domínio por linha serve.

Quando a lista é realmente rebaixada

O download acontece quando você cria a lista, quando clica no botão de atualizar na linha dela, e quando outro servidor do cluster replica a lista. O intervalo escolhido é gravado na configuração do resolvedor, mas o Made4DNS não roda um agendador próprio que rebaixe o arquivo sozinho.

Na prática: confira a coluna Atualizado. Se a data envelheceu e a lista precisa estar fresca, force com o botão de atualizar. Se o último download falhou, a mensagem de erro aparece em vermelho embaixo do nome da lista — não é preciso caçar em log.

O botão de ver domínios (ícone de olho) abre o conteúdo baixado, com busca por trecho do nome. É a forma de confirmar que a lista trouxe o que você esperava antes de sair testando.

Listas de ameaças e Made4BLOCK

A aba Listas de ameaças (Threat Intel) é um catálogo fixo de cinco feeds de segurança, cada um com um botão de ligar e desligar. Ela não aceita URL personalizada — para isso, use a aba Listas de Bloqueio.

Três desses cinco feeds bloqueiam por IP e faixa de IP, não por nome de domínio. Eles protegem, mas nunca aparecem na verificação em modo "está na lista", que procura por nome. Para conferir esses, só o modo "recursor bloqueia".

A aba Made4BLOCK é o serviço de listas gerenciadas (ofícios nacionais e malware curado) e exige uma chave de acesso salva antes de qualquer coisa. Detalhes na referência da tela.

Validar que pegou

Esta é a parte que separa "eu cadastrei" de "está bloqueado". Existem três camadas independentes, e validar uma não valida as outras:

CamadaO que ela provaOnde se confere
1. A entrada existeo domínio está gravado no arquivo de zona de alguma listaVerificar Domínios, modo Está na lista
2. O resolvedor bloqueiao servidor realmente responde bloqueadoVerificar Domínios, modo Recursor bloqueia, ou dig
3. O assinante vê o bloqueioo cliente final deixou de acessarteste do lado do cliente, respeitando cache e TTL

A ferramenta das duas primeiras camadas é o quadro Verificar Domínios, no topo da tela de bloqueio — ele fica visível em todas as abas.

Camada 1 — modo "Está na lista".

Cole os domínios no campo, um por linha, até 200 de uma vez. Colou mais? A tela avisa e verifica só os 200 primeiros.

O resultado marca cada domínio como bloqueado ou livre e, quando bloqueado, mostra em quais zonas ele foi encontrado. Ler o nome da zona é o que responde "de onde veio esse bloqueio":

ZonaOrigem
made4dns_customseus bloqueios manuais (aba Domínios Customizados)
made4dns_allowseus domínios liberados por PASSTHRU
m4b-legal / m4b-malwareMade4BLOCK — ofícios nacionais e malware curado
qualquer outro nomea lista assinada que você batizou com esse nome

Este modo lê os arquivos de zona. É instantâneo, mas é indício, não prova: a própria tela avisa que pode dar falso negativo quando o bloqueio vem de curinga ou do Made4BLOCK, e ele também não enxerga os feeds que bloqueiam por IP nem uma lista que ainda está baixando.

Camada 2 — modo "Recursor bloqueia".

Mesmo campo, outro botão. Aqui cada domínio é resolvido ao vivo contra o resolvedor da máquina em que você está logado. É a prova real.

O resultado mostra o estado da resposta DNS entre parênteses — NXDOMAIN, NOERROR, SERVFAIL, TIMEOUT. Compare com a tabela de políticas: se você bloqueou com "domínio inexistente" e veio NXDOMAIN, pegou.

Preste atenção num aviso específico, em âmbar: "está na lista mas resolveu (verifique passthru/cache)". Ele significa que o domínio está numa lista e mesmo assim respondeu — quase sempre porque existe uma entrada Liberar para ele, ou porque a resposta antiga ainda está em cache.

Camada 2, por fora — dig na linha de comando.

Vale quando você quer conferir sem entrar no painel, ou quando precisa mostrar a prova para outra pessoa. Aponte para o IP do servidor:

dig @192.0.2.10 phishing.example

O que esperar, por política:

PolíticaResposta esperadaComo reconhecer
Domínio inexistenteNXDOMAINstatus: NXDOMAIN no cabeçalho
Descartar em silêncionenhuma resposta;; connection timed out; no servers could be reached
Sem registroresposta vaziastatus: NOERROR com ANSWER: 0
Liberarresolve normalmentestatus: NOERROR com o endereço real

Para ver só o cabeçalho, sem o ruído do restante:

dig @192.0.2.10 +noall +comments phishing.example

Camada 2 em lote — a lista inteira pela linha de comando.

Útil quando o cliente mandou 300 domínios e você quer devolver um relatório de conferência:

while read -r d; do
  status=$(dig @192.0.2.10 "$d" +noall +comments +tries=1 +time=2 \
           | sed -n 's/.*status: \([A-Z]*\).*/\1/p')
  printf '%-45s %s\n' "$d" "${status:-SEM RESPOSTA}"
done < lista.txt

SEM RESPOSTA na saída é o resultado esperado de quem foi bloqueado com descartar em silêncio — não é falha do teste.

Um controle honesto: repita a mesma consulta contra um resolvedor fora da sua rede (dig @198.51.100.53 phishing.example). Se lá o domínio resolve e no seu servidor não, o bloqueio é seu. Se não resolve nos dois, o domínio simplesmente não existe mais e você não provou nada.

Camada 3 — do lado do assinante.

As duas primeiras camadas provam que o seu servidor bloqueia. Elas não provam que o cliente parou de acessar. Peça um teste na máquina dele:

nslookup phishing.example

Olhe a linha Server: da saída. Ela tem de mostrar o IP do seu resolvedor. Se mostrar outro endereço, o cliente não está usando o seu DNS e nenhum bloqueio seu vai alcançá-lo — inclusive os de ordem judicial.

E lembre do tempo: a resposta que ele recebeu antes do bloqueio continua válida no cache dele até o expirar.

No cluster, o modo "recursor bloqueia" testa o servidor em que você está logado. Para provar que a base inteira está coberta, repita o dig apontando o IP de cada servidor, ou entre no painel de cada um.

Quando o bloqueio parece não ter pegado

SintomaCausa provávelO que fazer
"Está na lista" diz bloqueado, "Recursor bloqueia" diz livreresposta antiga ainda em cache, ou existe uma entrada Liberar para o domínioremova a entrada em Visualizar cache e repita; confira se o domínio não está com política Liberar
Os dois modos dizem bloqueado, mas o assinante continua acessandocache do equipamento do cliente, ou TTL da resposta antiga ainda válidoesperar o TTL ou limpar o cache no lado do cliente
O nslookup do cliente aponta outro servidorcliente configurado com outro DNS, ou DNS criptografado do navegadorcorrigir a configuração do cliente; barrar DNS de terceiros é assunto de firewall
Bloqueei com curinga e o domínio raiz continua resolvendo*.dominio.example não casa o próprio dominio.examplecadastrar também a entrada sem o curinga
A lista assinada mostra 0 domíniosdownload ainda em andamento, ou falhouveja a mensagem em vermelho na linha da lista; force o botão de atualizar
A lista nunca atualiza sozinhanão há agendador próprio de downloadforce pelo botão de atualizar quando a coluna Atualizado envelhecer
A lista por URL nunca baixaURL redireciona, não é HTTP/HTTPS, ou o servidor é internouse o endereço final do arquivo, público, sem redirecionamento
Domínio bloqueado por lista de terceiros continua resolvendohá uma entrada Liberar (PASSTHRU) para elea lista de liberados tem prioridade máxima, inclusive sobre o Made4BLOCK
Feed de ameaça ativo, mas "Está na lista" não encontra nadao feed bloqueia por IP ou faixa de IP, não por nomeconfirme pelo modo "Recursor bloqueia"
Um servidor do cluster bloqueia e outro nãoa réplica ainda não chegou, ou a lista foi criada só naquele nóteste com dig apontando cada IP e confira a lista nos dois painéis
Nada é bloqueado, nem os domínios antigosencaminhamento de emergência do firewall ligadoveja o aviso no fim desta página

Liberar um domínio bloqueado por engano

Quando uma lista pública marca por engano um serviço de que seus clientes dependem, você não desliga a lista inteira — libera aquele domínio.

Aba Domínios Customizados. Informe o domínio e escolha a política Liberar (PASSTHRU). O quadro muda de cor e passa a se chamar "Liberar Domínio", com o aviso sobre prioridade.

Preencha o comentário com o motivo e o número do chamado. Numa liberação isso importa mais do que num bloqueio: é uma exceção a uma decisão de terceiro, e alguém vai perguntar por quê.

Confirme. A entrada vai para a lista de liberados, que é avaliada antes de qualquer lista de bloqueio.

Valide — e aqui o modo importa. No modo "Está na lista" o domínio continua aparecendo, agora na zona made4dns_allow; isso é o esperado, não é bloqueio. A prova de que ele voltou a funcionar é o modo "Recursor bloqueia" mostrando que ele resolve, ou o dig devolvendo o endereço real.

Se ainda vier bloqueado, é cache: a resposta de bloqueio anterior vale por cerca de um minuto. Espere ou limpe em Visualizar cache.

Liberar vence tudo, inclusive o bloqueio legal

A lista de liberados tem prioridade máxima: vence as listas da comunidade, as listas de ameaças e também o Made4BLOCK, que inclui ofícios judiciais.

Ou seja: liberar um domínio que está bloqueado por ordem judicial derruba o cumprimento da ordem. Nunca é a ferramenta certa para "resolver" uma reclamação de assinante sobre bloqueio legal.

Ordem judicial

O bloqueio entra na lista, vale para toda a base imediatamente, e a inclusão fica registrada no registro de auditoria com autor e data — que é parte da resposta ao juízo.

Vale acrescentar à resposta a evidência da validação: a saída do dig contra o IP do servidor, mostrando o domínio bloqueado, com data. É barato de produzir e responde de antemão à pergunta seguinte.

Use conta nominal, nunca compartilhada, para esse tipo de alteração. Com conta compartilhada, a auditoria não identifica quem fez.

O modo manutenção do firewall ignora todos os bloqueios

Enquanto o encaminhamento de emergência estiver ativo em Firewall → Manutenção, as consultas vão direto ao servidor externo sem passar pelo resolvedor — e portanto sem passar pelo bloqueio, inclusive os de ordem judicial.

Se precisar de uma janela de manutenção mantendo as políticas, aponte o tráfego para outro servidor Made4DNS do cluster.

Descobrir quem está consultando um domínio

Duas formas:

  • A função de observação temporária, na própria tela de bloqueio, liga por uma janela curta a captura de quais clientes consultam aquele domínio. Ela exige o registro de consultas ligado — com ele desligado, a tela recusa a captura em vez de mostrar uma lista vazia.
  • A aba de investigação do registro de consultas varre todo o histórico retido por uma lista de domínios e devolve os endereços de origem.

É assim que se identifica quais máquinas da base estão infectadas.

Lembre que o registro de consultas trabalha por amostragem. "Zero encontrado" não é prova de que nunca foi consultado.

Armadilhas

  1. Curinga não cobre o domínio raiz. *.dominio.example não bloqueia dominio.example. Cadastre as duas entradas.
  2. A importação em massa recusa o lote inteiro acima de 10.000 linhas — nada entra. Quebre o arquivo.
  3. Vírgula no comentário corta o comentário, porque a vírgula é o separador de campos da importação.
  4. A importação não entende formato hosts (0.0.0.0 dominio). Esse formato só vale na assinatura por URL.
  5. O modo "Está na lista" também acusa os domínios que você liberou — eles aparecem na zona made4dns_allow. Leia o nome da zona antes de concluir que está bloqueado.
  6. Lista por URL só em HTTP/HTTPS, sem redirecionamento e em endereço público. Servidor interno e repositório privado não funcionam.
  7. A aba de listas de ameaças não aceita URL personalizada — é um catálogo fixo. URL própria só na aba Listas de Bloqueio.
  8. Feeds que bloqueiam por IP nunca aparecem na verificação por nome. Só o modo "recursor bloqueia" os revela.
  9. A verificação ao vivo testa o servidor em que você está logado. Em cluster, confira cada um.
  10. O modo manutenção do firewall desliga o bloqueio por completo, inclusive ordens judiciais.
  11. A contagem de bloqueios é opcional, vem desligada e é amostrada — coluna vazia não significa que ninguém tentou acessar.

Nesta página