Postfix

30
Postfix 22 de dezembro de 2006

description

 

Transcript of Postfix

Page 1: Postfix

Postfix22 de dezembro de 2006

Page 2: Postfix

Sumário

I Sobre essa apostila 2

II Informações Básicas 4

III Postfix 9

1 O que é o Postfix 10

2 Plano de ensino 112.1 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.2 Público Alvo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.3 Pré-requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.4 Descrição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.5 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.6 Cronograma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.7 Programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.8 Avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.9 Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3 Introdução ao Postfix 133.1 Introdução ao Postfix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4 Instalação e configuração básica 144.1 Instalação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144.2 Configuração básica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

5 O daemon do Postfix 165.1 O daemon do Postfix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

6 O utilitário Postconf (Gerenciamento de configurações) 176.1 O utilitário Postconf (Gerenciamento de configurações) . . . . . . . . . . . . . . . . 17

6.1.1 Gerenciamento das configurações . . . . . . . . . . . . . . . . . . . . . . . . 176.1.2 Consultando parâmetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176.1.3 Modificando parâmetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1

Page 3: Postfix

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

7 Configurações Gerais 197.1 RELAY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197.2 FQDN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197.3 Gerenciamento de interfaces de rede . . . . . . . . . . . . . . . . . . . . . . . . . . 207.4 Maildir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217.5 RELAYHOST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217.6 Aliases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

7.6.1 Definindo um alias para o postmaster . . . . . . . . . . . . . . . . . . . . . . 227.6.2 Definindo um alias para o root . . . . . . . . . . . . . . . . . . . . . . . . . . 22

8 Configuração de domínios virtuais 248.1 Configuração de domínios virtuais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

9 POP3 e IMAP 269.1 POP3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269.2 IMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269.3 Servidores POP3 e IMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279.4 Instalação do Courier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279.5 Configuração do Courier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

10 Testando o funcionamento do Servidor 2810.1 Testando o funcionamento do Servidor . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2

Page 4: Postfix

Parte I

Sobre essa apostila

3

Page 5: Postfix

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Conteúdo

O conteúdo dessa apostila é fruto da compilação de diversos materiais livres publicados na in-ternet, disponíveis em diversos sites ou originalmente produzido no CDTC em http://www.cdtc.org.br.

O formato original deste material bem como sua atualização está disponível dentro da licençaGNU Free Documentation License, cujo teor integral encontra-se aqui reproduzido na seção demesmo nome, tendo inclusive uma versão traduzida (não oficial).

A revisão e alteração vem sendo realizada pelo CDTC ([email protected]), desde outubrode 2006. Criticas e sugestões construtivas são bem-vindas a qualquer tempo.

Autores

A autoria deste conteúdo, atividades e avaliações é de responsabilidade de Waldemar SilvaJúnior ([email protected]).

O texto original faz parte do projeto Centro de Difusão de Tecnolgia e Conhecimento, que vemsendo realizado pelo ITI em conjunto com outros parceiros institucionais, atuando em conjuntocom as universidades federais brasileiras que tem produzido e utilizado Software Livre, apoiandoinclusive a comunidade Free Software junto a outras entidades no país.

Informações adicionais podem ser obtidas atráves do email [email protected], ou dahome page da entidade, atráves da URL http://www.cdtc.org.br.

Garantias

O material contido nesta apostila é isento de garantias e o seu uso é de inteira responsabi-lidade do usuário/leitor. Os autores, bem como o ITI e seus parceiros, não se responsabilizamdireta ou indiretamente por qualquer prejuízo oriundo da utilização do material aqui contido.

Licença

Copyright ©2006,Waldemar Silva Júnior ([email protected]).

Permission is granted to copy, distribute and/or modify this document under the termsof the GNU Free Documentation License, Version 1.1 or any later version published bythe Free Software Foundation; with the Invariant Chapter being SOBRE ESSA APOS-TILA. A copy of the license is included in the section entitled GNU Free DocumentationLicense.

4

Page 6: Postfix

Parte II

Informações Básicas

5

Page 7: Postfix

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Sobre o CDTC

Objetivo Geral

O Projeto CDTC visa a promoção e o desenvolvimento de ações que incentivem a dissemina-ção de soluções que utilizem padrões abertos e não proprietários de tecnologia, em proveito dodesenvolvimento social, cultural, político, tecnológico e econômico da sociedade brasileira.

Objetivo Específico

Auxiliar o Governo Federal na implantação do plano nacional de software não-proprietário ede código fonte aberto, identificando e mobilizando grupos de formadores de opinião dentre osservidores públicos e agentes políticos da União Federal, estimulando e incentivando o mercadonacional a adotar novos modelos de negócio da tecnologia da informação e de novos negóciosde comunicação com base em software não-proprietário e de código fonte aberto, oferecendotreinamento específico para técnicos, profissionais de suporte e funcionários públicos usuários,criando grupos de funcionários públicos que irão treinar outros funcionários públicos e atuar comoincentivadores e defensores de produtos de software não proprietários e código fonte aberto, ofe-recendo conteúdo técnico on-line para serviços de suporte, ferramentas para desenvolvimento deprodutos de software não proprietários e de seu código fonte livre, articulando redes de terceiros(dentro e fora do governo) fornecedoras de educação, pesquisa, desenvolvimento e teste de pro-dutos de software livre.

