miércoles, 28 de noviembre de 2018

Los 10 mandamientos de un servidor | 6. No cometerás actos impuros con tus llaves SSH

****************************************************************************
1. Los 10 mandamientos de un servidor | 1. Amarás las nuevas máquinas sobre todas las cosas
2. Los 10 mandamientos de un servidor | 2. No tomarás los servicios instalados en vano
3. Los 10 mandamientos de un servidor | 3. Santificarás la arquitectura de tu empresa
4. Los 10 mandamientos de un servidor | 4. Honrarás la configuración de tus servicios
5. Los 10 mandamientos de un servidor |5. Instalarás todos los programas necesarios
6. Los 10 mandamientos de un servidor | 6. No cometerás actos impuros con tus llaves SSH
****************************************************************************

Ya llevamos más de la mitad de posts, ya casi terminamos. Hoy vamos a ser un poco traviesos. Hoy vamos a ver cómo cometer actos impuros con menores de edad, que eso no es pecado. Masturbarse sí, pero violar a menores de edad no. Todo el mundo lo sabe.




A ver, esto es muy importante hacerlo bien porque de lo contrario no podremos acceder a nuestro servidor. En grandes empresas, lo normal es que los sysadmin accedan a los servidores via ssh, por lo que, como he dicho, una correcta configuración es fundamental. Imaginad el problema si no introducimos correctamente la clave ssh de root. La que montamos es gorda.


Mucha atención al archivo de configuración de ssh (/etc/ssh/sshd_config). Aquí podemos definir cuántos intentos vamos a permitir. Es decir, en caso de introducir la password y fallar ¿Cuántas veces más lo vamos a dejar hasta cerrar la conexión? Así evitamos ataques como los de fuerza bruta.

También sería importante especificar dónde se encontrarán los archivos con las llaves ssh de cada usuario. Esto puede ser interesante en caso de tirar de seguridad por oscuridad. Configurando la política AuthorizedKeysFile configuramos esto mismo.

Otra cosa que podríamos tener en cuenta es utilizar un directorio específico para las llaves ssh para que así si migramos de servidores con frecuencia, migrar únicamente un directorio y no uno por cada usuario.

Por ejemplo, podríamos pasar todas las llaves SSH a un directorio como /SSH_keys_file/<user>/.ssh/authorized_keys y así en futuras migraciones haríamos un tar -cvzpf de /SSH_keys_file, por lo que reduciríamos mucho trabajo.


En cuanto a la migración es fácil. Un tar -cvzpf de los directorio que queramos y enviarlo por scp o por rsync. Yo, cuando son archivos grandes y pesados utilizo rsync. Algo como rsync -avzhe ssh --progress --remove-source-files <tar files>.tar.gz <user>@<remoteserver>:<path>. Especificaré un poco cada pción.

-e. Especifica el protocolo a utilizar. En mi caso ssh.
--progress. Para tener un verbose.
--remove-soruce-files. La misma opción lo indica. Esto eliminará el tar en el origen una vez que se haya enviado. Muy útil para no saturar la máquina con archivos que no sean necesarios una vez pasados.



Una vez pasado y descomprimido, si tratamos de realizar la conexión, veremos que ya no pide password porque autentica con la clave pública y privada.

Haciendo esto ya tenemos gran parte de la migración hecha, ya lo que nos queda son cosas más "sencillas", pues si esta conexión funciona correctamente tenemos mucho hecho. Lo peor es que hubiese algún problema en la conexión ssh, por lo que si salvamos este error, tenemos gran parte hecha.

¿Hackeamos el Mundo?

No hay comentarios:

Publicar un comentario

Related Posts Plugin for WordPress, Blogger...

Entrada destacada

El server me sabe a poco.

Soy un fanático del Rock y de Debian . (Creo que voy a inventar Rockbian, que suena bien y todo xD) Llevaba tiempo queriendo unir estos 2 c...