securizando openssh MODE PARANOICO en el que vimos como securizar el servicio SSH en nuestro servidor, en esta entrada vamos a ver cómo aplicar otra capa de seguridad a nuestra particular "cebolla";
para eso echamos mano de una recién nacida aplicación de Eleven Paths de la cual ya hablamos en nuestro blog.
Latch es un servicio ofrecido por la empresa de seguridad española Eleven Paths, el cual actúa a modo de "pestillo" de nuestras identidades digitales.
Esto nos permite que, por ejemplo, en el caso que alguien obtenga nuestro nombre de usuario y contraseña de algún servicio digital, poder evitar que esa persona se haga pasar por nosotros simplemente "cerrando el pestillo" desde nuestra cuenta de Latch.
También podemos hacer que cuando no estemos usando una cuenta, su acceso esté deshabilitado, y solo se active cuando nosotros deseemos utilizarla.
Para más información:
WEB OFICIAL DE LATCH
Lo que vamos a hacer, simplificando al máximo la explicación, es mediante nuestro móvil apagar y encender el servicio, de manera que tendremos un control absoluto sobre cuando se puede acceder al servicio, reforzando mucho mas la seguridad y sin tener que tener acceso físico al servidor.
En serio que suena mas complicado de lo que es ...sinceramente me he quedado con las patas vueltas al ver lo fácil que resulta implementarlo...
Crear la aplicación en el server de Latch
Lo primero que necesitamos es tener un número de identificación de aplicación (APPLICATION ID) y lo segundo una clave secreta (secret).
Para ello deberemos registrarnos en latch.elevenpaths.com/ developers area. Tras cumplimentar el registro y loggearnos entraremos en 'my applications' y crearemos una nueva.
Una vez cumplimentada la información salvaremos los cambios...
En este paso obtenemos el APPLICATION ID y EL SECRET que necesitaremos mas tarde...
Ahora hay que emparejar nuestra cuenta de usuario de SSH con nuestra aplicación en LATCH. Para ello nos serviremos del script escrito por Alejandro Ramos de SecurityByDefault.
Para ello deberemos registrarnos en latch.elevenpaths.com/ developers area. Tras cumplimentar el registro y loggearnos entraremos en 'my applications' y crearemos una nueva.
Una vez cumplimentada la información salvaremos los cambios...
En este paso obtenemos el APPLICATION ID y EL SECRET que necesitaremos mas tarde...
Emparejando nuestra cuenta
Ahora hay que emparejar nuestra cuenta de usuario de SSH con nuestra aplicación en LATCH. Para ello nos serviremos del script escrito por Alejandro Ramos de SecurityByDefault.
Primero y para ser ordenados nos colocaremos en el directorio HOME y crearemos una carpeta llamada LATCH y copiaremos el código del script en reg.sh, pondremos nuestro APLICATION ID y SECRET donde corresponda (sustituyendo las XXXXX) y guardaremos, para terminar dando permisos de ejecución al script.
cd /home
mkdir LATCH
nano reg.sh
Podemos encontrar el código aquí.
Ahora nos bajaremos el cliente de Latch en la versión que corresponda a nuestro terminal:
-ANDROID PHONE
-APPLE PHONE
-WINDOWS PHONE
Tras instalarla y configurarla añadiremos un nuevo servicio, para esto solo tendremos que darle al botón de "Add Service", y posteriormente al de "Generate a pairing code", tras lo cual nos dará un código de emparejamiento.
Ejecutaremos:
./reg.sh <codigo de emparejamiento>
y si todo ha ido bien recibiremos un bonito DONE, lo que querrá decir que se habrán guardado los pares usuario:token en /home/LATCH/latch.accounts.
Podremos pasar al siguiente paso.
Una vez emparejado el asunto, lo que deberemos hacer es que nuestro demonio sshd se comporte como nosotros esperamos... es decir, cuando el cliente se conecte comprobará si el servicio está desbloqueado en Latch o por el contrario bloqueado, para ésto volveremos a utilizar el script que nos ofrece DEXAFREE al cual añadiremos una línea, puesto que si lo utilizamos como está y bloqueamos el servicio y lo desbloqueamos después, este no vuelve a levantarse teniendo que hacerlo a mano...
Para ello copiaremos el script de aquí y lo modificaremos con nano añadiendo la línea que se ve en la imagen.
Ahora como en la primera parte sustituiremos el APPLICATIONID Y el SECRET por los nuestros, guardaremos el archivo con el nombre stat.sh y le daremos permisos de ejecución.
Para que se compruebe el estado de Latch cada vez que el usuario inicie sesión por SSH tendremos que hacer que se ejecute stat.sh. Para ello hay que modificar el archivo .bashrc del usuario por defecto y añadir la siguiente línea:
cd /root
nano ./bashrc
-ANDROID PHONE
-APPLE PHONE
-WINDOWS PHONE
Tras instalarla y configurarla añadiremos un nuevo servicio, para esto solo tendremos que darle al botón de "Add Service", y posteriormente al de "Generate a pairing code", tras lo cual nos dará un código de emparejamiento.
Ejecutaremos:
./reg.sh <codigo de emparejamiento>
y si todo ha ido bien recibiremos un bonito DONE, lo que querrá decir que se habrán guardado los pares usuario:token en /home/LATCH/latch.accounts.
Podremos pasar al siguiente paso.
Configurando el servicio ssh
Una vez emparejado el asunto, lo que deberemos hacer es que nuestro demonio sshd se comporte como nosotros esperamos... es decir, cuando el cliente se conecte comprobará si el servicio está desbloqueado en Latch o por el contrario bloqueado, para ésto volveremos a utilizar el script que nos ofrece DEXAFREE al cual añadiremos una línea, puesto que si lo utilizamos como está y bloqueamos el servicio y lo desbloqueamos después, este no vuelve a levantarse teniendo que hacerlo a mano...
Para ello copiaremos el script de aquí y lo modificaremos con nano añadiendo la línea que se ve en la imagen.
Para que se compruebe el estado de Latch cada vez que el usuario inicie sesión por SSH tendremos que hacer que se ejecute stat.sh. Para ello hay que modificar el archivo .bashrc del usuario por defecto y añadir la siguiente línea:
cd /root
nano ./bashrc
y al final del archivo añadir la línea:
/home/LATCH/./stat.sh
Ya solo quedaría reiniciar la máquina y habríamos terminado.
Viendo todo el proceso ¿¿no se os ocurren más formas y cosas para utilizar Latch con solo un par de cambios en los scripts??
Ya solo quedaría reiniciar la máquina y habríamos terminado.
Viendo todo el proceso ¿¿no se os ocurren más formas y cosas para utilizar Latch con solo un par de cambios en los scripts??
Un saludo, Manuel
sed buenos ;D
Ole! }:) Gracias!
ResponderEliminarpara windows, conexión por escritorio remoto a un servidor cloud de 1and1, arsys, etcc
ResponderEliminar¿sería peligroso intentarlo?
¿En qué punto lo quieres poner exactamente?
EliminarSupongo que preguntas si se habilita el servicio de escritorio remoto o no, o aun habilitado, se da permiso de login aun metiendo user-pass correcta?
Eliminarno sé si es eso lo que preguntas (yo soy muy torpe)
Eventos 4625 de intentos fallidos de conexión por clave incorrecta tengo mogollón todos los dias (China, Alemania, Corea....)
Querría evitarlos, ni siquiera dar la posibilidad de poder meter user y pasww dependiendo de si lo he permitido con Latch
Da gusto ver que el trabajo realizado sirve a alguien!
ResponderEliminarPor si además queréis rizar el rizo, os dejo la tercera parte del tutorial, en el cual se protege el servidor de los listillos ;)
http://www.dexa-dev.com/securizando-un-vps-con-latch-iii-evitando-a-los-listillos/
PD: Ya que habéis puesto el script de registro, es importante comentar también el de "des-registro", ya que aunque dudo que alguien deje de usar LATCH, es importante tener una forma de revertirlo!
Hablo de ello al final de http://www.dexa-dev.com/securizando-un-vps-con-latch-ii-configurando-el-acceso/
Hace unos días 11path publicó: https://github.com/ElevenPaths/latch-plugin-ssh
ResponderEliminar