Anda di halaman 1dari 17

TPICOS 1. Infra-estrutura de e-mail 2. Instalao do POSTFIX 3. Instalao POP3 4. Arquivos de configurao do Postfix 5. Ferramentas de configurao do Postfix 6.

Principais parmetros de configurao (main.cf) 7. Configurao de envio e recebimento 8. Bloqueio atravs do Cabealho e Corpo 9. Restrio de envio por usurios 10. 11. 12. 13. 14. 15. Outros parmetros Caixa de correio Utilizao do Maildir Utilizao de aliases Teste de envio e recebimento de mensagens pelo Postfix Webmail

POSTFIX

1. INFRA-ESTRUTURA DE E-MAIL

Os principais elementos desse trajeto so: MUA Mail User Agent: o programa que o usurio acessa para compor seu e-mail. Exemplo: Outlook, Netscape, Kmail, etc. MTA Mail Transport Agent: recebe o e-mail do MUA e o envia a outros MTA, para que seja entregue ao destinatrio. O principal MTA em UNIX o sendmail, mas existem tambm o qmail , postfix e outros. MDA Mail Delivery Agent: recebe o e-mail do MTA e o deposita na caixa de correio do usurio. O MDA default do Linux o procmail, mas existem diversos outros. MAA Mail Access Agent: permite ao MUA o acesso aos emails que esto na caixa de correio do usurio. Na prtica, esta funo exercida pelos servidores POP3 e/ou IMAP. Os principais protocolos em uso so: SMTP Simple Mail Transfer Protocol: o protocolo responsvel pelo transporte dos emails entre MTAs, e do MUA ao MTA. POP3 Post-Office Protocol v3: usado pelo MUA para acessar as mensagens armazenadas no servidor. Usa a porta 110/TCP ou 995/TCP (verso segura POP3S). Considera apenas uma pasta no servidor (INBOX).

Por default descarrega as mensagens do servidor no cliente.


POSTFIX

IMAP - Internet Message Access Protocol: idem ao pop3, porm mais verstil que o POP3 Usa a porta 143/TCP ou 993/TCP (verso segura IMAPS) Pode manter diversas pastas no servidor, alm da INBOX. Por default mantm as mensagens no servidor. Pode movimentar mensagens em ambas as direes (entre pastas no cliente e no servidor) 2. INSTALAO DO POSTFIX VERIFICAR INSTALAO # dpkg -l | grep postfix INSTALAO POSTFIX # apt-get install postfix Durante a instalao algumas perguntas sero feitas:

POSTFIX

POSTFIX

POSTFIX

Caso seja necessrio rever as configuraes use o comando: #dpkg-reconfigure postfix Verifique seu funcionamennto com o comando: #telnet 127.0.0.1 25 3. INSTALAO POP3 #apt-get install qpopper Verificar no arquivo /etc/inet.d.conf se a linha do pop3 est descomentada. OBSERVAO.: O servio qpopper startado com o superdaemon openbsdinetd, caso no esteja funcionando, inicie o servio com: #/etc/init.d/openbsd-inetd restart Verifique seu funcionamento com o comando: #telnet 127.0.0.1 110 4. ARQUIVOS DE CONFIGURAO DO POSTFIX Os arquivos de configurao do postfix encontram-se em: /etc/postfix master.cf Gerencia nmero de processos e servios. main.cf Arquivo de configurao principal do postfix. /etc/aliases Arquivo onde so armazenados os aliases. /etc/mailname Arquivo onde deve estar configurado com o nome do seu domnio. /var/spool/mail/nome_usurio Spool das mensagens.
POSTFIX

5. FERRAMENTA DE CONFIGURAO DO POSTFIX postconf postconf -n postconf -e parametro=valor (Mostra todas os parmetros) (Mostra os parmetros no padro) (Adiciona no final do arquivo main.cf)

6. PRINCIPAIS PARMETROS DO ARQUIVO DE CONFIGURAO (main.cf)

queue_directory = /var/spool/postfix

Diretrio de Fila (spool de mensagens) command_directory = /usr/sbin

Diretrio de Comandos daemon_directory = /usr/lib/postfix

Diretrio de Daemon mail_owner = postfix

Usurio do Postfix myhostname = servidor.meudominio.com.br

