Usando o nmap para varrer as portas abertas. A política padrão do iptables afeta outras regras?

4

Estou tentando descobrir por que mudar minha política de iptables padrão está afetando o que o nmap vê quando analisa meu host.

Considere a seguinte configuração do iptables:

iptables -F
iptables -A INPUT -p tcp -s 10.1.0.0/20 --dport 22 -j ACCEPT

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

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Vamos mapeá-lo usando nmap -p - 10.1.0.157 :

Nmap scan report for 10.1.0.157
Host is up (0.00059s latency).
Not shown: 65531 closed ports
PORT      STATE SERVICE
22/tcp    open  ssh
111/tcp   open  rpcbind
5672/tcp  open  amqp
46010/tcp open  unknown

Como esperado, algumas portas estão abertas. Adicionando uma regra especificamente descartando a porta 111:

iptables -F
iptables -A INPUT -p tcp -s 10.1.0.0/20 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 111 -j DROP

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

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Resultados:

Nmap scan report for 10.1.0.157
Host is up (0.00056s latency).
Not shown: 65531 closed ports
PORT      STATE    SERVICE
22/tcp    open     ssh
111/tcp   filtered rpcbind
5672/tcp  open     amqp
46010/tcp open     unknown

Por que 111 está mostrando como filtrado? Por que isso está aparecendo? Se eu alterar a política padrão para DROP, obtenho os seguintes resultados de verificação conforme o esperado:

Nmap scan report for 10.1.0.157
Host is up (0.00052s latency).
Not shown: 65534 filtered ports
PORT   STATE SERVICE
22/tcp open  ssh

Eu não estou entendendo algo sobre como as políticas padrão funcionam no iptables, ou é algo a ver com o nmap?

    
por Ation 07.09.2012 / 15:03

1 resposta

1

O Nmap mostra portas para as quais não recebe resposta como "filtrado". Esse é o resultado quando uma regra ou política é definida como "DROP".

A razão pela qual a porta 111 aparece em uma saída e não a outra na linha "Não mostrado:". Seja qual for o estado de porta mais comum ("fechado" ou "filtrado", não "aberto") é agrupado nessa linha, com uma contagem. Portanto, quando a política é ACCEPT e nada está escutando (ou se a política foi REJECT), o estado mais comum é "fechado", o que significa que um pacote TCP RST foi recebido. A regra DROP para a porta 111 faz com que seja diferente das outras, por isso é mostrado.

No segundo caso, quando a política padrão é DROP, o resultado para a porta 111 não é diferente de qualquer outra porta, portanto ela é incluída com as outras na linha "Não mostrado: 65534 portas filtradas". / p>

Você pode obter mais detalhes sobre o motivo de uma porta ser mostrada em um estado específico, adicionando a opção --reason . Além disso, ativar a depuração com -d irá desenrolar esse pacote "Não mostrado" e mostrar a você cada porta separadamente (muita saída!).

    
por 07.09.2012 / 17:44

Tags