Mudanças entre as edições de "BrbOS/Aplicativos/DNS/Zone/RPZ"

De BrByte Wiki
< BrbOS‎ | Aplicativos‎ | DNS‎ | Zone
Linha 1: Linha 1:
 
=DNS Política de zona - RPZ=
 
=DNS Política de zona - RPZ=
  
Agora o BrbOS conta com uma nova opção para poder realizar o bloqueio de domínios solicitados por órgãos como por exemplo a ANATEL.  
+
O sistema possui suporte para [[BrbOS/Aplicativos/DNS/Zone/Local|Zona Local]]. Isso torna possível fornecer uma resposta personalizada para nomes de domínio especificados. Embora essas opções sejam amplamente utilizadas pelos usuários, elas são específicas do sistema. Se você opera vários resolvers de diferentes fornecedores, precisa manter suas políticas para várias configurações, que terão sua própria sintaxe. Usar a configuração específica do sistema também torna desafiador consumir políticas de fontes externas.
 +
 
 +
Para fazer com que essas fontes externas funcionem manualmente, você precisa buscar as políticas externas no formato oferecido, reformatá-las de forma que o sistema compreenda e manter essa lista atualizada através da interface ou por API.
  
 
<div class="img-responsive align-center">[[arquivo:brbos-aplicativo-dns-dns-policy-zone.png|link=]]</div>
 
<div class="img-responsive align-center">[[arquivo:brbos-aplicativo-dns-dns-policy-zone.png|link=]]</div>
  
 +
Para automatizar esse processo de forma genérica e padronizada, as Zonas de Política de Resposta (RPZ) são um formato de política que funcionará em diferentes implementações de resolvers e que tem capacidade para ser transferido e carregado diretamente de fontes externas como listas de bloqueio ou a lista da ANATEL - https://api.anablock.net.br/api/domain/all.
  
A base do DNS do nosso BrbOS é o Unbound. Segue a explicação do [https://unbound.docs.nlnetlabs.nl/en/latest/topics/filtering/rpz.html Unbound RPZ]
 
 
Com base na documentação, adaptamos o sistema para poder usar via interface web e facilitar a criação das zonas para bloqueio em massa dos domínios.
 
  
 
=Adicionar Registro=
 
=Adicionar Registro=
  
Para uma nova zona RPZ basta clicar em [[arquivo:add.png|link=]] Adicionar Registro.  
+
Para criar uma nova zona RPZ basta clicar em [[arquivo:add.png|link=]] Adicionar Registro.  
  
 
<div class="img-responsive align-center">[[arquivo:brbos-aplicativo-dns-dns-policy-zone-add.png|link=]]</div>  
 
<div class="img-responsive align-center">[[arquivo:brbos-aplicativo-dns-dns-policy-zone-add.png|link=]]</div>  
Linha 36: Linha 36:
 
| style="text-align:center; vertical-align:middle;" colspan="3"| <i>Override</i>
 
| style="text-align:center; vertical-align:middle;" colspan="3"| <i>Override</i>
 
|-
 
|-
| style="text-align:left; vertical-align:middle;" | Ação
+
|-
| style="text-align:left; vertical-align:middle;" | A ação é tipo de registro que seja aplicado na sua lista de bloqueio de domínio:
+
| style="text-align:center; vertical-align:middle;" colspan="3"| <i>Origem</i>
<br>
+
|-
 +
| style="text-align:left; vertical-align:middle;" | URL
 +
| style="text-align:left; vertical-align:middle;" | Insira a URL cujo a lista de domínios a serem bloqueados estão presentes.
 +
| style="text-align:left; vertical-align:middle;" | https://api.anablock.net.br/api/domain/all
 +
|-
 +
| style="text-align:left; vertical-align:middle;" | Dia da Semana
 +
| style="text-align:left; vertical-align:middle;" | Escolha um dia da semana que deseja que a lista dessa URL seja checada novamente para saber se foram inseridos novos domínios e serem inseridos na sua zona RPZ.
 +
| style="text-align:left; vertical-align:middle;" | Todos os Dias.
 +
|-
 +
| style="text-align:left; vertical-align:middle;" | Tempo
 +
| style="text-align:left; vertical-align:middle;" | Escolha o horário que o BrbOS irá consultar novamente a URL.
 +
| style="text-align:left; vertical-align:middle;" | 00:00:00
 +
|-
 +
| style="text-align:left; vertical-align:middle;" | Override
 +
| style="text-align:left; vertical-align:middle;" colspan="2" | Essa opção está interligada com a opção acima. Caso a lista de domínios presentes na sua URL já tiver um tipo de registro, ao marcar a opção override o sistema subscreve os registros pelo que foi marcado.
 +
|-
 +
| style="text-align:left; vertical-align:middle;" | Tipo
 +
| style="text-align:left; vertical-align:middle;" | Se desejar formatar os domínios com o registro específico, poderá marcar um tipo de registro e o valor que ele terá.
 
<ul>
 
<ul>
<li><b>nxdomain</b>: NXDOMAIN significa "No Such Domain" em inglês, ou seja, "Não Existe Domínio". É uma mensagem de erro que um servidor DNS (Domain Name System) retorna quando não consegue encontrar o registro DNS para o nome de domínio consultado.</li>
+
<li><b>A - a host address</b>: Pode apontar a lista de domínios para um endereço de IPv4 específico.</li>
 
<ul>
 
<ul>
 
<li>
 
<li>
 +
<code>
 +
127.0.0.1
 +
</code>
 +
</li>
 +
</ul>
 +
<li><b>AAAA - ipv6 address</b>: Pode apontar a lista de domínios para um endereço IPv6 específico.</li>
 +
<ul>
 +
<li>
 +
<code>
 +
<nowiki>::1</nowiki>
 +
</code>
 +
</li>
 +
</ul>
 +
<li><b>CNAME - the canonical name for an alias</b>: Pode apontar para um outro domínio.</li>
 +
<ul>
 +
<li>
 +
<code>
 +
dev55.brbyte.com.
 +
</code>
 +
</li>
 +
</ul>
 +
<li><b>TXT - text strings</b>: Pode escrever um texto para que a consulta desse domínio, traga esse valor escrito.</li>
 +
<ul>
 +
<li>
 +
<code>
 +
domínio bloqueado Anatel
 +
</code>
 +
</li>
 +
</ul>
 +
</ul>
 +
| style="text-align:left; vertical-align:middle;" | CNAME
 +
|-
 +
| style="text-align:left; vertical-align:middle;" | Valor
 +
| style="text-align:left; vertical-align:middle;" colspan="2" | Irá preencher esse campo com base com base no tipo de registro da zona escolhido na opção anterior.
 +
|}
 +
 +
 +
