← tópicos

Específicos · Infraestrutura em TI

Protocolos e portas: SMTP/POP3/IMAP, HTTP/HTTPS, LDAP, NFS × SMB, SSH, DNS

Todo protocolo de aplicação tem uma identidade de três partes — nome, porta e transporte —, e o item errado quase sempre troca exatamente uma das três.

Altíssima72 itens no tópico

A ideia que organiza o assunto

O IP entrega o pacote à máquina certa. Falta o último passo: dentro daquela máquina há dezenas de processos, e é preciso dizer a qual deles a mensagem pertence. Quem faz isso é a porta — um número de 16 bits carregado no cabeçalho de transporte, e nada além disso.

Como o cliente precisa saber de antemão onde bater, as portas dos serviços públicos foram convencionadas (a IANA mantém a lista). Daí a consequência que organiza o tópico inteiro: cada protocolo de aplicação tem uma identidade de três partes — o nome, o número da porta e o protocolo de transporte que ele usa. SMTP é 25/TCP. DNS é 53/UDP e 53/TCP. SNMP é 161 e 162/UDP. HTTPS é 443/TCP.

Julgar um item aqui é conferir esse trio. A banca escreve a frase inteira certa e altera uma das três partes: o número (POP3 na 143), o transporte (HTTPS sobre UDP), ou o nome (o SMTP acessando a caixa postal). Se você souber o trio, não precisa de mais nada — e é por isso que, neste tópico, a tabela de números não é apêndice: é o conteúdo.

Por que se usa (e o que custa)

Ganha-se encontrabilidade e controle. Porque a porta é fixa e conhecida, qualquer cliente fala com qualquer servidor sem combinação prévia, e o firewall consegue decidir política por serviço: liberar 443, negar 23, restringir 445 na borda. Praticamente toda a segurança de perímetro se apoia nessa convenção.

Paga-se em duas moedas. A primeira é alvo: varrer portas conhecidas é a primeira coisa que um atacante faz, e um serviço legado na porta padrão é um convite. A segunda é mais séria e cai em prova: como 80 e 443 são liberadas em todo lugar, tudo passou a ser tunelado por elas — e por isso bloquear 80 e 443 nunca é “suficiente” para impedir tunelamento, nem liberá-las é inócuo.

Como funciona

Correio: enviar e receber são protocolos diferentes. O SMTP (25/TCP) só empurra mensagem — do cliente para o servidor de saída e de servidor para servidor. Ele não lê caixa postal. Para ler existem dois protocolos: o POP3 (110/TCP), que baixa as mensagens para o cliente e, na configuração padrão, as remove do servidor; e o IMAP (143/TCP), que as mantém no servidor e permite manipular pastas e mensagens lá mesmo — é por isso que o IMAP serve celular, notebook e tablet ao mesmo tempo, sem baixar nada duas vezes. As versões sobre TLS mudam de porta: 465 (SMTPS), 995 (POP3S), 993 (IMAPS); a submissão autenticada de mensagens usa 587.

Web. O HTTP (80/TCP) é de aplicação e transfere hipertexto — e só isso. O HTTPS não é outro protocolo: é o mesmo HTTP rodando sobre TLS/SSL, numa camada intercalada entre a aplicação e o transporte, na porta 443/TCP. O que o TLS acrescenta é sigilo, integridade e autenticação do servidor por certificado. No HTTP/2 sobre TLS 1.2, a renegociação de conexão é proibida após o handshake inicial.

LDAP (389/TCP; 636 com TLS) é o protocolo de acesso a um serviço de diretório — não é o diretório. As entradas ficam em uma árvore, a DIT, e cada uma é identificada por um DN (distinguished name), que é o caminho completo da raiz até ela. Os componentes de domínio (DC) ficam no topo; a CN é a folha, a menor unidade. O Active Directory é o serviço de diretório da Microsoft, acessível por LDAP; o OpenLDAP é a implementação livre. O ganho prático é um único usuário e uma única senha para muitos sistemas.

Compartilhamento de arquivos: NFS × SMB. Ambos são cliente-servidor e ambos fazem o sistema de arquivos remoto parecer local. O NFS nasceu no mundo Unix, escuta na 2049 e, na versão 3, depende do portmapper/rpcbind (porta 111) para o cliente descobrir as portas dos serviços RPC; o bloqueio de arquivos também é serviço à parte (NLM/lockd). O SMB é do mundo Windows, roda hoje direto sobre TCP na 445 (antes, sobre NetBIOS, em 137–139), traz bloqueio de arquivo nativo e é o que o Samba implementa para que o Linux participe de compartilhamentos Windows. O CIFS é um dialeto do SMB, e é nesse par NFS/CIFS que o NAS entrega arquivos pela rede — diferentemente da SAN, que entrega blocos.

SSH (22/TCP) substitui o Telnet (23), que trafega tudo em texto claro. Ele cifra a sessão inteira, inclusive usuário e senha no momento da autenticação, e aceita autenticação por senha ou por par de chaves pública/privada — o mecanismo usado por ferramentas de automação como o Jenkins. Sobre ele correm ainda SFTP e SCP, na mesma porta 22.

