As conexões TCP espúrias na porta 53 são um problema?

1

Eu corro um servidor que, entre outras coisas, usa tinydns para DNS e axfrdns para manipular solicitações de transferência de nosso DNS secundário (outro sistema). Eu entendo que o tinydns usa a porta 53 no UDP e o axfrdns usa a porta 53 no TCP.

Eu configurei o axfrdns para permitir conexões apenas do meu host secundário concordado. Eu corro o logcheck para monitorar meus logs e todos os dias vejo conexões espúrias na porta 53 (TCP) de hosts aparentemente aleatórios. Eles geralmente acabam sendo de conexões ADSL.

Minha pergunta é; são essas solicitações inocentes ou um risco de segurança? Estou feliz em bloquear os infratores reincidentes usando o iptables, mas não quero bloquear usuários inocentes de um dos sites que hospedo.

Obrigado, Darren.

    
por Darren Greaves 11.08.2010 / 09:05

4 respostas

-2

Suponho que você esteja usando o servidor como um servidor DNS autoritativo para um nome de domínio. Se esse for o caso, qualquer cliente que precise resolver um nome para o qual seu servidor tenha autoridade só precisará usar o UDP. O TCP deve ser usado para transferências de zona.

E eu também suponho que você não quer que o mundo seja capaz de fazer transferências de zona. Embora não seja um risco de segurança em si, as transferências de zona geralmente só são permitidas para os servidores dns secundários / de backup. A maioria dos softwares de DNS também tem ACLs para controle, nos quais o servidor pode fazer transferências de zona, assim você também tem um segundo método para restringir isso. Mas desde que eu vejo a segurança como permitir apenas o que é necessário eu sugiro que você bloqueie tcp na porta 53 para hosts que não precisam fazer transferências de zona de você.

Como observação, as conexões tcp de hosts adsl aleatórios na porta tcp 53 possuem uma intenção maliciosa. Isso ocorre porque nenhum cliente legítimo precisa fazer transferências de zona de você. Eles podem estar tentando acessar informações confidenciais relacionadas à sua rede ou explodir vulnerabilidades em determinados softwares de DNS.

Enquanto isso não é algo para ser paranóico sobre isso é algo que você deve estar ciente.

    
por 11.08.2010 / 11:13
10

TCP não é usado apenas para transferências de zona.

TCP é o fallback padrão usado pelos clientes DNS, caso seu servidor DNS deva enviar uma resposta UDP truncada (TC = 1). Isso aconteceria se você estiver veiculando dados que excedam 512 bytes em um único pacote.

Se você estiver executando um servidor DNS, ele deverá aceitar conexões TCP de clientes DNS, e não haverá risco inerente à segurança ao fazê-lo. Há um pequeno risco de ataques de negação de serviço contra o servidor DNS, mas isso é o caso de qualquer serviço voltado para o público.

Consulte requisitos do rascunho-ietf-dnsext-dns-tcp que deve ser publicado como um RFC no próximo mês.

Veja RFC 5966 para mais detalhes.

Ob disclaimer - Eu escrevi essa RFC.

    
por 11.08.2010 / 16:07
1

As únicas coisas que devem usar seu host como servidor DNS são

  • localhost
  • máquinas na sua rede que você define como o servidor DNS para

A maneira mais simples de bloquear "todo o resto" é desabilitar o serviço de ouvir esse endereço. Se os seus próprios dispositivos estiverem fora da "sua rede", use as regras de firewall ( iptables ou qualquer outro) para aceitar apenas conexões do (s) seu (s) endereço (s) de rede externo (s). Se não forem corrigidos, você pode precisar de uma VPN ou outro túnel seguro para trazer os hosts externos "dentro de sua rede".

Lembre-se de que consultas arbitrárias de DNS no servidor de nomes interno podem potencialmente mapear toda a sua rede para uma parte externa e apresentar um vetor de ataque ou fornecer informações que você preferiria não ter o resto se o mundo tivesse acesso para. "Conexão ADSL aleatória" pode ser facilmente usada para planejar algo desagradável contra você.

    
por 11.08.2010 / 09:20
-4

Existem muitos riscos de segurança ao abrir o TCP incomparável ao servidor de nomes - qualquer um que não afirme isso não é sensato. Basta olhar para o histórico de comprometimento da raiz - a maioria é feita usando o TCP em combinação com o UDP. O velho deve e deve ser criado por pessoas que sabem sobre segurança. Se você tem zonas DNS que não usam o TC = 1 bit (ou que exijam 512 bytes) - Não habilite o incomming TCP, deixe os idiotas fazerem isso no futuro.

    
por 04.07.2012 / 13:57