Guia do aluno

Neste guia, você terá reunidas uma série de informações importantes para que você comeceseu curso. São elas:

• Licenças para cópia de material disponível

• Os 10 mandamentos do aluno de Educação a Distância

• Como participar dos foruns e da wikipédia

• Primeiros passos

É muito importante que você entre em contato com TODAS estas informações, seguindo oroteiro acima.

Licença

Copyright ©2006, Waldemar Silva Júnior ([email protected]).

6

Page 8: Postfix

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

É dada permissão para copiar, distribuir e/ou modificar este documento sob os termosda Licença de Documentação Livre GNU, Versão 1.1 ou qualquer versão posteriorpúblicada pela Free Software Foundation; com o Capitulo Invariante SOBRE ESSAAPOSTILA. Uma cópia da licença está inclusa na seção entitulada "Licença de Docu-mentação Livre GNU".

Os 10 mandamentos do aluno de educação online

• 1. Acesso à Internet: ter endereço eletrônico, um provedor e um equipamento adequado épré-requisito para a participação nos cursos a distância.

• 2. Habilidade e disposição para operar programas: ter conhecimentos básicos de Informá-tica é necessário para poder executar as tarefas.

• 3. Vontade para aprender colaborativamente: interagir, ser participativo no ensino a distân-cia conta muitos pontos, pois irá colaborar para o processo ensino-aprendizagem pessoal,dos colegas e dos professores.

• 4. Comportamentos compatíveis com a etiqueta: mostrar-se interessado em conhecer seuscolegas de turma respeitando-os e fazendo ser respeitado pelo mesmo.

• 5. Organização pessoal: planejar e organizar tudo é fundamental para facilitar a sua revisãoe a sua recuperação de materiais.

• 6. Vontade para realizar as atividades no tempo correto: anotar todas as suas obrigações erealizá-las em tempo real.

• 7. Curiosidade e abertura para inovações: aceitar novas idéias e inovar sempre.

• 8. Flexibilidade e adaptação: requisitos necessário à mudança tecnológica, aprendizagense descobertas.

• 9. Objetividade em sua comunicação: comunicar-se de forma clara, breve e transparente éponto - chave na comunicação pela Internet.

• 10. Responsabilidade: ser responsável por seu próprio aprendizado. O ambiente virtual nãocontrola a sua dedicação, mas reflete os resultados do seu esforço e da sua colaboração.

Como participar dos fóruns e Wikipédia

Você tem um problema e precisa de ajuda?

Podemos te ajudar de 2 formas:

A primeira é o uso dos fóruns de notícias e de dúvidas gerais que se distinguem pelo uso:

. O fórum de notícias tem por objetivo disponibilizar um meio de acesso rápido a informaçõesque sejam pertinentes ao curso (avisos, notícias). As mensagens postadas nele são enviadas a

7

Page 9: Postfix

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

todos participantes. Assim, se o monitor ou algum outro participante tiver uma informação queinteresse ao grupo, favor postá-la aqui.Porém, se o que você deseja é resolver alguma dúvida ou discutir algum tópico específico docurso. É recomendado que você faça uso do Forum de dúvidas gerais que lhe dá recursos maisefetivos para esta prática.

. O fórum de dúvidas gerais tem por objetivo disponibilizar um meio fácil, rápido e interativopara solucionar suas dúvidas e trocar experiências. As mensagens postadas nele são enviadasa todos participantes do curso. Assim, fica muito mais fácil obter respostas, já que todos podemajudar.Se você receber uma mensagem com algum tópico que saiba responder, não se preocupe com aformalização ou a gramática. Responda! E não se esqueça de que antes de abrir um novo tópicoé recomendável ver se a sua pergunta já foi feita por outro participante.

A segunda forma se dá pelas Wikis:

. Uma wiki é uma página web que pode ser editada colaborativamente, ou seja, qualquer par-ticipante pode inserir, editar, apagar textos. As versões antigas vão sendo arquivadas e podemser recuperadas a qualquer momento que um dos participantes o desejar. Assim, ela oferece umótimo suporte a processos de aprendizagem colaborativa. A maior wiki na web é o site "Wikipé-dia", uma experiência grandiosa de construção de uma enciclopédia de forma colaborativa, porpessoas de todas as partes do mundo. Acesse-a em português pelos links:

• Página principal da Wiki - http://pt.wikipedia.org/wiki/

Agradecemos antecipadamente a sua colaboração com a aprendizagem do grupo!

Primeiros Passos

Para uma melhor aprendizagem é recomendável que você siga os seguintes passos:

• Ler o Plano de Ensino e entender a que seu curso se dispõe a ensinar;

• Ler a Ambientação do Moodle para aprender a navegar neste ambiente e se utilizar dasferramentas básicas do mesmo;

• Entrar nas lições seguindo a seqüência descrita no Plano de Ensino;

• Qualquer dúvida, reporte ao Fórum de Dúvidas Gerais.

Perfil do Tutor

