una servidores servidor saber proyecto paso para nombre internet implementacion empresa ec2 dominio correo configurar configuracion como linux security webserver

linux - servidores - servidor de correo en debian paso a paso



Asegurar un servidor web Linux para acceso público (12)

Me gustaría configurar una caja de Linux barata como servidor web para alojar una variedad de tecnologías web (me vienen a la mente PHP y Java EE, pero también me gustaría experimentar con Ruby o Python en el futuro).

Soy bastante versado en la configuración de Tomcat para ejecutar en Linux para servir aplicaciones Java EE, pero me gustaría poder abrir este servidor, incluso para poder crear algunas herramientas que pueda usar mientras trabajo. la oficina. Toda la experiencia que he tenido con la configuración de sitios Java EE ha sido para aplicaciones de intranet donde se nos dijo que no nos centráramos en proteger las páginas para usuarios externos.

¿Cuál es su consejo sobre la configuración de un servidor web personal Linux de una manera lo suficientemente segura como para abrirlo para el tráfico externo?


Está a salvo y seguro si no le das importancia (es decir, rara vez alguien buscará tu servidor de origen si solo estás alojando una webroot glorificada en una conexión doméstica) y tu ingenio sobre tu configuración (es decir, evitarás usar root para todo, asegúrese de mantener su software actualizado).

En ese sentido, aunque este hilo potencialmente se reducirá a flaming, mi sugerencia para su servidor personal es atenerse a cualquier cosa Ubuntu ( obtener Ubuntu Server aquí ); en mi experiencia, el más rápido para obtener respuestas de donde hacer preguntas en los foros (aunque no estoy seguro de qué decir sobre la aceptación).

Por cierto, la seguridad de mi servidor doméstico me sirve (creo, o me gusta pensar) de no tener una IP estática (se ejecuta en DynDNS).

¡Buena suerte!

/ mp


Este artículo tiene algunas de las mejores formas de bloquear cosas:

http://www.petefreitag.com/item/505.cfm

Algunos aspectos destacados:

  • Asegúrate de que nadie pueda navegar por los directorios
  • Asegúrese de que solo root tenga privilegios de escritura en todo y solo root tenga privilegios de lectura en ciertos archivos de configuración
  • Ejecute mod_security

El artículo también toma algunos consejos de este libro:

Apache Securiy (O''Reilly Press)

En cuanto a las distribuciones, he ejecutado Debain y Ubuntu, pero solo depende de cuánto quieras hacer. Ejecuté Debian sin X y me metí en él cuando necesitaba algo. Esa es una forma simple de mantener los gastos generales bajos. O Ubuntu tiene algunas cosas interesantes de GUI que facilitan el control de Apache / MySQL / PHP.


Guau, estás abriendo una lata de gusanos tan pronto como empiezas a abrir algo para el tráfico externo. Tenga en cuenta que lo que usted considera un servidor experimental, casi como un cordero sacrificado, también es una opción fácil para las personas que buscan hacer cosas malas con su red y sus recursos.

Todo su enfoque hacia un servidor disponible externamente debe ser muy conservador y exhaustivo. Comienza con cosas simples como políticas de firewall, incluye el sistema operativo subyacente (manteniéndolo parcheado, configurándolo para seguridad, etc.) e involucra cada capa de cada pila que usará. No hay una respuesta o receta simple, me temo.

Si desea experimentar, lo hará mucho mejor para mantener el servidor privado y utilizar una VPN si necesita trabajar en él de forma remota.


Hay muchas maneras de hacer esto que funcionarán bien. Por lo general, solo usaría un archivo .htaccess. Rápido de configurar y lo suficientemente seguro. Probablemente no sea la mejor opción pero funciona para mí. No pondría mis números de tarjeta de crédito detrás, pero aparte de eso no me importa.


Podría considerar una instancia EC2 de Amazon . De esta forma, puede probar fácilmente "cosas" sin interferir con la producción. Y solo pague por el espacio, el tiempo y el ancho de banda que usa.


Tenga cuidado al abrir el puerto SSH a la naturaleza. Si lo hace, asegúrese de deshabilitar los inicios de sesión raíz (siempre puede su o sudo una vez que ingresa) y considere métodos de autenticación más agresivos dentro de lo razonable. Vi un gran ataque de diccionario en los registros de mi servidor un fin de semana después de mi servidor SSH desde un servidor IP casero de DynDNS.

