370 likes | 506 Views
Correio Eletrônico & Sendmail. Índice. Parte A: Introdução Parte B: Configuração Parte C: Referências Parte D: Atividades Práticas. Introdução. Parte A: Introdução. Objetivo Funcionalidades Roteamento de Mensagens Formato de Mensagens SMTP. mail. TCP/IP. Sendmail. uux. Local.
E N D
Índice • Parte A: Introdução • Parte B: Configuração • Parte C: Referências • Parte D: Atividades Práticas
Introdução Parte A: Introdução • Objetivo • Funcionalidades • Roteamento de Mensagens • Formato de Mensagens • SMTP
mail TCP/IP Sendmail uux Local UUCP mh Roteamento de Mensagens Parte A: Introdução
SMTP Protocol Parte A: Introdução Connecting to npd1.npd.ufpe.br 220 npd1.npd.ufpe.br Ready HELO mail.di.ufpe.br 250 npd1.npd.ufpe.br MAIL FROM: ges@di.ufpe.br 250 OK RCPT TO: root@ufpe.br 250 OK DATA 354 Start mail ... <CR><LF>.<CR><LF> 250 OK QUIT 221 npd1.npd.ufpe.br Closing
ComponentesdoEmail Interface do Usuário Parte A: Introdução SMTP/TCP Área de saída (spool directory) Usuário envia mail Email Server SMTP/TCP Usuário lê mail Agente de Entrega Mailboxes (incomming mail)
POP Server Parte A: Introdução Interface do Usuário POP request/TCP ok User/passwd Email Server Usuário lê mail SMTP/TCP ok Send the mailbox Mailboxes (incomming mail) Lê Mailbox do usuário
Objetivo • Processamento e roteamento de mensagens do correio eletrônico em plataformas UNIX: • Mecanismos de Entrega: • SMTP (Simple Message Transfer Protocol) • UUCP (User-to-User Copy Program) • Local Mail • Formatação de Endereços: ges@di.ufpe.br root!netbbs Parte A: Introdução
Funcionalidades • Processamento e roteamento de mensagens: • Aceitar a mensagem do agente do usuário ou SMTP • Interpretar o endereço do usuário destinatário • Escrever o endereço no padrão do programa de entrega • Rotear a mensagem para o programa de entrega • Manipulação de base de dados de aliases: • Permite implantação de listas de distribuição Parte A: Introdução
Formato das Mensagens Parte A: Introdução Cabeçalho From ges@di.ufpe.br Sat Feb 7 08:11:44 1993 Delivery-Date: Sat, 07 feb 93 08:11:45 PST Return-Path: ges@di.ufpe.br Received: from recife.di.ufpe.br by npd1.npd.ufpe.br (4.1/1.11) id AA04599; Sat, 7 Feb 93 08:11:44 PST Date: Sat, 7 Feb 93 08:11:43 PST From: ges@di.ufpe.br (Gledson Elias) Message-Id: <9102071611.AA02124@recife.di.ufpe.br> Subject: Teste To: root@ufpe.br Esta é uma mensagem para teste Corpo
MIME Extensions Parte A: Introdução • Multipurpose Internet Mail Extensions • Permite transmitir arquivos que não são ASCII • Não altera ou substitui o SMTP • Permite codficar um dados no formato ASCII • Cada mensagem inclui informações que descrevem o formato dos dados codificados • Exemplo de header.... • Mensagem com Múltiplas partes • Exemplo de mensagem....
MIME Extensions • Informações do header: • MIME-Version • Content-Type • Content-type • Subtype • image/gif • Content-Transfer-Encondig • “base64” • Interface do usuário é capaz de decodificar a mensagem automaticamente e executar a aplicação adequada Parte A: Introdução
Configuração Parte B: Configuração • Informações • Estrutura de Arquivos • Aliases • Compilando o Sendmail • Primitivas de Configuração • Processamento de Endereços • Integração com DNS • Configurando o Check_* • Executando o Servidor
Informações • Sendmail 8.?.? http://www.sendmail.org • Spam de mail: • Evitar spam de mail compilando o sendmail junto com pacote check_*: http://www.sendmail.org Parte B: Configuração
/ var etc mqueue mail Pacote Check_* Fila de Mensagens aliases sendmail.cf sendmail.cw Estrutura de Arquivos Parte B: Configuração
qf Cabeçalho da mensagem e o arquivo de controle df Corpo da mensagem lf Lock para a mensagem tf Versão temporária do arquivo qf xf Arquivo temporário de mensagens de erro do mailer Etrutura de Arquivos Parte B: Configuração • Fila de Mensagens: • Armazenar mensagens para processamento • Implementada no diretório /var/spool/mqueue: • Diretório da fila de mensagens pode ser definido na configuração do sendmail
Aliases • Objetivo: • Definir apelidos (alias) para usuários individuais • Definir forwarding de mensagens • Implementar Listas de Discussão • Configurados no arquivo /etc/aliases: • O arquivo de aliases pode ser definido na configuração do sendmail Parte B: Configuração
Aliases • Formato: alias: recipient [, recipient, ...] • Exemplos: postmaster: ari Mailer-daemon: postmaster gledson: ges@di.ufpe.br instrutores: ari, gledson, teresa Parte B: Configuração
Aliases • Construção do Mapadbm: • Sendmail não utiliza o arquivo /etc/aliases diretamente • Definições de aliases devem ser processadas para gerar mapa dbm utilizado pelo Sendmail: newaliases sendmail -bi Parte B: Configuração
Compilando o Sendmail Parte B: Configuração # cd /usr/local # zcat sendmail.8.8.8.tar.gz | tar xvf - # cd sendmail-8.8.8/src # sh makesendmail # sh makesendmail install
Compilando o Sendmail • Geração do arquivo /etc/sendmail.cf: Parte B: Configuração OSTYPE(bsd4.4)dnl HACK (use_ip) HACK(spammers) HACK(use_names) HACK(spamdoms) HACK(use_relayto) HACK(check_mail) HACK(check_rcpt4)
Compilando o Sendmail • Geração do arquivo /etc/sendmail.cf: • Gerar o sendmail.cf com o pré-processador m4 • Copiar sendmail.cf para /etc/sendmail.cf Parte B: Configuração # cd /usr/local/sendmail-8.8.8/cf/cf # m4 ../m4/cf.m4 generic-bsd4.4.mc > sendmail.cf # cp sendmail.cf /etc/sendmail.cf
Primitiva de Configuração • Ambiente de execução do sendmail • Regras para escrever endereços na sintaxe apropriada do mecanismo de entrega • Regras para mapeamento de endereços em instruções necessárias para enviar as mensagens Parte B: Configuração
Primitiva de Configuração • Modificando o arquivo /etc/sendmail.cf: • Estrutura Geral: • Informações Locais • Macros • Classes • Regras de Mapeamento • Mailers Parte B: Configuração
Primitiva de Configuração • Modificando o arquivo /etc/sendmail.cf: • Macros & Classes: • Domínios de recepção: Cwlab.ufpe.br Fw/etc/sendmail.cw • Nome oficial do host: Dj$w.lab.ufpe.br • Definido somente se o sendmail não conseguir determinar automaticamente Parte B: Configuração
Primitiva de Configuração • Modificando o arquivo /etc/sendmail.cf: • Macros & Classes: • Domínio do endereço origem de mensagens enviadas: DMlab.ufpe.br • Usuários que enviam identificação do host nos endereços origem de mensagens enviadas: CE root Parte B: Configuração
Primitiva de Configuração • Modificando o arquivo /etc/sendmail.cf: • Opções: • Evitar execução de EXPN e VRFY: O PrivacyOptions=goaway | noexpn,novrfy • Arquivo de Aliases: O AliasFile=/etc/aliases • Diretório da Fila de Mensagens: O QueueDirectory=/var/spool/mqueue Parte B: Configuração
Primitiva de Configuração • Modificando o arquivo /etc/sendmail.cf: • Mailers: Mmailer, {field=value} Parte B: Configuração Mlocal, P=/bin/mail, F=rlsDFMmn, S=10, R=20, A=mail -d $u Mprog, P=/bin/sh, F=lsDFMe, S=10, R=20, A=sh -c $u Msmtp, P=[IPC], F=mDFMueXLC, S=14, R=24, A=IPC $h
Primitiva de Configuração • Modificando o arquivo /etc/sendmail.cf: • RuleSets: Sn Rpatterntransformation comment Parte B: Configuração R$*<$+>$* $2 user@domain Gledson Elias < ges@di.ufpe.br > $* < $+ > $* $1 $2 $3 ges@di.ufpe.br
Agente de Entrega mailer, host, user 0 Endereço Origem 1 S 3 4 2 R Endereço Destino Processamento de Endereços Parte B: Configuração
Integração com o DNS Parte B: Configuração • Configuração: • Administrador dever cadastrar no DNS um Servidor de Mail para o domínio: • Mail Exchanger (MX) • Consultas: • Sendmail utiliza o DNS para descobrir o endereço IP do Servidor de Mail do endereço destinatário: ges@di.ufpe.br root@lab.ufpe.br
/etc mail LocalIP Spammer LocalNames SpamDomains RelayTo Configurando o Check_* Parte B: Configuração
Configurando o Check_* • Arquivos do check_*: • /etc/mail/LocalIP: • Endereços IP utilizados na rede local Parte B: Configuração 150.161.6 • /etc/mail/LocalNames: • Domínios que o servidor responde como mailserver lab.ufpe.br
Configurando o Check_* • Arquivos do check_*: • /etc/mail/RelayTo: • Domínios que o servidor redireciona mensagens Parte B: Configuração lab.ufpe.br • /etc/mail/SpamDomains: • Domínios bloqueados por serem fonte de spamming abc.def.br
Configurando o Check_* Parte B: Configuração • Arquivos do check_*: • /etc/mail/Spammer: • E-mails de spammers que devem ser bloqueados jkl@rst.xyz.br
Executando o Servidor • Executado como daemon no boot do sistema: /usr/sbin/sendmail[-bd] [-bi] [-bp] [-bt] [-q] [-Cfile] -bd:Executar como daemon -bi:Reconstruir a base de dados de aliases -bp:Mostrar status da fila de mensagens -bt:Executar em modo de teste de endereços -q:Intervalo de processamento da fila de mensagens -C:Utilizar arquivo de configuração file Parte B: Configuração
Referências Bibliográficas • TCP/IP Network Administration Craig Hunt O’Reilly & Associates • Sendmail Bryan Costales, Eric Allman e Neil Rickert O’Reilly & Associates • Como evitar os famigerados Spams de Mail http://www.rnp.br/newsgen/9712/spam.shtml • RFC’s 822, 821, 1123, 819, e 976 Parte C: Referências Bibliográficas