Segue-se uma descrição do tutor ideal, baseada no feedback de alunos e de tutores.

O tutor ideal é um modelo de excelência: é consistente, justo e profissional nos respectivosvalores e atitudes, incentiva mas é honesto, imparcial, amável, positivo, respeitador, aceita asidéias dos estudantes, é paciente, pessoal, tolerante, apreciativo, compreensivo e pronto a ajudar.

8

Page 10: Postfix

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

A classificação por um tutor desta natureza proporciona o melhor feedback possível, é crucial, e,para a maior parte dos alunos, constitui o ponto central do processo de aprendizagem.’ Este tutorou instrutor:

• fornece explicações claras acerca do que ele espera, e do estilo de classificação que iráutilizar;

• gosta que lhe façam perguntas adicionais;

• identifica as nossas falhas, mas corrige-as amavelmente’, diz um estudante, ’e explica por-que motivo a classificação foi ou não foi atribuída’;

• tece comentários completos e construtivos, mas de forma agradável (em contraste com umreparo de um estudante: ’os comentários deixam-nos com uma sensação de crítica, deameaça e de nervossismo’)

• dá uma ajuda complementar para encorajar um estudante em dificuldade;

• esclarece pontos que não foram entendidos, ou corretamente aprendidos anteriormente;

• ajuda o estudante a alcançar os seus objetivos;

• é flexível quando necessário;

• mostra um interesse genuíno em motivar os alunos (mesmo os principiantes e, por isso,talvez numa fase menos interessante para o tutor);

• escreve todas as correções de forma legível e com um nível de pormenorização adequado;

• acima de tudo, devolve os trabalhos rapidamente;

9

Page 11: Postfix

Parte III

Postfix

10

Page 12: Postfix

Capítulo 1

O que é o Postfix

Postfix é um software de servidor de email que tem o objetivo de ser rápido, fácil de configurar,e que é esperançosamente seguro. Ele é um MTA, com bastante robustez, desempenho e maiorfacilidade na manutenção e configuração. Além disso, o Postfix é capaz de emular várias funçõesdo Sendmail, evitando assim modificações nas aplicações que utilizam o Sendmail.

11

Page 13: Postfix

Capítulo 2

Plano de ensino

2.1 Objetivo

Qualificar técnicos na instalação e configuração básica do Postfix.

2.2 Público Alvo

Técnicos que desejam trabalhar com Postfix.

2.3 Pré-requisitos

Os usuários deverão ser, necessariamente, indicados por empresas públicas e ter conheci-mento básico acerca da instalação e configuração de servidores.

2.4 Descrição

O curso de Postfix será realizado na modalidade EAD e utilizará a plataforma Moodle comoferramenta de aprendizagem. Ele é composto de um módulo de aprendizado e um módulo deavaliação. O material didático estará disponível on-line de acordo com as datas pré-estabelecidasno calendário. A versão utilizada para o Postfix será a 2.0.18.

2.5 Metodologia

O curso está dividido da seguinte maneira:

2.6 Cronograma

• Módulo 1

Lições

• Módulo 2

Avaliação Final

12

Page 14: Postfix

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Todo o material está no formato de lição, e estará disponível ao longo do curso. A lição poderáser acessada quantas vezes forem necessárias. Aconselhamos a leitura de "Ambientação doMoodle", para que você conheça o produto de Ensino a Distância, evitando dificuldades advindasdo "desconhecimento"sobre o mesmo.Os instrutores estarão a sua disposição ao longo de todo curso. Qualquer dúvida deve ser dispo-nibilizada no fórum ou enviada por e-mail. Diariamente os monitores darão respostas e esclare-cimentos.

2.7 Programa

• Módulo 1

– Introdução, Instalação e Configuração– Usando domínios virtuais com o Postfix– Filtros de E-Mail– POP3 e IMAP

• Módulo 2

– Avaliação Final

2.8 Avaliação

Toda a avaliação será feita on-line.Aspectos a serem considerados na avaliação:

• Iniciativa e autonomia no processo de aprendizagem e de produção de conhecimento;

• Capacidade de pesquisa e abordagem criativa na solução dos problemas apresentados.

Instrumentos de avaliação:

• Participação ativa nas atividades programadas.

• Avaliação ao final do curso.

• O participante fará várias avaliações referente ao conteúdo do curso. Para a aprovação eobtenção do certificado o participante deverá obter nota final maior ou igual a 6.0 de acordocom a fórmula abaixo:

• Nota Final = ((ML x 7) + (AF x 3)) / 10 = Média aritmética das lições

• AF = Avaliações

2.9 Bibliografia

• Site oficial: http://www.postfix.org

• Lista de discussão em Português: http://listas.softwarelivre.org/mailman/listinfo/postfix-br

13

Page 15: Postfix

Capítulo 3

Introdução ao Postfix

3.1 Introdução ao Postfix

O Postfix é um dos mais revolucionários servidores de e-mail já desenvolvidos. Trata-se deum robusto sistema de e-mail que possui algumas raízes do Sendmail, mas é um produto comple-tamente reformulado para as necessidades atuais da internet, pois foi criado com a preocupaçãoem segurança, velocidade e facilidade de integração.

