Sendmail es un Agente de transporte de correos (MTA) que utiliza el protocolo de transporte de correos simple (Simple Mail Transport Protocol, SMTP) para entregar mensajes electrónicos entre otros MTA y a los clientes de correo o agentes de entrega. Aún cuando muchos MTAs son capaces de encriptar el tráfico entre unos y otros, la mayoría no lo hacen, por tanto el envio de correos electrónicos sobre redes públicas es considerado una forma insegura de comunicación.
Para más información sobre cómo funciona el correo electrónico y una descripción general de los valores para las configuraciones, consulte el capítulo llamado Correo electrónico en el Manual de referencia de Red Hat Enterprise Linux. Esta sección asume que se tiene un conocimiento básico de cómo generar un /etc/mail/sendmail.cf válido editando el /etc/mail/sendmail.mc y ejecutando el comando m4 como se explica en el Manual de referencia de Red Hat Enterprise Linux.
Se recomienda que cualquiera que esté planeando implementar un servidor Sendmail, tenga en cuenta los siguientes problemas.
Debido a la naturaleza del correo electrónico, un atacante determinado puede inundar fácilmente el servidor con correos y de esta manera causar un rechazo de servicio. Se puede limitar la efectividad de tales ataques mediante la colocación de límites a las siguientes directivas a /etc/mail/sendmail.mc.
confCONNECTION_RATE_THROTTLE — El número de conexiones que el servidor puede recibir por segundo. Por defecto, Sendmail no limita el número de conexiones. Si se establece un límite y este es alcanzado, las conexiones siguientes son retrasadas.
confMAX_DAEMON_CHILDREN — El máximo número de procesos hijo que se pueden producir por el servidor. Por defecto, Sendmail no asigna un límite al número de procesos hijos. Si se coloca un límite y este es alcanzado, las conexiones siguientes son retrasadas.
confMIN_FREE_BLOCKS — El número mínimo de bloques libres que debe haber disponible para que el servidor acepte correos. Por defecto es 100 bloques.
confMAX_HEADERS_LENGTH — El tamaño máximo aceptable (en bytes) para la cabecera de un mensaje.
confMAX_MESSAGE_SIZE — El tamaño máximo aceptable (en bytes) para cualquier mensaje.
Nunca coloque el directorio del spool de correos, /var/spool/mail/, en un volúmen compartido NFS.
Debido a que NFS no mantiene un control sobre usuarios y IDs de grupos, dos o más usuarios pueden tener el mismo UID y por tanto recibir y leer los correos electrónicos del otro.
Para ayudar a prevenir explotaciones del usuario local en el servidor Sendmail, es mejor para los usuarios de correo electrónico solamente accedan al servidor Sendmail usando un programa de correo. No deberían permitirse las cuentas shell en el servidor de correo y todos los usuarios shell en el archivo /etc/passwd deberían ser colocados a /sbin/nologin (con la posible excepción del usuario root).