Servidor Python personalizado: ¿cómo protegerlo?

1

Pronto compraré mi propio servicio de servidor dedicado y ejecutaré algunos scripts de servidor Python en él.

En primer lugar, permítame decirle que soy total noob en lo que respecta a la seguridad de Internet y no pude encontrar respuestas a mis preguntas con google.

Quiero tener pocos servidores de Python, escuchar en diferentes puertos y brindarme diferentes servicios. Por ejemplo, uno de ellos sondeará algunos sitios web para obtener su contenido y actualizar los datos en el servidor. Luego me conectaré a él y tomaré los datos más recientes. La comunicación entre el servidor y el cliente será en formato JSON. Me gustaría habilitar la descarga de archivos también. Probablemente esté utilizando SFTP para asegurar todo el proceso.

Así que mis preguntas son:

  1. ¿Cómo puedo implementar una conexión segura entre el cliente y mi servidor python? Supongo que podría usar SSH o SSL, pero ¿cuál será más adecuado para el trabajo? Y si elijo SSH, ¿no interferiría con el servicio de inicio de sesión de SSH que uso para administrar mi (todo) servidor?

  2. ¿Es muy inseguro abrir varios puertos? ¿Qué tipo de ataques podría traerme? ¿Cómo puedo prevenirlos?

  3. ¿Tiene algún otro consejo sobre la implementación del propio servidor?

Como soy totalmente nuevo en esto, por favor, dime si ves algún vacío en mi lógica :)

    
pregunta k_R 26.03.2013 - 00:04
fuente

1 respuesta

3
  

¿Cómo puedo implementar una conexión segura entre el cliente y mi servidor de Python? Supongo que podría usar SSH o SSL, pero ¿cuál será más adecuado para el trabajo? Y si elijo SSH, ¿no interferiría con el servicio de inicio de sesión de SSH que uso para administrar mi servidor (completo)?

Si solo usted se conectará al servidor, aseguraría todo el proceso utilizando una VPN .

  

¿Es muy inseguro abrir varios puertos? ¿Qué tipo de ataques podría traerme? ¿Cómo puedo prevenirlos?

Los puertos son tan seguros como los servicios que escuchan en ellos. La apertura de múltiples puertos innecesarios sirve para aumentar la superficie de ataque de su servidor, ya que hay muchos más puntos de falla posibles. Desactive todos los servicios no utilizados en su servidor.

  

¿Tiene algún otro consejo sobre la implementación del propio servidor?

Mantenga su servidor actualizado. Esto implica ejecutar un comando como sudo apt-get update && sudo apt-get dist-upgrade en las distribuciones similares a Ubuntu o yum update en las distribuciones basadas en RHEL.

Tener configuradas las reglas correctas de iptable . Vea este enlace para una buena línea de base. Configure según sea necesario.

Configure ssh para usar autenticación basada en clave en lugar de contraseñas. Esto ayuda a aumentar la dificultad de los ataques de fuerza bruta contra el servicio ssh. Deshabilite el inicio de sesión de root usando ssh.

    
respondido por el Ayrx 26.03.2013 - 03:32
fuente

Lea otras preguntas en las etiquetas