JavaScript is required to for searching.
Omitir Vínculos de navegación
Salir de la Vista de impresión
Gestión de servicios sendmail en Oracle Solaris 11.1     Oracle Solaris 11.1 Information Library (Español)
search filter icon
search icon

Información del documento

Prefacio

1.  Servicios de correo (descripción general)

2.  Servicios de correo (tareas)

Mapa de tareas para servicios de correo

Planificación del sistema de correo

Sólo correo local

Correo local y una conexión remota

Configuración de los servicios de correo (mapa de tareas)

Configuración de los servicios de correo

Cómo configurar un servidor de correo

Cómo configurar un cliente de correo

Cómo configurar un host de correo

Cómo configurar una puerta de enlace de correo

Cómo usar DNS con sendmail

Modificación de la configuración de sendmail (mapa de tareas)

Modificación de la configuración de sendmail

Cómo generar un nuevo archivo sendmail.cf

Configuración de un host virtual

Cómo volver a generar automáticamente un archivo de configuración

Cómo usar sendmail en el modo abierto

Cómo configurar SMTP para que utilice TLS

Cómo gestionar la entrega de correo mediante una configuración alternativa de sendmail.cf

Administración de los archivos de alias de correo (mapa de tareas)

Administración de los archivos de alias de correo

Cómo configurar un mapa NIS mail.aliases

Cómo configurar un archivo de alias correo local

Cómo crear un archivo de mapa con clave

Gestión del alias postmaster

Cómo crear un alias postmaster en cada archivo /etc/mail/aliases local

Cómo crear un buzón independiente para postmaster

Cómo agregar el buzón del postmaster a los alias en el archivo /etc/mail/aliases

Administración de los directorios de la cola (mapa de tareas)

Administración de los directorios de la cola

Cómo mostrar el contenido de la cola de correo, /var/spool/mqueue

Cómo forzar el procesamiento de la cola de correo, /var/spool/mqueue

Cómo ejecutar un subconjunto de la cola de correo, /var/spool/mqueue

Cómo mover la cola de correo, /var/spool/mqueue

Cómo ejecutar la cola de correo antigua, /var/spool/omqueue

Administración de los archivos .forward (mapa de tareas)

Administración de los archivos .forward

Cómo desactivar los archivos .forward

Cómo cambiar la ruta de búsqueda de los archivos .forward

Cómo crear y rellenar /etc/shells

Procedimientos y consejos para la resolución de problemas en servicios de correo (mapa de tareas)

Procedimientos y consejos para la resolución de problemas en servicios de correo

Cómo probar la configuración de correo

Cómo comprobar los alias de correo

Cómo probar los conjuntos de reglas de sendmail

Cómo verificar las conexiones con otros sistemas

Registro de los mensajes de error

Otras fuentes de información de diagnóstico de correo

Resolución de los mensajes de error

3.  Servicios de correo (referencia)

Índice

Modificación de la configuración de sendmail

Cómo generar un nuevo archivo sendmail.cf muestra cómo generar el archivo de configuración. Si bien aún puede utilizar las versiones anteriores de los archivos sendmail.cf, la práctica recomendada es utilizar el nuevo formato.

Para obtener más detalles, consulte el siguiente material:

Cómo generar un nuevo archivo sendmail.cf

El siguiente procedimiento muestra cómo generar un nuevo archivo de configuración.