DNS (53) traduz nome em endereço IP. O sistema é distribuído e hierárquico: o root server não resolve o nome, ele devolve uma referência ao servidor responsável pelo domínio — e é por isso que uma consulta desce de raiz para TLD para autoritativo. Usa UDP por padrão, porque consulta e resposta cabem em um datagrama e não compensa abrir conexão; usa TCP para transferência de zona e para respostas grandes. Os registros que caem: A (IPv4), AAAA (IPv6), MX (servidor de correio), CNAME (apelido), NS, PTR (reverso), SOA.

O que decide os itens

O trio de cada protocolo — confira nome, porta e transporte antes de qualquer outra coisa. A tabela de números, abaixo, é essa conferência.

Enviar × receber, no correio:

faznão faz
SMTPenvia: cliente→servidor e servidor→servidornão acessa caixa postal
POP3baixa para o cliente; por padrão apaga do servidornão sincroniza pastas
IMAPmanipula mensagens e pastas no servidornão exige download

NFS × SMB/CIFS:

NFSSMB / CIFS
origemUnix/Linux (Sun)Windows (IBM/Microsoft)
porta2049 (+ rpcbind 111)445 (antes 137–139, via NetBIOS)
bloqueio de arquivoserviço auxiliar (NLM/lockd)nativo ao protocolo
no outro sistemaWindows tem “Serviços para NFS”, opcionalSamba implementa SMB no Linux
modelocliente-servidorcliente-servidor

HTTP × HTTPS — mesmo protocolo de aplicação; o que muda é o TLS embaixo e a porta. HTTPS não “substitui” o HTTP nem vive em outra camada.

LDAP: quem é o quê — LDAP é o protocolo de acesso; AD e OpenLDAP são implementações de diretório; DIT é a árvore; DN é o caminho único até a entrada; DC é topo, CN é folha. LDAP é otimizado para leitura, não é banco relacional, e não é imune a injeção: aplicações web com backend LDAP são justamente o alvo típico.

A camada de tudo isso — SMTP, POP3, IMAP, HTTP, HTTPS, LDAP, NFS, SMB, SSH, DNS, FTP, Telnet e SNMP são aplicação. TCP e UDP são transporte. IP, ICMP e ARP são rede — e o ICMP, que o ping usa, é a troca de camada mais frequente do tópico. O PPP é enlace, e é o intruso preferido em listas de “protocolos de aplicação”.

SNMP: quem pergunta e quem responde — o manager (gerente) emite GET e SET; o agente responde e emite trap. A MIB é a base dos objetos gerenciados; quem fornece a linguagem para definir esses objetos é a SMI; o OID identifica unicamente cada objeto na árvore. MIBs privadas do fabricante estendem o que pode ser monitorado — as variáveis não se limitam às do padrão.

FTP tem duas conexões — controle na 21 e dados na 20 (modo ativo), em portas distintas e paralelas, ao contrário do HTTP. E, entre linha de comando, navegador e cliente dedicado, é o cliente dedicado que oferece mais recursos; o navegador é o mais limitado.

Números que caem

Este é o coração do tópico: o número é o assunto. Vale decorar a coluna da direita inteira.

FTP21 controle · 20 dados (modo ativo) — TCP
SSH · SFTP · SCP22 TCP
Telnet23 TCP
SMTP25 TCP · submissão autenticada 587 · SMTPS 465
DNS53UDP e TCP
DHCP67 servidor · 68 cliente — UDP
Kerberos88
HTTP × HTTPS80 × 443, ambos TCP
POP3 × POP3S110 × 995
portmapper / rpcbind111
NTP123 UDP
NetBIOS137 nomes · 138 datagramas · 139 sessão
IMAP × IMAPS143 × 993
SNMP161 agente · 162 trapsUDP
LDAP × LDAPS389 × 636 (catálogo global do AD: 3268/3269)
SMB direto sobre TCP445
RADIUS1812 autenticação/autorização · 1813 contabilidade — UDP
NFS2049 (com rpcbind na 111)
RDP3389
WinRM / PowerShell remoto5985 HTTP · 5986 HTTPS (não 80 e 443)
campo de porta16 bits65.536 portas (0 a 65535)
faixas de porta0–1023 bem conhecidas · 1024–49151 registradas · 49152–65535 dinâmicas
resposta DNS em UDPaté 512 bytes; acima disso, TCP — salvo EDNS0 negociado
cabo Cat 6 em 10 Gbps55 m (Cat 6a: 100 m)
classe A do IPv4primeiro byte de 1 a 127, primeiro bit 0
rota-padrão × broadcast limitado0.0.0.0 × 255.255.255.255

Como a CEBRASPE derruba você aqui

Medido sobre os 28 itens errados já explicados do tópico. O resultado contraria a intuição de quem estuda porta: só 7% dos itens erram um número. O número costuma estar certo — o que a banca troca é o transporte, a camada ou o papel de quem executa a ação.