A forma com que o Postfix é configurado permite fácil integração com outros produtos queo adicionam funcionalidades, como filtros de e-mail (AntiVírus e AntiSpam) e gerenciadores deentrega.

O Postfix possui centenas de parâmetros de configuração controlados através de seu arquivode configuração principal, o arquivo main.cf. Felizmente, a configuração padrão do Postfix jáutiliza valores corretos para a maioria dos cenários de utilização. Sendo assim, poucos parâme-tros precisam ser realmente modificados para que o Postfix possa oferecer sua funcionalidadeprincipal.

Iremos tratar dos parâmetros de configuração que devem ser alterados em um arquivo deconfiguração padrão fornecido pela instalação do pacote Debian do Postfix. O pacote pode serencontrado nos CDs de instalação e/ou nos repositórios de pacotes oficiais Debian.

14

Page 16: Postfix

Capítulo 4

Instalação e configuração básica

4.1 Instalação

Basicamente esta parte se resume em instalar o pacote que provê o Postfix. Para instalar opacote Debian do Postfix, use o comando a seguir:

#apt-get insall postfix

Ao instalar o pacote Postfix, o pacote do que estiver provendo "mail-transport-agent"(Podeser o Exim ou o Sendmail, por exemplo) será removido. Uma particularidade do pacote Debiando Postfix é que o mesmo utiliza o debconf para sua configuração inicial básica. Devido a isso,logo após instalar o pacote Postfix, o script de pós-instalação do pacote irá executar a etapa deconfiguração básica inicial do pacote.

4.2 Configuração básica

A primeira tela a ser exibida é a tela que lhe questiona que tipo de configuração você desejapara o Postfix. Diversas configurações são possíveis, como Internet com smarthost, Internet Site,Sistema satélite, Somente local e a opção Sem configuração.

Como o processo de configuração básica inicial do Postfix baseada em debconf ainda nãopode gerenciar todos os parâmetros geralmente necessários, o procedimento a ser usado é se-lecionar a opção Somente local, de modo que somente algumas perguntas serão feitas e, aoterminar de respondê-las, você terá um Postfix com uma configuração que lhe permitirá enviare receber mensagens de e para usuários locais. A maioria das distribuições Linux já provêmpacotes do Postfix com este nível de configuração.

Configurações adicionais para modificar o comportamento do Postfix devem ser feitas direta-mente no arquivo de configuração principal, /etc/postfix/main.cf.

Após escolher a opção Somente local, surgirá uma pergunta lhe questionando sobre qualserá o Mail name padrão. O Mail name é a porção logo após o símbolo de arroba (@) dosendereços de e-mail, e será usado para compor o endereço exibido no campo "De:"das men-sagens enviadas a partir do servidor Postfix. Por exemplo, caso uma mensagem seja enviadado console do servidor pelo usuário waldemar e o Mail name esteja definido como cdtc.org.br, odestinatário da mensagem irá recebê-la e visualizar no campo "De:"desta mensagem o [email protected].

15

Page 17: Postfix

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Responda "Não"para a próxima pergunta, que questiona se o Postfix deverá acrescentar osufixo .domínio (na verdade, o que será acrescentado será .$mydomain, ou seja, o ponto maiso valor da variável $mydomain) em mensagens que contém somente um componente na porçãohostname.

A próxima pergunta questiona quais os domínios que o servidor Postfix deve considerar elemesmo como sendo o destino final. Ou seja, se você acrescentar o domínio cdtc.org.br nessalistagem, o Postfix irá tentar entregar localmente todas as mensagens enviadas para endereçosque contenham @cdtc.org.br no campo "Para:". Sendo assim, somente adicione nessa listagemos domínios que realmente serão hospedados no servidor Postfix sendo instalado.

O padrão sugerido é o hostname totalmente qualificado (FQDN) do servidor onde o Postifixestá sendo instalado. localhost.cdtc.org.br e localhost neste caso. Acrescente à essa lista osdomínios para os quais você deseja que o Postfix seja o destino final. Por exemplo, caso o Postfixsendo instalado tenha que ser o destino final para os domínios cdtc.org.br e iti.br, a listageminformada como resposta à essa pergunta ficaria como:

servidor.cdtc.org.br, localhost.cdtc.org.br, localhost, cdtc.org.br, iti.br

Essa lista pode ser modificada posteriormente no parâmetro mydestination do arquivo /etc/postfix/main.cf.A próxima pergunta questiona para qual endereço de e-mail as mensagens enviadas para o

usuário root deverão ser redirecionadas. O Postfix não entrega mensagens diretamente na caixado usuário root, pois precisaria ser executado com priviégios de root para fazê-lo. Como issopode ser uma falha de segurança, o padrão é definir uma conta de usuário comum para onde asmensagens destinadas ao usuário root serão enviadas.

Ao definir essa conta, uma entrada será acrescentada no arquivo de aliases padrão do Postfix,o arquivo /etc/aliases, criando um alias de root para o usuário definido.

Pronto! A etapa de configuração será finalizada e o Postfix será iniciado, já funcionando parao envio e recebimento de e para usuários locais.

16

Page 18: Postfix

Capítulo 5