=RPZ Actions=
 +
 +
A ação é tipo de registro que seja aplicado na sua lista de bloqueio de domínio:
 +
 +
* '''nxdomain''': NXDOMAIN significa "No Such Domain" em inglês, ou seja, "Não Existe Domínio". É uma mensagem de erro que um servidor DNS (Domain Name System) retorna quando não consegue encontrar o registro DNS para o nome de domínio consultado.
 
<blockquote><pre>
 
<blockquote><pre>
host 0byv9mgbn0.com
+
term$ host 0byv9mgbn0.com
 
Host 0byv9mgbn0.com not found: 3(NXDOMAIN)
 
Host 0byv9mgbn0.com not found: 3(NXDOMAIN)
 
</pre></blockquote>
 
</pre></blockquote>
 
<blockquote><pre>
 
<blockquote><pre>
nslookup 0byv9mgbn0.com 10.100.0.25
+
term$ nslookup 0byv9mgbn0.com 10.100.0.25
 
Servidor:  UnKnown
 
Servidor:  UnKnown
 
Address:  10.100.0.25
 
Address:  10.100.0.25
Linha 54: Linha 113:
 
*** UnKnown não encontrou 0byv9mgbn0.com: Non-existent domain
 
*** UnKnown não encontrou 0byv9mgbn0.com: Non-existent domain
 
</pre></blockquote>
 
</pre></blockquote>
</li>
+
 
</ul>
+
* '''nodata''': Essa ação retorna uma resposta "NODATA", indicando que não há dados disponíveis para a consulta, independentemente do tipo de consulta.
<li><b>nodata</b>: Essa ação retorna uma resposta "NODATA", indicando que não há dados disponíveis para a consulta, independentemente do tipo de consulta.</li>
 
<ul>
 
<li>
 
 
<blockquote><pre>
 
<blockquote><pre>
nslookup 0byv9mgbn0.com 10.100.0.25
+
term$ nslookup 0byv9mgbn0.com 10.100.0.25
 
Servidor:  UnKnown
 
Servidor:  UnKnown
 
Address:  10.100.0.25
 
Address:  10.100.0.25
Linha 66: Linha 122:
 
*** Nenhum registro internal type for both IPv4 and IPv6 Addresses (A+AAAA) disponível para 0byv9mgbn0.com
 
*** Nenhum registro internal type for both IPv4 and IPv6 Addresses (A+AAAA) disponível para 0byv9mgbn0.com
 
</pre></blockquote>
 
