Home Comunidade Eventos YouTube Networks Desafios // produtos Academy News CTI | CVE Contato

05 - Atribuição de Portas

video explicativo
Video explicativoEspaco reservado para o video desta anotação — adicione video: https://youtu.be/... no frontmatter da nota.

Atribuição de Portas (IANA)

A Atribuição de Portas na Camada de Aplicação é o sistema de governança de endereçamento lógico que mantém a ordem técnica na Internet mundial. Gerenciado pela IANA (Internet Assigned Numbers Authority), atualmente operada pela ICANN, seguindo as diretrizes da RFC 6335 (Internet Assigned Numbers Authority (IANA) Procedures for the Management of the Service Name and Transport Protocol Port Number Registry), este modelo utiliza um cabeçalho de 16 bits para definir um espectro finito de 65.535 portas lógicas de comunicação. De uma correta atribuição de portas depende a interoperabilidade de softwares de milhares de fabricantes e a segurança administrativa e soberana de infraestruturas críticas que processam os dados da empresa.


1. A Hierarquia Global da IANA: Três Pilares de Endereçamento

A escala de portas de 16 bits não é um bloco único e desordenado, mas um sistema hierárquico dividido em três categorias estratégicas:

Portas Bem Conhecidas (Well-Known Ports: 0 a 1023)

São os endereços permanentes e rigorosamente padronizados para os serviços de infraestrutura e protocolos essenciais do sistema operacional.

  • Lógica de Autoridade: Elas exigem privilégios de root (UID 0) para serem ativadas no Linux/Unix. No Windows, exigem privilégio de Administrador.
  • Exemplos mandatórios: SSH (22), DNS (53), DHCP (67/68), HTTP (80), POP3 (110), NTP (123), IMAP (143), HTTPS (443), SMTPS (465), LDAPS (636), IMAPS (993), POP3S (995).
  • Garantia de Interoperabilidade: Esta categoria garante que um cliente em qualquer lugar do mundo saiba onde "bater" para encontrar o serviço padrão, sem erros de interpretação de soquete.

Portas Registradas (Registered Ports: 1024 a 49151)

Este intervalo é utilizado por empresas de tecnologia para seus softwares comerciais e aplicativos específicos.

  • Especialização de Serviço: Fabricantes de bancos de dados como Oracle (1521), MySQL/MariaDB (3306) ou PostgreSQL (5432) registram estas portas para evitar colisões com outros softwares.
  • Não exigem root: Estes serviços podem ser iniciados por usuários comuns (não-root), aumentando o isolamento de segurança da infraestrutura de dados da empresa.
  • Exemplos: RDP (3389), Squid (3128), PostgreSQL (5432), VNC (5900), X11 (6000-6063), Redis (6379), HTTP Alternate (8080), Memcached (11211).

Portas Dinâmicas ou Efêmeras (Ephemeral Ports: 49152 a 65535)

Diferente das anteriores, estas nunca hospedam serviços fixos.

  • Identidade Temporária: São alocadas aleatoriamente pelo Kernel quando um cliente (como o navegador de um gerente de TI) inicia uma conexão de saída para um servidor remoto. Elas são a "chave de volta" efêmera para que o servidor responda exatamente ao processo correto na rede local administrativa.
  • Variável por SO: O intervalo efêmero padrão varia conforme o sistema operacional (tabela abaixo).

2. Faixas Efêmeras por Sistema Operacional

Sistema Operacional Faixa Efêmera Padrão Configurável via
Linux (kernel 3.2+) 32768 a 60999 /proc/sys/net/ipv4/ip_local_port_range
Windows 10/11/Server 49152 a 65535 netsh int ipv4 set dynamicport tcp
macOS 49152 a 65535 sysctl net.inet.ip.portrange
FreeBSD 10000 a 65535 /etc/sysctl.conf
Solaris/AIX 32768 a 65535 ndd -set /dev/tcp tcp_smallest_nonpriv_port
# Linux - Verificando faixa efemera atual
cat /proc/sys/net/ipv4/ip_local_port_range
# Saida tipica: 32768   60999

# Aumentando faixa (requer reboot ou sysctl)
sudo sysctl -w net.ipv4.ip_local_port_range="10000 65535"
echo "net.ipv4.ip_local_port_range = 10000 65535" | sudo tee -a /etc/sysctl.conf

# Windows - Verificando faixa efemera
netsh int ipv4 show dynamicport tcp
netsh int ipv4 show dynamicport udp

3. Formato do Arquivo /etc/services

O arquivo /etc/services (POSIX) mapeia nomes de serviços a portas/protocolos. É a fonte de verdade usada por getservbyname() (libc).

# Exemplos do arquivo /etc/services
ssh              22/tcp                          # The Secure Shell (SSH) Protocol
ssh              22/udp                          # SSH Remote Login Protocol
domain           53/tcp                          # Domain Name Server
domain           53/udp
http             80/tcp          www             # World Wide Web
https            443/tcp                         # HTTP over TLS/SSL
mysql            3306/tcp                        # MySQL
postgresql       5432/tcp        postgres        # PostgreSQL Database
# Consultando porta por nome de servico
getservent | grep -E "(ssh|http|sql)"

# Convertendo nome em porta via Python
python3 -c "import socket; print(socket.getservbyname('https', 'tcp'))"
# Saida: 443

4. Gestão de Sockets e Atribuição em Escala Corporativa

Em datacenters modernos e ambientes de nuvem, a atribuição de portas é um recurso administrativo que exige monitoramento contínuo:

Prevenção de Colisão e Address Conflict

