Capítulo 16. Servidor pop3

Índice

Introdução
Versão
Contribuindo
Características
Ficha técnica
Requerimentos de Hardware
Arquivos de log criados pelo qpopper
Instalação
Iniciando o servidor/reiniciando/recarregando a configuração
Teste de acesso no pop3
Opções de linha de comando
Enviando boletins de mensagens
Especificando quotas para as caixas de correio
Restringindo acesso ao servidor pop3

Este capítulo descreve a instalação, configuração, criação de contas e controle de acesso ao servidor pop3. Este capítulo é baseado no servidor qpopper da Qualcomm.

Introdução

É o servidor para recebimento de mensagens eletrônicas (e-mails) para o cliente de e-mails. O servidor pop3 documentado é o qpopper (da Qualcomm), é um dos mais usados em ambiente Linux, simples de configurar e distribuído livremente. O que este programa faz é ler os e-mails de usuários em /var/mail e os envia via porta 110 ao programa cliente (Netscape, sylpheed, mutt, balsa, Pegasus, Outlook, ou qualquer outro que suporte o protocolo pop3).

Versão

É assumido que esteja usando a versão 4.0.3 do qpopper. As explicações contidas aqui podem funcionar para versões posteriores, mas é recomendável que leia a documentação sobre modificações no programa (changelog) em busca de mudanças que alterem o sentido das explicações fornecidas aqui.

Contribuindo

O site do qpopper é http://www.eudora.com/qpopper/, anúncios de novas versões, bugs e correções são enviados para (inscreva-se enviando uma mensagem com o assunto "subscribe" para o nome da lista acrescentando "-request"). A lista de suporte aos usuários é (o método de inscrição é idêntico a lista announce).

Características

  • Simples de configurar.

  • Possui um timeout padrão de 30 segundos ao invés de 10 minutos do protocolo pop3 padrão.

  • O protocolo pop3 é mais simples e consome menos recursos no servidor que o IMAP.

  • Suporte a envio de boletins aos usuários do sistema.

  • Inclui suporte a TLS/SSL.

  • Suporte a senhas ocultas (shadow passwords).

  • Suporta PAM.

  • Suporte a autenticação via APOP.

  • Alta performance.

Ficha técnica

Pacote: .

Utilitários:

  • in.qpopper - Servidor pop3.

  • popauth - Manipula os bancos de dados de autorização quando é usado o método de autenticação APOP.

Arquivos de configuração:

  • /etc/popper.allow - Contém a lista de usuários autorizados a usar o serviço pop3.

  • /etc/popper.deny - Contém uma lista de usuários NÃO autorizados a usar o serviço pop3.

  • /etc/pop.auth - Contém dados de autenticação criados pelo programa popauth.

Requerimentos de Hardware

O servidor qpopper requer no mínimo 6MB de memória para rodar e espaço em disco suficiente para acomodar os e-mails de usuários.

Arquivos de log criados pelo qpopper

Mensagens sobre a execução do qpopper são enviadas aos seguintes arquivos em /var/log:

  • mail.info - Detalhes sobre autenticação de usuários e mensagens.

  • mail.warn - Erros e avisos diversos ocorridos na seção pop3.

  • syslog e daemon.log - Mensagens sobre a execução do servidor qpopper.

  • auth.log - Mensagens de autenticação gerados pelo PAM.

Instalação

apt-get install qpopper

Por padrão o servidor qpopper é instalado via inetd:

pop-3		stream	tcp	nowait.60	root	/usr/sbin/tcpd	/usr/sbin/in.qpopper -s

Se estiver configurando um servidor pop3 com um grande número de conexões, é recomendável aumentar o número de execuções do serviço pop3 por minuto (no inetd.conf) ou rodar o servidor qpopper como daemon (preferido). Para fazer isto, remova a linha que inicia o qpopper no inetd.conf e construa um script que inicie o serviço como daemon usando a opção -S (veja outras opções em “Opções de linha de comando”).