</pre></blockquote>
</li>
+
 
</ul>
+
* '''passthru''': Esta ação é usada para isentar certas respostas DNS de uma regra de política que abrange um domínio inteiro ou um grande bloco de endereços IP.
<li><b>passthru</b>: Esta ação é usada para isentar certas respostas DNS de uma regra de política que abrange um domínio inteiro ou um grande bloco de endereços IP.</li>
 
<ul>
 
<li>
 
 
<blockquote><pre>
 
<blockquote><pre>
nslookup 0byv9mgbn0.com 10.100.0.25
+
term$ nslookup 0byv9mgbn0.com 10.100.0.25
 
Servidor:  UnKnown
 
Servidor:  UnKnown
 
Address:  10.100.0.25
 
Address:  10.100.0.25
Linha 91: Linha 144:
 
           173.255.194.134
 
           173.255.194.134
 
</pre></blockquote>
 
</pre></blockquote>
</li>
+
 
</ul>
+
* '''drop''': Essa ação descarta a solicitação e a resposta, sem enviar qualquer resposta ao cliente DNS.
<li><b>drop</b>: Essa ação descarta a solicitação e a resposta, sem enviar qualquer resposta ao cliente DNS.</li>
 
<ul>
 
<li>
 
 
<blockquote><pre>
 
<blockquote><pre>
nslookup 0byv9mgbn0.com 10.100.0.25
+
term$ nslookup 0byv9mgbn0.com 10.100.0.25
 
Servidor:  UnKnown
 
Servidor:  UnKnown
 
Address:  10.100.0.25
 
Address:  10.100.0.25
Linha 111: Linha 161:
 
*** O tempo limite da solicitação para UnKnown expirou
 
*** O tempo limite da solicitação para UnKnown expirou
 
</pre></blockquote>
 
</pre></blockquote>
</li>
+
 
</ul>
+
* '''disable''': Deixa desabilitado qualquer ação da zona RPZ criada.
<li><b>disable</b>: Deixa desabilitado qualquer ação da zona RPZ criada.</li>
 
<ul>
 
<li>
 
 
<blockquote><pre>
 
<blockquote><pre>
nslookup 0byv9mgbn0.com 10.100.0.25
+
term$ nslookup 0byv9mgbn0.com 10.100.0.25
 
Servidor:  UnKnown
 
Servidor:  UnKnown
 
Address:  10.100.0.25
 
Address:  10.100.0.25
Linha 136: Linha 183:
 
           72.14.178.174
 
           72.14.178.174
 
</pre></blockquote>
 
</pre></blockquote>
</li>
+
 
</ul>
+
* '''cname''': O CNAME (Canonical Name) é um tipo de registro usado para criar aliases, ou seja, apontar um nome de domínio para outro. Ele é frequentemente utilizado quando se deseja que um determinado nome de domínio resolva para o mesmo endereço IP que outro nome de domínio já existente. No caso você pode adicionar o domínio do seu DNS no campo cname, pois agora tem uma tela que mensagem de bloqueio dentro do BrbOS.
<li><b>cname</b>: O CNAME (Canonical Name) é um tipo de registro usado para criar aliases, ou seja, apontar um nome de domínio para outro. Ele é frequentemente utilizado quando se deseja que um determinado nome de domínio resolva para o mesmo endereço IP que outro nome de domínio já existente. No caso você pode adicionar o domínio do seu DNS no campo cname, pois agora tem uma tela que mensagem de bloqueio dentro do BrbOS.</li>
 
<ul>
 
<li>
 
 
<blockquote><pre>
 
<blockquote><pre>
nslookup 0byv9mgbn0.com 10.100.0.25
+
term$ nslookup 0byv9mgbn0.com 10.100.0.25
 
Servidor:  UnKnown
 
Servidor:  UnKnown
 
Address:  10.100.0.25
 
Address:  10.100.0.25
Linha 150: Linha 194:
 
Aliases:  0byv9mgbn0.com
 
Aliases:  0byv9mgbn0.com
 
</pre></blockquote>
 
</pre></blockquote>
</li>
 
</ul>
 
</ul>
 
| style="text-align:left; vertical-align:middle;" | CNAME
 
|-
 
| style="text-align:center; vertical-align:middle;" colspan="3"| <i>Origem</i>
 
|-
 
| style="text-align:left; vertical-align:middle;" | URL
 
| style="text-align:left; vertical-align:middle;" | Insira a URL cujo a lista de domínios a serem bloqueados estão presentes.
 
| style="text-align:left; vertical-align:middle;" | https://api.anablock.net.br/api/domain/all
 
|-
 
