Portas 53 aberta sem DNS instalado

Iniciado por acsoprana, 15 de Abril de 2016, 13:15

tópico anterior - próximo tópico

acsoprana

 :) Olá pessoal, agradeço a oportunidade deste fórum..

meu problema seguinte..  tenho uma maquinha com serviço web e com Iptables instalado liberando apenas acesso a porta 80, porém quando dou um nmap neste host de outra rede me mostra que a porta 53 também está aberta e se eu der um "nmap localhost" ai só me mostra aporta 80 liberada. Eu nem instalei DNS nele, o que pode estar acontecendo???

fico grato pela desde ja pela atenção de vcs..



zekkerj

A porta do DNS é a 53/udp. Se vc está filtrando via script de iptables, provavelmente esqueceu de incluir filtros pra UDP (ou filtrou pelo protocolo errado).
Poste seu script pra gente analisar.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

acsoprana

#2
eu inicio meu iptables bloqueando tudo e liberando apenas para saída

        iptables -P INPUT DROP
        iptables -P OUTPUT ACCEPT
        iptables -P FORWARD DROP

depois libero só o que quero.  e para a porta 53 não tenho DNS instalado e como aparece ela??? poque pra algumas máquina funciona e pra essa específica não??

resultado do nmap:

PORT   STATE SERVICE
53/tcp open  domain
80/tcp open  http


zekkerj

Porta 53/tcp aberta... isso com certeza é um erro no teu firewall. Mostre o script completo, por favor.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

acsoprana

Segue a baixo iptables:



#!/bin/bash

function start(){

echo -n "Definindo politica padrão ....................................."
# Define a politica padrao de cada chain
        iptables -P INPUT DROP
        iptables -P OUTPUT ACCEPT
        iptables -P FORWARD DROP

# Carregando Modulos
        modprobe ip_conntrack
        modprobe ip_conntrack_ftp
        modprobe ip_nat_ftp
#       modprobe ip_queue
        modprobe ip_tables
        modprobe ipt_LOG
        modprobe ipt_MARK
        modprobe ipt_MASQUERADE
#       modprobe ipt_MIRROR
        modprobe ipt_REDIRECT
        modprobe ipt_REJECT
        modprobe ipt_TCPMSS
        modprobe ipt_TOS
        modprobe ipt_limit
        modprobe ipt_mac
        modprobe ipt_mark
        modprobe ipt_multiport
        modprobe ipt_owner
        modprobe ipt_state
        modprobe ipt_tcpmss
        modprobe ipt_tos
#       modprobe ipt_unclean
        modprobe iptable_filter
        modprobe iptable_mangle
        modprobe iptable_nat


# Estabelece conexão
        iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
        iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT


# libera entrada de acesso SSH para os Ips externos listados
        iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set
        iptables -I INPUT -p tcp --dport 22  -i eth0 -m state --state NEW -m recent --update --seconds 300 --hitcount 2 -j DROP
        iptables -A INPUT -s  "minharede" -i eth0 -p tcp --dport 22 -j ACCEPT
       
# Libera acesso as portas 80 e 443
        iptables -A INPUT -p tcp --dport 80 -j ACCEPT


#Libera ping
        iptables -A INPUT -p icmp -j ACCEPT
}

function stop(){
echo -n "Limpando regras ..............................................."
# Limpando as Chains
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -F -t filter
iptables -F POSTROUTING -t nat
iptables -F PREROUTING -t nat
iptables -F OUTPUT -t nat
iptables -F -t nat
iptables -t nat -F
iptables -t mangle -F
iptables -X
# Zerando contadores
iptables -Z
iptables -t nat -Z
iptables -t mangle -Z
# Define politicas padrao ACCEPT
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
}


case $1 in
  start)
   start
   exit 0
  ;;
stop)
   stop
   exit 0
  ;;

*)

echo "Escolha uma opção válida { start | stop | restart | ativaping | desativaping | -l }"
   echo
esac



Esse código é básico e funciona em outros server que tenho, acho que deve ser a versão do meu iptables..

zekkerj

