Sendmail - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

Sendmail

Description:

para recibir correo, se necesita un demonio siempre corriendo en la puerta 25 ... Dmit.uc3m.es # 'masquerading' Es una configuraci n 'esclava' ... – PowerPoint PPT presentation

Number of Views:33
Avg rating:3.0/5.0
Slides: 17
Provided by: peterb147
Category:

less

Transcript and Presenter's Notes

Title: Sendmail


1
Sendmail
  • Verdaderamente "Receivemail"
  • no se necesita un servidor para enviar correo
  • conecta con telnet a puerta 25 de la maquina
    destinaria
  • escribir "helo", rcpt-to foo, ....
  • para recibir correo, se necesita un demonio
    siempre corriendo en la puerta 25
  • sendmail es la implementación estandar

2
Instalación
  • Sendmail (el binario) en /usr/sbin
  • ficheros de configuración en /etc/mail
  • posiblemente en /etc (e.g /etc/sendmail.cf)
  • spool de correo saliendo en /var/spool/mqueue
  • spool de correo entrante en /var/spool/mail
  • logs en /var/log/mail
  • todo es configurable mediante /etc/sendmail.cf

3
Seguridad
  • Es casi obligatorio compilarselo localmente
  • Evita ataques basados en una compilación
    particular distribuido en forma binario
  • Eg. El guisano RTM Internet - el primero - se
    basaba en una puerta atras en sendmail.
  • Muchos ataques hoy en dia se basan en ataques que
  • desbordan unos buffers de entrada
  • dejan codigo en la pila que
  • se ejecutada cuando la subrutina actual devuelve
    el control a la subrutina anterior
  • El codigo alienigena tiene que conocerr su
    entorno para ser efectivo

4
Ficheros de control
  • sendmail.cf
  • usado clasicamente para configurar sendmail
  • lenguaje poco comprehensible por humanos
  • dividido entre reglas (lectura/escritura)
  • las reglas no se tocan, y son incomprehensibles
  • las variables son faciles de configurar, si
    sabeis que son
  • sendmail.mc
  • usado hoy en dia para generar el sendmail.cf
  • basicamente genera las reglas, insierte variables
    estandar
  • se puede ajustar los valores en sendmail.cf
  • útil para mantener constancia de versión a
    versión de sendmail