| style="text-align:left; vertical-align:middle;" | Dia da Semana
 
| style="text-align:left; vertical-align:middle;" | Escolha um dia da semana que deseja que a lista dessa URL seja checada novamente para saber se foram inseridos novos domínios e serem inseridos na sua zona RPZ.
 
| style="text-align:left; vertical-align:middle;" | Todos os Dias.
 
|-
 
| style="text-align:left; vertical-align:middle;" | Tempo
 
| style="text-align:left; vertical-align:middle;" | Escolha o horário que o BrbOS irá consultar novamente a URL.
 
| style="text-align:left; vertical-align:middle;" | 00:00:00
 
|-
 
| style="text-align:left; vertical-align:middle;" | Override
 
| style="text-align:left; vertical-align:middle;" colspan="2" | Essa opção está interligada com a opção acima. Caso a lista de domínios presentes na sua URL já tiver um tipo de registro, ao marcar a opção override o sistema subscreve os registros pelo que foi marcado.
 
|-
 
| style="text-align:left; vertical-align:middle;" | Tipo
 
| style="text-align:left; vertical-align:middle;" | Se desejar formatar os domínios com o registro específico, poderá marcar um tipo de registro e o valor que ele terá.
 
<ul>
 
<li><b>A - a host address</b>: Pode apontar a lista de domínios para um endereço de IPv4 específico.</li>
 
<ul>
 
<li>
 
<code>
 
127.0.0.1
 
</code>
 
</li>
 
</ul>
 
<li><b>AAAA - ipv6 address</b>: Pode apontar a lista de domínios para um endereço IPv6 específico.</li>
 
<ul>
 
<li>
 
<code>
 
<nowiki>::1</nowiki>
 
</code>
 
</li>
 
</ul>
 
<li><b>CNAME - the canonical name for an alias</b>: Pode apontar para um outro domínio.</li>
 
<ul>
 
<li>
 
<code>
 
dev55.brbyte.com.
 
</code>
 
</li>
 
</ul>
 
<li><b>TXT - text strings</b>: Pode escrever um texto para que a consulta desse domínio, traga esse valor escrito.</li>
 
<ul>
 
<li>
 
<code>
 
domínio bloqueado Anatel
 
</code>
 
</li>
 
</ul>
 
</ul>
 
| style="text-align:left; vertical-align:middle;" | CNAME
 
|-
 
| style="text-align:left; vertical-align:middle;" | Valor
 
| style="text-align:left; vertical-align:middle;" colspan="2" | Irá preencher esse campo com base com base no tipo de registro da zona escolhido na opção anterior.
 
|}
 
 
 
 
  
 
__NOEDITSECTION__
 
__NOEDITSECTION__

Edição das 01h13min de 28 de março de 2024

DNS Política de zona - RPZ

O sistema possui suporte para Zona Local. Isso torna possível fornecer uma resposta personalizada para nomes de domínio especificados. Embora essas opções sejam amplamente utilizadas pelos usuários, elas são específicas do sistema. Se você opera vários resolvers de diferentes fornecedores, precisa manter suas políticas para várias configurações, que terão sua própria sintaxe. Usar a configuração específica do sistema também torna desafiador consumir políticas de fontes externas.

Para fazer com que essas fontes externas funcionem manualmente, você precisa buscar as políticas externas no formato oferecido, reformatá-las de forma que o sistema compreenda e manter essa lista atualizada através da interface ou por API.

Brbos-aplicativo-dns-dns-policy-zone.png

Para automatizar esse processo de forma genérica e padronizada, as Zonas de Política de Resposta (RPZ) são um formato de política que funcionará em diferentes implementações de resolvers e que tem capacidade para ser transferido e carregado diretamente de fontes externas como listas de bloqueio ou a lista da ANATEL - https://api.anablock.net.br/api/domain/all.


Adicionar Registro

Para criar uma nova zona RPZ basta clicar em Add.png Adicionar Registro.

Brbos-aplicativo-dns-dns-policy-zone-add.png