Hostname do servidor mydomain = meudominio.com.br

Dominio do servidor myorigin = $mydomain

Qual o nome completo aps o @ do e-mail inet_interfaces = all

Qual interface responde pelo Postfix mydestination = $myhostname, localhost.$mydomain, $mydomain

Destinos vlidos mynetworks_style = subnet

Confia somente no host ( Class / Subnet / Host ) unknown_local_recipient_reject_code = 500

Resposta para usurios no encontrados mynetworks = 127.0.0.0/8, 192.168.0.0/24

Rede que sero liberadas para Relay

POSTFIX

alias_maps = hash:/etc/aliases

Arquivos com alias home_mailbox = Mailbox

Formato da Caixa de E-mail ( Mailbox / Maildir ) mail_spool_directory = /var/spool/mail

Diretrio de Armazenamento de E-mails mailbox_size_limit = 51200000

Tamanho da caixa do usurio ( 50 Megas ) message_size_limit = 10240000

Tamanho mximo da mensagem ( 10 Megas ) smtpd_banner = $myhostname - Mail Server

Banner do servidor SMTP debug_peer_level = 2

Nvel de debug debugger_command =

Parmetros para o debug newaliases_path = /usr/bin/newaliases

Caminho do Newaliases mailq_path = /usr/bin/mailq

Caminho do Mailq setgid_group = postdrop

Grupo do Postfix manpage_directory = /usr/local/man

Diretrio do Manual 7. CONFIGURAO DE ENVIO E RECEBIMENTO Esses parmetros visam melhorar a segurana do servidor e combater o Spam: smtpd_recipient_limit = 100

Nmero mximo de destinatrios no mesmo e-mail strict_rfc821_envelopes = yes

- Respeita RFC 821 - MAIL FROM e RCPT TO

POSTFIX

smtpd_helo_required = yes

Ativo checagem de helo disable_vrfy_command = yes

Desabilita VRFY maps_rbl_domains = relays.ordb.org, list.dsbl.org,dun.dnsrbl.net, spam.dnsrbl.net

Listas de RBL Obs.: Utilizar com cuidado as listas, pois algumas bloqueiam e-mails do Brasil. Mais informaes em: http://www.dnsstuff.com smtpd_client_restrictions =

Restrico do cliente - Aps o aceite da conexao SMTP check_client_access hash:/etc/postfix/client_access

Checa contedo do CLIENT_ACCESS permit_mynetworks

Permite "mynetwork" hash:/etc/postfix/access

Permite conteudo do ACCESS reject_unknown_client

Quando no h entrada PTR do IP reject_unauth_pipelining

Bloqueio comando para forar entrega reject_rbl_client maps_rbl_domains

Bloqueia IP's listados em RBL smtpd_helo_restrictions =

Restrico durante comando HELO/EHLO reject_invalid_hostname

Quando no informado o hostname reject_unknown_hostname

Quando no existe entrada DNS A ou MX reject_non_fqdn_hostname

Quando o hostname no apresenta hostname vlido

POSTFIX

reject_unauth_pipelining

Bloqueio comando para forar entrega reject_rbl_client maps_rbl_domains

Bloqueia IP's listados em RBL smtpd_sender_restrictions =

- Restrico aplicada no MAIL FROM Arquivo /etc/postfix/access joaozinho@123.com.br E-MAIL REJEITADO 123.com.br DOMINIO REJEITADO /^postmaster@/ OK /^abuse@/ OK

Arquivo /etc/postfix/client_access 200.200.200.200 RELAY 100.100.100 554 SPAMMER NETWORK 150.100.100.100 554 SPAMMER HOST dsl.telesp.net.br 554 SPAMMER NETWORK

8. BLOQUEIO ATRAVS DO CABEALHO E CORPO Bloqueio por Assunto Adicione a linha abaixo no main.cf header_checks = pcre:/etc/postfix/header_checks mime_header_checks = $header_checks nested_header_checks = $header_checks Contedo do /etc/postfix/header_checks /^Subject: Trabalhe em casa/ REJECT SPAMMER /^To: joao@trabalheemcasa.com.br/ REJECT /^Subject:.*V.agr.\?*./ REJECT Email rejeitado

POSTFIX

