Author: Leka
Date: 2013-06-26
Imaginem a cena:
Você chega em um cliente, o pessoal reclama que uma aplicação X parou de funcionar porque o certificado expirou…
Você abre a aplicação e vê que o certificado foi gerado por um CA interno, mas ninguém sabe qual a maquina que está com a role de CA.. a única coisa que eles sabem é que a role está em um DC…
Quando você abre o DC, tem pelo menos 14 DC´s… iai ?? olhar um por um? e se alguém fez a proeza de instalar em outra maquina?
Não que isso seja a solução de todos os problemas,,, mas já vai ajudar pra caramba:
certutil -config - -ping
tem um traço (-) antes do -ping mesmo…
Author: Leka
Date: 2013-06-20
Teremos um grande evento da comunidade SQL no Brasil…. o SQL Saturday #245…
O SQL Saturday é totalmente gratuito e focado em SQL Server, um dia inteiro de palestras técnicas. No momento o evento encontra-se com o Call for Speakers aberto, ou seja, recebendo inúmeras propostas de palestras, tendo até agora já recebido propostas de palestrantes de vários locais do Brasil e inclusive de outros países !!!
Trata-se da 2a edição do evento, que ocorreu com muito sucesso em abril de 2012, contando na época com mais de 300 participantes.
SQL Saturday é uma marca de eventos já conhecida mundialmente pela alta qualidade técnica. A marca pertence a uma organização chamada SQL PASS, cujo trabalho envolve apoiar grupos de usuários de SQL Server – denominados de PASS Chapter – por todo o mundo.
O SQL PASS cede a marca, bem como algumas ferramentas on-line, patrocinio e orientação para que o PASS Chapter da região realize o evento. No Rio de Janeiro o evento está sendo realizado pelo PASS Chapter devSQL, o mais antigo PASS Chapter do Brasil, liderado por Dennes Torres (t | b).
As inscrições para o evento estão abertas e, como citado antes, é totalmente gratuito. Trata-se do 2o evento realizado no Brasil. O primeiro, realizado em São Paulo por outro PASS Chapter, ficou totalmente lotado antes mesmo da grade de palestras ser definida.
Evento : SQL Saturday #245 – Rio de Janeiro
Data : 31/08
Horário : Abertura as 08:00hs, inicio das palestras as 09:00hs até as 18hs
Local : Universidade Veiga de Almeida
Endereço : Rua Ibituruna, 108, tijuca, próximo a estação São Cristóvão do metrô
Site do Evento : http://www.sqlsaturday.com/245/eventhome.aspx
Author: Leka
Date: 2013-06-07
Algumas vezes ajudo o pessoal de mensageria a arrumar algumas configurações de DNS ou procurar as causas de um anti-spam ter ou não bloqueado alguma mensagem,,,
Basicamente tudo começa com a análise do cabeçalho da mensagem e as configurações de DNS do remetente…
O processo em sí é bem simples, mas toma um tempo em ficar fazerndo as pesquisas de DNS como conectar em um servidor de DNS, ver se o domínio é valido, se tem SPF se tem MX, se o IP do MX é um A válido, etc. etc. etc….
resolvi diminuir um pouco esse trabalho e montei um script em Powershell para ajudar a fazer uma parte dessas consultas…
ele não está 100%,,,, ainda apresenta uma ou outra falha dependendo do domínio,,, mas já ajuda em uns 90% dos casos…
#domínio que você quer consultar
$procurar = "leka.com.br"
#servidor de DNS que utilizaremos para consulta do DNS
$DNSserver = "4.2.2.2"
#localiza os registros de MX do domínio
$MXs = Resolve-DnsName $procurar -Type MX -Server $DNSserver | Select-object -ExpandProperty NameExchange
#localiza o registro TXT para ajudar a ver o SPF
$TXT = Resolve-DnsName $procurar -Type TXT -Server $DNSserver | Select-object -ExpandProperty Strings
Write-Host Consultas utilizando = $DNSserver
Write-Host $procurar
Write-Host SPF = $TXT
foreach($MX in $MXs)
{
#Verifica se o registro de MX possui uma entrada A
$IPA = Resolve-DnsName $MX -Type A -Server $DNSserver #| Select-Object -ExpandProperty IP4Address
foreach($IP in $IPA.IP4Address)
{
#Verifica se o IP da entrada A possui um reverso tipo A
$PTR = Resolve-DnsName $IP -Type PTR -Server $DNSserver | Select-Object -ExpandProperty NameHost
#Verifica se o A do reverso é valido
If(Resolve-DnsName "$PTR" -type A -Server $DNSserver )
{
$ok = $IPA.Name, $IP, $PTR
$ok | Select-Object @{N="MX";E={$IPA.Name}}, @{N="IP";E={$IP}}, @{N="Reverso";E={$PTR}}, @{N="Status";E={"A Valido"}} -Unique
}
else
{
$falha = $IPA.Name, $IP, $PTR
$ok | Select-Object @{N="MX";E={$IPA.Name}}, @{N="IP";E={$IP}}, @{N="Reverso";E={$PTR}}, @{N="Status";E={"A Invalido"}} -Unique
}
}
}
A idéia é bem simples:
- coloca-se o domínio que vamos pesquisar e um servidor de DNS que será usado para executar a pesquisa das informações..
- verifico se existe MX para esse domínio
- localizo a entrada TXT e você vê as configurações de SPF, não sabe o que é SPF ? leia um pouco aqui.
- Verifico que o MX tem um registro A
- Verifico se IP do registro A tem um PTR (DNS reverso)
- testo se o PTR aponta para um A válido.
Ainda estou trabalhando para melhorar o tratamento de erro em algumas partes do script, mas só isso já ajuda a identificar alguns problemas…
Para uma próxima versão espero conseguir fazer testes de relay e fazer uma análise entre os registros de SPF e os IP´s informados de MX para saber se são validos… mas isso está sendo um pouco mais complicado….