#5
Não vi erro em seu firewall. Resta do problema ser na medição.
A máquina a partir de onde vc mede está na mesma rede local que vc?
Mesmo em rede local, há algum equipamento entre elas?

EDIT: Adicione a linha abaixo ao fim do seu firewall, pra ter um log dos pacotes descartados.

iptables -A INPUT -j LOG -m limit --limit 10/s --log-prefix " FWL"
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

acsoprana

eu tenho duas redes, como mostra a baixo:

                                                      router
                                                  /                \
                                                /                    \
                                              /                         \
                                  firewall                     firewall
                                       /                                    \
                                server A                            server B

digamos que o problema esta no Server A , e faço o teste na rede pelo Server B ele me retorna que a porta 53 esta aberta, se testo de dentro da rede onde o Server A esta, também mostra que a porta esta aberta.
eu tenho este script rodando nas duas redes e notei que em apenas em 2 servidores ocorre este problema.. e são os que tem o sistema linux pouco mais antigo.

zekkerj

O teste, feito a partir de outras redes, pode ser influenciado pelos dispositivos intermediários, principalmente se houve algum tipo de NAT no meio do caminho.

Agora... fiquei preocupado em vc ter dito "sistema linux um pouco mais antigo", o que me deu a impressão de vc não estar usando uma versão do Ubuntu. É seu caso? Pq se for, está fora das regras de nosso fórum...
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

acsoprana


zekkerj

OK, nem tão antigo assim.

Chegou a aplicar a alteração que eu sugeri no seu firewall? Qualquer tráfego não autorizado, agora, tem que gerar log.
Vc também pode acompanhar o tráfego com um sniffer, tipo o tcpdump, pra verificar se há algum tráfego estranho entrando.

sudo tcpdump -vvv -n ip and port 53

Daí vc repete o nmap e diz se aparece algum tráfego aceito.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

acsoprana

apliquei o tcpdump e esta dando o seguinte resultado:



12:42:31.638545 IP (tos 0x0, ttl 64, id 50658, offset 0, flags [DF], proto UDP (17), length 62) IP.ServidorWeb.40861 > IP.ServidorDNS.53: [udp sum ok] 47148+ AAAA? ssl-backup24.com. (34)
12:42:31.638891 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 118)  IP.ServidorDNS.53 > IP.ServidorWeb.40861: 47148 q: AAAA? ssl-backup24.com. 0/1/0 ns: ssl-backup24.com. SOA[|domain]
12:42:31.639326 IP (tos 0x0, ttl 64, id 50659, offset 0, flags [DF], proto UDP (17), length 62)IP.ServidorWeb.58829 > IP.ServidorDNS.53: [udp sum ok] 64594+ AAAA? ssl-backup24.com. (34)
12:42:31.640542 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 118)  IP.ServidorDNS.53 > IP.ServidorWeb.58829: 64594 q: AAAA? ssl-backup24.com. 0/1/0 ns: ssl-backup24.com. SOA[|domain]
12:42:31.640782 IP (tos 0x0, ttl 64, id 50659, offset 0, flags [DF], proto UDP (17), length 62) IP.ServidorWeb.53924 >  IP.ServidorDNS.53: [udp sum ok] 61812+ A? ssl-backup24.com. (34)
12:42:31.641179 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 157)  IP.ServidorDNS.53 > IP.ServidorWeb.53924: 61812 q: A? ssl-backup24.com. 1/2/2 ssl-backup24.com. A 82.192.70.80 ns: ssl-backup24.com.[|domain]



e agora.... ferro tudo heheh

zekkerj

Pelo que percebo há apenas consultas do "servidor web" para o "servidor DNS", e respostas no sentido contrário, como esperado.
Vc fez teste com o nmap no período em que estava monitorando o tráfego?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

acsoprana

ok, as consultas acontece mais porque aparece a porta 53 no servidor web aberta??? essa é minha dúvida

zekkerj

Então... quando há alguma máquina entre você e o servidor testado, essa máquina pode alterar o tráfego, gerando a impressão de que o destino tem alguma porta aberta.
Isso é particularmente verdade com UTMs como o Fortigate e firewalls como o BFW. Acredito que seja seu caso.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D