Nota - /usr/lib/mail/cf/main-v7sun.mc ahora es /etc/mail/cf/cf/sendmail.mc.


  1. Conviértase en administrador.

    Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados de Administración de Oracle Solaris 11.1: servicios de seguridad.

  2. Detenga sendmail.
    # svcadm disable -t network/smtp:sendmail
  3. Realice una copia de los archivos de configuración que desea cambiar.
    # cd /etc/mail/cf/cf
    # cp sendmail.mc myhost.mc
    myhost

    Seleccione un nuevo nombre para el archivo .mc.

  4. Edite los nuevos archivos de configuración (por ejemplo, myhost.mc), según sea necesario.

    Por ejemplo, agregue la siguiente línea de comandos para activar el enmascaramiento de dominios.

    # cat myhost.mc
    ..
    MASQUERADE_AS(`host.domain')
    host.domain

    Utilice el nombre de host y el nombre de dominio deseados.

    En este ejemplo, MASQUERADE_AS provoca que el correo enviado se etiquete como procedente de host.domain, en lugar de $j.

  5. Genere el archivo de configuración con m4.
    # make myhost.cf
  6. Pruebe el nuevo archivo de configuración y utilice la opción -C para especificar el nuevo archivo.
    # /usr/lib/sendmail -C myhost.cf -v testaddr </dev/null

    Cuando este comando muestra mensajes, envía un mensaje a testaddr. Sólo el correo saliente se puede probar sin reiniciar el servicio sendmail en el sistema. Para los sistemas que aún no gestionan correo, utilice el procedimiento de prueba completo detallado en Cómo probar la configuración de correo.

  7. Instale el nuevo archivo de configuración después de realizar una copia del original.
    # cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.save
    # cp myhost.cf /etc/mail/sendmail.cf
  8. Reinicie el servicio sendmail.
    # svcadm enable network/smtp:sendmail

Configuración de un host virtual

Si necesita asignar más de una dirección IP a un host, consulte el siguiente sitio web: http://www.sendmail.org/tips/virtualHosting. Este sitio brinda instrucciones completas acerca de cómo usar sendmail para configurar un host virtual. Sin embargo, en la sección "Configuración de sendmail", no realice el paso 3b, como se muestra a continuación.

# cd sendmail-VERSION/cf/cf
# ./Build mailserver.cf
# cp mailserver.cf /etc/mail/sendmail.cf

En su lugar, para el sistema operativo Oracle Solaris, lleve a cabo los siguientes pasos.

# cd /etc/mail/cf/cf
# make mailserver.cf
# cp mailserver.cf /etc/mail/sendmail.cf
mailserver

Utilice el nombre del archivo .cf.

Modificación de la configuración de sendmail describe los mismos tres pasos como parte del proceso de generación.

Después de generar el archivo /etc/mail/sendmail.cf, puede continuar con los siguientes pasos para crear una tabla de usuario virtual.

Cómo volver a generar automáticamente un archivo de configuración

Si generó su propia copia de sendmail.cf o submit.cf, el archivo de configuración no se reemplaza durante el proceso de actualización. El siguiente procedimiento muestra cómo configurar las propiedades del servicio sendmail para que el archivo sendmail.cf se vuelva a generar automáticamente. Para obtener instrucciones sobre cómo generar automáticamente el archivo de configuración submit.cf, consulte el Ejemplo 2-1. Puede combinar estos procedimientos si necesita generar ambos archivos.

  1. Conviértase en administrador.

    Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados de Administración de Oracle Solaris 11.1: servicios de seguridad.

  2. Configure las propiedades de sendmail.
    # svccfg -s sendmail
    svc:/network/smtp:sendmail> setprop config/path_to_sendmail_mc=/etc/mail/cf/cf/myhost.mc 
    svc:/network/smtp:sendmail> quit
  3. Actualice y reinicie el servicio sendmail.

    El primer comando inserta los cambios en la instantánea en ejecución. El segundo comando reinicia el servicio sendmail con las nuevas opciones.

    # svcadm refresh svc:/network/smtp:sendmail 
    # svcadm restart svc:/network/smtp:sendmail

Ejemplo 2-1 Cómo establecer la nueva generación automática de submit.cf

Este procedimiento configura el servicio sendmail de manera que el archivo de configuración submit.mc se vuelva a generar automáticamente.

# svccfg -s sendmail-client:default
svc:/network/smtp:sendmail> setprop config/path_to_submit_mc=/etc/mail/cf/cf/submit-myhost.mc 
svc:/network/smtp:sendmail> exit
# svcadm refresh svc:/network/sendmail-client 
# svcadm restart svc:/network/sendmail-client

Cómo usar sendmail en el modo abierto

El servicio sendmail se ha modificado para que se ejecute en modo sólo local de manera predeterminada. El modo sólo local significa que se acepta únicamente correo del host local. Se rechazan los mensajes de cualquier otro sistema. Las versiones anteriores estaban configuradas para aceptar correo entrante de todos los sistemas remotos, lo que se conoce como modo abierto. Para usar el modo abierto, utilice el siguiente procedimiento.


Precaución

Precaución - La ejecución de sendmail en el modo sólo local es mucho más segura que la ejecución en el modo abierto. Asegúrese de que conoce los posibles riesgos de seguridad si sigue este procedimiento.


  1. Conviértase en administrador.

    Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados de Administración de Oracle Solaris 11.1: servicios de seguridad.

  2. Configure las propiedades de sendmail.
    # svccfg -s sendmail
    svc:/network/smtp:sendmail> setprop config/local_only = false 
    svc:/network/smtp:sendmail> quit
  3. Actualice y reinicie el servicio sendmail.
    # svcadm refresh svc:/network/smtp:sendmail 
    # svcadm restart svc:/network/smtp:sendmail

Cómo configurar SMTP para que utilice TLS

SMTP puede utilizar la Seguridad de la capa de transporte (TLS) en la versión 8.13 de sendmail. Este servicio ofrece a los servidores y clientes SMTP comunicaciones autenticadas y privadas a través de Internet, además de protección frente a ataques o escuchas no deseadas. Tenga en cuenta que este servicio no está activado de manera predeterminada.

El siguiente procedimiento utiliza datos de ejemplo para mostrar cómo configurar los certificados que permiten que sendmail utilice TLS. Para obtener más información, consulte Compatibilidad para ejecutar SMTP con TLS en la versión 8.13 de sendmail.

  1. Conviértase en administrador.

    Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados de Administración de Oracle Solaris 11.1: servicios de seguridad.

  2. Detenga sendmail.
    # svcadm disable -t network/smtp:sendmail
  3. Configure los certificados que permiten que sendmail utilice TLS.
    1. Complete los siguientes pasos:
      # cd /etc/mail
      # mkdir -p certs/CA
      # cd certs/CA
      # mkdir certs crl newcerts private
      # echo "01" > serial
      # cp /dev/null index.txt
      # cp /etc/openssl/openssl.cnf .
    2. Utilice el editor de texto que desee para cambiar el valor de dir en el archivo openssl.cnf de /etc/openssl a /etc/mail/certs/CA.
    3. Utilice la herramienta de línea de comandos openssl para implementar TLS.

      Tenga en cuenta que la siguiente línea de comandos genera texto interactivo.

      # openssl req -new -x509 -keyout private/cakey.pem -out cacert.pem -days 365 \
      -config openssl.cnf
      Generating a 1024 bit RSA private key
      .....................................++++++
      .....................................++++++
      writing new private key to 'private/cakey.pem'
      Enter PEM pass phrase:
      Verifying - Enter PEM pass phrase:
      -----
      You are about to be asked to enter information that will be incorporated
      into your certificate request.
      What you are about to enter is what is called a Distinguished Name or a DN.
      There are quite a few fields but you can leave some blank
      For some fields there will be a default value,
      If you enter '.', the field will be left blank.
      -----
      Country Name (2 letter code) []:US
      State or Province Name (full name) []:California
      Locality Name (eg, city) []:Menlo Park
      Organization Name (eg, company) [Unconfigured OpenSSL Installation]:Oracle
      Organizational Unit Name (eg, section) []:Solaris
      Common Name (eg, YOUR name) []:somehost.somedomain.example.com
      Email Address []:someuser@example.com
      req

      Este comando crea y procesa solicitudes de certificado.

      -new

      Esta opción req genera una nueva solicitud de certificado.

      -x509

      Esta opción req crea un certificado autofirmado.

      -keyout private/cakey.pem

      Esta opción req permite asignar private/cakey.pem como nombre de archivo para la clave privada recién creada.

      -out cacert.pem

      Esta opción req permite asignar cacert.pem como archivo de salida.

      -days 365

      Esta opción req permite realizar un certificado por 365 días. El valor predeterminado es 30.

      -config openssl.cnf

      Esta opción req permite especificar openssl.cnf como archivo de configuración.

      Tenga en cuenta que este comando requiere que proporcione lo siguiente:

      • Country Name, como US.

      • State or Province Name, como California.

      • Locality Name, como Menlo Park.

      • Organization Name, como Oracle .

      • Organizational Unit Name, como Solaris.

      • Common Name, que representa el nombre de host completo del equipo. Para obtener más información, consulte la página del comando man check-hostname(1M).

      • Email Address, como someuser@example.com.

  4. (Opcional) Si necesita una nueva conexión segura, realice un nuevo certificado y fírmelo con la autoridad de certificación.
    1. Realice un nuevo certificado.
      # cd /etc/mail/certs/CA
      # openssl req -nodes -new -x509 -keyout newreq.pem -out newreq.pem -days 365 \
      -config openssl.cnf
      Generating a 1024 bit RSA private key
      ..............++++++
      ..............++++++
      writing new private key to 'newreq.pem'
      -----
      You are about to be asked to enter information that will be incorporated
      into your certificate request.
      What you are about to enter is what is called a Distinguished Name or a DN.
      There are quite a few fields but you can leave some blank
      For some fields there will be a default value,
      If you enter '.', the field will be left blank.
      -----
      Country Name (2 letter code) []:US
      State or Province Name (full name) []:California
      Locality Name (eg, city) []:Menlo Park
      Organization Name (eg, company) [Unconfigured OpenSSL Installation]:Oracle
      Organizational Unit Name (eg, section) []:Solaris
      Common Name (eg, YOUR name) []:somehost.somedomain.example.com
      Email Address []:someuser@example.com

      Este comando requiere que proporcione la misma información que indicó en el paso 3c.

      Tenga en cuenta que, en este ejemplo, el certificado y la clave privada están en el archivo newreq.pem.

    2. Firme el nuevo certificado con la autoridad de certificación.
      # cd /etc/mail/certs/CA
      # openssl x509 -x509toreq -in newreq.pem -signkey newreq.pem -out tmp.pem
      Getting request Private Key
      Generating certificate request
      # openssl ca -config openssl.cnf -policy policy_anything -out newcert.pem -infiles tmp.pem
      Using configuration from openssl.cnf
      Enter pass phrase for /etc/mail/certs/CA/private/cakey.pem:
      Check that the request matches the signature
      Signature ok
      Certificate Details:
              Serial Number: 1 (0x1)
              Validity
                  Not Before: Jun 23 18:44:38 2005 GMT
                  Not After : Jun 23 18:44:38 2006 GMT
              Subject:
                  countryName               = US
                  stateOrProvinceName       = California
                  localityName              = Menlo Park
                  organizationName          = Oracle
                  organizationalUnitName    = Solaris
                  commonName                = somehost.somedomain.example.com
                  emailAddress              = someuser@example.com
              X509v3 extensions:
                  X509v3 Basic Constraints: 
                      CA:FALSE
                  Netscape Comment: 
                      OpenSSL Generated Certificate
                  X509v3 Subject Key Identifier: 
                      93:D4:1F:C3:36:50:C5:97:D7:5E:01:E4:E3:4B:5D:0B:1F:96:9C:E2
                  X509v3 Authority Key Identifier: 
                      keyid:99:47:F7:17:CF:52:2A:74:A2:C0:13:38:20:6B:F1:B3:89:84:CC:68
                      DirName:/C=US/ST=California/L=Menlo Park/O=Oracle/OU=Solaris/\
                      CN=someuser@example.com/emailAddress=someuser@example.com
                      serial:00
      
      Certificate is to be certified until Jun 23 18:44:38 2006 GMT (365 days)
      Sign the certificate? [y/n]:y
      
      
      1 out of 1 certificate requests certified, commit? [y/n]y
      Write out database with 1 new entries
      Data Base Updated
      # rm -f tmp.pem

      En este ejemplo, el archivo newreq.pem contiene la clave privada y el certificado sin firmar. El archivo newcert.pem contiene el certificado firmado.

      utilidad x509

      Muestra información de certificados, convierte certificados a diversos formatos y firma solicitudes de certificado.

      aplicación ca

      Se utiliza para firmar solicitudes de certificado en una variedad de formatos y para generar CRL (listas de revocación de certificados).

  5. Agregue las siguientes líneas al archivo .mc para permitir que sendmail utilice los certificados.
    define(`confCACERT_PATH', `/etc/mail/certs')dnl
    define(`confCACERT', `/etc/mail/certs/CAcert.pem')dnl
    define(`confSERVER_CERT', `/etc/mail/certs/MYcert.pem')dnl
    define(`confSERVER_KEY', `/etc/mail/certs/MYkey.pem')dnl
    define(`confCLIENT_CERT', `/etc/mail/certs/MYcert.pem')dnl
    define(`confCLIENT_KEY', `/etc/mail/certs/MYkey.pem')dnl

    Para obtener más información, consulte Opciones de archivo de configuración para ejecutar SMTP con TLS.

  6. Vuelva a generar e instale el archivo sendmail.cf en el directorio /etc/mail.

    Para obtener instrucciones detalladas, consulte Modificación de la configuración de sendmail.

  7. Cree enlaces simbólicos de los archivos que creó con openssl a los archivos que definió en el archivo .mc.
    # cd /etc/mail/certs
    # ln -s CA/cacert.pem CAcert.pem
    # ln -s CA/newcert.pem MYcert.pem
    # ln -s CA/newreq.pem MYkey.pem
  8. Para mayor seguridad, debe denegar el permiso de lectura en el grupo y otros para MYkey.pem.
    # chmod go-r MYkey.pem
  9. Utilice un enlace simbólico para instalar los certificados de la autoridad de certificación en el directorio asignado a confCACERT_PATH.
    # C=CAcert.pem
    # ln -s $C `openssl x509 -noout -hash < $C`.0
  10. Para el correo seguro con otros hosts, instale sus certificados de host.
    1. Copie el archivo definido por la opción confCACERT del otro host en /etc/mail/certs/host.domain.cert.pem.

      Reemplace host.domain con el nombre completo del otro host.

    2. Utilice un enlace simbólico para instalar los certificados de la autoridad de certificación en el directorio asignado a confCACERT_PATH.
      # C=host.domain.cert.pem
      # ln -s $C `openssl x509 -noout -hash < $C`.0

      Reemplace host.domain con el nombre completo del otro host.

  11. Reinicie sendmail.
    # svcadm enable network/smtp:sendmail

Ejemplo 2-2 Encabezado de correo Received:

El siguiente es un ejemplo de un encabezado Received: para correo seguro con TLS.

Received: from his.example.com ([IPv6:2001:db8:3c4d:15::1a2f:1a2b])
        by her.example.com (8.13.4+Sun/8.13.4) with ESMTP id j2TNUB8i242496
        (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK)
        for <janepc@her.example.com>; Tue, 29 Mar 2005 15:30:11 -0800 (PST)
Received: from her.example.com (her.city.example.com [192.168.0.0])
        by his.example.com (8.13.4+Sun/8.13.4) with ESMTP id j2TNU7cl571102
        version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK)
        for <janepc@her.example.com>; Tue, 29 Mar 2005 15:30:07 -0800 (PST)

Tenga en cuenta que el valor de verify es OK, lo que significa que la autenticación se realizó correctamente. Para obtener más información, consulte Macros para ejecutar SMTP con TLS.

Véase también

Las siguientes páginas del comando man de OpenSSL:

Cómo gestionar la entrega de correo mediante una configuración alternativa de sendmail.cf

Para facilitar el transporte del correo entrante y el correo saliente, la nueva configuración predeterminada de sendmail utiliza un daemon y un ejecutor de colas de cliente. El ejecutor de colas de cliente debe poder enviar correo al daemon en el puerto SMTP local. Si el daemon no recibe conexiones en el puerto SMTP, el correo permanece en la cola. Para evitar este problema, realice la siguiente tarea. Para obtener más información sobre el daemon y el ejecutor de colas de cliente, y para comprender por qué es posible que deba utilizar esta configuración alternativa, consulte Archivo de configuración submit.cf de la versión 8.12 de sendmail.

Este procedimiento garantiza que el daemon sólo se ejecute para aceptar conexiones del host local.

  1. Conviértase en administrador.

    Para obtener más información, consulte Cómo usar los derechos administrativos que tiene asignados de Administración de Oracle Solaris 11.1: servicios de seguridad.

  2. Detenga el servicio cliente sendmail.
    # svcadm disable -t sendmail-client
  3. Realice una copia del archivo de configuración que desea cambiar.
    # cd /etc/mail/cf/cf
    # cp submit.mc submit-myhost.mc
    myhost

    Seleccione un nuevo nombre para el archivo .mc.

  4. Edite el nuevo archivo de configuración (por ejemplo, submit- myhost.mc).

    Cambie la dirección IP del host de recepción a la definición msp.

    # grep msp submit-myhost.mc
    FEATURE(`msp', `[#.#.#.#]')dnl
  5. Genere el archivo de configuración con m4.
    # make submit-myhost.cf
  6. Instale el nuevo archivo de configuración después de realizar una copia del original.
    # cp /etc/mail/submit.cf /etc/mail/submit.cf.save
    # cp submit-myhost.cf /etc/mail/submit.cf
  7. Reinicie el servicio cliente sendmail.
    # svcadm enable sendmail-client