Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração...

Post on 17-Apr-2015

116 views 4 download

Transcript of Sendmail Correio Eletrônico & Sendmail. Sendmail Parte A: Introdução Parte B: Configuração...

Sendmail

Correio Eletrônico & Correio Eletrônico & SendmailSendmail

Sendmail

• Parte A: Introdução• Parte B: Configuração• Parte C: Referências• Parte D: Atividades Práticas

ÍndiceÍndice

Sendmail

• Objetivo• Funcionalidades• Roteamento de Mensagens• Formato de Mensagens• SMTP

Parte A: Introdução

IntroduçãoIntrodução

Sendmail

SendmailSendmail

TCP/IPTCP/IP

UUCPUUCP

LocalLocaluuxuux

mailmail

mhmh

Parte A: Introdução

Roteamento de MensagensRoteamento de Mensagens

Sendmail

Connecting to npd1.npd.ufpe.br220 npd1.npd.ufpe.br Ready

HELO mail.di.ufpe.br250 npd1.npd.ufpe.br

MAIL FROM: ges@di.ufpe.br250 OK

RCPT TO: root@ufpe.br250 OK

DATA354 Start mail

...<CR><LF>.<CR><LF>

250 OKQUIT

221 npd1.npd.ufpe.br Closing

Parte A: Introdução

SMTP ProtocolSMTP Protocol

Sendmail

ComponentesComponentes dodo EmailEmail

Interface do

Usuário

Usuário envia mail

Usuário lê mail

Área de saída(spool directory)

Mailboxes(incomming mail)

Email Server

SMTP/TCP

Agente de Entrega

SMTP/TCP

Parte A: Introdução

Sendmail

Interface do

Usuário

Usuário lê mail

Mailboxes(incomming mail)

Email Server

Lê Mailbox do usuário

POP ServerPOP Server

SMTP/TCP

POP request/TCP

User/passwd

ok

Send the mailbox

ok

Parte A: Introdução

Sendmail

• 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.brroot!netbbs

Parte A: Introdução

ObjetivoObjetivo

Sendmail

• 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

FuncionalidadesFuncionalidades

Sendmail

From ges@di.ufpe.br Sat Feb 7 08:11:44 1993Delivery-Date: Sat, 07 feb 93 08:11:45 PSTReturn-Path: ges@di.ufpe.brReceived: from recife.di.ufpe.br by npd1.npd.ufpe.br (4.1/1.11) id AA04599; Sat, 7 Feb 93 08:11:44 PSTDate: Sat, 7 Feb 93 08:11:43 PSTFrom: ges@di.ufpe.br (Gledson Elias)Message-Id: <9102071611.AA02124@recife.di.ufpe.br>Subject: TesteTo: root@ufpe.br

Esta é uma mensagem para teste

From ges@di.ufpe.br Sat Feb 7 08:11:44 1993Delivery-Date: Sat, 07 feb 93 08:11:45 PSTReturn-Path: ges@di.ufpe.brReceived: from recife.di.ufpe.br by npd1.npd.ufpe.br (4.1/1.11) id AA04599; Sat, 7 Feb 93 08:11:44 PSTDate: Sat, 7 Feb 93 08:11:43 PSTFrom: ges@di.ufpe.br (Gledson Elias)Message-Id: <9102071611.AA02124@recife.di.ufpe.br>Subject: TesteTo: root@ufpe.br

Esta é uma mensagem para teste

Cabeçalho

Corpo

Parte A: Introdução

Formato das MensagensFormato das Mensagens

Sendmail

• 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 ExtensionsMIME ExtensionsParte A: Introdução

Sendmail

• 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

MIME ExtensionsMIME ExtensionsParte A: Introdução

Sendmail

• 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

Parte B: Configuração

ConfiguraçãoConfiguração

Sendmail

• 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

InformaçõesInformações

Sendmail

Fila de Mensagens

etc

/

var

mqueue

sendmail.cf aliases

sendmail.cw

mail

Pacote Check_*

Parte B: Configuração

Estrutura de ArquivosEstrutura de Arquivos

Sendmail

• 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

qf Cabeçalho da mensagem e o arquivo de controledf Corpo da mensagemlf Lock para a mensagemtf Versão temporária do arquivo qf xf Arquivo temporário de mensagens de erro do mailer

Parte B: Configuração

Etrutura de ArquivosEtrutura de Arquivos

Sendmail

• 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

AliasesAliases

Sendmail

• Formato:alias: recipient [, recipient, ...]

• Exemplos:postmaster: ari

Mailer-daemon: postmaster

gledson: ges@di.ufpe.br

instrutores: ari, gledson, teresa

Parte B: Configuração

