Asegurar un servidor web Ubuntu en la nube para una aplicación web

1

Estoy a punto de publicar una aplicación web de python. El servidor es una máquina remota de Ubuntu alojada por 1 & 1.

Por ahora, comienzo remotamente la aplicación del servidor python con un comando de consola.

Con respecto a la seguridad, ¿cuáles son los procedimientos obligatorios con mi máquina Ubuntu antes de hacerla pública con un nombre de dominio?

Gracias

    
pregunta Guilhem Fry 11.09.2017 - 17:13
fuente

3 respuestas

1

Crea un usuario no root y ejecuta tu aplicación bajo ese usuario.

Configura el bloque ufw (cortafuegos no complicado), todos aparte de SSH, http y HTTPS. Esto es mucho más fácil que iptables (imo).

Deshabilita la contraseña de SSH. Configurar claves, usarlas solo.

Además, configure Fail 2 Ban para monitorear los registros y tomar las acciones adicionales que desee (listas negras de IP, etc.).

Hay muchas guías en línea para fortalecer Ubuntu, estos serían mis pasos "obligatorios". Recomendaría las guías de Linode ya que generalmente son de buena calidad ( enlace ).

También tenga en cuenta que incluso sin un nombre de dominio, si su aplicación se estaba ejecutando en el control remoto, es probable que ya se haya encontrado y comprobado en función de IP: solo el puerto. Haría todos estos pasos tan pronto como el servidor se aprovisione.

    
respondido por el Trickycm 11.09.2017 - 20:21
fuente
0

Suponiendo que su propia aplicación es segura y que confía en el servidor de su servidor, las formas más fáciles de proteger el sistema son:

  1. Mantenga su sistema / paquetes actualizados y parchados ( sudo apt upgrade )
  2. Ejecuta solo lo que necesitas para ejecutar. Elimine los paquetes de servidor innecesarios que escuchan en los puertos o los mantienen detenidos ( chkconfig <service> stop && chkconfig <service> off )
  3. Usa un cortafuegos. Si el servidor de su servidor proporciona un sistema de firewall, úselo. De lo contrario, configure IPTables para restringir el tráfico a su servidor.

Saber qué servicios detener puede que no sea trivial si no tiene experiencia con la configuración de un servidor. En general, los servidores alojados son bastante mínimos y ejecutan solo los programas esenciales para que sean lo más eficientes posible en cuanto a recursos, por lo que es posible que no tenga que hacer mucho allí.

editar: acaba de examinar el sitio web de su servidor host. Proporcionan herramientas de administración de firewall y sistemas de protección contra intrusos que puede configurar para permitir solo el tráfico a su puerto de aplicación. Si puede pagar su oferta de copia de seguridad / instantánea, debe tomarla y hacer un punto para tomar instantáneas frecuentes (copias de seguridad) de su servidor por si acaso. Es una buena práctica.

    
respondido por el eternaltyro 11.09.2017 - 19:12
fuente
0

Sin duda, diría que enrutar todo el tráfico a través de CloudFlare es esencial en las aplicaciones web. Su DNS no solo es muy rápido, sino que también proporcionan un certificado SSL gratuito (compartido, puede actualizarlo a dedicado) que, sin ninguna configuración de su lado (aparte de la actualización de sus servidores de nombres) le permitirá usar https y, por lo tanto, una conexión segura (asegúrese de elegir Cloudflare para ingresar al módulo Crypto y habilitar "Usar siempre HTTPS", por lo que todo el tráfico debe enrutarse a través de una conexión cifrada). Muchos dirían que algo como Letsencrypt podría ofrecer un servicio de este tipo, pero Cloudflare también oculta la dirección IP de origen (del servidor web) para que los usuarios no puedan encontrar la IP a través de hacer ping al dominio o algo así. Y, además de todo esto, ofrece una variedad de otras herramientas como la protección contra DDoS, IP Blacklisting y una variedad de otros módulos útiles que ayudarán sin duda a la seguridad.

Muchas empresas grandes utilizan CloudFlare ya que son extremadamente buenas.

    
respondido por el m1screant 13.09.2017 - 00:13
fuente

Lea otras preguntas en las etiquetas