O daemon do Postfix

5.1 O daemon do Postfix

Após a definição ou modificação da maioria dos parâmetros do Postfix, não é necessárioreiniciá-lo por completo. Apenas um reload é necessário, o que já fará com que quaisquer modi-ficações nos arquivos de configuração do Postfix passem a ser válidas.

Somente alguns parâmetros requerem que o Postfix seja reiniciado por completo (com o co-mando postfix restart, por exemplo) para que passem a ser válidos. O parâmetro inet_interfaces,do qual trataremos adiante, é um exemplo.

Ao longo desse treinamento, será assumido que sempre que a definição ou modificação deum parâmetro do Postfix seja requisitada, um reload do mesmo seja executado. Quando existir anecessidade de um restart completo do Postfix, isso será explicitamente informado.

Para referência, um reload do Postfix é equivalente a executar o comando a seguir:

#postfix reload

Um restart do Postfix, por sua vez, é equivalente a executar o comando a seguir:

#postfix restart

17

Page 19: Postfix

Capítulo 6

O utilitário Postconf (Gerenciamento deconfigurações)

6.1 O utilitário Postconf (Gerenciamento de configurações)

Veremos agora a função de alguns parâmetros do Postfix no arquivo /etc/postfix/main.cf.

6.1.1 Gerenciamento das configurações

Existem duas formas básicas de gerenciar as configurações do Postfix. A primeira é a maisóbvia, editando diretamene o arquivo main.cf. A segunda é através do comando postconf (con-sulte a man page para maiores detalhes).

O postconf permite basicamente visualizar e editar as configurações do postfix a partir dalinha de comando, sem a necessidade de utilizar um editor de texto para edição do main.cf.

6.1.2 Consultando parâmetros

O funcionamento é bem simples. Para exibir todos os parâmetros que o Postfix suporta, assimcomo seus respectivos parâmetros configurados atualmente, digite:

#postconf

Isso resultará em umas 300 linhas possíveis, cada uma contando um parâmetro de configura-ção do Postfix. Os valores padrão para cada parâmetro podem ser visualizados com a opção -ddo postconf, assim:

#postconf -d

Para direcionar sua pesquisa a um parâmetro específico, basta especificar o parâmetro nafrente do comando. Por exemplo, digamos que você queira visualizar o parâmetro myhostname,utilize:

#postconf myhostname

Será exibido o valor atual do parâmetro myhostname. Para exibir o valor "padrão", utilize:

#postconf -d myhostname

18

Page 20: Postfix

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Para exibir somente os parâmetros diferentes do padrão, utilize:

#postconf -n

Serão exibidos os parâmetros que foram definidos no arquivo main.cf, mesmo que através dopostconf.

6.1.3 Modificando parâmetros

Agora vamos aprender a utilizar o postconf para modificar parâmetros de configuração semtocar no arquivo main.cf.

A sintaxe também é bem simples, basta acionar a opção -e do postconf e especificar (entreaspas, geralmente) o valor desejado para a opção:

#postconf -e myhostname="servidor.\$mydomain"

Não se esqueça de que o caractere "$"deve ser escapado com barra invertida "p̈ara que oshell não interprete como uma variável de ambiente.

Agora verifique as mudanças no arquivo /etc/postfix/main.cf.

19

Page 21: Postfix

Capítulo 7

Configurações Gerais

7.1 RELAY

O parâmetro mynetworks controla para quais endereços de IP e/ou redes o Postfix irá fazerRELAY (oferecer o serviço de envio de mensagens). Segue um exemplo de configuração doparâmetro mynetworks:

mynetworks = 127.0.0.0/8, 192.168.1.0/24No exemplo acima, o RELAY está sendo liberado para as redes 127.0.0.0/8 (rede da interface

de loopback) e 192.168.1.0/24 (rede de classe C inválida de exemplo).

7.2 FQDN

O parâmetro myhostname indica ao Postfix qual o hostname totalmente qualificado (FQDN)da máquina onde o Postfix está sendo implantado. O padrão é obter esse valor do hostnamepadrão do servidor. É importante ter o hostname definido no arquivo /etc/hosts para que o Postfixde forma geral funcione satisfatoriamente. Um exemplo de arquvivo /etc/hosts segue abaixo:

127.0.0.1 localhost.localdomain localhost192.168.1.12 cursos.cdtc.org.br cursos

Certifique-se de que o "nome curto"do servidor seja o único conteúdo do arquivo /etc/hostname(isto é espercífico do Debian) e que a saída dos comandos abaixo seja semelhante:

#cat /etc/hostnamecursos#hostnamecursos#hostname -fcursos.cdtc.org.br#grep `hostname -f` /etc/hosts192.168.1.12 cursos.cdtc.org.br cursos

Isto garante que a configuração de nomes do servidor esteja correta.Como estamos revisando a configuração e vamos precisar utilizar o DNS, verifique também se

existe uma entrada de nameserver apontando para seu próprio IP (pode ser o loopback também)no arquivo /etc/resolv.conf.

20

Page 22: Postfix

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

#cat /etc/resolv.confsearch cdtc.org.brnameserver 127.0.0.1

