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

02 - Protocolo POP3 (110)

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

O Protocolo POP3 (Post Office Protocol version 3) é o padrão clássico para recuperação de e-mails armazenados em um servidor de correio remoto. Padronizado na RFC 1939 (1996), o POP3 opera sobre TCP na porta 110 (sem cifragem) ou na porta 995 (com TLS, chamado POP3S). Sua filosofia é simples e direta: baixar todas as mensagens do servidor para o cliente e, opcionalmente, marcá-las para deleção após o download. Esta abordagem "offline" foi a padrão nos primórdios da internet, quando conexões discadas eram caras e o usuário precisava ler seus e-mails sem ficar conectado.


1. Modelo Operacional do POP3

O POP3 segue uma arquitetura cliente-servidor onde o cliente estabelece conexão TCP com o servidor, autentica-se, baixa as mensagens e fecha a conexão. O servidor atua como uma "caixa postal" que mantém as mensagens até que o cliente as recupere.

Estados do Protocolo

Estado Ações Permitidas Transição
AUTHORIZATION USER, PASS, APOP, QUIT Após sucesso → TRANSACTION
TRANSACTION STAT, LIST, RETR, DELE, NOOP, RSET, QUIT Após QUIT → UPDATE
UPDATE Servidor efetiva as deleções pedidas Encerra conexão

Diagrama de Estados Simplificado

[Cliente]                              [Servidor POP3]
   | --- TCP SYN → porta 110 ------->     |
   | <-- +OK POP3 server ready -------    |
   | --- USER joao ----------------->     |
   | --- PASS senha ----------------->     |  (AUTHORIZATION)
   | <-- +OK user logged in --------      |
   | --- STAT ---------------------->     |  (TRANSACTION)
   | <-- +OK 5 12345 ---------------      |  (5 mensagens, 12345 bytes)
   | --- RETR 1 -------------------->     |
   | <-- +OK ... (cabeçalho + corpo)      |
   | --- DELE 1 -------------------->     |
   | --- QUIT ---------------------->     |  (UPDATE: aplica DELEs)
   | <-- +OK -----------------------      |
   | <--- TCP FIN ------------------      |

2. Comandos Essenciais do POP3

Comando Argumento Resposta Função
USER nome do usuário +OK ou -ERR Identifica o usuário para autenticação
PASS senha +OK ou -ERR Autentica com senha em texto claro
APOP nome + timestamp + MD5 +OK ou -ERR Autenticação sem transmitir senha (digest MD5)
STAT (nenhum) +OK n m Retorna nº de mensagens (n) e total de bytes (m)
LIST [nº msg] +OK scan listing Lista tamanhos das mensagens
RETR nº da mensagem +OK + conteúdo Baixa uma mensagem completa
DELE nº da mensagem +OK Marca mensagem para deleção
NOOP (nenhum) +OK No operation — mantém conexão ativa
RSET (nenhum) +OK Desmarca todas as mensagens marcadas para deleção
TOP nº msg + nº linhas +OK + cabeçalho + N linhas Pré-visualização sem baixar tudo
UIDL [nº msg] +OK + ID único Lista identificadores únicos de cada mensagem
QUIT (nenhum) +OK Encerra sessão e aplica deleções

Características das Respostas

  • +OK — sucesso (seguido de informação adicional opcional).
  • -ERR — erro (seguido de descrição do erro).
  • Todas as respostas são texto ASCII, terminadas por CRLF.

3. Autenticação e Modos de Cifragem

Autenticação Básica (Insegura)

USER joao.silva
PASS minh@s3nha

A senha trafega em texto plano na rede. Qualquer sniffing com tcpdump ou Wireshark captura as credenciais instantaneamente. Descontinuada em ambientes modernos.

APOP — Digest MD5

APOP joao.silva c4e87f3a9b2d1e5f8c7a6b9d0e1f2a3b

O servidor envia um timestamp no banner de boas-vindas. O cliente calcula MD5(timestamp + senha_secreta) e envia o hash. A senha nunca trafega em texto. Vulnerável a ataques de colisão MD5 (Kerberoasting estilo), atualmente descontinuado.

POP3S (POP3 over TLS) — Porta 995

openssl s_client -connect pop.gmail.com:995 -crlf
# Após handshake TLS, os comandos USER/PASS sao cifrados
USER usuario@gmail.com
PASS senha_de_app

Padrão moderno recomendado. Usa o comando STLS para upgrade da conexão porta 110 → TLS, ou conecta direto na porta 995 com TLS implícito.


4. Funcionalidades e Limitações

Modos de Operação