Una vez dicho esto, es realmente increíble poder acceder al caparazón de tu casa desde el trabajo o fuera de él ... y, añadiendo el hecho de que puedes usar SFTP en el mismo puerto, no podría imaginarme la vida sin él. =)


Es importante seguir las mejores prácticas de seguridad siempre que sea posible, pero no quiere complicar demasiado las cosas o perder el sueño preocupándose por mantenerse al día con las últimas hazañas. En mi experiencia, hay dos cosas clave que pueden ayudarlo a mantener su servidor personal lo suficientemente seguro como para vomitar en Internet y conservar su cordura:

1) Seguridad a través de la oscuridad

Huelga decir que confiar en esto en el "mundo real" es una mala idea y no ser entretenido. Pero eso se debe a que en el mundo real, los malos saben qué hay y que hay botín para tener.

En un servidor personal, la mayoría de los ''ataques'' que sufrirá serán simplemente barridos automatizados de máquinas que ya han sido comprometidas, buscando instalaciones predeterminadas de productos que se sabe que son vulnerables. Si su servidor no ofrece nada tentador en los puertos predeterminados o en las ubicaciones predeterminadas, el atacante automatizado continuará. Por lo tanto, si va a ejecutar un servidor ssh, colóquelo en un puerto no estándar (> 1024) y es probable que nunca se encuentre. Si puede salirse con la suya con esta técnica para su servidor web, entonces genial, cambie eso también a un puerto oscuro.

2) gestión de paquetes

No compile e instale Apache o sshd desde la fuente usted mismo a menos que sea absolutamente necesario. Si lo hace, asume la responsabilidad de mantenerse al día con los últimos parches de seguridad. Permita que los agradables mantenedores de paquetes de distros de Linux como Debian o Ubuntu hagan el trabajo por usted. Realice la instalación desde los paquetes precompilados de la distribución, y mantenerse al día se convierte en una cuestión de emitir ocasionalmente el comando apt-get update && apt-get -u dist-upgrade , o el uso de la herramienta de GUI de lujo que proporciona Ubuntu.


Si ejecuta un servidor Linux desde su casa, instale ossec para un IDS liviano y agradable que funcione realmente bien.

[EDITAR]

Como nota al margen, asegúrese de no estar en conflicto con la Política de uso aceptable de su ISP y de que permiten las conexiones entrantes en los puertos estándar. El ISP para el que solía trabajar tenía escrito en sus términos que podría desconectarse para ejecutar servidores a través del puerto 80/25 a menos que estuviera en una cuenta de clase empresarial. Si bien no bloqueamos activamente esos puertos (no nos importó a menos que esto haya causado un problema), algunos ISP no permiten el tráfico en el puerto 80 o 25, por lo que deberá usar puertos alternativos.


Una cosa que debes tener en cuenta es qué puertos están abiertos al mundo. Personalmente, simplemente abro el puerto 22 para SSH y el puerto 123 para ntpd. Pero si abre el puerto 80 (http) o ftp, asegúrese de aprender a conocer al menos qué sirve al mundo y quién puede hacer qué con eso. No sé mucho sobre ftp, pero hay millones de excelentes tutoriales de Apache a solo una búsqueda de Google de distancia.


Bit-Tech.Net ejecutó un par de artículos sobre cómo configurar un servidor doméstico usando Linux. Aquí están los enlaces:

Articulo 1
Artículo 2

Espero que sean de alguna ayuda.


Si va a hacer esto, gaste un poco de dinero y al menos compre un enrutador / cortafuegos dedicado con un puerto DMZ por separado. Querrá apagar el cortafuegos de su red interna desde su servidor para que cuando (¡no si!) Su servidor web se vea comprometido, su red interna no sea inmediatamente vulnerable también.


@svrist mencionó EC2. EC2 proporciona una API para abrir y cerrar puertos de forma remota. De esta manera, puedes mantener tu caja en funcionamiento. Si necesita dar una demostración desde una cafetería o la oficina de un cliente, puede tomar su IP y agregarla a la ACL.