Agora voltemos ao Postfix. Um exemplo de configuração do parâmetro myhostname seria:

#postconf myhostnamemyhostname = cursos.$mydomain

Constate também que o parâmetro mydomain comporta realmente o seu domínio, que deveser a mesma saída do comando dnsdomainname

#dnsdomainnamecdtc.org.br#postconf -e mydomain="`dnsdomainname`"#postconf mydomainmydomain = cdtc.org.br

Dessa forma, é garantido que o Postfix esteja configurado corretamente com seu FQDN.

7.3 Gerenciamento de interfaces de rede

O parâmetro inet_interfaces controla em quais interfaces de rede o Postfix deverá aguardarpor conexões SMTP. Caso seja necessário oferecer os serviços do daemon SMTP para todasas redes nas quais o servidor Postfix tenha uma interface de rede, defina o valor do parâmetroinet_interfaces como a seguir:

inet_interfaces = all

Logicamente, as restrições do parâmetro mynetworks ainda são válidas para controle de quaisendereços IP e/ou redes podem fazer RELAY utilizando o Postfix, uma vez que o parâmetroinet_interfaces somente controla em quais interfaces de rede o Postfix vai ouvir.

Somente no caso do servidor possuir mais de uma interface de rede é que este parâmetrocomeça a se tornar útil. Conforme dito, se o valor de inet_interfaces estiver definido para "all", opostfix deixará a porta SMTP (25/tcp) aberta em todas as interfaces de rede, isso inclui a interfaceloopback.

Digamos que seu provedor possua 2 interfaces de rede (além da loopback, é claro) onde, umafica com o IP 192.168.1.12, a outra com o IP 200.1.2.3, e não queremos oferecer os serviços doPostfix para a interface de rede com o IP 200.1.2.3. A configuração ficaria assim:

inet_interfaces = 127.0.0.1, 192.168.1.12

A modificação do parâmetro inet_interfaces requer um restart do Postfix e não simples-mente um reload.

21

Page 23: Postfix

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

7.4 Maildir

O padrão do Postfix é utilizar o formato de caixas-postais mbox (igual ao Sendmail). Mas oPostfix pode lidar com diversos formatos de caixas-postais, dentre elas, uma boa alternativa é oformato Maildir, que organiza em uma estrutura de diretórios as mensagens de caixa-postal, tor-nando a varredura muito mais rápida. Porém, para que isso seja possível, precisamos configuraro Postfix para entregar as mensagens dos usuários locais nesse formato de caixa-postal.

O parâmetro necessário é o home_mailbox, que não possui padrão definido (O que leva oPostfix a optar pelo formato mbox). Vejamos:

#postconf home_mailboxhome_mailbox =#postconf -e home_mailbox="Maildir/"#postconf home_mailboxhome_mailbox = Maildir/#postfix reloadpostfix/postfix-script: refreshing the Postfix mail system

Por padrão, o Postfix entrega mensagens no formato mbox sob o diretório /var/mail (/var/spool/mailé um link simbólico para /var/mail). A configuração acima instrui o Postfix a entregar as mensa-gens dos usuários em um diretório de nome Maildir, sob o diretório pessoal de cada usuário.

Não é necessário a existência prévia de um diretório de nome Maildir sob o diretório pessoalde cada usuário uma vez que o próprio Postfix se encarregará de criar tal diretório caso o mesmoainda não exista, bem como criar a estrutura de subdiretórios necessária para a entrega dasmensagens e acertar quaisquer permissões necessárias.

7.5 RELAYHOST

Por vezes, é necessário encaminhar mensagens geradas localmente no servidor de men-sagens ou através da rede para que sejam entregues em outro servidor de mensagens e nãolocalmente, assim como um SmartHost do Sendmail.

Para habilitar o suporte a esse recurso, o parâmetro relayhost pode ser utilizado, configuradoda seguinte forma:

relayhost = [1.2.3.4]:25

Onde 1.2.3.4 é o endereço IP do servidor de mensagens para o qual as mensagens devemser encaminhadas. O endereço IP deve ser especificado entre colchetes para evitar pesquisasDNS e agilizar o envio. Após os dois pontos, 25 representa no exemplo acima o número da portaTCP onde o servidor de mensagens remoto está ouvindo por conexões SMTP (geralmente 25).

7.6 Aliases

O arquivo de aliases do Postfix é definido pelo parâmetro alias_maps. O valor padrão desseparâmetro no pacote Debian do Postfix é:

alias_maps = hash:/etc/aliases

22

Page 24: Postfix

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Modifique somente no caso de querer especificar um arquivo de aliases alternativo.Outro ponto importante a ser lembrado é que o Postfix possui um comando próprio para gerar

a base de dados de aliases a partir do arquivo de aliases definido no parâmetro alias_maps. Ocomando usado para geração dessa base de dados é postalias. Segue abaixo um exemplo deutilização do comando postalias para geração da base de dados de aliases:

#postalias /etc/aliases

O parâmetro alias_database define qual arquivo de aliases será lido pelo Postfix para obter alista de aliases. Em uma configuração comum o valor desse parâmetro é idêntico ao parâmetroalias_maps, que apontam para arquivos de mapa do tipo hash.

