¿Cuáles serían los pasos de alta prioridad para asegurar una aplicación pequeña (en la nube)?

2

No hay duda de que hay mucha información buena en este enlace para fortalecer un servidor Linux y en el niño se enlaza con eso. Y en este enlace a herramientas relevantes parece que todavía no existe una herramienta de seguridad popular que los escritores de wiki no estén entusiasmados con . Leerlo y entenderlo todo tomaría una cantidad de tiempo considerable dependiendo del nivel de conocimiento con el que está comenzando y luego más tiempo en la parte superior para instalar, evaluar y aprender a usar un subconjunto de las 15 o más herramientas e implementar seguridad mejorada. Sin embargo, el volumen y la naturaleza de los consejos me hacen pensar que los asesores pueden tener en cuenta la seguridad de sitios conocidos con múltiples inicios de sesión (y usuarios), personal de seguridad de TI dedicado y una reputación de presencia en la web y reputación corporativa. proteger.

¿Qué pasos de alta prioridad debo tomar en mucho menos tiempo del que tomaría investigar la seguridad en stackexchange y ubuntu.com (por ejemplo, 30 minutos o menos) para mejorar la seguridad de mi servidor ciertamente no conocido? Detalles sobre mi implementación y necesidades:

  • una instancia (en la nube de linodo) que ejecuta la versión de escritorio de ubuntu 10.10 (Maverick) y no tiene intención de tener más de una instancia
  • necesidades de disponibilidad: una interrupción de varias horas por mes es aceptable. Si y cuando hay un ataque de DOS, será un inconveniente descubrir cómo evitar que vuelva a suceder, pero probablemente no sea más que un inconveniente.
  • necesidad de privacidad: sí, por favor
  • un administrador, iniciando sesión actualmente como root con SSH
  • cero usuarios, en el sentido tradicional. El administrador sería el único 'usuario' que inicia sesión para evolucionar el sistema y, cuando se active, el administrador será VNCing para ver los resultados una o dos veces por día
  • SSH, aunque no hice nada en el servidor para forzar al cliente a hacer esto
  • VNC. En el cliente siempre uso SSH para VNC, aunque no hice nada en el servidor para obligar al cliente a hacer esto
  • La mayoría del sistema está en funcionamiento, pero ocasionalmente necesitaré apt-get install , remove o purge a medida que evolucione el sistema que estoy desarrollando
  • Filezilla para evolucionar el sistema (por ejemplo, envíele una nueva versión de la aplicación). Siempre especifico el puerto 22, pero no hice nada en el servidor para requerir esto
  • el servidor ejecuta exactamente una aplicación en Java (y un poco de scripts bash) desarrollada por una persona de confianza, aunque esa aplicación vinculará bibliotecas populares (por ejemplo, Joda de Java) o invocará utilidades populares (por ejemplo: gnome-terminal, pitido de Linux) utilidad 1 ). La aplicación utiliza una biblioteca de confianza para hablar en Internet y el número de puerto me es conocido.
  • el administrador está usando una contraseña segura
[1] Sé que no es necesario instalar la utilidad de pitido de Linux en un servidor en la nube, pero a veces ejecuto esta aplicación en mi computadora de escritorio donde es bueno tener sonidos. Es más simple para mí tener solo una versión de la aplicación en lugar de una versión sonada y una versión silenciosa.     
pregunta H2ONaCl 22.04.2012 - 19:57
fuente

1 respuesta

2

Creo que su crítica implícita de los recursos es un poco injusta.

¿Pero está bien, entonces la premisa es que tengo 30 minutos para asegurar el servidor Linux lo mejor posible? Lo suficientemente justo. Aquí hay una lista de verificación propuesta:

  • Active las actualizaciones automáticas de todo el software. Elija una distribución que proporcione actualizaciones de seguridad por un tiempo esencialmente ilimitado. (Por ejemplo, no usaría Fedora para este propósito, porque después de 2 versiones, aproximadamente un año, Fedora ya no proporcionará actualizaciones de seguridad automáticas, lo que podría hacer que mi servidor sea inseguro en silencio después de un cierto tiempo). Actualice todos los paquetes de software.

  • Habilite un firewall de software (iptables) y configúrelo para bloquear el acceso entrante a todo menos a SSH, VNC y el puerto para ese servidor que está ejecutando.

  • Activar copias de seguridad periódicas automáticas.

  • Confirme que si el servidor es pirateado, no es un gran problema, ni para mi empleador ni para mi reputación profesional.

  • Configure SSH para permitir solo la autenticación de clave pública (deshabilitar la autenticación de contraseña).

  • Reinicie el servidor Linux.

  • Comprueba que tienes la configuración de firewall correcta al escanear todos los puertos abiertos en el servidor usando nmap y asegurándote de que no aparezca nada más que los 3 que querías permitir.

  • Comprueba que puedes acceder a tu servicio (es decir, que ninguno de tus bloqueos de seguridad rompió la aplicación del servidor que estás ejecutando).

P.S. Señalaré que mi respuesta en esos hilos ya se acerca mucho a sus criterios; y consulte mi respuesta en cualquier caso para obtener más detalles sobre las sugerencias anteriores.

La lista de verificación de SANS mencionada allí también se acerca mucho a sus criterios, ya que parece estar ordenada por prioridad.

    
respondido por el D.W. 23.04.2012 - 01:12
fuente

Lea otras preguntas en las etiquetas