O sistema operacional impede que dois processos realizem o bind (vinculação) no mesmo IP e na mesma porta simultaneamente. Se um administrador tentar subir dois processos de banco de dados na porta 3306 e no IP da interface principal, o segundo falhará com erro fatal de sistema Address Already in Use (errno EADDRINUSE, valor 98 no Linux).

# Verificando quem ocupa uma porta especifica
sudo ss -tulpn | grep :3306
sudo lsof -iTCP:3306 -sTCP:LISTEN
sudo fuser -v -n tcp 3306

# Solving: SO_REUSEADDR (em C)
setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(yes));
# Permite rebind imediato apos servidor reiniciar (TIME_WAIT)

Redundância e IP Aliasing

Uma técnica avançada para maximizar a capacidade do servidor é vincular múltiplos endereços IP (Aliases) a uma única placa de rede física. Isto permite que a empresa rode, por exemplo, dez instâncias independentes de um servidor web, cada uma escutando na porta HTTPS 443, desde que cada uma esteja vinculada a um IP lógico diferente, mantendo a soberania dos dados isolada.


5. Perspectiva de Cyber Security e Vetores de Abuso Sombrio

Para o analista de segurança, a tabela de atribuição da IANA é o mapa da trilha de auditoria e resposta a incidentes.

Identificação de Backdoors e Canais de Fuga

Atacantes frequentemente instalam malwares ou ferramentas de exfiltração (como o Netcat) que escutam em portas não-identificadas no intervalo de portas Dinâmicas ou Registradas.

  • Audit de Integridade: Auditorias profissionais de segurança comparam a lista de portas em estado LISTEN com a tabela oficial de serviços da empresa. Qualquer socket ativo em portas como a 4444 (comumente usada pelo Metasploit Meterpreter reverse shell) ou portas que não batam com a finalidade do servidor deve disparar um alerta de contenção imediato nas ferramentas de SIEM da organização.

Portas Comumente Maliciosas

Porta Vetor
4444 Meterpreter reverse TCP (Metasploit)
31337 Back Orifice e backdoors clássicos
6667 Botnet C&C via IRC
9001 Tor / reverse shells
8080 / 8443 Webshells (HTTP alternativo)

Fadiga de Soquetes (Port Exhaustion Attack)

Ataques de negação de serviço podem tentar exaurir o pool de portas efêmeras. Se um atacante abrir milhares de sessões ociosas (TCP SYN flood completo), o sistema não terá mais números de porta disponíveis para novos usuários legítimos, paralisando a operação administrativa por falta de endereçamento lógico no Kernel.

# Mitigacao no Linux
# Aumentar faixa efemera
sudo sysctl -w net.ipv4.ip_local_port_range="1024 65535"
# Reduzir tempo em TIME_WAIT (NAT/firewall)
sudo sysctl -w net.ipv4.tcp_fin_timeout=15
# Reciclar sockets TIME_WAIT mais agressivo
sudo sysctl -w net.ipv4.tcp_tw_reuse=1

6. Auditoria Técnica e Diagnóstico de Atribuição

Dominar o estado da rede física e lógica exige o uso sistemático de ferramentas de inspeção de sockets:

# Verificando a conformidade de todas as portas de escuta e seus proprietarios (PID)
sudo ss -tulpn | sort -n -k 4

# Listando apenas TCP em LISTEN com resolucao de processo
sudo ss -tlnp

# Consultando o arquivo mestre de atribuicoes registrado no sistema operacional
cat /etc/services | grep -E "ssh|http|sql"

# Verificando o intervalo de portas efemeras configurado no Kernel Linux atual
cat /proc/sys/net/ipv4/ip_local_port_range

# Monitorando conexoes de usuario em tempo real (Audit)
sudo lsof -i -P -n | grep -i listen

# Listando conexoes estabelecidas
sudo netstat -tunap | grep ESTABLISHED

# Detectando processos que abriram sockets UDP (mais sutil que TCP)
sudo ss -ulpn

7. Tabela de Portas Essenciais para Memorização

Porta Protocolo Serviço RFC
20/21 TCP FTP (controle/dados) RFC 959
22 TCP SSH RFC 4254
23 TCP Telnet (inseguro) RFC 854
25 TCP SMTP (MTA-MTA) RFC 5321
53 TCP/UDP DNS RFC 1035
67/68 UDP DHCP (server/client) RFC 2131
80 TCP HTTP RFC 9112
110 TCP POP3 RFC 1939
123 UDP NTP RFC 5905
143 TCP IMAP RFC 9051
161/162 UDP SNMP / SNMP Trap RFC 3416
389 TCP/UDP LDAP RFC 4511
443 TCP HTTPS (HTTP/TLS) RFC 9112
465 TCP SMTPS (SMTP implicit TLS) RFC 8314
587 TCP SMTP Submission (MUA-MSA) RFC 6409
993 TCP IMAPS (IMAP over TLS) RFC 8314
995 TCP POP3S (POP3 over TLS) RFC 8314

8. Conclusão: O Código de Ordem Digital

A Atribuição de Portas é o selo de governança soberana que sustenta a era da informação. De uma correta gestão dos intervalos da IANA e de um monitoramento rigoroso contra soquetes não autorizados em portas administrativas depende a resiliência e a privacidade de toda a rede corporativa. Dominar a escala de 16 bits, entender as categorias Well-Known, Registered e Ephemeral, conhecer as faixas específicas por sistema operacional e proteger as portas registradas garante que a rede administrativa permaneça rápida, soberana e inalcançável por adversários no cenário estratégico da web globalizada. Para o engenheiro de redes, a tabela de portas é a planta baixa da infraestrutura; para o analista de segurança, é o mapa de detecção de intrusão.