¿Cuáles son algunos métodos seguros para enviar correos electrónicos desde su servidor?

3

El título de esta pregunta puede parecer un poco vago, y me disculpo por eso. Permítanme comenzar diciendo que soy un psicólogo de ingeniería, no un experto en seguridad informática o de informática. Por suerte, mi empleador (uno muy, muy grande) me ha colocado en un pequeño equipo en el que trabajo en un servidor de misión crítica que (idealmente) nunca puede fallar y tiene que tener la máxima seguridad. Realizo diseño web, análisis de accesibilidad, experiencia de usuario, todo en el front-end. Sin pensarlo realmente y sin tener en cuenta mis habilidades o antecedentes, alguien de la cadena, sin saberlo, me encargó que también me asegurara de que todo el sistema es seguro, ya que en un momento nuestro sitio web estaba en senderbase.org con una mala reputación calificación.

Uno de mis compañeros de trabajo parece pensar que Sendmail de Unix es la raíz del problema. Concordantemente, bloqueamos todo el tráfico en el puerto 25 y dejamos de ejecutar sendmail. Pero debido a eso, mis formularios de contacto que usan php mail () no funcionan (requiere sendmail). Me dijeron que "no hay forma de usar SMTP en un servidor y tener un servidor seguro". Pero estoy menos seguro de esto.

En un sistema limpio, no infectado y con la seguridad ideal , ¿se podría dirigir el correo a un correo electrónico externo y enviarlo a un correo electrónico no deseado? En otras palabras, ¿hay alguna forma segura de enviar correos del lado del servidor? ¿O tendré que convertir todos mis formularios de contacto a "mailto:" links, etc.?

Para que quede claro: la ubicación del correo corresponde a un correo electrónico de soporte que usamos. Está codificado; todos los correos electrónicos se envían a esta dirección de correo electrónico y el usuario no puede cambiar esto (a menos que haya técnicas de piratería que desconozco, lo que realmente es mi pregunta). Los únicos campos que el usuario puede escribir son Asunto, Mensaje y Desde.

Obviamente, tiene que haber una solución some porque veo formularios de contacto por correo electrónico todo el tiempo en sitios web enormes y poderosos. Si fuera una debilidad de seguridad, pensarías que google, yahoo, facebook, cnn, times y todos esos otros sitios web populares habrían dejado de usarlo hace mucho tiempo, ¿no?

    
pregunta stoicfury 23.08.2011 - 00:33
fuente

2 respuestas

6

Hay una diferencia entre un servidor de correo que envía correos electrónicos y un servidor de correo que recibe correos electrónicos externos. En su caso, no necesita recibir correos electrónicos externos, por lo que el servidor de correo no necesita escuchar en el puerto 25 .

Es cierto que sendmail tiene un largo historial de problemas de seguridad y un lenguaje de configuración extremadamente complejo (incluso hay un lenguaje de macros para simplificar la configuración).

sendmail ya no se usa en la distribución de Linux actual, pero hay una cantidad de cambios de reemplazo como qmail, exim o postfix que proporcionarán una interfaz compatible y un enlace simbólico llamado / usr / bin / enviar correo. Si se usa ese enlace simbólico, analizarán los parámetros comunes de la línea de comando de la misma manera como lo hizo el original sendmail.

En Windows debe editar la sección [función de correo] de php.ini para que apunte a un servidor de correo electrónico externo. Dado que está enviando correos electrónicos a un dominio de destino fijo, puede ser el servidor de intercambio de correo el responsable de recibir correos electrónicos para ese dominio. Utilice host -t mx example.com para aprender el nombre.

    
respondido por el Hendrik Brummermann 23.08.2011 - 08:07
fuente
5

Si permite que su servidor de correo envíe correo en nombre de un usuario en Internet, entonces prepárese para ser abusado. Este escenario ha estado en desuso hace algún tiempo.

Si ejecuta un servidor de correo accesible desde Internet, necesita algún tipo de autenticación apropiada. Para muchos, esto es demasiado complejo, por lo que reescribir su aplicación para usar mailto: links para forzar al cliente de correo del usuario a enviar el correo electrónico, o un formulario de correo electrónico que haga cumplir el servidor del destinatario del correo electrónico.

Esencialmente, debes tomar la postura de que si está en Internet no debería ser confiable.

Puede ayudar si explica qué tipo de correo electrónico está intentando enviar. ¿Es sólo un correo electrónico a un buzón de soporte? Si es así, codifíquelo. Si hay una variedad de buzones de correo, nuevamente, especifíquelos en los cuadros desplegables y valide el servidor.

Si está tratando de actuar como una retransmisión de correo abierto, probablemente querrá replantearse esa decisión ya que se incluirá en la lista negra con bastante rapidez.

    
respondido por el Rory Alsop 23.08.2011 - 00:57
fuente

Lea otras preguntas en las etiquetas