10

/^Subject:.*FIQUE RICO.*./ REJECT Email rejeitado /^Content-(Type|Disposition):.*(file)?name=.*\.(com|lnk| bat|scr|chm|hlp|hta|reg|shs|vbe|vbs|wsf|wsh|pif)/ REJECT Email rejeitado, devido a um arquivo .${3} em anexo Bloqueio por Contedo Adicione a linha abaixo no main.cf body_checks = pcre:/etc/postfix/body_checks # Verifica os 50 K inicais body_checks_size_limit = 51200 Contedo do /etc/postfix/body_checks /^Content-(Type|Disposition):.*(file)?name=.*\.(com|lnk| bat|scr|chm|hlp|hta|reg|shs|vbe|vbs|wsf|wsh|pif|exe)/ REJECT Email rejeitado, devido a um arquivo .$ {3} em anexo /^.*decidaservencedor.kit.net*/ REJECT Spammer. /^RSLxwtYBDB6FCv8ybBcS0zp9VU5of3K4BXuwyehTM 0RI9IrSjVuwP94xfn0wgOjouKWzGXHVk3qg$/ DISCARD VIRUS(sobig.f) /^(UEsDBAoAAAAAA(......KJx\+eAFgAAABYAA|...Nz| K4)|ApIAUCZKAEAD\/bJpmiwQBPQl6AEAS 85pmm7ZH8gqwAO4sKimaZqmoJiQiICapmmaeHBoYFh QzWCf)/ DISCARD VIRUS (W32/Mydoom@MM) Algumas opes para o arquivo /etc/postfix/body_checks REJECT [ texto opcional ] - Rejeita a mensagem e retorno erro para o remetente

OK
POSTFIX

11

- Aceita a mensagem IGNORE - Ignora a mensagem sem reportar mensagem para o remetente DISCARD [ texto opcional ] Ignora a mensagem

9. RESTRIO DE ENVIO POR USURIO

As vezes necessrio bloquear o envio de e-mail de determinados usurios e para isso fazemos: /etc/postfix/main.cf: smtpd_recipient_restrictions = hash:/etc/postfix/usuarios_restritos ... outros parmetros ... /etc/postfix/main.cf: smtpd_restriction_classes = dominios_restritos dominios_restritos = check_sender_access hash:/etc/postfix/insiders, reject /etc/postfix/usuarios_restritos: usuario1@meudominio.com.br dominios_restritos usuario2@meudominio.com.br dominios_restritos /etc/postfix/dominios_restritos: dominio1.com.br OK dominio2.com.br OK dominio3.com.br OK Depois de criar os arquivos necessrio rodar os comandos: # postmap /etc/postfix/usuarios_restritos # postmap /etc/postfix/dominios_restritos # postfix reload
POSTFIX

12

10. OUTROS PARMETROS always_bcc = email@meudominio.com.br

Todos os e-mails que chegam iro para e-mail abaixo bounce_size_limit = 50000

Tamanho da mensagem de erro header_size_limit = 102400

Tamanho mximo do HEADER aceito smtp_destination_concurrency_limit = 20

Entrega de e-mails para mesmo destino default_destination_concurrency_limit = 20

Entrega de e-mails para mesmo destino - remoto default_destination_recipient_limit = 50

Entrega de e-mails para mesmo destino - local fast_flush_refresh_time = 12h

Tempo de reenvio de mensagem em fila fast_flush_purge_time = 1d

Tempo de deleo de mensagem em fila maximal_queue_lifetime = 240m

Tempo de mensagem em fila As variveis de tempo vlidas so: s -> segundos (seconds) m -> minutos (minutes) h -> horas (hours) d -> dias (days) w -> semanas (week)

11. CAIXA DE CORREIO As mensagens para os usurios sero arquivadas no arquivo: /var/mail/nome_usuario

POSTFIX

13

12. UTILIZAO DO MAILDIR Por default o Postfix utiliza o diretrio das mensagens em /var/mail/usurio, utilizando a opo Maildir as mensagens sero armazenadas no /home dos usurios. Para utilizar o padro Maildir edite o arquivo /etc/postfix/main.cf ou utilize o comando: # postconf -e home_mailbox=Maildir/ A seguinte linha dever aparecer no final do arquivo /etc/postfix/main.cf: Home_mailbox = Maildir/ Instalar o maildrop