Iniciando o servidor/reiniciando/recarregando a configuração

O serviço é executado por padrão via inetd e utiliza o controle de acesso tcpd (veja “O mecanismo de controle de acessos tcpd”). Adicionalmente você pode definir que usuários terão/não acesso ao serviço pop3 nos arquivos /etc/popper.allow e popper.deny. Por padrão, o acesso é garantido para qualquer usuário.

Após instalar o servidor pop3 instalado, resta configurar o cliente para conectar ao servidor pop3 do servidor. O nome de usuário e senha são os usados no arquivo /etc/passwd.

Teste de acesso no pop3

Um simples teste consiste em usar o telnet conectando a porta pop3 (110): telnet 127.0.0.1 110:

Connected to 127.0.0.1.
Escape character is '^]'.
+OK Qpopper (version 4.0.3) at server.org starting.  [2122.11132222@server.org]

A resposta acima indica que o servidor pop3 está funcionando corretamente.

Opções de linha de comando

Opções de linha de comando do servidor in.qpopper:

endereço:porta

Quando está operando em modo daemon (iniciado com -S), espera por conexões no endereço e opcionalmente na porta especificada. O endereço deverá ser o da interface de rede local do servidor (como 192.168.1.1) caso não seja especificado, o servidor qpopper monitorará todos os endereços. A porta padrão é 110 caso não seja especificada.

-b [diretório]

Ativa o sistema de envio de boletins. O diretório especificado é o que contém os boletins que serão enviados (na distribuição Debian, o /var/spool/popbull é o indicado). Veja “Enviando boletins de mensagens” para instruções de utilização deste recurso.

-c

Modifica a senha para caracteres minúsculos antes de autenticar, permitindo que clientes conectem com a senha em MAIÚSCULAS ou caracteres mIsTurados.

-f [arquivo]

Especifica um arquivo de configuração para o servidor qpopper. Veja a página de manual para detalhes sobre as opções. Recomendo usar as opções de linha de comando exceto se for requerida configurações especiais para modificar o comportamento do servidor pop3.

-l [num]

Modifica as opções de criptografia TLS/SSL usada no transporta da seção. Os seguintes valores são aceitos:

  • 0 - Desativa TLS/SSL. É o padrão.

  • 1 - Ativa o suporte a TLS/SSL. Se o cliente não suportar criptografia, os dados serão transmitidos usando a forma padrão.

  • 2 - Tenta ativar uma conexão TLS quando o cliente conecta ao servidor usando uma porta alternativa.

-p [num]

Seleciona como a senha em texto plano será manipulada. O servidor deverá estar compilado com suporte a outras formas de autenticação (como APOP) ao invés de texto plano. As seguintes opções são suportadas.

  • 0 - Senhas em texto plano podem ser usadas para usuários não cadastrados no arquivo /etc/pop.auth (gerenciado pelo popauth. Este é o padrão.

  • 1 - Somente permite acesso de usuários cadastrados no arquivo /etc/pop.auth. Qualquer acesso usando texto plano é negado.

  • 2 - Permite autenticação usando texto plano como preferência, até mesmo para usuários que estejam no /etc/pop.auth). É útil para clientes que não suportam autenticação usando texto plano.

  • 3 - Somente usuários conectando da mesma máquina (127.0.0.1) podem usar autenticação em texto plano.

  • 4 - Permite autenticação usando texto plano somente se uma conexão criptográfica foi estabelecida usando TLS ou SSL.

-R

Desativa a resolução reversa de endereços IP de clientes.

-s

Registra dados de inicio da seção, nome de usuário, número de bytes/mensagens apagadas, número de mensagens deixadas no servidor e fim da seção. Estes detalhes são registrados pelo syslogd. Seu uso é recomendável para ter controle sobre o que está acontecendo em seu servidor.

-S

Ativa o modo daemon. Útil para servidores pop3 com grande número de acessos.

-T [num]

Tempo máximo em segundos para finalização da seção quando o cliente não envia nenhuma resposta ou comando. Valores pequenos (como 20) podem ser especificados para servidores que possuem poucos usuários e um link rápido. Para grande quantidade de usuários ou conexão feita via links lentos (como ppp, slip, plip, etc.) use valores como 600 (10 minutos) ou mais. O valor padrão é 120 segundos (2 minutos).

-u

Lê o arquivo ~/.qpopper.options no diretório do usuário em busca de opções adicionais para o servidor. Este arquivo é lido após o processo de autenticação e deve ter permissões leitura/gravação para o dono. Isto não é recomendável em servidores seguros, a criptografia ou método de autenticação podem ser desativados sem o conhecimento do administrador comprometendo a segurança dos dados.

-U

Idêntica a opção acima, mas o arquivo deve residir no diretório de spool (/var/spool/pop) e ter o formato:

.usuario.qpopper-options

Este arquivo deve ter como dono o administrador ou dono do servidor pop3. Esta alternativa é mais segura que a anterior porque o usuário não terá acesso ou desativar opções específicas.

-y [facilidade]

Permite modificar o nível facilidade que as mensagens são registradas no syslogd (veja ???).

Enviando boletins de mensagens

Este recurso é muito útil para enviar alertas ou avisos para todos os usuários em seu sistema de uma só vez. A mensagem é escrita no diretório /var/spool/popbull seguindo um formato especial e quando o usuário pop3 se conecta para pegar seus e-mails receberá também uma cópia do boletim. O controle de boletins já recebido pelo usuário é feito no arquivo ~/.popbull. Siga os passos a seguir para configurar este sistema:

  1. Ative o suporte a envio de boletins no servidor qpopper, adicionando a opção -b /var/spool/popbull a linha de comando.

  2. Os números de boletins são controlados seqüencialmente pelos arquivos ~/.popbull, portanto é importante começar com o nome do boletim com pelo menos 5 dígitos (00001, 00002, 00003, etc). Vamos usar 00001-teste em nosso exemplo.

  3. A primeira linha do boletim deve conter a palavra "From" e um espaço e deve ser completada com um nome e data, seguido de campos essenciais para o envio da mensagem:

    From teste Sex Set 29 21:40:00 2001
    To: user@localhost
    From: Administrador do Sistema <root@localhost>
    Date: Fri, 29 Sep 2001 21:40:00 -0800 (PST)
    Subject: Teste do sistema de boletins
    
    Este é apenas um teste para o sistema de boletins. Se tudo estiver OK 
    você receberá esta mensagem quando pegar seus e-mails no cliente pop3 
    e este boletim será registrado no arquivo ~/.popbull para que não seja 
    novamente recebido.
    

    Deve haver uma linha em branco para separar o cabeçalho da mensagem.

OBS: Quando incluir novos usuários no sistema, somente os últimos 10 boletins serão enviados.

Especificando quotas para as caixas de correio

Crie o diretório de spool /var/mail em uma partição separada e ative o sistema de quota do Linux nela. Leia as instruções em “Limitando o uso de espaço em disco (quotas)”.

Restringindo acesso ao servidor pop3

O controle de acesso de conexões é feito via método tcpd usando o daemon in.qpopper (veja “O mecanismo de controle de acessos tcpd”). O controle de acesso dos usuários é feito através do arquivos /etc/popper.allow e /etc/popper.deny, respectivamente contém os nomes de usuários que podem e não podem ter acesso ao servidor qpopper. Por motivos de segurança é recomendável redirecionar os e-mails do usuário root para outra conta (no arquivo /etc/aliases e bloquear o acesso do usuário root ao pop3 no arquivo /etc/popper.deny.

Se a máquina servidora pop3 não for utilizada para acesso remoto, é recomendável desativar os serviços de login (veja “Desabilitando serviços de shell para usuários”).