Não tenho o histórico mais forte em segurança de computadores, mas ontem um dos servidores da minha empresa foi desligado por nosso host.
É um servidor com um IP público no qual hospedo vários aplicativos de serviço da web, incluindo sites e APIs. Foi-me dito que meu servidor "está executando um resolvedor de DNS aberto que está sendo usado para retransmitir o ataque de negação de serviço a uma entidade externa".
O que isto significa? Como esse ataque funciona? E como posso proteger meu sistema contra abusos assim?
No meu caso específico, o servidor em questão está no Windows Server 2012 e está servindo DNS para um domínio do Active Directory.
Respostas:
Um "resolvedor de DNS aberto" é um servidor DNS disposto a resolver pesquisas de DNS recursivas para qualquer pessoa na Internet. É muito parecido com uma retransmissão SMTP aberta, pois a simples falta de autenticação permite que terceiros mal-intencionados propaguem suas cargas usando seu equipamento não seguro. Com retransmissões SMTP abertas, o problema é que eles encaminham spam. Com os resolvedores de DNS abertos, o problema é que eles permitem um ataque de negação de serviço conhecido como Ataque de Amplificação de DNS.
A maneira como esse ataque funciona é bastante simples - porque seu servidor resolverá consultas DNS recursivas de qualquer pessoa, um invasor poderá fazer com que ele participe de um DDoS enviando ao servidor uma consulta DNS recursiva que retornará uma grande quantidade de dados, muito maior que o pacote de solicitação DNS original. Ao falsificar (falsificar) o endereço IP, eles direcionam esse tráfego extra para os computadores das vítimas, e não para os próprios, e, é claro, eles fazem o máximo de solicitações o mais rápido possível para o servidor e qualquer outro DNS aberto resolvedores que eles podem encontrar. Dessa maneira, alguém com um canal relativamente pequeno pode "amplificar" um ataque de negação de serviço usando toda a largura de banda do canal para direcionar um volume muito maior de tráfego para suas vítimas.
A ArsTechnica fez um artigo decente sobre o recente ataque de DDoS de amplificação de DNS contra o Spamhaus , e vale uma leitura rápida para obter o básico (e um bom visual da amplificação).
A maneira mais simples de proteger seu sistema contra abuso dessa maneira é limitar os endereços pelos quais o servidor executará pesquisas recursivas nas sub-redes locais. (As especificidades dependem de qual servidor DNS você está usando, é claro).
Por exemplo, se eu estivesse usando o BIND 9 e quisesse simplesmente impedir a recursão do DNS de endereços externos, usaria o seguinte código na minha configuração:
Essa linha de código diz ao meu servidor BIND para processar apenas solicitações DNS recursivas para o endereço de loopback local (que eu acho que eu poderia / deveria definir para o bloco de loopback local, o todo / 8) e os 3 espaços de endereço IPv4 privados.
Para o Windows Server 2012, que você diz estar usando, você tem as opções abaixo.
1. Separe o servidor DNS do servidor IIS.
2. Bloqueie solicitações DNS externas com um firewall, como o firewall do Windows incorporado.
Remote IP address
seção e adicione as sub-redes em uso na sua LAN, bem como quaisquer endereços IP de servidores públicos que precisam acessar o Active Directory. Como no exemplo BIND, os espaços de endereços privados IPv4 são127.0.0.0/8
10.0.0.0/8
192.168.0.0/16
e172.16.0.0/12
.3. Desative a recursão .
fonte