Escolar Documentos
Profissional Documentos
Cultura Documentos
BIND (Berkeley Internet Name Domain ou, como chamado previamente, Berkeley Internet Name Daemon) é o servidor para o protocolo DNS mais utilizado na
Internet, especialmente em sistemas do tipo Unix, onde ele pode ser considerado um padrão de fato.
Requesitos:
Debian 10 Stretch – Instalação Limpa
DNS RECURSIVO
O DNS recursivo é responsável pela resolução de nomes, começando sempre com consultar recursivas nos servidores raízes. Para melhorar a eficiência e reduzir
o tráfego DNS na Internet e aumentar o desempenho em aplicativos de usuário final, fazendo o cache DNS, armazenando resultados de consulta DNS por um
período de tempo determinado na configuração (tempo de vida determinado pelo autoritativo do domínio consultado).
DNS AUTORITIVO
É o serviço DNS que possui autoridade sob um domínio. Assim como servidor ns1.remontti.com.br é o DNS autoritativo de meu domínio remontti.com.br, é ele
que sempre vai responder qualquer subdomínio “hosts” ex blog.remontti.com.br.
E esse servidor que você vai apontar nas configurações de um domínio, exemplo registrado no registro.br.
DNS REVERSO
DNS atua resolvendo o nome do domínio/subdomínio para um endereço IP correspondente. Já o DNS Reverso ele resolve o endereço IP buscando o nome de
domínio associado ao host.
Ou seja, quando temos disponível o endereço IP de um host e não sabemos o endereço do domínio(nome dado à máquina ou outro equipamento que acesse uma
rede), tentamos resolver o endereço IP através do DNS reverso que procura qual nome de domínio está associado aquele endereço.
Os servidores que utilizam o DNS Reverso conseguem verificar a autenticidade de endereços, verificando se o endereço IP atual corresponde ao endereço IP
informado pelo servidor DNS.
Isto evita que alguém utilize um domínio que não lhe pertence para enviar spam, por exemplo (pois isso que ele é importante para servidores de e-mail).
DICAS
– Para que o DNS Reverso funcione no registro.br é importante que você já tenha configurado o DNS autoritativo, e aguarde sua publicação antes de fazer a
designação. (Normalmente demoram 4 horas)
– Se você é um provedor, o correto seria você ter dois servidores DNS em sua rede, uma Master e outro Slave. Neste tutoria foi explicar como criar os dois!
PERGUNTAS FREQUENTES:
– Preciso montar dois servidores?
Sim/Não, para a configuração do DNS autoritativo/reverso são necessários apontar dois endereços, no entanto nada impede de configurar dois IPs no mesmo
servidor. Em alguns caso vejo as pessoas virtualizar 2 servidores (apenas DNS) na mesma maquina de virtualização, se pensarmos que se o servidor de
virtualização para nada adianta ter 2 servidores, neste caso quem sabe seria mais interessante ter alguma outra aplicação rodando com o servido slave (pensando
pelo lado aproveitamento de hardware). Então vai da sua realidade.
https://blog.remontti.com.br/3086 1/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
Vamos iniciar com a instalação do servidor Master, lembrando que para isso estou usando a Distribuição linux Debian 10, com uma instalação que eu chamo de
limpa.
:: ipcalc ::
1 root@remontti:~# apt install ipcalc
2 root@remontti:~# ipcalc 45.80.48.0/22
3 Address: 45.80.48.0 00101101.01010000.001100 00.00000000
4 Netmask: 255.255.252.0 = 22 11111111.11111111.111111 00.00000000
5 Wildcard: 0.0.3.255 00000000.00000000.000000 11.11111111
6 =>
7 Network: 45.80.48.0/22 00101101.01010000.001100 00.00000000
8 HostMin: 45.80.48.1 00101101.01010000.001100 00.00000001
9 HostMax: 45.80.51.254 00101101.01010000.001100 11.11111110
10 Broadcast: 45.80.51.255 00101101.01010000.001100 11.11111111
11 Hosts/Net: 1022 Class A
:: ip6calc ::
1 root@remontti:~# apt install python-ipaddr wget
2 root@remontti:~# wget https://blog.remontti.com.br/arquivos/Home/ip6calc -O /bin
3 root@remontti:~# chmod +x /bin/ip6calc
4 root@remontti:~# ip6calc 2804:f123::/32
5 Address:
6 (Compressed) 2804:f123::/32
7 (Exploded) 2804:f123:0000:0000:0000:0000:0000:0000/32
8 (Binary) 0010100000000100:1111000100100011:0000000000000000:0000000000000
9 ↑ ↑ ↑ ↑ ↑ ↑
https://blog.remontti.com.br/3086 2/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
10 /1 /12 /29 /32 /48 /56
11 Address type is: global unicast
12
13 Netmask:
14 (Compressed) ffff:ffff::
15 (Exploded) ffff:ffff:0000:0000:0000:0000:0000:0000
16 (Binary) 1111111111111111:1111111111111111:0000000000000000:0000000000000
17 First address assignable:
18 (Compressed) 2804:f123::
19 (Exploded) 2804:f123:0000:0000:0000:0000:0000:0000
20 (Binary) 0010100000000100:1111000100100011:0000000000000000:0000000000000
21 Last address assignable:
22 (Compressed) 2804:f123:ffff:ffff:ffff:ffff:ffff:ffff
23 (Exploded) 2804:f123:ffff:ffff:ffff:ffff:ffff:ffff
24 (Binary) 0010100000000100:1111000100100011:1111111111111111:1111111111111
25
26 Total number of addresses: 79228162514264337593543950336 (2^96 or 7.9e+28)
27
28 First address assignable (excluding "subnet-router anycast" of RFC 2526):
29 (Compressed) 2804:f123::1
30 (Exploded) 2804:f123:0000:0000:0000:0000:0000:0001
31 (Binary) 0010100000000100:1111000100100011:0000000000000000:0000000000000
32 Total number of addresses (Excluding "reserved" addresses): 79228162514264337593
33
34 This prefix can contain one of the following:
35 * 4294967296 (2^32 or 4.3e+09) subnets /64
36 * 16777216 (2^24 or 1.7e+07) subnets /56
37 * 65536 (2^16 or 6.6e+04) subnets /48
Dentro da rede ainda conto com alguns blocos de IPs inválidos 192.168.0.0/16, 172.16.0.0/12, 100.64.0.0/10 e 10.0.0.0/8 utilizando NAT que por ventura
também preciso autoriza-los a fazer consultas recursivas no servidores.
https://blog.remontti.com.br/3086 3/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
1 # vim /etc/network/interfaces
MASTER (NS1)
1 # su -
2 # apt install bind9 dnsutils
Pronto! O servidor recursivo já está funcionando, porém ele está aberto, e isso não é nada legal!
Você não vai querer “qualquer um” utilizando seu servidor para resolver nomes. Resolveremos isso mais a frente no arquivo named.conf.options.
Alteramos o DNS do servidor fazendo com que ele consulte em si próprio. Essa alteração deve ser feita no arquivo /etc/resolv.conf.
1 # echo "nameserver 127.0.0.1" > /etc/resolv.conf
Para descobrir se seu servidor esta resolvendo nomes use o comando dig.
1 # dig google.com @localhost
https://blog.remontti.com.br/3086 4/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
2
3 ;; ANSWER SECTION:
4 google.com. 300 IN A 172.217.162.110
5
6 [...]
Os arquivos de configuração do bind ficam no diretório /etc/bind/ e agora no Debian 10 Buster também separando os root servers em /usr/share/dns/
1 # cd /etc/bind
Iremos alterar o named.conf.options, o próprio nome já se auto descreve o que vamos encontrar nele.
Sempre gosto de preservar o arquivo original, então fizemos um backup antes de modifica-lo.
1 # cp /etc/bind/named.conf.options /etc/bind/named.conf.options.bkp
2 # echo > named.conf.options
Aqui vai uma dica para que usa Windows + Putty, tome cuidado ao colar, principalmente quem usa Windows 10 “ele copia caracteres imaginários que você não
vê!”.
Recomento usar o Bitvise SSH Client que é muito superior
https://blog.remontti.com.br/3086 5/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
22 dnssec-validation auto;
23
24 // Conforme RFC1035
25 // https://www.ietf.org/rfc/rfc1035.txt
26 auth-nxdomain no;
27
28 // Respondendo para IPv4 e IPv6
29 // Porta 53 estará aberta para ambos v4 e v6
30 listen-on { any; };
31 listen-on-v6 { any; };
32
33 // Limitação da taxa de resposta no sistema de nomes de domínio (https://kb.
34 // Se você esta montando um servido apenas para autoritativo descomente as l
35 //rate-limit {
36 // responses-per-second 15;
37 // window 5;
38 //};
39
40 // Melhora o desempenho do servidor, reduzindo os volumes de dados de saída.
41 // O padrão BIND é (no) não.
42 minimal-responses yes;
43
44 // Especifica quais hosts estão autorizados a fazer consultas
45 // recursivas através deste servidor.
46 // Aqui que você vai informar os IPs da sua rede que você irá permitir consu
47 allow-recursion {
48 autorizados;
49 };
50
51 // Endereço estão autorizados a emitir consultas ao cache local,
52 // sem acesso ao cache local as consultas recursivas são inúteis.
53 allow-query-cache {
54 autorizados;
55 };
56
57 // Especifica quais hosts estão autorizados a fazer perguntas DNS comuns.
58 allow-query { any; };
59
60 // Especifica quais hosts estão autorizados a receber transferências de zona
61 // Seu servidor Secundário, no nosso ex vou deixar então o ips dos dois serv
62 allow-transfer {
63 45.80.48.3;
64 2804:f123:bebe:cafe::3;
65 };
66 also-notify {
67 45.80.48.3;
68 2804:f123:bebe:cafe::3;
https://blog.remontti.com.br/3086 6/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
69 };
70
71 // Esta opção faz com que o servidor slave ao fazer a transferência de zonas
72 // mastes deste servidor não compile o arquivo, assim no outro servidor o ar
73 // da zona terá um texto "puro"
74 masterfile-format text;
75
76 // Para evitar que vase a versao do Bind, definimos um nome
77 // Reza a lenda que deixar RR DNS Server seu servidor nunca sofrerá ataques.
78 version "RR DNS Server";
79 };
Legal agora o servidor Recursivo já está funcionando e limitando os IPs que poderão realizar consultas ao mesmo.
Caso você não queria seu servidor sendo recursivo altere na ACL autorizados deixando apenas 127.0.0.1 e ::1.
Se seu servidor não tiver IPv6? (Que triste rsrsrs) Recomendo que desative o ipv6 no bind.
1 # vim /etc/default/bind9
Adicione um -4 em OPTIONS.
1 OPTIONS="-u bind"
2 #para
3 OPTIONS="-4 -u bind"
1 # vim /etc/bind/named.conf.options
Toda alteração feita no bind para ter efeito é necessário restartar o serviço.
1 # systemctl restart bind9
Para verificar se seu arquivo tem algum erro use o comando named-checkconf
1 # named-checkconf /etc/bind/named.conf.options
https://blog.remontti.com.br/3086 7/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
Fail2Ban + nftables
Fail2Ban é uma estrutura de software de prevenção de intrusões que protege os servidores de computadores contra ataques de força bruta, que opera
monitorando arquivos de logs. Sendo o mais comum usado para bloquear endereços IPs selecionados que podem pertencer a hosts que estão tentando violar a
segurança.
1 # apt install nftables fail2ban
Como o iptables está sendo substituído por nftables começando com o Debian Buster, vamos configurar o Fail2Ban para usar o nftables como padrão.
Mas vou ir além em vez de usar o filtro multiport vou setar allports e modifica-lo para que quando uma tentativa de violação acontecer o Fail2Ban crie uma
regra de firewall que dropa definitivamente o IP e não apenas fechando a porta do serviço para “invasor”.
1 # vim /etc/fail2ban/jail.conf
Procure por “banaction = iptables-multiport” e “banaction_allports = iptables-allports” e altere seu valor para “nftables-allports”:
https://blog.remontti.com.br/3086 8/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
1 #banaction = iptables-multiport
2 #banaction_allports = iptables-allports
3 banaction = nftables-allports
4 banaction_allports = nftables-allports
Altere o modo de bloqueio em nftables-allports.conf para fazer que ele de um “drop all”.
1 # vim /etc/fail2ban/action.d/nftables-allports.conf
Procure por nftables_mode = meta l4proto e altere deixando seu valor vazio:
1 #nftables_mode = meta l4proto <protocol>
2 nftables_mode =
Melhorias feitas, precisamos ativar o filtro para ler os logs do bind, porém ao ativar o filtro named-refused me deparei com seu não funcionamento, e quebrando
a cabeça descobri que os logs do bind estão diferente e a expressão regular do filtro está errada. Os desenvolvedores do fail2ban já fizeram a correção, mas
acredito que irá levar um tempo para o pessoal do Debian fazer um novo empacotamento.
A correção pode ser feita editando o arquivo /etc/fail2ban/filter.d/named-refused.conf
1 - prefregex = ^%(__line_prefix)s( error:)?\s*client <HOST>#\S+( \([\S.]+\))?: <F-
2 + prefregex = ^%(__line_prefix)s( error:)?\s*client( @[0-9a-z]+)? <HOST>#\S+( \([
Porém como eu vou ser mais “bruto” no filtro. Vou criar nosso próprio filtro bind9, vamos lá!
1 # vim /etc/fail2ban/filter.d/bind9.conf
Adicone no arquivo:
1 # Fail2Ban filter file for named (bind9.11).
2 #
3
4 [Definition]
5
6 # Daemon name
7 _daemon=named
https://blog.remontti.com.br/3086 9/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
8
9 # Shortcuts for easier comprehension of the failregex
10
11 __pid_re=(?:\[\d+\])
12 __daemon_re=\(?%(_daemon)s(?:\(\S+\))?\)?:?
13 __daemon_combs_re=(?:%(__pid_re)s?:\s+%(__daemon_re)s|%(__daemon_re)s%(__pid_re)
14
15 # hostname daemon_id spaces
16 # this can be optional (for instance if we match named native log files)
17 __line_prefix=(?:\s\S+ %(__daemon_combs_re)s\s+)?
18
19 prefregex = ^%(__line_prefix)s( error:)?\s*client( @[0-9a-z]+)? <HOST>#\S+( \([\
20
21 failregex = ^(view (internal|external): )?query(?: \(cache\))? '.*' denied\s*$
22 ^zone transfer '\S+/AXFR/\w+' denied\s*$
23 ^bad zone transfer request: '\S+/IN': non-authoritative zone \(NOTAU
24
25 ignoreregex =
26
27 # DEV Notes:
28 # Author: Rudimar Remontti
Ativamos o filtro que criamos, e definir um tempo de banimento por 24h você pode ajustar para mais se achar necessário. E “maxretry” que é a quantidade de
tentativas para 1.
1 # vim /etc/fail2ban/jail.d/bind9.conf
Adicione no arquivo:
1 [bind9]
2 enabled = true
3 port = domain,953
4 protocol = tcp
5 logpath = /var/log/named/security.log
6 bantime = 24h
7 maxretry = 1
Vale lembrar que o filtro de SSH já vem ativo por padrão em “/etc/fail2ban/jail.d/defaults-debian.conf”.
Precisamos fazer o bind gerar os logs com tentativas de consultas negadas (denied), incluído logging {…} no arquivo named.conf.
1 # vim /etc/bind/named.conf
1 // This is the primary configuration file for the BIND DNS server named.
2 //
3 // Please read /usr/share/doc/bind9/README.Debian.gz for information on the
https://blog.remontti.com.br/3086 10/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
4 // structure of BIND configuration files in Debian, *BEFORE* you customize
5 // this configuration file.
6 //
7 // If you are just adding zones, please do that in /etc/bind/named.conf.local
8
9 logging {
10
11 channel security_file {
12 file "/var/log/named/security.log" versions 3 size 30m;
13 severity dynamic;
14 print-time yes;
15 };
16
17 channel file_log {
18 file "/var/log/named/named.log" versions 2 size 50k;
19 severity info;
20 print-time yes;
21 print-severity yes;
22 print-category yes;
23 };
24
25 channel errors_syslog {
26 syslog daemon;
27 severity warning;
28 };
29
30 category security { security_file; };
31 category dnssec { errors_syslog; };
32 category default { file_log; };
33 category lame-servers { null; };
34 category edns-disabled { null; };
35 category resolver { null; };
36 category unmatched { null; };
37
38 };
39
40 include "/etc/bind/named.conf.options";
41 include "/etc/bind/named.conf.local";
42 include "/etc/bind/named.conf.default-zones";
Crie o diretório onde o bind vai registrar seus logs e de permissão para que possa gravar nesta pasta.
1 # mkdir /var/log/named/
2 # chown bind. /var/log/named/
É importante ativar o nftables na inicialização e restartar os serviços para que nossas configurações sejam interpretadas.
https://blog.remontti.com.br/3086 11/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
1 # systemctl enable nftables
2 # systemctl restart bind9
3 # systemctl restart nftables
4 # systemctl restart fail2ban
Note que ja temos alguns IPs sendo dropado por tentativas de consulta no DNS e SSH.
1 table inet filter {
2 set f2b-sshd {
3 type ipv4_addr
4 elements = { 92.63.194.90, 142.44.130.186,
5 191.54.227.13 }
6 }
7
8 set f2b-bind9 {
9 type ipv4_addr
10 elements = { 71.6.199.23, 185.94.111.1 }
11 }
12
13 chain input {
14 type filter hook input priority 0; policy accept;
15 ip saddr @f2b-bind9 drop
16 ip saddr @f2b-sshd drop
17 }
18
19 chain forward {
20 type filter hook forward priority 0; policy accept;
21 }
22
23 chain output {
24 type filter hook output priority 0; policy accept;
25 }
26 }
Ex:
1 # fail2ban-client status bind9
2 Status for the jail: bind9
3 |- Filter
4 | |- Currently failed: 0
5 | |- Total failed: 2
6 | `- File list: /var/log/named/security.log
7 `- Actions
8 |- Currently banned: 2
9 |- Total banned: 2
10 `- Banned IP list: 71.6.199.23 185.94.111.1
11
12 # fail2ban-client status sshd
13 Status for the jail: sshd
14 |- Filter
15 | |- Currently failed: 0
16 | |- Total failed: 0
17 | `- File list: /var/log/auth.log
18 `- Actions
19 |- Currently banned: 3
20 |- Total banned: 3
21 `- Banned IP list: 142.44.130.186 191.54.227.13 92.63.194.90
Pronto agora já temos um servidor DNS com um nível de segurança bem elevado!
Autoritativo (ns1)
Agora é aquela hora que precisamos ter planejado o que iríamos fazer com nosso IPs recebidos.
1 No meu exemplo vai ficar assim:
2 - 45.80.48.0/27 - Servidores
3 - 45.80.48.32/27 - Roteamento
4 - 45.80.48.64/26 - Clientes com IP Fixo
5 - 45.80.48.128/25 - CGNAT
6 - 45.80.49.0/26 - NOC (Gerência)
https://blog.remontti.com.br/3086 13/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
7 - 45.80.49.64/26 - Clientes Delegação
8 - 45.80.49.128/25 - Clientes dinâmico
9 - 45.80.50.0/24 - Clientes dinâmico
10 - 45.80.51.0/24 - Clientes dinâmico
11
12 # Quebrei meu ex de forma q não fique simples para que possamos dar nomes sugest
Para ficar organizado vou criar a pasta master-aut onde ficará os arquivos de hosts dos domínios autoritativos.
1 # mkdir /var/cache/bind/master-aut
Crie o arquivo remontti.net.br.hosts na pasta master-rev. Ajuste remontti.net.br para seu domínio.
1 # vim /var/cache/bind/master-aut/remontti.net.br.hosts
1 $ORIGIN .
2 $TTL 86400 ; 1 day
3 remontti.net.br IN SOA ns1.remontti.net.br. hostmaster.remontti.net.br.
4 2020062300 ; serial
5 10800 ; refresh (3 hours)
6 3600 ; retry (1 hour)
7 2419200 ; expire (4 weeks)
8 300 ; minimum (5 minutes)
9 )
10
11 NS ns1.remontti.net.br.
12 NS ns2.remontti.net.br.
13
14 A 45.80.48.4
15 AAAA 2804:f123:bebe:cafe::4
16 MX 10 mail.remontti.net.br.
17 TXT "v=spf1 a mx -all"
18 SPF "v=spf1 a mx -all"
19 $ORIGIN remontti.net.br.
20 $TTL 10800 ; 3 hours
21
22 45-80-48-0 A 45.80.48.0
23 45-80-48-1 A 45.80.48.1
24 AAAA 2804:f123:bebe:cafe::1
25
26 ns1 A 45.80.48.2
27 AAAA 2804:f123:bebe:cafe::2
28 hostmaster A 45.80.48.2
29 AAAA 2804:f123:bebe:cafe::2
30 ns2 A 45.80.48.3
31 AAAA 2804:f123:bebe:cafe::3
https://blog.remontti.com.br/3086 14/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
32
33 www A 45.80.48.4
34 AAAA 2804:f123:bebe:cafe::4
35 ftp A 45.80.48.4
36 AAAA 2804:f123:bebe:cafe::4
37
38 zabbix A 45.80.48.5
39 AAAA 2804:f123:bebe:cafe::5
40 phpipam A 45.80.48.5
41 AAAA 2804:f123:bebe:cafe::5
42
43 mail A 45.80.48.6
44 AAAA 2804:f123:bebe:cafe::6
45 imap A 45.80.48.6
46 AAAA 2804:f123:bebe:cafe::6
47 pop A 45.80.48.6
48 AAAA 2804:f123:bebe:cafe::6
49 smtp A 45.80.48.6
50 AAAA 2804:f123:bebe:cafe::6
51
52 $ORIGIN remontti.net.br.
53 $GENERATE 7-31 ns-$ A 45.80.48.$
54
55 $ORIGIN remontti.net.br.
56 $GENERATE 32-255 45-80-48-$ A 45.80.48.$
57
58 $ORIGIN remontti.net.br.
59 $GENERATE 0-255 45-80-49-$ A 45.80.49.$
60
61 $ORIGIN remontti.net.br.
62 $GENERATE 0-255 45-80-50-$ A 45.80.50.$
63
64 $ORIGIN remontti.net.br.
65 $GENERATE 0-255 45-80-51-$ A 45.80.51.$
https://blog.remontti.com.br/3086 15/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
Restart o serviço.
1 # systemctl restart bind9
Testes:
1 # host remontti.net.br
2 remontti.net.br has address 45.80.48.4
3 remontti.net.br has IPv6 address 2804:f123:bebe:cafe::4
4 remontti.net.br mail is handled by 20 mail.remontti.net.br.
5
https://blog.remontti.com.br/3086 16/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
6 # host ns1.remontti.net.br
7 ns1.remontti.net.br has address 45.80.48.2
8 ns1.remontti.net.br has IPv6 address 2804:f123:bebe:cafe::2
9
10 # host ns2.remontti.net.br
11 ns2.remontti.net.br has address 45.80.48.3
12 ns2.remontti.net.br has IPv6 address 2804:f123:bebe:cafe::3
13
14 # host mail.remontti.net.br
15 mail.remontti.net.br has address 45.80.48.6
16 mail.remontti.net.br has IPv6 address 2804:f123:bebe:cafe::6
17
18 # host zabbix.remontti.net.br
19 zabbix.remontti.net.br has address 45.80.48.5
20 zabbix.remontti.net.br has IPv6 address 2804:f123:bebe:cafe::5
Seu autoritativo já está funcionado, você já é possível registrar seu domínio (claro ainda falta o slave).
Neste momento você pode verificar no registro.br se seu servidor já tem autoridade sobre o domínio que configurou.
Mas antes vamos ajustar o fail2ban para ignorar os ips do Registro.br pois muitas pessoas acabam configurando errado seu DNS e na hora de verificar acabam
bloqueando o registro.br (Isso acontece porque quando você for validar se o seu DNS não estiver certo, ele vai achar que o registro.br esta tentando resolver o
“dominio qualquer” que você não é autoritativo), para isso faça:
1 # vim /etc/fail2ban/jail.conf
Localize “ignoreip =” e adicione os blocos do registro.br (200.160.0.0/20 e 2001:12ff::/32) se desajar pode incluir seu bloco de ips dos servidores,
principalmente o ip do servidor Slave para evitar que ele também seja bloqueado (no meu ex. os 45.80.48.3 e 2804:f123:bebe:cafe::3)
1 # "ignoreip" can be a list of IP addresses, CIDR masks or DNS hosts. Fail2ban
2 # will not ban a host which matches an address in this list. Several addresses
3 # can be defined using space (and/or comma) separator.
4 ignoreip = 127.0.0.1/8 ::1 200.160.0.0/20 2001:12ff::/32 45.80.48.3 2804:f123:be
Reinicie o fail2ban
1 # systemctl restart fail2ban
https://blog.remontti.com.br/3086 17/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
https://blog.remontti.com.br/3086 18/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
Se o STATUS for “Autoridade sobre o domínio” parabéns suas configurações estão respondendo corretamente.
Reverso (ns1)
Obs: Para fazer a Delegações de DNS reverso do seu bloco, é importante que você já tenha configurado no registro.br seu DNS autoritativo.
1 # mkdir /var/cache/bind/master-rev
O bloco 45.80.48.0/22 será necessário quebrar em 4 blocos /24 tendo uma configuração para cada /24 Como já planejado no autoritativo vamos ter que dar
nomes a todos os IPs. Vale lembrar que todos esses nomes de hosts é permitido apenas um nome por IP, e cada nome desses deve ser configurado no
autoritativo.
Preste atenção em 48.80.45.in-addr.arpa. essa linha ela deve ser alterada com o inverso do seu IP.
Outra coisa importante é o serial (2020062300) ele esta presente em todos os arquivos e deve ser alterado toda vez que for alterado. Ele segue o padrão [ano-
mes-dia-sequencial]. É fundamental altera-lo para que o servidor slave copie sempre que tiver uma alteração.
1 $ORIGIN .
2 $TTL 86400 ; 1 day
3 48.80.45.in-addr.arpa IN SOA ns1.remontti.net.br. hostmaster.remontti.net.br. (
4 2020062300 ; serial
5 10800 ; refresh (3 hours)
6 3600 ; retry (1 hour)
7 2419200 ; expire (4 weeks)
8 300 ; minimum (5 minutes)
9 )
10 NS ns1.remontti.net.br.
11 NS ns2.remontti.net.br.
12
13 $ORIGIN 48.80.45.in-addr.arpa.
14 0 PTR 45.80.48.0.remontti.net.br.
15 1 PTR cpd.remontti.net.br.
16 2 PTR ns1.remontti.net.br.
17 3 PTR ns2.remontti.net.br.
18 4 PTR www.remontti.net.br.
19 5 PTR zabbix.remontti.net.br.
20 6 PTR mail.remontti.net.br.
21
https://blog.remontti.com.br/3086 19/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
22 ; Servidores não utilizados
23 $ORIGIN 48.80.45.in-addr.arpa.
24 $GENERATE 7-31 $ PTR ns-$.remontti.net.br.
25
26 $ORIGIN 48.80.45.in-addr.arpa.
27 $GENERATE 32-255 $ PTR 45-80-48-$.remontti.net.br.
1 # vim /var/cache/bind/master-rev/45.80.49.rev
1 $ORIGIN .
2 $TTL 86400 ; 1 day
3 49.80.45.in-addr.arpa IN SOA ns1.remontti.net.br. hostmaster.remontti.net.br. (
4 2020062300 ; serial
5 10800 ; refresh (3 hours)
6 3600 ; retry (1 hour)
7 2419200 ; expire (4 weeks)
8 300 ; minimum (5 minutes)
9 )
10 NS ns1.remontti.net.br.
11 NS ns2.remontti.net.br.
12
13 $ORIGIN 49.80.45.in-addr.arpa.
14 $GENERATE 0-255 $ PTR 45-80-49-$.remontti.net.br.
1 # vim /var/cache/bind/master-rev/45.80.50.rev
1 $ORIGIN .
2 $TTL 86400 ; 1 day
3 50.80.45.in-addr.arpa IN SOA ns1.remontti.net.br. hostmaster.remontti.net.br. (
4 2020062300 ; serial
5 10800 ; refresh (3 hours)
6 3600 ; retry (1 hour)
7 2419200 ; expire (4 weeks)
8 300 ; minimum (5 minutes)
9 )
10 NS ns1.remontti.net.br.
11 NS ns2.remontti.net.br.
12
13 ; Clientes dinâmicos
14 $ORIGIN 50.80.45.in-addr.arpa.
15 $GENERATE 0-255 $ PTR 45-80-50-$.remontti.net.br.
1 # vim /var/cache/bind/master-rev/45.80.51.rev
1 $ORIGIN .
2 $TTL 86400 ; 1 day
https://blog.remontti.com.br/3086 20/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
3 51.80.45.in-addr.arpa IN SOA ns1.remontti.net.br. hostmaster.remontti.net.br. (
4 2020062300 ; serial
5 10800 ; refresh (3 hours)
6 3600 ; retry (1 hour)
7 2419200 ; expire (4 weeks)
8 300 ; minimum (5 minutes)
9 )
10 NS ns1.remontti.net.br.
11 NS ns2.remontti.net.br.
12
13 ; Clientes dinâmicos
14 $ORIGIN 51.80.45.in-addr.arpa.
15 $GENERATE 0-255 $ PTR 45-80-51-$.remontti.net.br.
Não podemos esquecer nosso reverso do IPv6! Antes que alguém pergunte (novamente) posso configurar o reverso de todos os IPv6? Bom você precisa saber
que precisa resolver 79.228.162.514.264.337.593.543.950.336 (2^96) endereços IPv6, e isso é algo quase impossível! Informaremos apenas os nomes a ipv6
fixos.
1 # vim /var/cache/bind/master-rev/2000.f123.rev
1 $ORIGIN .
2 $TTL 3600 ; 1 hour
3 3.2.1.f.4.0.8.2.ip6.arpa IN SOA ns1.remontti.net.br.3.2.1.f.4.0.8.2.ip6.arpa. ho
4 2020062300 ; serial
5 3600 ; refresh (1 hour)
6 900 ; retry (15 minutes)
7 604800 ; expire (1 week)
8 3600 ; minimum (1 hour)
9 )
10 NS ns1.remontti.net.br.
11 NS ns2.remontti.net.br.
12
13
14 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.e.f.a.c.e.b.e.b.3.2.1.f.4.0.8.2.ip6.arpa. IN PTR
15 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.e.f.a.c.e.b.e.b.3.2.1.f.4.0.8.2.ip6.arpa. IN PTR
16 3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.e.f.a.c.e.b.e.b.3.2.1.f.4.0.8.2.ip6.arpa. IN PTR
17 4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.e.f.a.c.e.b.e.b.3.2.1.f.4.0.8.2.ip6.arpa. IN PTR
18 5.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.e.f.a.c.e.b.e.b.3.2.1.f.4.0.8.2.ip6.arpa. IN PTR
19 6.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.e.f.a.c.e.b.e.b.3.2.1.f.4.0.8.2.ip6.arpa. IN PTR
Este site http://rdns6.com/hostRecord pode ser bem útil para gerar seus PTRs.
Para finalizar acertando as permissões.
1 # chown bind. /var/cache/bind/master-rev -R
https://blog.remontti.com.br/3086 21/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
Precisamos informar nossas zonas reversas no named.conf.local, como estamos configurando nosso servidor master essas zonas serão do tipo (type) master e
para informar o arquivo onde está a configuração da zone usamos o parâmetro file /caminho-completo/arquivo
1 # vim /etc/bind/named.conf.local
Para ficar fácil acesso criamos uma atalhos das nossas pastas master-* dentro de /etc/bind
1 # ln -s /var/cache/bind/master-aut /etc/bind/master-aut
2 # ln -s /var/cache/bind/master-rev /etc/bind/master-rev
https://blog.remontti.com.br/3086 22/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
https://blog.remontti.com.br/3086 23/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
46 # host 2804:f123:bebe:cafe::2
47 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.e.f.a.c.e.b.e.b.3.2.1.f.4.0.8.2.ip6.arpa domain
48
49 # host 2804:f123:bebe:cafe::1
50 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.e.f.a.c.e.b.e.b.3.2.1.f.4.0.8.2.ip6.arpa domain
51
52 # host 45.80.48.3
53 3.48.80.45.in-addr.arpa domain name pointer ns2.remontti.net.br.
54
55 # host 45.80.48.10
56 10.48.80.45.in-addr.arpa domain name pointer serv-10.remontti.net.br.
57
58 # host 45.80.48.100
59 100.48.80.45.in-addr.arpa domain name pointer fixo-100.remontti.net.br.
60
61 # host 45.80.48.200
62 200.48.80.45.in-addr.arpa domain name pointer cgnat-200.remontti.net.br.
63
64 # host 45.80.49.0
65 0.49.80.45.in-addr.arpa domain name pointer noc-0.remontti.net.br.
66
67 # host 45.80.49.2
68 2.49.80.45.in-addr.arpa domain name pointer noc-2.remontti.net.br.
69
70 # host 45.80.49.20
71 20.49.80.45.in-addr.arpa domain name pointer noc-20.remontti.net.br.
72
73 # host 45.80.49.64
74 64.49.80.45.in-addr.arpa domain name pointer dd-64.remontti.net.br.
75
76 # host 45.80.49.128
77 128.49.80.45.in-addr.arpa domain name pointer 45-80-49-128.remontti.net.br.
78
79 # host 45.80.49.129
80 129.49.80.45.in-addr.arpa domain name pointer 45-80-49-129.remontti.net.br.
81
82 # host 45.80.50.50
83 50.50.80.45.in-addr.arpa domain name pointer 45-80-50-50.remontti.net.br.
84
85 # host 45.80.51.50
86 50.51.80.45.in-addr.arpa domain name pointer 45-80-51-50.remontti.net.br.
Reverso pronto!
https://blog.remontti.com.br/3086 24/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
Para obter uma versão mais recente, iremos mover nosso arquivo root.hints e baixar um novo.
1 mv /usr/share/dns/root.hints /usr/share/dns/root.hints.`date +%Y%m%d`
2 wget https://www.internic.net/domain/named.root -O /usr/share/dns/root.hints --no
Pode editar o arquivo /usr/share/dns/root.hints e verificar qual é a ultima atualização, (hoje 19/07/2019) ele esta: “last update: July 03, 2019”. Reinicie o serviço
para ter efeito.
1 systemctl restart bind9
2 systemctl status bind9
SLAVE (ns2)
Praticamente o processo se repete, com algumas alterações sendo necessário apenas configurar:
named.conf (Gerar log)
named.conf.local (Incluir as zonas)
named.conf.options (Setar nossas opções)
1 # apt install bind9 dnsutils
1 # cp /etc/bind/named.conf.options /etc/bind/named.conf.options.bkp
No named.conf.options unica coisa em relação ao master é que vai alterar allow-transfer para none e remover o also-notify.
1 # vim /etc/bind/named.conf.options
1 acl autorizados {
2 127.0.0.1;
3 ::1;
4 45.80.48.0/23;
https://blog.remontti.com.br/3086 25/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
5 2804:f123::/32;
6 192.168.0.0/16;
7 172.16.0.0/12;
8 100.64.0.0/10;
9 10.0.0.0/8;
10 };
11
12 options {
13 directory "/var/cache/bind";
14
15 dnssec-enable yes;
16 dnssec-validation auto;
17
18 auth-nxdomain no;
19
20 listen-on { any; };
21 listen-on-v6 { any; };
22
23 minimal-responses yes;
24
25 allow-recursion {
26 autorizados;
27 };
28
29 allow-query-cache {
30 autorizados;
31 };
32
33 allow-query { any; };
34
35 allow-transfer { none; };
36
37 masterfile-format text;
38
39 version "RR DNS Server";
40 };
Para organizar criamos duas pastas slave-rev e slave-aut é importante dar permissões para o usuário bind, pois ele precisa importar as configurações do master e
vai escrever nelas.
1 # mkdir /var/cache/bind/slave-aut
2 # mkdir /var/cache/bind/slave-rev
3 # chown bind. -R /var/cache/bind/slave-*
Não é mais necessário criar os arquivos, esses serão transferidos do servidor master. Basta informarmos em nossas zonas do
arquivo named.conf.local, que serão do tipo (slave) e apontaremos o IP do master para que nosso servidor slave faça a
https://blog.remontti.com.br/3086 26/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
transferência do master.
1 # vim /etc/bind/named.conf.local
1 // Reverso IPv4
2
3 zone "48.80.45.in-addr.arpa" {
4 type slave;
5 file "/var/cache/bind/slave-rev/45.80.48.rev";
6 masters { 45.80.48.2; };
7 allow-notify { 45.80.48.2; };
8 };
9
10 zone "49.80.45.in-addr.arpa" {
11 type slave;
12 file "/var/cache/bind/slave-rev/45.80.49.rev";
13 masters { 45.80.48.2; };
14 allow-notify { 45.80.48.2; };
15 };
16
17 zone "50.80.45.in-addr.arpa" {
18 type slave;
19 file "/var/cache/bind/slave-rev/45.80.50.rev";
20 masters { 45.80.48.2; };
21 allow-notify { 45.80.48.2; };
22 };
23
24 zone "51.80.45.in-addr.arpa" {
25 type slave;
26 file "/var/cache/bind/slave-rev/45.80.51.rev";
27 masters { 45.80.48.2; };
28 allow-notify { 45.80.48.2; };
29 };
30
31 // Reverso IPv6
32
33 zone "3.2.1.f.4.0.8.2.ip6.arpa" {
34 type slave;
35 file "/var/cache/bind/slave-rev/2804.f123.rev";
36 masters { 45.80.48.2; };
37 allow-notify { 45.80.48.2; };
38 };
39
40 // Zonas Slave
41
42 zone "remontti.net.br" IN {
https://blog.remontti.com.br/3086 27/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
43 type slave;
44 file "/var/cache/bind/slave-aut/remontti.net.br.hosts";
45 masters { 45.80.48.2; };
46 allow-notify { 45.80.48.2; };
47 };
Restart o serviço verifique se não teve nenhum erro e verifique dentro dos diretórios slave-aut/slave-rev se os arquivos foram
criados.
1 # systemctl restart bind9
2 # systemctl status bind9
3 # ls -lh /var/cache/bind/slave-*
Para ficar fácil acesso criamos uma atalhos das nossas pastas slave-* dentro de /etc/bind
1 # ln -s /var/cache/bind/slave-aut /etc/bind/slave-aut
2 # ln -s /var/cache/bind/slave-rev /etc/bind/slave-rev
Gostou?
Se você tiver interesse no Curso de DNS clique aqui, quem sabe você de sorte de ter uma turma aberta.
Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!
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 clique aqui.
https://blog.remontti.com.br/3086 28/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
Vamos supor que você recebeu um /28 e queira ter seu reverso respondendo sobre esses bloco.
A primeira coisa que você precisa saber que isso só será possivel se o dono do ASN fizer a configurações em seu servidor DNS
(rfc2317), não basta ele simplismente ir la no registro.br e delegar esse /28 para você, e é claro que ele também precisa fazer
isso!
Se ficar em dúvidas recomendo ver que assista: DNS e DNS Reverso (~20min fala sobre isso)
Então se você é o responsável pelo ASN você deve fazer o seguinte na configuração no seu arquivo reverso. No exemplo
anterior deixamos já o 45.80.49.64/26 para esses casos, e no exemplo vamos delegar um /28 para o “Provedor do José”.
1 $ ipcalc 45.80.49.64/28
2 Address: 45.80.49.64 00101101.01010000.00110011.0100 0000
3 Netmask: 255.255.255.240 = 28 11111111.11111111.11111111.1111 0000
4 Wildcard: 0.0.0.15 00000000.00000000.00000000.0000 1111
5 =>
6 Network: 45.80.49.64/28 00101101.01010000.00110011.0100 0000
7 HostMin: 45.80.49.65 00101101.01010000.00110011.0100 0001
8 HostMax: 45.80.49.78 00101101.01010000.00110011.0100 1110
9 Broadcast: 45.80.49.79 00101101.01010000.00110011.0100 1111
10 Hosts/Net: 14 Class A
1 vim /var/cache/bind/master-rev/45.80.49.rev
1 $ORIGIN .
2 $TTL 86400 ; 1 day
3 49.80.45.in-addr.arpa IN SOA ns1.remontti.net.br. hostmaster.remontti.net.br. (
4 2020062300 ; serial
5 10800 ; refresh (3 hours)
6 3600 ; retry (1 hour)
7 2419200 ; expire (4 weeks)
8 300 ; minimum (5 minutes)
9 )
https://blog.remontti.com.br/3086 29/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
10 NS ns1.remontti.net.br.
11 NS ns2.remontti.net.br.
12
13 ; NOC (Gerência)
14 $ORIGIN 49.80.45.in-addr.arpa.
15 $GENERATE 0-63 $ PTR noc-$.remontti.net.br.
16
17 ; Clientes delegação
18
19 ; <<64-79>> /28
20 ; Aponte para os DNS do Servidor
21 64/28 NS ns1.provedordojose.com.br
22 64/28 NS ns2.provedordojose.com.br
23 ;
24 64 CNAME 64.45/28.49.80.45.in-addr.arpa.
25 65 CNAME 65.45/28.49.80.45.in-addr.arpa.
26 66 CNAME 66.45/28.49.80.45.in-addr.arpa.
27 67 CNAME 67.45/28.49.80.45.in-addr.arpa.
28 68 CNAME 68.45/28.49.80.45.in-addr.arpa.
29 69 CNAME 69.45/28.49.80.45.in-addr.arpa.
30 70 CNAME 70.45/28.49.80.45.in-addr.arpa.
31 71 CNAME 71.45/28.49.80.45.in-addr.arpa.
32 72 CNAME 72.45/28.49.80.45.in-addr.arpa.
33 73 CNAME 73.45/28.49.80.45.in-addr.arpa.
34 74 CNAME 74.45/28.49.80.45.in-addr.arpa.
35 75 CNAME 75.45/28.49.80.45.in-addr.arpa.
36 76 CNAME 76.45/28.49.80.45.in-addr.arpa.
37 77 CNAME 77.45/28.49.80.45.in-addr.arpa.
38 78 CNAME 78.45/28.49.80.45.in-addr.arpa.
39 79 CNAME 79.45/28.49.80.45.in-addr.arpa.
40
41 ; Clientes delegação (reservado)
42 $ORIGIN 49.80.45.in-addr.arpa.
43 $GENERATE 80-127 $ PTR dd-$.remontti.net.br.
44
45 ; Clientes dinâmicos
46 $ORIGIN 49.80.45.in-addr.arpa.
47 $GENERATE 128-255 $ PTR 45-80-49-$.remontti.net.br.
Configuração feita pelo o dono do ASN, vamos as configurações do José que recebeu o bloco /28, e quer seus DNS
respondendo por eles. Vamos supor que 45.80.49.66 e 45.80.49.67 sejam seu servidores DNS Master/Slave.
1 # mkdir /var/cache/bind/master-aut
2 # mkdir /var/cache/bind/master-rev
https://blog.remontti.com.br/3086 30/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
:: Autoritativo ::
1 vim /var/cache/bind/master-aut/provedordojose.com.br.hosts
1 $ORIGIN .
2 $TTL 86400 ; 1 day
3 provedordojose.com.br IN SOA ns1.provedordojose.com.br. root.provedordoj
4 2020062300 ; serial
5 10800 ; refresh (3 hours)
6 3600 ; retry (1 hour)
7 2419200 ; expire (4 weeks)
8 300 ; minimum (5 minutes)
9 )
10
11 NS ns1.provedordojose.com.br.
12 NS ns2.provedordojose.com.br.
13
14 A 45.80.49.68
15 MX 10 mail.provedordojose.com.br.
16 TXT "v=spf1 a mx ip4:45.80.49.68?all"
17
18 $ORIGIN provedordojose.com.br.
19 $TTL 10800 ; 3 hours
20
21 45-80-49-64 A 45.80.49.64
22 cpd A 45.80.49.65
23 ns1 A 45.80.49.66
24 ns2 A 45.80.49.67
25 mail A 45.80.49.68
26 zabbix A 45.80.49.69
27 45-80-49-70 A 45.80.49.70
28 45-80-49-71 A 45.80.49.71
29 45-80-49-72 A 45.80.49.72
30 45-80-49-73 A 45.80.49.73
31 45-80-49-74 A 45.80.49.74
32 45-80-49-75 A 45.80.49.75
33 45-80-49-76 A 45.80.49.76
34 45-80-49-77 A 45.80.49.77
35 45-80-49-78 A 45.80.49.78
36 45-80-49-79 A 45.80.49.79
:: Reverso ::
1 vim /var/cache/bind/master-rev/45.80.49.64-79.rev
https://blog.remontti.com.br/3086 31/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
1 ; 45.80.49.64/28
2 $TTL 1h
3 @ IN SOA ns1.provedordojose.com.br. root.provedordojose.c
4 2020062300 ; serial
5 2h ; refresh
6 15m ; update retry
7 2w ; expiry
8 3h ; nx = nxdomain ttl
9 )
10
11 IN NS ns1.provedordojose.com.br.
12 IN NS ns2.provedordojose.com.br.
13
14 $ORIGIN 64/28.49.80.45.in-addr.arpa.
15 64 IN PTR 45-80-49-64.provedordojose.com.br.
16 65 IN PTR cpd.provedordojose.com.br.
17 66 IN PTR ns1.provedordojose.com.br.
18 67 IN PTR ns2.provedordojose.com.br.
19 68 IN PTR mail.provedordojose.com.br.
20 69 IN PTR zabbix.provedordojose.com.br.
21 70 IN PTR 45-80-49-70.provedordojose.com.br.
22 71 IN PTR 45-80-49-71.provedordojose.com.br.
23 72 IN PTR 45-80-49-72.provedordojose.com.br.
24 73 IN PTR 45-80-49-73.provedordojose.com.br.
25 74 IN PTR 45-80-49-74.provedordojose.com.br.
26 75 IN PTR 45-80-49-75.provedordojose.com.br.
27 76 IN PTR 45-80-49-76.provedordojose.com.br.
28 77 IN PTR 45-80-49-77.provedordojose.com.br.
29 78 IN PTR 45-80-49-78.provedordojose.com.br.
30 79 IN PTR 45-80-49-79.provedordojose.com.br.
:: Zonas ::
1 # vim /etc/bind/named.conf.local
1 zone "provedordojose.com.br" {
2 type master;
3 file "/var/cache/bind/master-aut/provedordojose.com.br.hosts";
4 };
5
6 zone "64/28.49.80.45.in-addr.arpa" {
7 type master;
8 file "/var/cache/bind/master-rev/45.80.49.64-79.rev";
9 };
1 acl autorizados {
2 127.0.0.1;
3 ::1;
4 45.80.48.0/23;
5 2804:f123::/32;
6 192.168.0.0/16;
7 172.16.0.0/12;
8 100.64.0.0/10;
9 10.0.0.0/8;
10 };
11
12 options {
13 directory "/var/cache/bind";
14
15 dnssec-enable yes;
16 dnssec-validation auto;
17
18 auth-nxdomain no;
19
20 listen-on { any; };
21 listen-on-v6 { any; };
22
23 // DNS PROXY
24 // Em vez de ir pedir aos roots servers irá buscar de outros DNS.
25 recursion yes;
forwarders {
26
8.8.8.8;
27
1.1.1.1;
28 1.0.0.1;
29 8.8.4.4;
30 };
31 forward only;
32
33 minimal-responses yes;
34
allow-recursion {
https://blog.remontti.com.br/3086 33/34
22/03/2021 Servidor DNS seguro com Bind9 (Recursivo, Autoritativo e Reverso) + Fail2ban + nftables no Debian 10 Buster - Remontti
35 autorizados;
36 };
37
38 allow-query-cache {
39 autorizados;
40 };
41
42 allow-query { any; };
43
44 allow-transfer { none; };
45
46 masterfile-format text;
47
48 version "RR DNS Server";
49 };
50
51
https://blog.remontti.com.br/3086 34/34