Campo Descrição Exemplo
Nome Nesse campo você cria um nome para a sua zona RPZ. A nomenclatura tem uma padronização, deve no final sempre colocar .rpz.(ponto, rpz, ponto). block.ads.rpz.
TTL TTL – que, como já mencionamos, significa “Time to Live” – é uma configuração que determina quanto tempo seus dados (em forma de pacote) são válidos e disponíveis de dentro de uma rede antes que o roteador os limpe. 3600
Tags A tag sempre para você filtrar uma lista de bloco de IPs que iram ser aplicado essa política de bloqueio. -
Override
Origem
URL Insira a URL cujo a lista de domínios a serem bloqueados estão presentes. https://api.anablock.net.br/api/domain/all
Dia da Semana Escolha um dia da semana que deseja que a lista dessa URL seja checada novamente para saber se foram inseridos novos domínios e serem inseridos na sua zona RPZ. Todos os Dias.
Tempo Escolha o horário que o BrbOS irá consultar novamente a URL. 00:00:00
Override Essa opção está interligada com a opção acima. Caso a lista de domínios presentes na sua URL já tiver um tipo de registro, ao marcar a opção override o sistema subscreve os registros pelo que foi marcado.
Tipo Se desejar formatar os domínios com o registro específico, poderá marcar um tipo de registro e o valor que ele terá.
  • A - a host address: Pode apontar a lista de domínios para um endereço de IPv4 específico.
    • 127.0.0.1
  • AAAA - ipv6 address: Pode apontar a lista de domínios para um endereço IPv6 específico.
    • ::1
  • CNAME - the canonical name for an alias: Pode apontar para um outro domínio.
    • dev55.brbyte.com.
  • TXT - text strings: Pode escrever um texto para que a consulta desse domínio, traga esse valor escrito.
    • domínio bloqueado Anatel
CNAME
Valor Irá preencher esse campo com base com base no tipo de registro da zona escolhido na opção anterior.


RPZ Actions

A ação é tipo de registro que seja aplicado na sua lista de bloqueio de domínio:

  • nxdomain: NXDOMAIN significa "No Such Domain" em inglês, ou seja, "Não Existe Domínio". É uma mensagem de erro que um servidor DNS (Domain Name System) retorna quando não consegue encontrar o registro DNS para o nome de domínio consultado.
term$ host 0byv9mgbn0.com
Host 0byv9mgbn0.com not found: 3(NXDOMAIN)
term$ nslookup 0byv9mgbn0.com 10.100.0.25
Servidor:  UnKnown
Address:  10.100.0.25

*** UnKnown não encontrou 0byv9mgbn0.com: Non-existent domain
  • nodata: Essa ação retorna uma resposta "NODATA", indicando que não há dados disponíveis para a consulta, independentemente do tipo de consulta.
term$ nslookup 0byv9mgbn0.com 10.100.0.25
Servidor:  UnKnown
Address:  10.100.0.25

*** Nenhum registro internal type for both IPv4 and IPv6 Addresses (A+AAAA) disponível para 0byv9mgbn0.com
  • passthru: Esta ação é usada para isentar certas respostas DNS de uma regra de política que abrange um domínio inteiro ou um grande bloco de endereços IP.
term$ nslookup 0byv9mgbn0.com 10.100.0.25
Servidor:  UnKnown
Address:  10.100.0.25

Não é resposta autoritativa:
Nome:    0byv9mgbn0.com
Addresses:  96.126.123.244
          72.14.178.174
          45.33.18.44
          45.33.2.79
          72.14.185.43
          45.33.30.197
          45.33.20.235
          45.56.79.23
          198.58.118.167
          45.33.23.183
          45.79.19.196
          173.255.194.134
  • drop: Essa ação descarta a solicitação e a resposta, sem enviar qualquer resposta ao cliente DNS.
term$ nslookup 0byv9mgbn0.com 10.100.0.25
Servidor:  UnKnown
Address:  10.100.0.25

DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
*** O tempo limite da solicitação para UnKnown expirou
  • disable: Deixa desabilitado qualquer ação da zona RPZ criada.
term$ nslookup 0byv9mgbn0.com 10.100.0.25
Servidor:  UnKnown
Address:  10.100.0.25

Não é resposta autoritativa:
Nome:    0byv9mgbn0.com
Addresses:  198.58.118.167
          45.56.79.23
          72.14.185.43
          45.33.20.235
          45.33.18.44
          173.255.194.134
          96.126.123.244
          45.33.2.79
          45.33.23.183
          45.33.30.197
          45.79.19.196
          72.14.178.174
  • cname: O CNAME (Canonical Name) é um tipo de registro usado para criar aliases, ou seja, apontar um nome de domínio para outro. Ele é frequentemente utilizado quando se deseja que um determinado nome de domínio resolva para o mesmo endereço IP que outro nome de domínio já existente. No caso você pode adicionar o domínio do seu DNS no campo cname, pois agora tem uma tela que mensagem de bloqueio dentro do BrbOS.
term$ nslookup 0byv9mgbn0.com 10.100.0.25
Servidor:  UnKnown
Address:  10.100.0.25

Nome:    dev55.brbyte.com
Address:  177.52.73.55
Aliases:  0byv9mgbn0.com