AliasesAliases

Sendmail

• Construção do Mapa dbm:– 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

AliasesAliases

Sendmail

# cd /usr/local # zcat sendmail.8.8.8.tar.gz | tar xvf - # cd sendmail-8.8.8/src# sh makesendmail# sh makesendmail install

# cd /usr/local # zcat sendmail.8.8.8.tar.gz | tar xvf - # cd sendmail-8.8.8/src# sh makesendmail# sh makesendmail install

Parte B: Configuração

Compilando o SendmailCompilando o Sendmail

Sendmail

• Geração do arquivo /etc/sendmail.cf:

OSTYPE(bsd4.4)dnl HACK (use_ip)HACK(spammers) HACK(use_names)HACK(spamdoms) HACK(use_relayto)HACK(check_mail) HACK(check_rcpt4)

OSTYPE(bsd4.4)dnl HACK (use_ip)HACK(spammers) HACK(use_names)HACK(spamdoms) HACK(use_relayto)HACK(check_mail) HACK(check_rcpt4)

Parte B: Configuração

Compilando o SendmailCompilando o Sendmail

Sendmail

• Geração do arquivo /etc/sendmail.cf:– Gerar o sendmail.cf com o pré-processador m4– Copiar sendmail.cf para /etc/sendmail.cf

# 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

# 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

Parte B: Configuração

Compilando o SendmailCompilando o Sendmail

Sendmail

• 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çãoPrimitiva de Configuração

Sendmail

• Modificando o arquivo /etc/sendmail.cf:

– Estrutura Geral:

• Informações Locais

• Macros

• Classes

• Regras de Mapeamento

• Mailers

Parte B: Configuração

Primitiva de ConfiguraçãoPrimitiva de Configuração

Sendmail

• 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çãoPrimitiva de Configuração

Sendmail

• 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çãoPrimitiva de Configuração

Sendmail

• 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çãoPrimitiva de Configuração

Sendmail

• Modificando o arquivo /etc/sendmail.cf:

– Mailers:

Mmailer, {field=value}

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

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

Parte B: Configuração

Primitiva de ConfiguraçãoPrimitiva de Configuração

Sendmail

• Modificando o arquivo /etc/sendmail.cf:

– RuleSets:SnRpattern transformation comment

R$*<$+>$* $2 user@domainR$*<$+>$* $2 user@domain

Gledson Elias < ges@di.ufpe.br >$* < $+ > $*$1 $2 $3

ges@di.ufpe.br

Gledson Elias < ges@di.ufpe.br >$* < $+ > $*$1 $2 $3

ges@di.ufpe.br

Parte B: Configuração

Primitiva de ConfiguraçãoPrimitiva de Configuração

Sendmail

0

1

23

S

R4

mailer, host, user

Endereço Origem

Endereço Destino

Agente de Entrega

Parte B: Configuração

Processamento de EndereçosProcessamento de Endereços

Sendmail

• 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

Parte B: Configuração

Integração com o DNSIntegração com o DNS

Sendmail

mail

/etc

LocalIP

LocalNamesRelayTo

SpamDomains

Spammer

Parte B: Configuração

Configurando o Configurando o Check_*Check_*

Sendmail

• Arquivos do check_*:– /etc/mail/LocalIP:

• Endereços IP utilizados na rede local

150.161.6150.161.6

lab.ufpe.brlab.ufpe.br

– /etc/mail/LocalNames:• Domínios que o servidor responde como mailserver

Parte B: Configuração

Configurando o Configurando o Check_*Check_*

Sendmail

• Arquivos do check_*:– /etc/mail/RelayTo:

• Domínios que o servidor redireciona mensagens

lab.ufpe.brlab.ufpe.br

abc.def.brabc.def.br

– /etc/mail/SpamDomains:• Domínios bloqueados por serem fonte de spamming

Parte B: Configuração

Configurando o Configurando o Check_*Check_*

Sendmail

• Arquivos do check_*:– /etc/mail/Spammer:

• E-mails de spammers que devem ser bloqueados

jkl@rst.xyz.brjkl@rst.xyz.br

Parte B: Configuração

Configurando o Configurando o Check_*Check_*

Sendmail

• 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

Executando o ServidorExecutando o Servidor

Sendmail

• TCP/IP Network AdministrationCraig HuntO’Reilly & Associates

• SendmailBryan Costales, Eric Allman e Neil RickertO’Reilly & Associates

• Como evitar os famigerados Spams de Mailhttp://www.rnp.br/newsgen/9712/spam.shtml

• RFC’s 822, 821, 1123, 819, e 976

Parte C: Referências Bibliográficas

Referências BibliográficasReferências Bibliográficas