Termo trocado, quase sempre o transporte ou a camada — 39%. “Precisa permitir o UDP na porta 443”: o 443 está certo, o transporte não, porque o TLS exige canal confiável e ordenado. O RIP que “utiliza o protocolo de transporte TCP” — ele vai sobre UDP na 520; quem usa TCP é o BGP. O ICMP do ping que “opera na camada de aplicação”, que aparece duas vezes, sempre com a primeira metade correta. E a troca de papel dentro da mesma família: “O SMTP define mecanismos para o cliente manipular mensagens depositadas em sua caixa postal do servidor de correio” — descrição inteira do POP3, porta 110 inclusive; “o DNS faz uso do protocolo WWW”; SMB e NFS que “operam com um modelo cliente-cliente”. Defesa em duas passadas: conferido o número da porta, confira o transporte (e lembre que o DNS é os dois); depois confira se a função descrita é mesmo do protocolo nomeado, usando a tabela de correio acima.

Ação real, componente errado — 18%. Este tópico é feito de pares cliente-servidor, e a banca atribui a ação à metade que não a executa: responder GET e SET “é função do componente manager”, quando quem responde é o agente; “O MIB fornece uma maneira de definir objetos gerenciados e seus comportamentos”, quando quem define é a SMI e a MIB apenas reúne o definido; o CIFS que “exige o uso de serviço auxiliar” para travar arquivo, quando o dependente de rpcbind e lockd é o NFS; o Samba apresentado como quem “consiste em um dispositivo de rede que tenha a capacidade de adquirir as configurações do TCP/IP de um servidor”, que é um cliente DHCP. Cabe aqui também o PPP inserido numa lista de protocolos de aplicação. Defesa: quem pergunta não responde. Localize o papel antes de aceitar a função.

Pares invertidos — 14%. As duas metades estão corretas e ocupam o lugar uma da outra: “utiliza-se o comando chkconfig smb on para iniciar o serviço” — chkconfig habilita no boot, quem inicia agora é o service smb start; o CN “é a maior unidade de toda uma árvore LDAP”, quando é a menor, a folha; o NFS “utilizado exclusivamente em sistemas operacionais baseados em Windows”, quando é nativo do Unix e opcional no Windows; aplicações web “com backends LDAP estão imunes a esse tipo de ataque”, quando são justamente o alvo típico da injeção de LDAP. Defesa: confira o par, não cada metade.

Absoluto, causa inventada e número alterado — 7% cada. O absoluto: “é suficiente bloquear no firewall a porta 80, do HTTP, e a 443, do HTTPS” — sobram a 53, a 22, o ICMP e o resto; e variáveis do SNMP “restritas às disponíveis no protocolo base”, quando qualquer fabricante publica MIB privada sob o ramo enterprise. A causa: o fibre channel qualificado como rápido “por ser um conjunto de cabos de fibra ótica”, que ele não é; e o NFS declarado fácil e seguro no Windows “uma vez que o Windows contém o NFS integrado e configurado contra vulnerabilidades existentes na Internet”, quando os Serviços para NFS são componente opcional. O número, quando enfim aparece, aparece grosseiro: o SNMPv2 usando “as portas UDP 31 para agente e UDP 32 para o gerente”; o PowerShell remoto que “escuta as portas HTTP 80 e HTTPS 443”, quando o WinRM escuta 5985 e 5986. A tabela de portas acima é a defesa deste último formato; para os dois primeiros, leia a oração causal e o advérbio de exclusividade como se fossem itens separados.

Exceção omitida — 4%, e a única medida vale decorar. “A conexão TCP deverá ser utilizada, necessariamente”, para resposta DNS acima de 512 bytes: a regra é essa, mas o EDNS0 negocia datagramas UDP maiores e é a exceção que decide o item.

Erros clássicos

Achar que o SMTP também lê a caixa postal. Ele só envia. Quem lê é POP3 ou IMAP — e o item que mistura isso quase sempre vem com a porta 110 colada, entregando que a descrição é do POP3.

Trocar POP3 por IMAP. POP3 baixa e apaga; IMAP mantém no servidor. A pergunta “o usuário vê o mesmo e-mail em três aparelhos?” separa os dois.

Tratar HTTPS como protocolo diferente do HTTP. É o mesmo HTTP sobre TLS, em outra porta. E HTTPS protege o transporte — não torna o sítio confiável nem impede tunelamento por dentro dele.

Supor que o NFS é da Microsoft e o SMB é do Unix. É o contrário: NFS nasceu no Unix, SMB no mundo Windows, e o Samba é a ponte — implementação de SMB para que o Linux acesse discos e impressoras compartilhados pelo Windows.

Achar que CIFS precisa de serviço externo para travar arquivo. O bloqueio é nativo do SMB/CIFS. Quem depende de serviço auxiliar (rpcbind na 111, lockd) é o NFS.

Chamar o DNS de centralizado. É distribuído e hierárquico. E o root server não devolve o IP do sítio: devolve para quem perguntar.

Confundir MIB com SMI. A MIB é a base de objetos gerenciados; a SMI é a linguagem que define como esses objetos são descritos; o OID os identifica.

Achar que a CN é o topo da árvore LDAP. É a folha. O topo são os componentes de domínio, e o DN é o caminho completo entre os dois.

Praticar72 itens