5
Usando MC
  • Invocación del generador
  • m4 /usr/share/sendmail.cf/m4/cf.m4 mi.mc gt
    sendmail.cf
  • MAILER(local') - transferencias al mismo disco
    duro
  • MAILER(smtp') - transferencias remotas
  • FEATURE(access_db) - uso de bases de datos bdb
  • define(SMART_HOST', smtparpa') - hub
  • dnl - comentario

6
FEATURE(...)
  • Habilitar opciones de sendmail
  • FEATURE(rbl) - el valor por defecto
  • FEATURE(rbl, always) - un valor particular
  • DEFINE('SMART_HOST', oboe)
  • variables en el sendmail.cf
  • Dsoboe
  • DEFINE('confMIN_FREE_BLOCKS', 200)
  • O MinFreeBlocks200

7
Reglas en Sendmail.cf
  • Rulesets - S x
  • Reglas - R ....
  • cada ruleset/regla tiene la forma
  • Sn
  • Rizq1 der1
  • Rizq2 der2
  • la parte izquerda es un patron
  • la parte derecha es la transformación del patron
  • tratan las cabeceras del correo

8
La parte izquerda de una regla
  • lt gt
  • cualquier cosa, cuantas veces que quiers
  • lt el simbolo lt
  • cualquier cosa, al menos una vez
  • gt el simbolo gt
  • posibles instanciones
  • Peter Breuer lt ptb _at_ it.uc3m.es gt
  • alumno aulas it lt 100103204 _at_ lab.it.uc3m.es gt

9
Patrones utiles
  • - cualquier cosa, zero o mas veces
  • - cualquier cosa, al menos una vez
  • _at_ - nada
  • - - alguna cosa, exactamente una vez
  • x - cualquier cosa en la clase x exactamente
    una vez
  • x - cualquier cosa no en la clase x
  • j - el FQDN de la maquina
  • w - el componente hostname del FQDN
  • m - el componente dominio del FQDN

10
La parte derecha de una regla
  • Cada ? patron reconocido a la izquierda esta
    disponible a la derecha por las variables 0, 1,
    2, 3, ...
  • oboe se expanda a la forma canonica del
    hostname oboe
  • (aliases ptb _at_ unknown ) se expanda al
    resultado de la busqueda para ptb en la base de
    datos aliases con respuesta por defecto unknown.
  • Los argumentos pasan a la busqueda por _at_. En
    este caso son nulos
  • gtn significa pasar el resultado ahora a ruleset
    n.
  • local es terminacíon del tratamiento y pasar
    al mailer local
  • _at_oboe pone la maquina destinario igual a oboe.
  • ptb pone el recipiente igual a ptb

11
Ejemplo de una regla
  • R lt _at_ .m. gt smtp _at_ 2.m. 1
    lt _at_ 2.m. gt 3
  • Un patron factible
  • ptb lt _at_ oboe.it.uc3m.es. gt date 8/12/01
  • ptb 1
  • oboe 2
  • it.uc3m.es m
  • date 8/12/01 3
  • El resultado
  • smtp _at_ oboe.it.uc3m.es. ptb lt _at_
    oboe.it.uc3m.es. gt date...
  • mailersmtp, destinooboe.it.uc3m.es, usuarioptb
    lt...
  • se envia el mensaje despues del lt al mailer.

12
Orden de los rulesets
  • LOCAL_RULE_3
  • convierte una dirección aribitraria al formato
    estandar
  • ptb _at_ lt oboe gt it.uc3m.es
  • LOCAL_RULE_0 y LOCAL_NET_CONFIG
  • es responsible para enviar el mensaje
  • debe producir el triple mailer, hostname, usuario
  • LOCAL_NET_CONFIG es un macro m4 que hace el
    empotraje de reglas locales

13
Que hace nuestro ejemplo?
  • R lt _at_ .m. gt smtp _at_ 2.m. 1
    lt _at_ 2.m. gt 3
  • ?
  • emvia mensajes con destino local directamente al
    destino
  • Donde debe ir en los rulesets?
  • Debe estar antes de la regla que trata con un
    smarthost
  • en LOCAL_RULESET_0 (envio de mensajes)

14
Proteccion contra spam
  • FEATURE(rbl)
  • Real-time BlackList
  • base de datos de fuentes de spam
  • http//maps.vix.com/rbl/
  • FEATURE(rbl, rbl.otra-direccion')
  • FEATURE(access_db)
  • base de datos local de maquinas/usuarios
    acceptables
  • es un conjunto de reglas
  • ptb_at_oboe.it.uc3m.es OK
  • it.uc3m.es RELAY
  • OK, RELAY, REJECT, DISCARD, text (mensaje de
    error)
  • /etc/mail/access

15
"Virtual hosting"
  • Un dominio o una maquina ficticio
  • la maquina debe ser asignado al dominio como MX
    por DNS
  • debe acceptar el correo
  • Dwfalse Cwfalse.domain
  • FEATURE(use_cw_file)
  • define(confCW_FILE',/etc/virtualnames')
  • contenidos false.domain
  • Puede necesitar una tabla de conversiones tambien
  • FEATURE(virtusertable)
  • _at_false.domain 1_at_it.uc3m.es

16
Configuración normal
  • Generar un sendmail.cf para linux o bsd unix
  • cambiar el smarthost y el dominio enunciado
  • DSit.uc3m.es suficiente para casi todos los
    casos
  • Dmit.uc3m.es "masquerading"
  • Es una configuración "esclava"
  • Un servidor hub debe recibir ajustes mas
    detallados en el fichero de configuración de por
    defecto
Write a Comment
User Comments (0)
About PowerShow.com