O Postfix é um agent de transferência de emails (MTA), um software livre para envio e entrega
de emails. Rápido e fácil de administrar, é uma alternativa segura ao Sendmail, muito utilizado
em servidores UNIX.
Postfix já é utilizado por padrão em sistemas operacionais como o Trustix Secure Linux e Mac
OS X Panther.
Vantagens
• Suporte a Ipv6
• Suporte a MIME
• Autenticação SASL
• Canal seguro utilizando TLS
• Suporte a banco de dados
• MySQL
• PostgreSQL
• LDAP
• entre outros!
• Suporte a expressão-regular
• Verificação de cabeçalho
• Verificação no corpo da mensagem
Postfix
O Postfix é o MTA padrão do Conectiva Linux e será visto a seguir como implementá-
lo e configurá-lo. Será visto também como utilizar algumas de suas funcionalidades,
como a utilização de apelidos e relay de e-mails.
Características do Postfix
Implementação do Postfix
Pré-requisitos
Instalação
Para instalar o Postfix selecione o pacote postfix com o Synaptic, ou instale o pacote
utilizando o apt-get:
Configuração
Em Receber e-mail de que domínios, pode-se optar pela opção Domínio completo para
que o Postfix entregue as mensagens para todas as máquinas do mesmo domínio que o
do servidor. Também é possível indicar mais de um domínio ou um domínio diferente
do utilizado pelo servidor, selecionando a última opção e indicando os domínios
manualmente.
Para utilizar este comando, verifique se o pacote mailx está instalado em seu sistema.
Pode-se então tentar enviar uma mensagem para um usuário localizado em outro
servidor. Novamente, confira o arquivo de registro para verificar se houve algum
problema no envio.
Apelidos de E-mail
Através da utilização de apelidos é possível mapear vários endereços para uma única
pessoa, ou mapear um único endereço para várias pessoas. Será visto a seguir como
fazer isso.
Para adicionar um apelido, clique no botão Criar um novo apelido ao final da página e,
na página que se abre, preencha os campos:
• Endereço - o endereço do apelido que está sendo criado. (Ex: webmaster);
• Habilitado? - Marque o parâmetro Sim para habilitar o apelido;
• Apelido para - Selecione a opção Endereço de e-mail e informe no próximo
campo o endereço de e-mail para o qual o apelido deverá ser redirecionado (Ex:
usuario@minhaorganizacao).
Assim como um servidor web pode hospedar diferentes domínios ao mesmo tempo, o
servidor de e-mail também é capaz de transmitir ou receber mensagens de vários
domínios virtuais hospedados no servidor. Será visto a seguir como adicionar domínios
virtuais ao servidor e em seguida como adicionar usuários a estes domínios.
Pré-requisitos
Configuração
Assim como na configuração dos apelidos de e-mail, o primeiro passo é configurar qual
o arquivo que contém as tabelas com os domínios virtuais. Verifique se o valor
hash:/etc/postfix/virtual está configurado no campo Tabelas de busca de
mapeamentos de domínio, ao se acessar a opção Domínios virtuais na página principal
de configuração do Postfix no Webmin. Clique no botão Salvar e aplicar e retorne para
a mesma página.
É possível utilizar um outro arquivo contendo as tabelas; no entanto, será necessário que
o administrador crie esse arquivo sem o auxílio do Webmin para que ele possa ser
utilizado. Você poderá fazer isso digitando o comando touch
/etc/postfix/meusdominios em um terminal, onde meusdominios é o nome que você
deseja dar ao arquivo.
Para adicionar um novo domínio virtual, clique no botão Novo mapeamento, na tela de
configuração de domínios virtuais; em seguida, preencha o campo Nome com o nome
do domínio virtual, e no campo Mapear para... coloque virtual, ou o nome que você deu
para o seu mapeamento, caso não seja o padrão. Em seguida, clique em Salvar
mapeamento para adicionar o domínio à tabela virtual.
Agora está tudo preparado para a adição dos usuários ao domínio virtual. Mais uma vez,
basta criar um novo mapeamento: coloque um endereço de e-mail (ou todo o domínio)
do domínio virtual no campo Nome, e no campo Mapear para..., digite o
redirecionamento. Este último campo deve ser um endereço válido para ser mapeado
(clique no ícone Qual formato devo usar? para saber como formatar os mapeamentos).
Para testar o domínio virtual, basta enviar um e-mail para a conta virtual, e verificar se
ela foi recebida corretamente.
Filtros de E-Mail
Apesar de o e-mail ser uma ferramenta que pode contribuir para o aumento da
produtividade dos usuários de um sistema, o seu mau uso pode ser bastante prejudicial.
O envio de mensagens comerciais não solicitadas[35] e demais "correntes" de mensagens,
conhecidas também por SPAMs, pode se tornar um problema para o administrador.
O servidor de e-mails, como já foi visto, recebe mensagens dos clientes de e-mail dos
usuários e se encarrega de entregar essas mensagens aos seus destinatários finais. Esse
processo recebe o nome de relay. Um servidor de e-mail mal configurado pode permitir
que máquinas fora do seu domínio utilizem-no para enviar mensagens. Será apresentado
como limitar quem está autorizado a usar o seu servidor de e-mail para enviar
mensagens.
A segunda medida a ser tomada para otimizar a utilização do seu servidor de e-mail é
filtrar mensagens de remetentes indesejáveis para destinatários do seu domínio. Esse
filtro pode ser baseado no endereço da máquina que envia as mensagens ou no conteúdo
do campo "DE:"[36] do remetente, dentre várias outras maneiras. Algumas delas serão
vistas aqui.
Configuração de relay
O Postfix, por padrão, permite que todas as máquinas de sua rede o utilizem para enviar
mensagens. O administrador poderá autorizar que outras redes ou sub-redes o utilizem
para enviar mensagens ou poderá restringir ainda mais a configuração padrão,
autorizando apenas uma parte da sua rede, ou autorizando o envio de mensagens apenas
a partir do servidor.
Dica
Clique no nome da opção (link) para obter uma ajuda rápida sobre ela.
Filtragem de mensagens baseada no conteúdo
• É necessário um HELO: quando habilitada, esta opção faz com que o Postfix
exija das mensagens recebidas um cabeçalho HELO, no início da sessão SMTP.
Isto pode prevenir algumas mensagens de spam de se conectarem, embora possa
negar o envio para clientes legítimos. O padrão para esta opção é Não.
• Restrições em endereços/máquinas de clientes: por padrão, o Postfix permite a
conexão de qualquer máquina cliente, mas com esta opção, você pode restringir
a máquinas e/ou endereços que poderão se conectar ao servidor.
• Domínios DNS para buscas por blacklists: nesta opção você poderá configurar
os servidores DNS opcionais de blacklists (listas com domínios que são
considerados disseminadores de spam), que serão usados em verificações, de
acordo com as restrições que você configurou. Podem ser incluídos vários
servidores, separados por espaços em branco.
Este serviço pode ajudar a prevenir spams, mas deve ser usado com a opção
Restringir o comando ETRN em..., para a configuração de restrições (clique
sobre a opção para mais informações).
O suporte a estes protocolos não é feito pelo Postfix, mas sim por outros servidores.
Instalação
Configuração
Para colocar os protocolos POP e IMAP para funcionarem no servidor, siga os seguintes
passos:
configdirectory: /var/lib/imap
partition-default: /var/spool/imap
admins: cyrus
sasl_pwcheck_method: saslauthd
4. Existem muitas outras opções disponíveis; verifique o que pode ser incluído no
arquivo na página de manual (man imapd.conf).
Neste ponto, o servidor IMAP já está configurado, mas sem contas para administrar. O
próximo passo é incluir as caixas de correios de usuários. Primeiramente, entre no
sistema como usuário cyrus (administrador IMAP), e em seguida, execute o comando
cyradm, conforme abaixo:
# su - cyrus
[/var/lib/imap]> cyradm -a plain kepler.minhaorganizacao
IMAP Password:
kepler.minhaorganizacao>
O comando cm cria a caixa de correio (no exemplo, do usuário teste). O uso de users é
obrigatório. lm lista as caixas, e dm remove (delete) a caixa de correio especificada.
Para configurar uma conta POP, não é necessária mais nenhuma configuração: ela usa
as contas de usuários do sistema, ou as contas criadas pelo administrador IMAP.
Testando a Configuração
Outro teste da configuração do POP também é simples, e pode ser feito no próprio
servidor:
As linhas iniciadas com user foram digitadas para verificar se as caixas de correio
daquele usuário estão ok. Se algo mais aparecer, algo está errado, e você deverá
verificar os arquivos de log para obter os detalhes.
Se desejar, pode ainda fazer um último teste com o IMAP, também no próprio servidor:
# su - cyrus
[/var/lib/imap]> cyradm -a plain kepler.minhaorganizacao
IMAP Password:
kepler.minhaorganizacao>
kepler.minhaorganizacao> imtest -m login -p imap kepler
S: * OK kepler.minhaorganizacao Cyrus IMAP4 v2.2.3 server ready
C: C01 CAPABILITY
S: * CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+\
MAILBOX-REFERRALS NAMESPACE UIDPLUS ID NO_ATOMIC_RENAME\
UNSELECT CHILDREN MULTIAPPEND BINARY SORT THREAD=ORDEREDSUBJECT\
THREAD=REFERENCES ANNOTATEMORE IDLE AUTH=CRAM-MD5\
AUTH=DIGEST-MD5 SASL-IR LISTEXT LIST-SUBSCRIBED X-NETSCAPE
S: C01 OK Completed
Please enter your password: [digite a senha do admin]
C: L01 LOGIN cyrus {8}
S: + go ahead
C: <omitted>
S: L01 OK User logged
Authenticated.
Security strength factor: 0
. logout
* BYE LOGOUT received
. OK Completed
Connection closed.
kepler.minhaorganizacao>
http://www.zago.eti.br/email/
http://www.zago.eti.br/A-menu.html
Postfix - o que é?, como funciona?
O Postfix é um MTA (Mail Transfer Agent) responsável pelo envio e recebimento das
mensagens entre servidores, quando de cara para internet e configurado para resonder
por um domínio, não entrega as mensagens aos clientes de e-mail (POP3), não baixa as
mensagens de outros servidores, recebe quando enviadas diretamente a ele mas não vai
buscar em outros servidores, não tem anti-viruse outros filtros utilizados em servidores
de e-mail, precisa de outros pacotes que se integram ao Postfix para configurar o que
chamamos de servidor de e-mail.
Não tem um rpm ou pacote pronto pra tudo, isto confunde algumas pessoas, vamos aos
passos necessários para instalar um servidor de e-mail.
Até aqui já temos 4 pacotes diferentes instalados, Postfix como servidor de e-mail,
poderia ser qualquer outro servidor, mas note que precisou de outros pacotes como o
SASL, Fetchmail, IMAP. Eles não estão em um mesmo pacote, em lugar de IMAP pode
usar um outro qualquer, podem nem fazer parte da distro, igualmente acontece com
pacotes para outros controles com spam, anti-virus que tem varias opções, deu pra
entender que não basta instalar um pacote, precisa garimpar o que vai instalar e
configurar para ter o seu servidor de e-mail.
Não precisa ser necessariamente estes, precisa entender que servidor de e-mail é um
termo genérico, tem até distribuiçõs Linux especificas para servidor de e-mail, algumas
distros tem até um perfil de instalação para servidor de e-mail, ambas vão ajudar muito,
instalam automaticamente os principais pacotes facilitando muito, mesmo assim pode
não atender suas necessidades, como tem muitas opções e cada pacote executa tarefas
especificas, muitas vezes tem mais de um pacote com a mesma função e já estão ou não
na tua distro, precisa definir quais os serviços vai utilizar para instalar o pacote
correspondente a cada tarefa, pode armazenar as mensagens em banco de dados ou
integrar com outros aplicativos, não se assuste, não é nada complicado, basta uma linha
de chamada no main.cf e configurar o serviço desejado, nada melhor que montar um
ambiente de testes para tirar suas conclusões.
http://www.zago.eti.br/email/serv-intra-cl10upd1.html
Considere criar um ambiente de testes, não adianta reclamar que não tem "verba" ou
não tem maquina, não custa nada, o pouco tempo que investir agora vai lhe poupar
muito mais no futuro além de evitar muitos problemas, considere um bom investimento
de tempo, pode instalar diversos Postfix e servidores de e-mail pela rede sem problema
algum.
Veja dicas de como fazer duas instalações Linux no mesmo HD, utilize
estações para testes, evite em servidores embora seja possivel, acidentes
sempre acontecem, pode até fazer outra instalação em partição separada
para testes fora do horario de expediente, passo a passo em
http://www.zago.eti.br/boot_div.txt
http://www.zago.eti.br/boot-dual-win-e-linux.html
ADSL e DNS - solução simples. Quem usa ADSL precisa do provedor externo ou
redirecionar o MX do dominio para o IP do ADSL, fica praticamente impossivel manter
um servidor de e-mail em conexões ADSL sem hospedagem externa ou
redirecionamento, neste documento tem mais detalhes sobre ADSL.
Nesta estação atrás de firewall não tem como testar DNS e outros serviços que requer a
maquina de cara para internet, tente optar por soluções alternativas como;
A - registrar um dominio para testes, mesmo quem usa ADSL pode manter o servidor
de e-mail interno, para isto precisa pedir para o provedor redirecionar o MX para seu IP,
considere que o registro de um dominio custa R$ 30,00 ano, a manutenção mensal custa
muito pouco para redirecionar para seu IP, pesquise na internet que acha quem faz este
redirecionamento por menos de R$ 10,00 por mes, com isto tem um ambiente perfeito
para fazer todos os testes e avaliações em um servidor de e-mail de cara para internet,
solução ideal para quem usa servidor de e-mail externo e pretende migrar para
instalação interna.
Firewall, precisa liberar algumas portas e serviços, a principio o proxy não interfere mas
facilita bastante deixar a estação com acesso livre à internet, não é obrigatório mas
ajuda na eliminação de problemas, regra de iptables para excluir um IP do
redirecionamento, no meu firewall para excluir a maquina de testes, utilizo esta regra.
Neste exemplo a estação com IP 192.168.1.53 acessa internet sem passar pelo proxy,
claro que depende de outras regras do firewall, procure liberar a maquina de todas as
regras para rodar qualquer serviço com acesso à internet, entre eles, servidores de e-
mail, proxy e etc... ambiente perfeito para testes.
Além de testes ou para backup, serve também como um segundo servidor e-mail,
dependendo do trafego pode ser uma maneira de descentralizar serviços, é possivel
manter diversos servidores na mesma rede, rodando independente e com regras
diferentes.
Em ambiente de testes vale usar um modem discado nesta maquina, esta opção também
é indicada para testar firewall, regras de squid e outros serviços de rede, pode até ser
usado quando cai o link ou ADSL, embora muito mais lento permite acesso à internet,
envio e recebimento de e-mail enquanto o ADSL não volta, claro que para pequeno
volume.
Considere manter esta instalação como backup, em casos de emergencia, nunca se sabe
quando vai ocorrer acidentes, queimar a maquina, HD ou uma pane na configuração que
pare tudo, nestas situações basta pequenas modificações para substituir o servidor.
Tente instalar e configurar por partes, tente isolar o problema, facilita na localização
solução do problema, na manutenção ou instalação tente seguir esta ordem.
Passo 1 - Procure identificar qual o serviço de cada pacote, como ativar, interpretar os
logs, testar o funcionamento, comandos auxiliares no diagnostico, considere que são
varios programas rodando ao mesmo tempo, cada um responsavel por tarefas distintas,
quando um falha, fatalmetne reflete nos demais, procure entender o papel de cada um e
como lidar com as configurações dele.
Passo 2 - Considere que não basta instalar, a configuração padrão não funciona, precisa
de alguns ajustes na configuração. Explicando, precisa de um ajuste minimo, diretivas
como classe de IP da rede, nome da maquina, dominio e outros detalhes, dependendo do
controle desejado precisa criar as configurações apropriadas, usuários, senhas e outros
detalhes. Tente fazer uma configuração sem controle algum, pelo menos para entender o
funcionamento, subir o Postfix e testar o envio e recebimento local, no FAQ tem varios
modelos prontinhos para copiar e colar, não deve servir para o seu proposito, mas são
instalações testadas e que funcionam, utilize uma delas pelo menos para entender como
funciona e testar, depois faça a sua configuração a partir de zero, para trocar a
configuração, basta substituir o main.cf, não precisa remover ou reinstalar nada,
somente alterar o dominio e algumas diretivas.
Passo 3 - Configurar estações para usar o servidor interno, no cliente de e-mail, crie
uma nova conta apontando para o servidor local e teste o envio e recebimento, de
qualquer forma vai obter alguma resposta, funciona ou retorna alguma mensagem de
erro, de qualquer forma tem os registros nos logs, no servidor abra um console e execute
a linha de comando.
tail -f /var/log/maillog
Alguns pacotes tem seu próprio arquivo de log, exemplo o Fetchmail, para acompanhar
os logs deste, execute;
tail -f /var/log/fetchmaillog
Procure também nas mensagens de outros arquivos de log do sistema, qualquer dúvida
volte ao inicio e vá testando passo a passo, quando Ok, configure o firewall.
http://br.postfix.org/
http://br.postfix.org/LinksUteis
http://www.postfix.org/
http://www.postfix.org/docs.html
http://jimsun.linxnet.com/misc/postfix-anti-UCE.txt
Site em ingles sobre configuração do Postfix.
http://www.securitysage.com/guides/postfix_uce.html
Documentação em Português;
http://www.postfix.org/non-english.html#brazilian
http://www.linuxchix.org.br/evento/2004/palestras/postfix.html#toc10
http://web.onda.com.br/humberto/postfix.html
Conectiva
http://www.conectiva.com/doc/livros/online/10.0/servidor/pt_BR/ch11s02.ht
ml
http://www.conectiva.com/doc/livros/online/9.0/servidor/correioeletronico.ht
ml#POSTFIX
http://www.conectiva.com.br/cpub/pt/incConectiva/suporte/pr/servidores.pos
tfix.html
http://www.conectiva.com.br/doc/livros/online/7.0/servidor/implementacaop
ostfix.html
http://www.conectiva.com.br/doc/livros/online/7.0/servidor/postfix.html.
http://www.conectiva.com.br/cpub/pt/incConectiva/suporte/pr/servidores.pos
tfix.loopsback.html
http://www.g2ctech.com/artigos/amavis-perl+postfix.html
http://brlinux.linuxsecurity.com.br/artigos/dicas_postfix.htm?redirected=1
http://brlinux.linuxsecurity.com.br/noticias/000678.html
http://www.prestech.net/projetos/postmmon/
bloquear relay pra outras redes
http://www.stahl.bau.tu-bs.de/~hildeb/postfix/postfix_incoming.shtml
http://www.linuxman.pro.br/postfix/
http://www.linuxnews.com.br/artigosmail/mail11.php
http://web.onda.com.br/nadal/