Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.

terça-feira, 31 de outubro de 2023

Editando zona dinâmica

 


Editar zona dinâmica manualmente é necessário seguir os passos abaixo:
1 - Comando que descobre se a zona é dinâmica
rndc zonestatus teste.com.br
2 - Comando para congelar a zon, para poder editar manualmente
rndc freeze teste.com.br
3 - Sincronizar o journaling no arquivo de zona e exclui o arquivo .jnl da mesma
rndc sync -clean teste.com.br
4 - Após congelar e sincronizar uma zona dinâmica, pode editar manualmente o arquivo, após editar executar o comando abaixo, para descongelar a zona e recarregar na memória.
rndc thaw teste.com.br

quinta-feira, 19 de outubro de 2023

Emissão de certificado Let's Encrypt usando seu DNS

    O objetivo desse artigo é mostrar e explicar como emitir certificado Let's Encrypt usando o desafio via DNS.
    A vantagem desse método é que podemos automatizar o processo e não se preocupar em realizar liberação de acesso no firewall a Let's Encrypt, essas liberações são necessárias para que possa validar a emissão do certificado, como no popular método utilizando desafio via HTTP.
    Assim, iremos simplificar a conexão utilizando o desafio via DNS, visto já ser aberto na internet.

Nota: O sistema operacional que utilizamos em nossa instalação é o Ubuntu 22.04 e o BIND 9.18.19.


No servidor de DNS master do seu domínio fazer:


1 - Habilitando Update dinâmico no Bind(RFC 2136)

Gerar a chave de acesso com o comando abaixo:
tsig-keygen -a hmac-sha512 key_dominio_teste.com.br

Saída:

key "key_dominio_teste.com.br" {
algorithm hmac-sha512;
secret "WMzJ8kSfBZsPEgZ8HtRlSgVaNqkyzbCHANL0+s9uV8HdsMDyJeXE8tos0XLL1U9hWZie6ZvR1YeRWqspSMDijA==";
    };

Pegar a saída do comando acima e adicionar no arquivo de seus arquivos de zonas que por padrão é "/etc/bind/named.conf.local".

Sugiro criar uma chave por domínio e deixar essa chave acima das configurações do seu domínio.

2 - Ativando o DNS dinâmico no domínio teste.com.br

    zone "teste.com.br" {
        type master;
        file "master/teste.com.br.zone";
        check-names warn;
        update-policy {
                grant key_dominio_teste.com.br name _acme-challenge.teste.com.br. txt;
        };
    };

Garantir que o usuário "bind" tenha permissão de leitura e escrita no arquivo de zona "teste.com.br.zone"

Após configurar, reiniciar o serviço "service named restart"


Na máquina que será usada para gerar o certificado Let's Encrypt


1 - Garantir que essa máquina tenha acesso tcp na porta 53 de seu servidor de DNS master

2 - Instalar os pacotes do Let's Encrypt com os comandos abaixo:
apt install certbot
apt install python3-certbot-apache
apt install python3-certbot-dns-rfc2136

3 - Criar um arquivo contendo as informações necessárias para que o cliente possa solicitar o certificado. Como sugestão criar o arquivo em /root/key_dominio_teste.com.br.ini

dns_rfc2136_server = 10.0.0.1
dns_rfc2136_port = 53
dns_rfc2136_name = key_dominio_teste.com.br
dns_rfc2136_secret = WMzJ8kSfBZsPEgZ8HtRlSgVaNqkyzbCHANL0+s9uV8HdsMDyJeXE8tos0XLL1U9hWZie6ZvR1YeRWqspSMDijA==
dns_rfc2136_algorithm = HMAC-SHA512
dns_rfc2136_sign_query = false

    Ajuste as variáveis dns_rfc2136_server com o ip do seu DNS master, dns_rfc2136_name com o nome da sua chave gerada e o dns_rfc2136_secret com a chave gerada
    Garantir a permissão no arquivo ini "chmod 600 /root/key_dominio_teste.com.br.ini"

4 - Gerando o certificado

Com o comando abaixo, iremos criar um certificado do tipo WildCard.

certbot certonly --dns-rfc2136 --dns-rfc2136-credentials /root/key_dominio_teste.com.br.ini --dns-rfc2136-propagation-seconds 300 -d '*.teste.com.br' -d teste.com.br

Após a execução do comando acima a saída esperada:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator dns-rfc2136, Installer None
Obtaining a new certificate
Performing the following challenges:
dns-01 challenge for teste.com.br
dns-01 challenge for teste.com.br
Waiting 300 seconds for DNS changes to propagate
Waiting for verification...
Cleaning up challenges
IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/teste.com.br/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/teste.com.br/privkey.pem
   Your cert will expire on 2024-01-07. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - If you like Certbot, please consider supporting our work by:
   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le





Notas e curiosidades


    Quando habilitamos o Update dinâmico no Bind(RFC 2136) esse recurso ativa um journaling do seu arquivo de zona, criando arquivos com extensão ".jnl", esses arquivos crescem sem limites por padrão, você pode limitar o seu crescimento através do "max-journal-size", no entanto eu optei para rodar o comando "rndc -V sync -clean" uma vez ao dia no meu servidor, esse comando realiza a sincronização no seu arquivo de zona de seu domínio e limpa os arquivos de journaling do seu sistema.
    Caso deseje vê o conteudo no arquivo de journaling você pode usar o comando abaixo:
named-journalprint /var/cache/bind/master/teste.com.br.zone.jnl 

terça-feira, 20 de junho de 2023

quinta-feira, 8 de junho de 2023

Converter PEM para outros formatos

Excelente site que explica os diversos formatos de certificados e como converter.

 https://www.misterpki.com/convert-pem-to-other-formats/

quarta-feira, 10 de agosto de 2022

Teste de SPF, DKIM e DMARC

 Teste de SPF, DKIM e DMARC

https://www.learndmarc.com


Testa Site, E-mail e IPV6

https://top.nic.br/

quinta-feira, 18 de fevereiro de 2016

general: warning: checkhints:

Apareceu isso:

16-Feb-2016 16:11:07.133 general: warning: checkhints: h.root-servers.net/A (198.97.190.53) missing from hints
16-Feb-2016 16:11:07.133 general: warning: checkhints: h.root-servers.net/A (128.63.2.53) extra record in hints
16-Feb-2016 16:11:07.133 general: warning: checkhints: h.root-servers.net/AAAA (2001:500:1::53) missing from hints
16-Feb-2016 16:11:07.133 general: warning: checkhints: h.root-servers.net/AAAA (2001:500:1::803f:235) extra record in hints

Solução:

Atualizar o arquivo /etc/bind/db.root com o conteúdo do arquivo do link http://www.internic.net/domain/named.root e reiniciar o bind.


sexta-feira, 27 de novembro de 2015

slapcat: ../../../../servers/slapd/ch_malloc.c:107: ch_calloc: Assertion `0' failed.

Executando o comando slapcat recebi a mensagem de erro abaixo:

5658494f ch_calloc of 1 elems of 800000008 bytes failed
slapcat: ../../../../servers/slapd/ch_malloc.c:107: ch_calloc: Assertion `0' failed.
Aborted (core dumped)

Resolvi o problema ajustando o "cachesize" no “/etc/ldap/slapd.conf”, não vou dizer o valor, pois cada servidor a sua quantidade de m´mória disponível.

Qualquer crítica, sugestão ou dúvida mande uma mensagem.

Atenciosamente,

Joaquim Ferraz