SSH. Un poco de seguridad parte 3

Hola a todos de nuevo.

En el post de hoy os voy a explicar como “ocultar” nuestra versión de ssh para que cuando nos hagan por ejemplo un escaneo no detecten que versión exacta de ssh tenemos, ¿que ganamos con esto? que si la versión que estamos utilizando tiene algún bug reconocido, puedan utilizarlo contra nosotros.

ADVERTENCIA: NO ME RESPONSABILIZO DE ESTAS MODIFICACIONES EN ENTORNOS DE PRODUCCIÓN, OS RECOMIENDO SIEMPRE QUE LAS PRUEBAS LAS REALIZEIS EN UNA MÁQUINA VIRTUAL ANTES DE PONERLAS EN PRODUCCIÓN YA QUE OS PUEDE OCURRIR QUE NECESITÉIS COMPILAR CON OTRAS OPCIONES DIFERENTES. MI PROPOSITO ES EXPLICAR QUE ES LO QUE SE TIENE QUE HACER, PERO ES IMPOSIBLE ABARCAR TODAS LAS DISTRIBUCIONES Y ESCENARIOS.

 

ANTES DE NADA OS COMENTARE COMO TENGO EL EQUIPO:

Es una Debian con instalación solo del sistema Base, instalada desde una netinstall. VAMOS pelao pelao. Os lo digo porque lo que yo os explique aquí es válido para Debian, pero en otros sistemas VARIA la cosa.

AL TAJO:

Primero nos descargaremos los sources de openssh, ¿Como? ahora vamos a eso…..

#wget http://ftp.caliu.cat/debian/pool/main/o/openssh/openssh_5.9p1.orig.tar.gz

Una vez descargado, realizamos el típico #tar xvfz openssh_5.9p1.orig.tar.gz que descomprimirá el paquete dejándolo en la carpeta openssh-5.9p1.

Bien, como dependencia importante necesitamos los headers de openssl y las librerias zlib, ambos paquetes los encontraremos en libssl-dev asi que:

#apt-get install libssl-dev

Una vez instalados entramos en el directorio de openssh-5.9p1 y buscamos el archvivo version.h. Modifichamos el texto entre “” que hay después de #define SSH_VERSION con lo que nosotros queramos, en mi caso, en lugar de poner alguna chorrada, voy a poner una versión inferior a la que voy a instalar. Ejemmplo 4.1 y la cosa queda como la imagen de acontinuación.

version-h

Y ahra solo nos queda los típicos:
./configure
make
make install

Cuando acaba el make install nos deja el sshd en /usr/local/sbin/sshd y nos crea un script en /etc/init.d/ssh

Ahora el problema es que este fichero /etc/init.d/ssh hay que modificarlo para que apunte al fichero sshd que toca, lo editamos y donde encontremos /usr/sbin/sshd lo sustituimos por /usr/local/sbin/sshd

Una vez realizado esto reiniciamos el servicio ssh como siempre para comprobar que funciona correctamente:

#service ssh restart

y este es el resultado de nuestro nmap

nmap-sshversio

Pues nada amigos, hasta aquí por hoy, otro día más 🙂

2 opiniones en “SSH. Un poco de seguridad parte 3”

  1. Muy buenos artículos, sólo aconsejar scripts como fail2ban, Port knocking, PortSentry, y quizas lo más importante, no es una buena costumbre utilizar sshd con auth password, sin duda alguna se debe utilizar auth con llaves/certificados.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *