Cadastrando usuários e Configurando

Por:

Cadastrando usuários

Lendo a documentação, parece que cadastrar usuários no servidor de e-mails é muito complicado, pois existem muitas formas de fazer isso. A forma mais simples é simplesmente criar um novo usuário no sistema, usando o comando adduser, como em:

# adduser joao

Desde que o servidor de e-mails esteja instalado, será criada a conta joao@servidor, acessível tanto localmente (usando o mutt e outros clientes), quanto remotamente, via pop3 ou imap.

O problema é que o usuário joão passa a poder logar-se na máquina de outras formas, via ssh, telnet, acessar compartilhamentos de rede e assim por diante. Essa abordagem serve para servidores internos, onde os usuários são conhecidos ou funcionários da
mesma empresa, mas não é um sistema adequado para um grande servidor web, com inúmeras contas de e-mails de usuários desconhecidos ou que hospeda um servidor Apache com vários subdomínios.

Hoje em dia existem várias outras opções para cadastrar contas no servidor de e-mails, sem precisar necessariamente criar logins válidos no sistema. Você pode armazenar as contas em um servidor MySQL, Postgree SQL ou até mesmo em um servidor LDAP. Para
isso, usamos os pacotes postfix-ldap, postfix-mysql ou postfix-pgsql, que vimos anteriormente.

Configurando

Antes de começar a falar sobre a configuração do Postfix, é importante que você entenda alguns termos usados com freqüência nos arquivos de configuração e tutoriais:

  • MTA (Mail Transport Agent): É o servidor de e-mails propriamente dito, com o Postfix, Qmail, Sendmail e o Exim. Um MTA obrigatoriamente suporta enviar e receber e-mails via SMTP, o protocolo utilizado para transportar as mensagens
    entre os servidores. O servidor pode ser configurado para enviar e receber os e-mails diretamente (internet site) ou se limitar a receber mensagens, usando um servidor SMTP externo (smarthost) na hora de enviar.

Normalmente, você configura seu servidor como “internet site” apenas ao utilizar um servidor dedicado, ou caso sua empresa possua um link dedicado, com um IP “limpo”, fora dos cadastros das listas negras de spam (você pode checar através do
http://rbls.org/).

  • Mua (Mail user agent): Este é o nome técnico do cliente de e-mail, como o Thunderbird, Evolution, Kmail, etc. usados diretamente pelo usuário final.
  • MDA (Mail Delivery Agent): O MDA funciona como um intermediário entre o MTA e o Mua. Ele não é obrigatório, mas pode fazer algumas coisas úteis, como aplicar filtros antispam, remover vírus anexados nas mensagens, encaminhar para
    outros endereços e assim por diante. Dois exemplos usados no Linux são o Fetchmail e o Procmail. Você os utiliza quando precisa baixar as mensagens do provedor e aplicar filtros diversos antes de encaminhá-las aos usuários.

O principal arquivo de configuração do Postfix é o “/etc/postfix/main.cf“. Este é um exemplo de arquivo de configuração funcional. Veja que, apesar da complexidade da tarefa, a configuração do Postfix é relativamente simples:

# /etc/postfix/main.cf
myhostname = etch.kurumin.com.br
mydomain = kurumin.com.br
append_dot_mydomain = no
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = etch.kurumin.com.br, kurumin.com.br, localhost
relayhost =
mynetworks = 127.0.0.0/8
home_mailbox = Maildir/
mailbox_command =
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
message_size_limit = 20000000
mailbox_size_limit = 0

Vamos a uma explicação mais detalhada de cada uma das opções:

Embora não seja citado no arquivo, o postfix roda utilizando uma conta com privilégios limitados, de forma a limitar o dano no caso de qualquer problema de segurança relacionado ao servidor de e-mails). Estas opções já vem configuradas por padrão ao
instalar o pacote.

As primeiras linhas do arquivo indicam o nome da máquina e o domínio. Caso seu servidor não tenha um domínio registrado, ou é usado apenas dentro da rede local), você pode usar o “localdomain” como domínio. Note que muitos servidores rejeitam mensagens
enviadas por servidores sem domínio registrado, para dificultar o envio de spans. É por isso que é tão importante configurar corretamente o DNS reverso no Bind, já que é através dele que os servidores remotos podem verificar se os e-mails realmente vêm do
seu domínio.

A opção “myhostname” deve conter o nome completo do servidor, incluindo o domínio, enquanto que a opção “mydomain” contém apenas o domínio, sem o nome da máquina, como em:

myhostname = etch.kurumin.com.br
mydomain = kurumin.com.br
append_dot_mydomain = no

A linha “mydestination” Esta linha indica quais nomes e domínios serão considerados endereços locais pelo servidor. Se o nome do servidor é “kurumin.kurumin.com.br” e o “domínio “kurumin.com.br”, o servidor entenderia que tanto e-mails endereçados a
“usuario@etch.kurumin.com.br”, quanto “usuario@kurumin.com.br” e “usuario@localhost” são endereçados a ele mesmo.

mydestination = etch.kurumin.com.br, kurumin.com.br, localhost

A linha “mynetworks” especifica os endereços ou faixas de endereços a partir de onde o servidor aceitará o envio de mensagens.

É preciso configurar esta opção com muito cuidado, caso contrário um spammer poderá usar seu servidor para enviar mensagens não solicitadas, consumindo sua banda e possivelmente fazendo seu servidor ser incluído em várias blacklists, o que vai lhe causar
muita dor de cabeça.

A opção ‘mynetworks = 127.0.0.0/8’ permite apenas e-mails enviados localmente. Você pode especificar várias faixas de endereços separando-os com vírgula, como em: “mynetworks = 200.221.149.0/24, 127.0.0.0/8”.

mynetworks = 127.0.0.0/8
inet_interfaces = all

Na opção “relayhost” você pode indicar um servidor SMTP externo, através do qual as mensagens serão enviadas. Deixando esta opção em branco, todos os e-mails serão enviados diretamente pelo seu servidor.

Hoje em dia é bem mais simples usar um servidor externo por causa da questão do spam. Usar o smtp de um provedor conhecido fará com que menos mensagens se percam nos filtros dos destinatários.

Para usar um relayhost aqui, é preciso indicar um servidor que aceite mensagens enviadas por este servidor sem pedir autenticação. Em geral, as empresas que oferecem serviços de hospedagem oferecem esta opção em troca de uma taxa adicional. É possível
também configurar seu provedor para se autenticar, com um pouco mais de trabalho.
Ex: relayhost = smtp.meuprovedor.com

Opcionalmente, você pode configurar os clientes de e-mail nas estações para usarem diretamente o smtp do provedor, deixando seu servidor postfix apenas para receber. Nesse caso, você pode usar qualquer smtp a que tenha acesso.

relayhost =

A linha “home_mailbox” indica a pasta local, dentro do home de cada usuário, onde os e-mails ficarão armazenados. A pasta Maildir/ é o padrão usado por diversos MTA’s. Caso necessário, crie a pasta manualmente, usando o comando “maildirmake ~/Maildir”
(executado como o usuário para o qual a pasta será criada).
Em seguida, execute o comando “maildirmake /etc/skel/Maildir” como root, para que todos os novos usuários criados a partir daí já venham com a pasta criada. Normalmente, os pacotes instalados pelas distribuições automatizam esta etapa.

home_mailbox = Maildir/
recipient_delimiter = +
inet_interfaces = all

Na maioria dos casos, é desejável limitar o tamanho das mensagens recebidas, para evitar que algum espertinho envie um ISO de CD anexado à mensagem, consumindo toda a banda e acabando com o espaço em disco do servidor. O padrão do postfix é limitar as
mensagens a 10 MB. Qualquer anexo maior que isso é recusado. Esta configuração pode ser alterada através da opção “message_size_limit”, onde você especifica o valor desejado, em bytes. Note que por causa do uso do MIME, o tamanho dos anexos cresce
substancialmente ao serem enviados via e-mail. Um arquivo de 5 MB, transforma-se numa mensagem de quase 7. Leve isto em conta ao definir o limite. Aqui estou usando um limite de 20 MB decimais:

message_size_limit = 20000000

A opção “mailbox_size_limit” serviria para definir o limite de armazenamento para a caixa postal do usuário. Entretanto, ao usar o formato Maildir para as caixas postais, cada mensagem é salva num arquivo separado, de forma que a opção não funciona. Por
isso, usamos o valor “0” para desativá-la. A melhor forma de limitar o espaço dos usuários é simplesmente definir quotas de espaço em disco, usando o Quota.

mailbox_size_limit = 0

Em geral, os arquivos de configuração padrão, incluídos nas distribuições, são suficientes para ter um servidor de e-mails básico funcional. Mas, depois de feito o primeiro teste, nunca deixe de editar o arquivo, verificando todas as opções. Você pode
tanto usar como ponto de partida o arquivo original, quanto usar este modelo.

Com o tempo, o ideal é que você desenvolva um arquivo próprio, com as opções que você usa mais freqüentemente e comentários que lhe ajudem a lembrar como e em quais situações usar cada uma. Lembre-se de que, salvo eventuais diferenças entre as versões
instaladas, um arquivo de configuração usado no Fedora ou Mandriva vai funcionar perfeitamente no Debian, Slackware, ou em qualquer outra distribuição que siga um nível mínimo de padrões. O software em si, o Postfix, será o mesmo, independentemente da
distribuição usada.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X