La seguridad por oscuridad
Dicen que la seguridad por oscuridad no es realmente seguridad.
Pero ayudar, ayuda.
Caso en cuestión: el servidor SSH de la máquina de mi casa.
Lo tuve varios años en el puerto 22 abierto a todo Internet. Tenía entre 70 y 100 intentos de conexión diarios, probando distintos usuarios. Eso en un IP "hogareño" relativamente anónimo, ya que no está publicado en ningún DNS...
Hará unos 6 meses cambié el puerto a otro distinto (por debajo de 1024, no estoy loco) que no sale en /etc/services, por lo que puede considerarse "inactivo". A partir de ese momento hasta el día de hoy el total de los intentos de conexión es: 0. Ya no estoy hablando de probar usuarios, es que ni se conectan al puerto para ver si está abierto.
Si bién sería irresponsable proteger un sistema UNICAMENTE con "oscuridad", es innegable que aporta otro nivel de complejidad que, aunque pequeño, ayuda a mantener los sistemas un poco más seguros.
Saludos,
Andy
- Conecta o crea cuenta para participar

- 9850 lecturas
Twitter

Pues yo igual
Cambié el puerto de mi servidor SSH al 2222 (no sé porqué tú lo pones por debajo del 1024, salvo que el servidor que tengas esté compartido por varios usuarios). Hasta ahora intentos 0 y ya no me reducen el ancho de banda ni me saturan el servidor, que es bastante viejo el pobre.
A eso añádele las típicas configuraciones para securizar tu servidor:
PermitRootLogin no
y la de no empty password y usar llaves SSH para conectar y tendrás unas cuantas capas de seguridad que como mínimo molestarán un poco al atacante.
Otras cosas que he hecho
En otro comentario abajo he respondido lo del puerto < 1024.
Con respecto al servicio ssh, yo tengo, entre otras, éstas directivas:
RSAAuthentication yes
PubkeyAuthentication yes
ChallengeResponseAuthentication no
PasswordAuthentication no
X11Forwarding no
AllowUsers andy
MaxStartups 1:50:2
MaxAuthTries 3
LoginGraceTime 30
Y uso certificados, no passwords.
En mi caso a mi servidor
En mi caso a mi servidor de SSH solo conecto yo y solo hay un usuario local que soy yo y es el único que puede entrar (no obstante también tengo el AllowUsers por si acaso) por tanto si entran con ese usuario entonces ya es como si fueran root (tiene permisos para sudo), por tanto tener el puerto > 1024 no oafecta demasiado.
También no hay que descuidar la seguridad del resto de servicios y tenerlos en un lugar que aunque entren a ellos no logren entrar al sistema principal, ya sea con vserver o con máquinas virtuales. Como mi ordenador es muy poco potente sólo soporta vserver y luego redirijo con iptables los puertos hacia las distintas instancias.
A esto súmale que pongo los dibujitos del fingerprint de la llave del servidor y la compruebo antes de entrar, que tengo instalado logcheck y rkhunter y tienes algo bastante seguro, no infalible pero si una solución de compromiso entre seguridad y comodidad.
Ah y tengo mi IP publicada en varios DNS bien conocidos.
Por que dices
Por que dices que usar un puerto por encima del 1024 sería de locos? Yo si uso puertos no estándares siempre suelen ser superiores al 1024.
Y de hecho me suena de haber leído que la limitación de uso de puertos por debajo del 1024, si bien sería útil en su época, ahora era un problema porque forzaba a los servidores a tener privilegios de root.
Puertos > 1024
Cualquier usuario normal sin privilegios puede ejecutar un programa que escuche en puertos > 1024. En cambio para puertos < 1024 tienes que ser root.
Si un usuario local logra hacer caer el servidor ssh, puede luego montar su propio servicio en ese puerto y capturar credenciales de acceso.
Si el puerto es < 1024, ningún usuario local podrá hacerlo excepto root.
Cambiaría el fingerprint
Lo cual te debería generar la consiguiente alerta de "man in the middle", a menos que además de tirarte el servidor hayan conseguido también leer /etc/ssh/ssh_host_rsa_key (sólo legible por root).
Si consiguen finalizarte el proceso servidor sshd y poner otro proceso a la escucha seguramente también tienen acceso de root.
Claro que quizá pudieran suplantar el servidor escuchando en INADDR_ANY con otro escuchando en la interfaz específica.
Perdonad mi ignorancia pero
Perdonad mi ignorancia pero yo tengo en mi router un puerto mayor que 1024 abierto y redirigido al puerto 22 de mi servidor casero. Entiendo que en este caso no está afectado por lo que comentas, ¿no?
Gracias!!
Estás en lo cierto
El "problema" que comentaba antes es para el puerto en el que está configurado el SSH dentro del equipo. Tú lo tienes en el puerto 22 y ya está bién así.
"Oscuridad"
La segunda aparición de curiosidad escrito como lo has hecho, "oscuridad", creo que da una idea más real de lo que querías decir.
De hecho, yo te puedo corroborar que en mi servidor con SSH en el puerto 1022 y publicado en DNS no recibe tampoco ataques.
Un saludo
Más que oscurantismo...
Creo que más que oscurantismo estamos hablando de salirse del estándar. Nada les impide hacer un escaneo de puertos y no lo hacen ya que seguramente sean "scrpt kiddies" que cuando los sacas del estándar se pierden.
Para evitar problemas , además de los consejos que ya han salido en los comentarios, os recomiendo mi artículo sobre DenyHost en Kriptópolis.
Un saludo Fernando Acero