# apt-get install maildrop No arquivo /etc/maildroprc descomente a linha: DEFAULT="$HOME/Maildir" Instalar o courier-pop

# apt-get install courier-pop Instalar o courier-authdaemon

# apt-get install courier-pop Criar o diretrio Maildir no home dos usurios: 1. Logar com o nome do usurio. 2. Entre no diretrio /home/usurio 3. Use para criar o diretrio Maildir o comando: maildirmake Maildir 13. UTILIZAO DE ALIASES A criao de aliases, ir nos auxiliar quando queremos que um usurio receba mensagens com outro nome. O arquivo responsvel por criar aliases para um usurio o /etc/aliases; a sintaxe deste arquivo deve seguir a seguinte estrutura: ALIAS webmaster: www: ftp: USURIO_EXISTENTE root root root

O exemplo anterior far com que as mensagens enviadas para webmaster@servidor.lab.2cta, www@servidor.lab.2cta, ftp@servidor.lab.2cta, sero recebidas pelo usurio root@servidor.lab.2cta.
POSTFIX

14

Toda vez que este arquivo (/etc/aliases) for modificado dever ser executado o comando abaixo: # newaliases ou # postalias /etc/aliases 14. TESTE DE ENVIO E RECEBIMENTO DE MENSAGENS PELO POSTFIX Para testar o funcionamento do servidor, em um terminal, acessar o servidor de e-mail atravs telnet: # telnet ip_do_servidor 25 ehlo server retornar o nome do servidor) quit (teste de resposta do servidor, dever (desconectar do telnet)

Para testar envio de mensagem, em um terminal, acessar o servidor de e-mail atravs telnet: # telnet ip_do_servidor 25 # telnet nome_do_servidor 25 mail from: usuario@qualquer.provedor rcpt to: aluno@servidor.lab.2cta data Teste de mensagem . quit ou (tem que estar no DNS) (e-mail do remetente) (e-mail do destinatrio) (inicio da mensagem) (contedo da mensagem) (ponto final, indicando o final da mensagem) (desconectar do telnet)

Para testar o recebimento da mensagem, em um terminal, acessar o servidor de e-mail atravs telnet: # telnet ip_do_servidor 110 # telnet nome_do_servidor 110 user usurio pass senha_do_usurio list retr x dele x quit ou (tem que estar no DNS) (logar com um nome de usurio) (entrar com a sena do usurio) (lista as mensagens) (mostra a mensagem nmero x) (apaga a mensagem nmero x) (desconectar do telnet)

POSTFIX

15

Testar envio e recebimento de mensagens pelo cliente de e-mail mozilla_thunderbird. # apt-get install mozilla-thunderbird # apt-get install mozilla-thunderbird-locale-pt-br - Configurar o thunderbird.

15. WEBMAIL O webmail um recurso para acessar as mensagens do servidor atravs de um sevidor Web. Existem no mercado vrios programas para utilizar como webmail, um dos mais utilados o Squirelmail. Pr requisitos: Servidor Web Apache2 Servidor de correio configurado Instalao do Squirrelmail #apt-get install squirrelmail Aps a instalao o diretrio do squirrelmail fica localizado em /usr/share/squirelmail, por isso necesrio fazer umlink do diretrio para o diretrio raiz do Apache2 (/var/www). #ln s /usr/share/squirrelmail /var/www/ Para testar abra no browser: http://127.0.0.1/squirrelmail Para configurar outras funes do squirelmail edite o arquivo /usr/share/squirrelmail/config/config.php Outra forma de configurar o squirelmail utilizar o script squirrelmailconfigure. O squirrelmail utiliza por default o idioma ingls, para utilizar o idioma Prtugus do Brasil faa o seguinte: 1. Instalar o pacote squirrelmail-locales #apt-get install squirrelmail-locales 2. Alterar no arquivo /usr/share/squirrelmail/config/config.php a linha: $squirrelmail_default_language = pt_BR; 3. Execute o comando: #dpkg reconfigure p low locales 4. Marcar a opo pt_BR.UTF-8 UTF-8 5. Reinicie o servidor Apache2
POSTFIX

16