Ao utilizarmos o comando postalias em um arquivo de mapa (/etc/aliases, por exemplo), serácriado um arquivo binário no formato hash de mapa. Este arquivo terá o mesmo nome do arquivode entrada, mas com a extensão ".db". No nosso exemplo (e na maioria dos casos) o arquivobinário criado pelo comando "postalias /etc/aliases"será "/etc/aliases.db".

7.6.1 Definindo um alias para o postmaster

É de extrema importância definir um alias para o postmaster, uma vez que as mensagens deerro enviadas pelo Postfix recomendam relatar o problema sendo reportado para o postmasterdo domínio em questão. O destino desse alias costuma ser a conta de usuário encarregado deadministar o servidor de email.

Adicionalmente, é um padrão estabelecido em sistemas de controle de mensagens manter umendereço no formato postmaster@dominio para receber mensagens administrativas e de usuá-rios que desejam relatar problemas ao responsável pelo gerenciamento de mensagens, inclusiveusuários de outros domínios que precisem relatar um problema que possam eventualmente estarenfrentando na tentativa de se comunicar com um usuário do domínio atendido pelo Postfix.

A sintaxe da definição do alias é exatamente a mesma usada na definição de um alias noMTA Sendmail. Segue abaixo um exemplo definindo um alias do postmaster para o usuário localaluno:

postmaster: aluno

7.6.2 Definindo um alias para o root

Da mesma forma que o alias para o postmaster, definir um alias para o root também é extre-mamente importante. Até mesmo mais importante do que o caso do postmaster, uma vez que oPostfix, por razões de segurança, não entrega mensagens diretamente na caixa postal do usuá-rio. Para que a entrega direta para o usuário root funcionasse seria necessário que o usuárioPostfix pudesse gravar na caixa de mensagens do usuário root ou que o processo do Postfixfosse executado com privilégios de root. Como um dos focos do Postfix é segurança, isso não épermitido.

Sendo assim, é obrigatório ter definido um alias do usuário root para um usuário comum.Esta configuração deve ser modificada e as mensagens com destino ao usuário root deverãoser entregues na conta de um usuário comum encarregado de administração do servidor ou atémesmo um grupo de usuários encarregados. Como exemplo, a seguir veremos uma linha doarquivo de aliases do Postfix que define que as mensagens destinadas ao usuário root serãoentregues para o usuário aluno (o qual, logicamente, já deve existir):

23

Page 25: Postfix

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

root: aluno

Após realizar modificações no arquivo de aliases não se esqueça de recriar os mapas dealiases com o comando "postalias /etc/aliases".

24

Page 26: Postfix

Capítulo 8

Configuração de domínios virtuais

8.1 Configuração de domínios virtuais

O suporte a domínios virtuais no Postfix, assim como muitos outros de seus recursos, é imple-mentado utilizando mapas de lookup. Simplificando para nossos propósitos, um mapa de lookupé onde o Postfix busca informações de equivalência de endereços de e-mail para usuários.

O Postfix suporta domínios virtuais no estilo do Sendmail e em seu próprio estilo. O suporteao estilo do Sendmail só está disponível para compatibilidade com instalações que estão sendomigradas do MTA Sendmail para o Postfix. Em novas instalações, o melhor é utilizar o formato doPostfix.

Para configurar o Postfix para buscar informações de domínios virtuais no mapa de lookupcorreto, especifique-o na opção virtual_maps, conforme abaixo:

#postconf virtual_maps

virtual_maps =

#postconf -e virtual_maps="hash:/etc/postfix/virtual"

O arquivo /etc/postfix/virtual deve seguir o seguinte formato:

cdtc.org.br Um comentário qualquer aqui

[email protected] aluno

[email protected] sydney

[email protected] fredao

[email protected] tomas

iti.br Um comentário qualquer aqui

[email protected] aluno2

[email protected] sydney2

25

Page 27: Postfix

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

[email protected] fredao2

[email protected] tomas2

A principal diferença de formato do Postfix é que os domínios devem ser separados e deveexistir um cabeçalho com um comentário antes da primeira entrada para cada domínio.

Para ativar as configurações, execute:

#postmap /etc/postfix/virtual

#postfix reload

O primeiro comando cria o mapa em formato binário, /etc/postfix/virtual.db. O segundo ativaas configurações efetuadas no Postfix.

O conteúdo do arquivo /etc/postfix/virtual.db, ao contrário do arquivo /etc/postfix/virtual, nãopode ser lido normalmente (trata-se de um arquivo binário). O Postfix sabe como ler o arquivobinário /etc/postfix/virtual.db, o que é feito em detrimento da leitura do arquivo /etc/postfix/virtual,devido a leitura do arquivo binário ser extremamente mais rápida do que interpretar todo o arquivo,/etc/postfix/virtual, em texto puro.

26

Page 28: Postfix

Capítulo 9

POP3 e IMAP

9.1 POP3

Para muitos sistemas, é inviável manter um sistema completo para uso de correio eletrônico:servidor de e-mail, checagens contra vírus, servidor de caixas postais, etc. Além, é claro, determos o fator conexão, onde nem todas as máquinas têm condições de estar permanentementeligadas à internet.

