Cuando necesita abrir algo en su red doméstica a Internet, ¿es un túnel SSH una forma lo suficientemente segura de hacerlo?
La sesión de preguntas y respuestas de hoy nos llega por cortesía de SuperUser, una subdivisión de Stack Exchange, una agrupación de sitios web de preguntas y respuestas impulsada por la comunidad.
La pregunta
El lector de superusuario Alfred M. quiere saber si está en el camino correcto con la seguridad de la conexión:
Recientemente configuré un pequeño servidor con una computadora de gama baja que ejecuta Debian con el objetivo de usarlo como un repositorio personal de git. He habilitado ssh y me sorprendió bastante la rapidez con la que sufrió ataques de fuerza bruta y cosas por el estilo. Entonces leí que esto es bastante común y aprendí acerca de las medidas de seguridad básicas para protegerse de estos ataques (muchas preguntas y duplicados sobre la falla del servidor lo resuelven, ver por ejemplo éste o éste ).
Pero ahora me pregunto si todo esto merece la pena. Decidí configurar mi propio servidor principalmente por diversión: podía confiar en soluciones de terceros como las que ofrecen gitbucket.org, bettercodes.org, etc. Si bien parte de la diversión es aprender sobre seguridad en Internet, no lo he hecho. tiempo suficiente para dedicarle a convertirme en un experto y estar casi seguro de que tomé las medidas de prevención correctas.
Para decidir si seguiré jugando con este proyecto de juguetes, me gustaría saber qué es lo que realmente arriesgo al hacerlo. Por ejemplo, ¿en qué medida también están amenazadas las otras computadoras conectadas a mi red? Algunas de estas computadoras son utilizadas por personas con menos conocimientos que el mío en Windows.
¿Cuál es la probabilidad de que me meta en problemas reales si sigo pautas básicas como contraseña segura, acceso root deshabilitado para ssh, puerto no estándar para ssh y posiblemente deshabilitando el inicio de sesión con contraseña y usando una de las reglas de fail2ban, denyhosts o iptables?
Dicho de otra manera, ¿hay algunos lobos grandes y malos a los que debería temer o se trata principalmente de ahuyentar a los niños del guión?
¿Alfred debería ceñirse a soluciones de terceros o su solución de bricolaje es segura?
La respuesta
El colaborador de superusuario TheFiddlerWins le asegura a Alfred que es bastante seguro:
En mi opinión, SSH es una de las cosas más seguras para escuchar en Internet abierto. Si está realmente preocupado, hágalo escuchar en un puerto de gama alta no estándar. Todavía tendría un firewall (a nivel de dispositivo) entre su caja e Internet real y solo usaría el reenvío de puertos para SSH, pero esa es una precaución contra otros servicios. SSH en sí es bastante sólido.
yo tener había gente que conectaba el servidor SSH de mi casa de vez en cuando (abierto a Time Warner Cable). Nunca tuvo un impacto real.
Otro colaborador, Stephane, destaca lo fácil que es proteger aún más SSH:
Configurar un sistema de autenticación de clave pública con SSH es realmente trivial y tarda unos 5 minutos en configurarse .
Si fuerza a todas las conexiones SSH para usarlo, hará que su sistema sea lo más resistente posible sin invertir MUCHO en infraestructura de seguridad. Francamente, es tan simple y efectivo (siempre que no tenga 200 cuentas, entonces se complica) que no usarlo debería ser una ofensa pública.
Finalmente, Craig Watson ofrece otro consejo para minimizar los intentos de intrusión:
También ejecuto un servidor Git personal que está abierto al mundo en SSH, y también tengo los mismos problemas de fuerza bruta que tú, así que puedo simpatizar con tu situación.
TheFiddlerWins ya ha abordado las principales implicaciones de seguridad de tener SSH abierto en una IP de acceso público, pero la mejor herramienta de la OMI en respuesta a los intentos de fuerza bruta es Fail2Ban - software que monitorea sus archivos de registro de autenticación, detecta intentos de intrusión y agrega reglas de firewall al local de la máquina
iptablescortafuegos. Puede configurar cuántos intentos antes de una prohibición y también la duración de la prohibición (mi valor predeterminado es 10 días).
¿Tiene algo que agregar a la explicación? Habla en los comentarios. ¿Quieres leer más respuestas de otros usuarios de Stack Exchange expertos en tecnología? Consulte el hilo de discusión completo aquí .