<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arquivos Python - Remontti</title>
	<atom:link href="https://blog.remontti.com.br/tag/python/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.remontti.com.br/tag/python</link>
	<description>rudimar@remontti</description>
	<lastBuildDate>Fri, 21 Jun 2024 21:17:20 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://blog.remontti.com.br/wp-content/uploads/2024/09/icone-rr-80x80.png</url>
	<title>Arquivos Python - Remontti</title>
	<link>https://blog.remontti.com.br/tag/python</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Instalação e Configuração do NetBox no Debian 12: Guia Completo</title>
		<link>https://blog.remontti.com.br/7851</link>
					<comments>https://blog.remontti.com.br/7851#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Fri, 05 Apr 2024 15:16:39 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Administração de Sistemas]]></category>
		<category><![CDATA[Configuração do servidor]]></category>
		<category><![CDATA[Configuração NetBox]]></category>
		<category><![CDATA[Debian 12]]></category>
		<category><![CDATA[Debian 12 Bookworm]]></category>
		<category><![CDATA[Debian Bookworm]]></category>
		<category><![CDATA[documentação de rede]]></category>
		<category><![CDATA[gerenciamento de racks]]></category>
		<category><![CDATA[gerenciamento de rede]]></category>
		<category><![CDATA[gestão de rede]]></category>
		<category><![CDATA[Infraestrutura de Rede]]></category>
		<category><![CDATA[infraestrutura de TI]]></category>
		<category><![CDATA[instalação do NetBox]]></category>
		<category><![CDATA[Instalação NetBox]]></category>
		<category><![CDATA[IPAM]]></category>
		<category><![CDATA[IPAM (Gerenciamento de Endereço IP)]]></category>
		<category><![CDATA[netbox]]></category>
		<category><![CDATA[NetBox Debian]]></category>
		<category><![CDATA[NetBox Plugin]]></category>
		<category><![CDATA[NetBox Setup]]></category>
		<category><![CDATA[NetBox Topology Views]]></category>
		<category><![CDATA[Open Source Networking]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Redis]]></category>
		<category><![CDATA[Segurança de Rede]]></category>
		<category><![CDATA[tutorial de TI]]></category>
		<category><![CDATA[Tutorial NetBox]]></category>
		<category><![CDATA[virtualização]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=7851</guid>

					<description><![CDATA[<p>Netbox é um aplicativo web de código aberto desenvolvido para auxiliar na gestão e documentação de redes de computadores. Originalmente criado pela equipe de engenharia de rede da DigitalOcean, o NetBox foi desenhado para&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/7851">Instalação e Configuração do NetBox no Debian 12: Guia Completo</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img fetchpriority="high" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-remontti-com-br.png" alt="" width="1792" height="1024" class="alignnone size-full wp-image-7868" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-remontti-com-br.png 1792w, https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-remontti-com-br-300x171.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-remontti-com-br-1024x585.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-remontti-com-br-768x439.png 768w, https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-remontti-com-br-1536x878.png 1536w" sizes="(max-width: 1792px) 100vw, 1792px" /><br />
<a href="https://docs.netbox.dev/en/stable/" rel="noopener" target="_blank">Netbox</a> é um aplicativo web de código aberto desenvolvido para auxiliar na gestão e documentação de redes de computadores. Originalmente criado pela equipe de engenharia de rede da DigitalOcean, o NetBox foi desenhado para satisfazer as necessidades de engenheiros de rede e infraestrutura, cobrindo aspectos como:</p>
<ul>
<li><strong>Gerenciamento de endereço IP (IPAM)</strong> &#8211; Redes e endereços IP, VRFs e VLANs</li>
<li><strong>Racks de equipamentos</strong> &#8211; Organizados por grupo e local</li>
<li><strong>Dispositivos</strong> &#8211; Tipos de dispositivos e suas instalações</li>
<li><strong>Conexões</strong> &#8211; Rede, console e conexões de energia entre dispositivos</li>
<li><strong>Virtualização</strong> &#8211; Máquinas virtuais e clusters</li>
<li><strong>Circuitos de dados</strong> &#8211; Circuitos e fornecedores de comunicações de longa distância</li>
<li><strong>Segredos</strong> &#8211; Armazenamento criptografado de credenciais sensíveis</li>
</ul>
<p><strong>Requisitos:</strong><br />
<a href="https://blog.remontti.com.br/2966" rel="noopener" target="_blank">Instalação do Debian 12 Bookworm</a></p>
<p>Para tornar-se root corretamente, utilize o comando abaixo com o sinal de hífen.</p>
<pre class="remontti-code">su -</pre>
<p>Instale os pacotes necessários que são pré-requisitos para a instalação do NetBox.</p>
<pre class="remontti-code"># apt install gcc vim net-tools wget redis-server supervisor\
  postgresql-contrib postgresql libpq-dev \
  python3 python3-pip python3-venv python3-dev\
  build-essential libxml2-dev libxslt1-dev\
  libffi-dev libssl-dev zlib1g-dev graphviz\
  nginx redis python3-setuptools python3-gunicorn</pre>
<p>Faça login como usuário postgres para criar o banco de dados necessário.</p>
<pre class="remontti-code"># su - postgres</pre>
<p>Acesse o terminal do postgres com o comando a seguir:</p>
<pre class="remontti-code">$ psql</pre>
<p>Altere a <strong>senha</strong> conforme necessário.</p>
<pre class="remontti-code">postgres=# CREATE DATABASE netboxdb;
postgres=# CREATE USER netboxuser WITH PASSWORD &#039;sua_senha&#039;;
postgres=# GRANT ALL PRIVILEGES ON DATABASE netboxdb TO netboxuser;
postgres=# ALTER USER netboxuser WITH SUPERUSER;
postgres=# \q</pre>
<p>Verifique se o serviço redis está funcionando corretamente.</p>
<pre class="remontti-code">$ redis-cli ping</pre>
<p>Deverá retornar: <strong>PONG</strong></p>
<p>Volte ao usuário root.</p>
<pre class="remontti-code">exit</pre>
<p>Prossiga com o download do projeto NetBox verificando se há uma nova versão disponível no <a href="https://github.com/netbox-community/netbox/releases" rel="noopener" target="_blank">GitHub</a>. Acesse o diretório temporário, faça o download do NetBox, extraia o arquivo, mova para o diretório correto e ajuste as permissões.</p>
<pre class="remontti-code"># cd /tmp
# wget https://github.com/netbox-community/netbox/archive/refs/tags/v3.7.4.tar.gz
# tar vxf v3.7.4.tar.gz
# mv netbox*/ /opt/netbox
# cd /opt/netbox/
# chown www-data: /opt/netbox/netbox/media/ -R</pre>
<p>Gere a SECRET KEY que será usada posteriormente.</p>
<pre class="remontti-code"># /opt/netbox/netbox/generate_secret_key.py </pre>
<p>Exemplo:</p>
<pre class="remontti-code-plain">T7TE07O$j^Jqf9(*20q8M5kG4%NBIci#gEEn0$wuw*qodT7Lfo</pre>
<p>Copie e ajuste o arquivo de configuração com suas informações.</p>
<pre class="remontti-code"># cp /opt/netbox/netbox/netbox/configuration_example.py /opt/netbox/netbox/netbox/configuration.py
# vim /opt/netbox/netbox/netbox/configuration.py</pre>
<p>Edite o arquivo de configuração como no exemplo a seguir:</p>
<pre class="remontti-code">ALLOWED_HOSTS = [&#039;localhost&#039;,&#039;netbox.remontti.com.br&#039;]

DATABASE = {
    &#039;NAME&#039;: &#039;netboxdb&#039;,
    &#039;USER&#039;: &#039;netboxuser&#039;,
    &#039;PASSWORD&#039;: &#039;sua_senha&#039;,
    &#039;HOST&#039;: &#039;localhost&#039;,
    &#039;PORT&#039;: &#039;&#039;,
    &#039;CONN_MAX_AGE&#039;: 300,
}

SECRET_KEY = &#039;T7TE07O$j^Jqf9(*20q8M5kG4%NBIci#gEEn0$wuw*qodT7Lfo&#039;

LOGIN_REQUIRED = True</pre>
<p>Proceda com a instalação executando:</p>
<pre class="remontti-code"># /opt/netbox/upgrade.sh</pre>
<p>Crie um usuário administrador para o NetBox com o seguinte comando:</p>
<pre class="remontti-code"># source /opt/netbox/venv/bin/activate
(venv) # python3 /opt/netbox/netbox/manage.py createsuperuser
Username: remontti
Email address: noc@remontti.com.br
Password: xxxx
Password (again): xxxxx
Superuser created successfully.
(venv) # deactivate</pre>
<p>Configure o servidor web (nginx) e inicie os serviços do NetBox.</p>
<pre class="remontti-code"># cp /opt/netbox/contrib/gunicorn.py /opt/netbox/gunicorn.py
# cp /opt/netbox/contrib/*.service /etc/systemd/system/
# sed -i &#039;s/User=netbox/User=root/&#039; /etc/systemd/system/netbox*.service
# sed -i &#039;s/Group=netbox/Group=root/&#039; /etc/systemd/system/netbox*.service
# systemctl daemon-reload
# systemctl enable netbox netbox-rq netbox-housekeeping
# systemctl start netbox netbox-rq netbox-housekeeping
# systemctl status netbox netbox-rq</pre>
<p>Configure o nginx removendo o arquivo default e criando um novo arquivo de configuração.</p>
<pre class="remontti-code"># rm /etc/nginx/sites-enabled/default
# vim /etc/nginx/sites-available/netbox.conf</pre>
<p>Insira a configuração necessária no arquivo `netbox.conf` do nginx.</p>
<pre class="remontti-code-plain">
server {
    listen 80;
    listen [::]:80;
 
    server_name netbox.remontti.com.br;

    client_max_body_size 25m;
 
    location /static/ {
        alias /opt/netbox/netbox/static/;
    }
 
    location / {
        proxy_pass http://localhost:8001;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
</pre>
<p>Crie um link simbólico para ativar a configuração do nginx e reinicie o serviço.</p>
<pre class="remontti-code"># ln -s /etc/nginx/sites-available/netbox.conf /etc/nginx/sites-enabled/
# systemctl restart nginx</pre>
<p>Acesse seu NetBox pelo navegador em <em>&#8220;https://netbox.remontti.com.br/&#8221;</em> ou <em>&#8220;https://ip/&#8221;</em> e faça login com a senha criada.<br />
<img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12.png" alt="" width="1268" height="528" class="alignnone size-full wp-image-7865" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12.png 1268w, https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-300x125.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-1024x426.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-768x320.png 768w" sizes="(max-width: 1268px) 100vw, 1268px" /></p>
<p><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-ok.png" alt="" width="1268" height="897" class="alignnone size-full wp-image-7866" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-ok.png 1268w, https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-ok-300x212.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-ok-1024x724.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-ok-768x543.png 768w" sizes="(max-width: 1268px) 100vw, 1268px" /></p>
<p>Instale o plugin <strong><a href="https://github.com/netbox-community/netbox-topology-views" rel="noopener" target="_blank">topology-views</a></strong>.</p>
<pre class="remontti-code"># source /opt/netbox/venv/bin/activate
(venv) # vim /opt/netbox/netbox/netbox/configuration.py</pre>
<p>Configure o plugin `netbox_topology_views` no arquivo de configuração.</p>
<pre class="remontti-code-plain">PLUGINS = [&quot;netbox_topology_views&quot;]

PLUGINS_CONFIG = {
    &#039;netbox_topology_views&#039;: {
        &#039;static_image_directory&#039;: &#039;netbox_topology_views/img&#039;,
        &#039;allow_coordinates_saving&#039;: True,
        &#039;always_save_coordinates&#039;: True
    }
}
</pre>
<p>Conclua a instalação do plugin e atualize as configurações.</p>
<pre class="remontti-code">(venv) # cd /opt/netbox/netbox
(venv) # pip3 install netbox-topology-views
(venv) # python3 manage.py migrate netbox_topology_views
(venv) # python3 manage.py collectstatic --no-input
# deactivate
# systemctl restart netbox netbox-rq netbox-housekeeping</pre>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-netbox_topology_views.png" alt="" width="1276" height="798" class="alignnone size-full wp-image-7860" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-netbox_topology_views.png 1276w, https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-netbox_topology_views-300x188.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-netbox_topology_views-1024x640.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/04/netbox-debian12-netbox_topology_views-768x480.png 768w" sizes="auto, (max-width: 1276px) 100vw, 1276px" /></p>
<p>Agradecimentos e convite para doação:<br />
<strong>Se quiser fazer uma doação para o café, ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Participe do canal no <a href="https://t.me/blogremontti" rel="noopener noreferrer" target="_blank">telegram</a> para ficar sempre atualizado. Agradeço por qualquer feedback nos comentários ou <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">contato direto</a>.</p>
<p>Fonte: <a href="https://docs.netbox.dev/" rel="noopener" target="_blank">Documentação Oficial do NetBox</a></p>
<p>O post <a href="https://blog.remontti.com.br/7851">Instalação e Configuração do NetBox no Debian 12: Guia Completo</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/7851/feed</wfw:commentRss>
			<slash:comments>18</slash:comments>
		
		
			</item>
		<item>
		<title>Automatizando o bloqueio de sites no Brasil pelo DNS usando a API da anablock.net.br (BIND9+RPZ)</title>
		<link>https://blog.remontti.com.br/7759</link>
					<comments>https://blog.remontti.com.br/7759#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Mon, 22 Jan 2024 17:58:23 +0000</pubDate>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Anablock]]></category>
		<category><![CDATA[Anatel]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[bind]]></category>
		<category><![CDATA[Bloqueio de Domínios]]></category>
		<category><![CDATA[Certificado SSL]]></category>
		<category><![CDATA[Configuração de DNS]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[Domínios Bloqueados]]></category>
		<category><![CDATA[Página de Bloqueio]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[rpz]]></category>
		<category><![CDATA[servidor dns]]></category>
		<category><![CDATA[Servidor WEB]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Zona de Política de Resposta DNS.]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=7759</guid>

					<description><![CDATA[<p>Neste tutorial, abordaremos a configuração de uma Zona de Política de Resposta DNS (RPZ) com o objetivo de simplificar a resolução de nomes alterados, especialmente quando lidamos com escalas substanciais. Nosso objetivo é bloquear&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/7759">Automatizando o bloqueio de sites no Brasil pelo DNS usando a API da anablock.net.br (BIND9+RPZ)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/01/brasil-anatel-bloquei-site-anablock.png" alt="" width="1787" height="1024" class="alignnone size-full wp-image-7770" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/01/brasil-anatel-bloquei-site-anablock.png 1787w, https://blog.remontti.com.br/wp-content/uploads/2024/01/brasil-anatel-bloquei-site-anablock-300x172.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/01/brasil-anatel-bloquei-site-anablock-1024x587.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/01/brasil-anatel-bloquei-site-anablock-768x440.png 768w, https://blog.remontti.com.br/wp-content/uploads/2024/01/brasil-anatel-bloquei-site-anablock-1536x880.png 1536w" sizes="auto, (max-width: 1787px) 100vw, 1787px" /></p>
<p>Neste tutorial, abordaremos a configuração de uma Zona de Política de Resposta DNS (RPZ) com o objetivo de simplificar a resolução de nomes alterados, especialmente quando lidamos com escalas substanciais. Nosso objetivo é bloquear milhares de domínios de forma eficiente, minimizando o consumo de recursos de hardware em nosso servidor.</p>
<p>Não abordarei a instalação do BIND neste momento, pois já disponibilizamos um tutorial completo em nosso blog, que pode ser acessado através do seguinte link:<br />
<a href="https://blog.remontti.com.br/5958" rel="noopener" target="_blank">Servidor DNS Bind9 (Debian 12)</a>. </p>
<p>Para configurar sempre que um domínio bloqueado for resolvido pelo seu DNS em um IP da sua rede, você precisará criar um subdomínio no seu servidor DNS autoritativo. No arquivo de configuração dos seus hosts irei criar um subdomínio chamado bloqueadonobrasil, vejamos um exemplo: </p>
<pre class="remontti-code"># vim /var/cache/bind/master-aut/remontti.com.br/remontti.com.br.hosts</pre>
<p>Exemplo &#8220;<strong>bloqueadonobrasil</strong>&#8220;, ou então apontando para os IPs de localhost mesmo 127.0.0.1 e ::1 onde neste caso se o usuário acessar o domínio bloqueado simplesmente não irá abrir nada.</p>
<pre class="remontti-code-plain">//...
bloqueadonobrasil       A       x.xx.xxx.x
                        AAAA    xxxx:xxxx:xxxx::y
//...</pre>
<h4>DNS PRIMÁRIO (MASTER)</h4>
<p>Agora crie uma zona chamada <strong>rpz.zone</strong> em seu /etc/bind/named.conf.local. em <strong>allow-transfer</strong> e <strong>also-notify</strong> informe os IPs de seus servidores Slaves.</p>
<pre class="remontti-code"># vim /etc/bind/named.conf.local</pre>
<pre class="remontti-code-plain">zone &quot;rpz.zone&quot; {
        type master;
        file &quot;/var/cache/bind/rpz/db.rpz.zone.hosts&quot;;
        allow-query { none; };
        allow-transfer { 10.51.51.3; };
        also-notify { 10.51.51.3; };
};
</pre>
<p>Vamos criar o diretório &#8220;rpz&#8221; e os arquivos de hosts que serão bloqueados.</p>
<pre class="remontti-code"># mkdir /var/cache/bind/rpz/</pre>
<p>Criarei um atalho em /etc/bind para facilitar o acesso da pastar também.</p>
<pre class="remontti-code"># ln -s /var/cache/bind/rpz/ /etc/bind/rpz</pre>
<p>Entendendo como os domínios são bloqueados. A seguir, apresentamos um exemplo do arquivo que servirá como base para o nosso próximo script a seguir:<br />
Nome do arquivo: <strong>/var/cache/bind/rpz/db.rpz.zone.hosts</strong></p>
<pre class="remontti-code-plain">$TTL 1H
@       IN      SOA LOCALHOST. bloqueadonobrasil.remontti.com.br. (
                2024012201      ; Serial  
                1h              ; Refresh
                15m             ; Retry
                30d             ; Expire 
                2h              ; Negative Cache TTL
        )
        NS  bloqueadonobrasil.remontti.com.br.
;       ou
;       NS  localhost.
 
sitequeprecisabloquear.com     IN CNAME .
*.sitequeprecisabloquear.com   IN CNAME .
elesmandamnosfaz.bo.bo         IN CNAME .
*.elesmandamnosfaz.bo.bo       IN CNAME .</pre>
<p>Sendo que para cada domínio que será bloqueado, o mesmo será adicionado:</p>
<pre class="remontti-code-plain">
sitequeprecisabloquear.com        IN CNAME .
*.sitequeprecisabloquear.com      IN CNAME .</pre>
<p>Assim qualquer subdomínio (*).domino.com seja traduzido sempre irá ser apontado para seu IP ou localhost.</p>
<p>Antes de criar o script, ajuste o response-policy dentro do seu <strong>/etc/bind/named.conf.options</strong></p>
<pre class="remontti-code"># vim /etc/bind/named.conf.options</pre>
<p>Deve ficar dentro de <strong>options { &#8230; }</strong> adcione: </p>
<pre class="remontti-code-plain">options {
//...
    response-policy {
      zone &quot;rpz.zone&quot; policy CNAME bloqueadonobrasil.remontti.com.br;
    };
//...</pre>
<p>Ou se você irá apontar para localhost use:</p>
<pre class="remontti-code-plain">options {
//...
    response-policy {
      zone &quot;rpz.zone&quot; policy CNAME localhost;
    };
//...</pre>
<h4>Script AnaBlock</h4>
<p>Para simplificar nossa tarefa, criaremos um script que utiliza o site <a href="https://anablock.net.br" rel="noopener" target="_blank"><strong>https://anablock.net.br</strong></a>, uma plataforma desenvolvida por <a href="http://www.patrickbrandao.com" rel="noopener" target="_blank"><strong>Patrick Brandão</strong></a> da <a href="https://www.nuva.com.br" rel="noopener" target="_blank"><strong>Nuva</strong></a>. Ele projetou uma página abrangente que oferece todas as informações necessárias para acompanhar os bloqueios de conteúdo regulados pela Anatel e pelas autoridades da República Federativa do Brasil.</p>
<p>Porém ANATEL solicitou a remoção dessa lista:<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/01/ana.png" alt="" width="903" height="528" class="alignnone size-full wp-image-7983" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/01/ana.png 903w, https://blog.remontti.com.br/wp-content/uploads/2024/01/ana-300x175.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/01/ana-768x449.png 768w" sizes="auto, (max-width: 903px) 100vw, 903px" /></p>
<p>Para liberação da lista você deve entrar em contato com <a href="http://www.patrickbrandao.com/?#contact" rel="noopener" target="_blank"><strong>Patrick Brandão</strong></a></p>
<p>Crie um diretório onde iremos salvar nosso script: </p>
<pre class="remontti-code"># mkdir /etc/bind/scripts</pre>
<p>Subi meu script no <a href="https://github.com/remontti/anablock_bind9" rel="noopener" target="_blank">Github</a>, mas iremos entrar na nossa pasta /etc/bind/scripts e baixar ele direto para nosso servidor.</p>
<pre class="remontti-code"># cd /etc/bind/scripts
# wget https://raw.githubusercontent.com/remontti/anablock_bind9/main/anablock_bind9.py</pre>
<p>Esse scrip ira verificar verificar qual sua <strong><a href="https://api.anablock.net.br/api/version" rel="noopener" target="_blank">versão</a></strong> e sempre que existir uma nova ou se for sua primeira vez ele irá baixar a <strong><a href="https://api.anablock.net.br/api/domain/all" rel="noopener" target="_blank">lista de todos os domínios</a></strong> e cria o arquivo <strong>db.rpz.zone.hosts</strong> com a lista completa de siste que serão bloqueados pelo seu DNS.</p>
<p>Script foi feito em python3 instale os pacotes necessários para executa-lo.</p>
<pre class="remontti-code"># apt install python3 python3-requests tree</pre>
<p>Execute o script:</p>
<pre class="remontti-code"># python3 /etc/bind/scripts/anablock_bind9.py bloqueadonobrasil.remontti.com.br</pre>
<pre class="remontti-code-plain">Arquivo de zona RPZ atualizado.
Permissões do diretório alteradas com sucesso.
Serviço Bind9 reiniciado com sucesso.</pre>
<pre class="remontti-code"># tree -h /var/cache/bind/rpz/</pre>
<p>Seu diretório terá os seguintes arquivos</p>
<pre class="remontti-code-plain">/var/cache/bind/rpz/
├── [159K]  db.rpz.zone.hosts
├── [ 46K]  domain_all
└── [  11]  version</pre>
<p>Se você executar o script novamente nada irá acontecer até que uma nova versão seja lancada.</p>
<p>Para que tenhamos nossa lista sempre atualizada, colocamos o script para ser executado todos os dias a meia noite.</p>
<pre class="remontti-code"># echo &#039;00 00   * * *   root    python3 /etc/bind/scripts/anablock_bind9.py bloqueadonobrasil.remontti.com.br&#039;\ &gt;&gt; /etc/crontab
# systemctl restart cron</pre>
<h3>Testes</h3>
<p>Agora faça um teste para ver o que seu servidor ira traduzir corretamente:</p>
<pre class="remontti-code"># dig 2filmestorrent.top @localhost</pre>
<pre class="remontti-code-plain">; &lt;&lt;&gt;&gt; DiG 9.11.5-P4-5.1+deb10u9-Debian &lt;&lt;&gt;&gt; 2filmestorrent.top @localhost
;; global options: +cmd
;; Got answer:
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 42124
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: be484fb71dfe219dd9e6544465ae7d4b7e142ef750ed0d80 (good)
;; QUESTION SECTION:
;2filmestorrent.top.		IN	A

;; ANSWER SECTION:
2filmestorrent.top.	5	IN	CNAME	bloqueadonobrasil.remontti.com.br.
bloqueadonobrasil.remontti.com.br. 10800	IN A	x.x.x.x

;; Query time: 479 msec
;; SERVER: ::1#53(::1)
;; WHEN: seg jan 22 11:35:55 -03 2024
;; MSG SIZE  rcvd: 137
</pre>
<h4>DNS SECUNDÁRIO's (SLAVE's)</h4>
<p>Agora crie uma entrada zona chamada <strong>rpz.zone</strong> em seu /etc/bind/named.conf.local. em <strong>masters</strong> e <strong>also-notify</strong> informe os IPs de seus servidores Master.</p>
<pre class="remontti-code"># vim /etc/bind/named.conf.local</pre>
<pre class="remontti-code-plain">zone &quot;rpz.zone&quot; {
    type slave;
    file &quot;/var/cache/bind/rpz/db.rpz.zone.hosts&quot;;
    masters { 10.51.51.2; };
    allow-notify { 10.51.51.2; };
};</pre>
<p>Configure o <strong>response-policy</strong></p>
<pre class="remontti-code"># vim /etc/bind/named.conf.options</pre>
<p>Deve ficar dentro de <strong>options { ... }</strong> adcione: </p>
<pre class="remontti-code-plain">options {
//...
    response-policy {
      zone &quot;rpz.zone&quot; policy CNAME bloqueadonobrasil.remontti.com.br;
      // ou
      // zone &quot;rpz.zone&quot; policy CNAME localhost;
      // 
    };
//...</pre>
<p>Crie o diretório, de permissão, e reinicie o bind.</p>
<pre class="remontti-code"># mkdir /var/cache/bind/rpz/
# chown bind: /var/cache/bind/rpz/ -R
# systemctl restart bind9</pre>
<p>Arquivo db.rpz.zone.hosts será criado dentro de /var/cache/bind/rpz/</p>
<pre class="remontti-code"># tree /var/cache/bind/rpz/</pre>
<pre class="remontti-code-plain">/var/cache/bind/rpz/
└── db.rpz.zone.hosts</pre>
<h3>Configurando uma Página de Bloqueio em Seu Servidor Web</h3>
<p>Vou deixar exemplo com fazer isso em um <strong>Apache</strong>.Crie o diretório onde iremos criar nossa página:</p>
<pre class="remontti-code"># mkdir /var/www/bloqueadonobrasil</pre>
<h4>Apache</h4>
<p>Crie o arquivo de configuração do apache.</p>
<pre class="remontti-code"># vim /etc/apache2/sites-available/bloqueadonobrasil.conf</pre>
<pre class="remontti-code-plain">&lt;virtualhost *:80&gt;
        Protocols h2 http/1.1
        ServerName bloqueadonobrasil.remontti.net.br
        ServerAlias x.xxx.xxx.x
        ServerAlias [xxxx:xxxx:xxxx:xxxx::x]

        ServerAdmin noc@remontti.com.br

        ErrorDocument 404 /index.php
 
        DocumentRoot /var/www/bloqueadonobrasil
 
        &lt;Directory /var/www/bloqueadonobrasil/&gt;
            Options FollowSymLinks
            AllowOverride All
            # Restringe o acesso apenas para os IPs do seu ISP
            Require ip 127.0.0.1 ::1 100.64.0.0/10 x.xx.xxx.x/22 xxxx:xxxx::/32
        &lt;/Directory&gt;
 
        LogLevel warn 
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
&lt;/virtualhost&gt;</pre>
<p>Habilite a configuração e reinicie o Apache</p>
<pre class="remontti-code"># a2ensite bloqueadonobrasil.conf
# systemctl restart apache2</pre>
<p>Instale o certbot para gerar um certificado ssl para o domínio</p>
<pre class="remontti-code"># apt install certbot python3-certbot-apache</pre>
<p>Execute:</p>
<pre class="remontti-code"># certbot</pre>
<p>Selecione seu domínio, e em sguinda reponda com <strong>No redirect</strong></p>
<pre class="remontti-code-plain">Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: remontti.com.br
2: bloqueadonobrasil.remontti.com.br

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter &#039;c&#039; to cancel): 2 &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for bloqueadonobrasil.remontti.com.br
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/bloqueadonobrasil-le-ssl.conf
Deploying Certificate to VirtualHost /etc/apache2/sites-available/bloqueadonobrasil-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/bloqueadonobrasil-le-ssl.conf

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you&#039;re confident your site works on HTTPS. You can undo this
change by editing your web server&#039;s configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press &#039;c&#039; to cancel): 1 &lt;&lt;&lt;&lt;&lt;</pre>
<p>Agora vou deixar um exemplo de página para ajudar você:</p>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/01/anablock-page.png" alt="" width="1513" height="744" class="alignnone size-full wp-image-7765" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/01/anablock-page.png 1513w, https://blog.remontti.com.br/wp-content/uploads/2024/01/anablock-page-300x148.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/01/anablock-page-1024x504.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/01/anablock-page-768x378.png 768w" sizes="auto, (max-width: 1513px) 100vw, 1513px" /></p>
<p>Vamos excluir o diretório que foi criado, já que estou prestes a baixar minha página, que, ao ser descompactada, conterá o mesmo nome.</p>
<pre class="remontti-code"># rm -rf /var/www/bloqueadonobrasil/
# cd /var/www/
# wget https://github.com/remontti/anablock_bind9/raw/main/bloqueadonobrasil.tar.gz
# tar -vxzf bloqueadonobrasil.tar.gz
# rm bloqueadonobrasil.tar.gz</pre>
<p><strong>Gostou? Se quiser apoiar o blog e fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Abraço!</p>
<p>O post <a href="https://blog.remontti.com.br/7759">Automatizando o bloqueio de sites no Brasil pelo DNS usando a API da anablock.net.br (BIND9+RPZ)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/7759/feed</wfw:commentRss>
			<slash:comments>22</slash:comments>
		
		
			</item>
	</channel>
</rss>