Independente de todos estes fatores, é interessante e muito útil a possibilidade de gerenciarmensagens de correio eletrônico a partir dessas máquinas e usar o programa cliente ("mail useragent- MUA) disponível para esta tarefa. São exemplos de clientes: Outlook, KMail, Evolution,Sylpheed, pine, mutt, Netscape Messenger, entre outros.

Para resolver esse problema de uso de e-mail em uma máquina menos poderosa, foramcriados servidores que disponibilizam caixas postais para e-mail. O protocolo POP - Post OfficeProtocol — versão 3 (POP3) permite que as estações acessem essas caixas dinamicamente,de uma maneira útil. Isso significa que o protcolo POP3 é usado para permitir que estações detrabalho recuperem mensagens de e-mail de um servidor que as armazena.

O protocolo POP3 não tem por objetivos permitir manipulações de mensagens no servidor. Aintenção é permitir que as mensagens sejam recuperadas e então deletadas.

A especificação e regulamentação do protocolo POP3 é dada pela RFC 1939 (http://www.rfc-editor.org/rfc/rfc1939.txt).

9.2 IMAP

O protocolo IMAP - Internet Message Access Protocol — versão 4, revisão 1 (IMAP4 rev. 1),permite que um cliente acesse e manipule mensagens de correio eletrônico disponíveis em umservidor.

Este protocolo permite a manipulação de pastas remotas, chamadas ”mailbox”, de maneirafuncionalmente equivalente a pastas locais. O protocolo IMAP4rev1 também disponibiliza me-canismos capazes de fazer com que clientes offline possam ressincronizar suas pastas com oservidor.

São disponibilizadas operações para criação, deleção, renomeação de mailboxes; checagempor novas mensagens; remoção permanente de mensagens; busca; recuperação seletiva deatributos, textos e partes de mensagens. As mensagens são acessadas individualmente atravésde números que são ou seqüenciais ou identificadores únicos para cada mensagem.

27

Page 29: Postfix

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

O protocolo IMAP, assim como o POP, não pode ser usado para enviar mensagens, apenaspara recuperá-las. O envio de mensagens deve ser feito com o uso de um servidor SMTP, comoo Postfix, por exemplo.

9.3 Servidores POP3 e IMAP

Agora que já implementamos o protocolo SMTP no servidor de e-mail, pode ser necessáriodisponibilizar acesso remoto às caixas postais através dos protocolos POP3 e IMAP, que explica-dos anteriormente.

É importante compreender que os protocolos POP3 e IMAP não são responsabilidade doMTA instalado no sistema (Sendmail ou Postfix). O suporte a esses protocolos é dado atravésde servidores específicos para cada um. Geralmente o serviço que provê suporte ao POP3 é omesmo que provê suporte à IMAP.

No Debian, existem diversas alternativas, mas a mais simples, funcional e com boa interaçãocom o formato de caixas postais Maildir é o courier. Outras distribuições, como a Conectiva porexemplo, utilizam o courier por padrão.

9.4 Instalação do Courier

Para instalar o courier com suporte a POP3 e IMAP no Debian, utilize o comando a seguir:

#aptitude install courier-pop courier-imap

Após o download, descompactação e instalação dos pacotes courier-pop e courier-imap esuas dependências, uma nota debconf será exibida, informando que o empacotamento do Courierfoi totalmente revisado. Simplesmente tecle [Enter] para continuar.

9.5 Configuração do Courier

Os arquivos de configuração do Courier ficam armazenados no diretório /etc/courier. A confi-guração do servidor POP é feita no arquivo /etc/courier/pop3d e a configuração do servidor IMAPé feita no arquivo /etc/courier/imapd.

O arquivo /etc/courier/authdaemonrc não precisará ser modificado a menos que seja neces-sário aumentar a quantidade de daemons de autenticação iniciados por padrão, ou seja, cincoinstâncias do daemon ou que sejam utilizados outros métodos de autenticação.

Os valores padrões fornecidos pelos pacotes courier-pop e courier-imap já são adequadospara a grande maioria das instalações.

28

Page 30: Postfix

Capítulo 10

Testando o funcionamento do Servidor

10.1 Testando o funcionamento do Servidor

Para testarmos o funcionamento dos daemons POP e IMAP, precisamos de uma conta válidano sistema. Vamos supor que haja uma conta "waldemar".

Envie uma mensagem para o usuário utilizando o comando a seguir:

#echo "Testando.." | mail -s "Teste" waldemar

Após o envio da mensagem, consulte o log de mensagens do Postifix localizado no arquivo/var/log/mail.log e procure no final do arquivo por uma linha indicando a entrega da mensagemna caixa postal do usuário waldemar.

Depois de verificarmos o funcionamento da entrega da mensagem, vamos utilizar o comandotelnet para testar o funcionamento dos daemons de POP e IMAP.

#telnet 127.0.0.1 110

Este comando estabelecerá uma conexão na porta 110/tcp. O mesmo poderia ser feito paratestar o servidor IMAP (porta 143). Daí em diante, basta configurar o seu Mail User Agent (MUA)para utilizar o servidor configurado. :-p

29