Upload
internet
View
116
Download
4
Embed Size (px)
Citation preview
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: [email protected] OK
RCPT TO: [email protected] 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:[email protected]!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 [email protected] Sat Feb 7 08:11:44 1993Delivery-Date: Sat, 07 feb 93 08:11:45 PSTReturn-Path: [email protected]: 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: [email protected] (Gledson Elias)Message-Id: <[email protected]>Subject: TesteTo: [email protected]
Esta é uma mensagem para teste
From [email protected] Sat Feb 7 08:11:44 1993Delivery-Date: Sat, 07 feb 93 08:11:45 PSTReturn-Path: [email protected]: 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: [email protected] (Gledson Elias)Message-Id: <[email protected]>Subject: TesteTo: [email protected]
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
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: [email protected]
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 < [email protected] >$* < $+ > $*$1 $2 $3
Gledson Elias < [email protected] >$* < $+ > $*$1 $2 $3
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:
Parte B: Configuração
Integração com o DNSIntegração com o DNS
Sendmail
/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
[email protected]@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