Modo Comportamento Caso de Uso
Download-and-Delete Baixa e apaga do servidor Padrão clássico — usuário lê offline
Download-and-Keep Baixa mas preserva no servidor (RETR sem DELE) Permite acessar de múltiplos dispositivos
Header-only Apenas TOP n 0 para cabeçalho Pré-visualização para filtrar spam

Limitações do POP3

  • Sem sincronização de estado: Pastas (Inbox, Sent, Drafts) são apenas locais no cliente.
  • Sem flags de mensagem: Não há conceito de "lida", "respondida", "encaminhada" no servidor.
  • Sem busca server-side: Cliente precisa baixar tudo para filtrar por remetente, assunto, etc.
  • Uma única pasta: Apenas a INBOX é acessível via POP3 (não é possível acessar Sent ou Drafts).
  • Mensagens grandes: Sem partial fetch eficiente — para ler 1 MB em uma mensagem de 50 MB, é necessário baixar tudo.

5. Comparação: POP3 vs IMAP vs Webmail

Característica POP3 IMAP Webmail (HTTP)
RFC 1939 3501 (HTTP + proprietary)
Porta padrão 110 / 995 143 / 993 80 / 443
Modelo Offline Online Online
Mantém mensagens no servidor Opcional Sempre Sempre
Pastas múltiplas no servidor Não Sim Sim
Flags de mensagem Não Sim Sim
Busca server-side Não Sim Sim
Anexos sob demanda Não Sim Sim
Bom para conexões instáveis Sim Não Não
Bom para múltiplos dispositivos Não Sim Sim

6. Implementações Comuns de Servidor POP3

Software Plataforma Observação
Dovecot Linux/BSD Padrão moderno em servidores Linux (c/ POP3 e IMAP)
Courier-IMAP Linux/BSD Alternativa histórica
Cyrus IMAP Linux/BSD Implementação acadêmica de alto desempenho
Microsoft Exchange Windows Suporta POP3 como legado (desabilitado por padrão desde 2013)
Zimbra Linux Suite completa de colaboração
Postfix/Dovecot combo Linux Stack clássico em VPS compartilhados

7. Clientes POP3 Conhecidos

Cliente Plataforma Suporte a POP3S
Mozilla Thunderbird Multiplataforma Sim
Microsoft Outlook Windows/Mac Sim
Apple Mail macOS/iOS Sim
Evolution Linux Sim
K-9 Mail Android Sim
Mutt Linux (CLI) Sim
fetchmail Linux (CLI) Sim — usado em relay automático
getmail Linux (CLI) Sim — substituto moderno do fetchmail

8. Auditoria Técnica e Diagnóstico

# Teste manual de conexao POP3 via telnet/nc
nc -C pop.empresa.com 110
USER joao.silva
PASS senha_secreta
STAT
LIST
RETR 1
DELE 1
QUIT

# Teste via openssl (conexao segura POP3S porta 995)
openssl s_client -crlf -connect pop.gmail.com:995
USER usuario@gmail.com
PASS senha_de_app
LIST
QUIT

# Capturando trafego POP3 em texto claro (auditoria de seguranca)
sudo tcpdump -i eth0 -A -s0 'tcp port 110'

# Verificando certificado TLS do servidor POP3S
openssl s_client -connect pop.empresa.com:995 -showcerts < /dev/null 2>&1 | openssl x509 -noout -dates -issuer

# Logando falhas de autenticacao (no servidor Dovecot)
sudo journalctl -u dovecot -g "auth failed" --since "1 hour ago"

9. Casos de Uso Modernos

Embora o POP3 tenha sido amplamente substituído pelo IMAP para uso humano interativo, ainda é relevante em servidores de e-mail legados em pequenas empresas, coleta automatizada de logs via fetchmail, dispositivos IoT que enviam relatórios por e-mail, sistemas de arquivamento que baixam mensagens para repositórios locais e ambientes com conectividade intermitente (rural, marítimo) onde o download offline é preferível.

10. Conclusão

O POP3 permanece como uma peça histórica fundamental do ecossistema de e-mail, mesmo tendo sido amplamente suplantado pelo IMAP para uso humano interativo. Sua simplicidade — conectar, baixar, desconectar — tornou-o ideal para a era das conexões discadas e ainda encontra aplicação moderna em automações de coleta de mensagens, arquivamento e dispositivos com recursos limitados. Compreender os comandos básicos (USER/PASS/RETR/DELE/QUIT), os três estados do protocolo (AUTHORIZATION, TRANSACTION, UPDATE) e a transição para POP3S (porta 995) com TLS é essencial para administradores que precisam manter servidores de e-mail legados ou auditar tráfego de correio em redes corporativas.