Port Mapper: Risco e Proteção de Serviços

 

O PortMap é um daemon que mapeia dinamicamente portas TCP/UDP para serviços do tipo RPC. Esse é um tipo de comunicação utilizada entre processos de diferentes máquinas em uma rede. Dessa forma, o serviço PortMap pode controlar uma grande gama de portas afim de delegá-las a outros serviços legitimos ou maliciosos. Por esse fato, ele é uma ferramenta poderosa que deve ser utilizado de forma monitorada.
O serviço de PortMap deve estar disponível apenas para máquinas que necessitem trocar dados da máquina hospedeira do serviço ou apenas a máquinas da mesma rede. É extremamente recomendado que esse serviço não esteja disponível para acesso público, visto que ele pode ser utilizado para realizar ataques do tipo DDoS e DRDoS.

Identificando vulnerabilidades

Para identificar se a máquina que contém o PortMap está vulneravel a ataques externos a rede onde ela se encontra, siga os seguintes passos:

> rpcinfo -T udp -p <IP_servidor_PM>
> showmount -e <IP_servidor_PM>

O teste deve ser realizado de um IP fora da sua rede, caso o resultado exiba informações sobre o host você está vulnerável.

Proteção do PortMap

Caso seja necessário manter o PortMap ativo, existem meios de mitigar o uso indevido da máquina. Alguns exemplos de proteção para o PortMap são:

TCPWrappers

No arquivo /etc/hosts.deny adicione as seguintes linhas e salve:

portmap: ALL
rquotad: ALL

No arquivo /etc/hosts.allow adicione as seguintes linhas e salve:

portmap: 192.168.0.
rquotad: 192.168.0.

IPTables

O PortMap trabalha nas portas 111 TCP/UDP, para controlar o tráfego nelas, no terminal, execute os comandos:

# iptables -A INPUT -p tcp -s! 192.168.0.0/24 –dport 111 -j DROP
# iptables -A INPUT -p tcp -s 127.0.0.1 –dport 111 -j ACCEPT
# iptables -A INPUT -p udp -s! 192.168.0.0/24 –dport 111 -j DROP
Observação: A rede exemplificada foi a 192.168.0.0, porém, caso a rede de acesso a máquina não seja essa (por exemplo, 10.10.0.0), altere o endereço do exemplo.
Desabilitando o PortMap

Por ser uma ferramenta que facilita comunicação entre processos em máquinas distintas, é recomendado que o PortMap seja desabilitado das máquinas que não necessitem fazer uso dele. Abaixo, alguns exemplos de como desabilitar esse serviço.

CentOS:

# chkconfig portmap off

Debian-Like:

# update-rc.d -f portmap remove

Observação: O comando acima deve ser executado a cada nova atualização do PortMap.

 

 

 

Por Beatriz de Andrade