Está en la página 1de 3

Laboratorio 4

Contraseñas y Administración Segura Remota

En este laboratorio, se tocarán algunos temas de buenas practicas como ser passwords relativamente
complejos y administración de servidores de forma remota y segura.

Generación de passwords de forma randomica

Existen varias formas para generar passwords en el mundo del software libre, nosotros utilizaremos
dos de las más usadas.

Apg

apg, es un comando de la linea de ordenes de Linux que genera passwords randomicos con palabras
pronunciables (para humanos), dicho comando se basa en lo algoritmos de Morrie Gasser los cuales
son estándares NITS (National Technical Information Service) y están descritos en el FIPS -181.

algunas de las opciones mas interesantes son:

-m min_pass-len que se refiere al tamaño minimo del password, el cual por defecto es 8
-s ask user for random sequence, que se refiere a la generación de datos aleatorios al momento de
generar el password. Por defecto.

Para utilizar este comando simplemente se debe hacer:

• Abrir una terminal


• ejecutar: apg (enter)
• y nos dara un resultado similar a este:
• jemFauwowv0 (jem-Fau-wowv-ZERO)
• NewCiOtUg8 (New-Ci-Ot-Ug-EIGHT)
• ReOgOfvil8 (Re-Og-Of-vil-EIGHT)
• ThomNabhym2 (Thom-Nab-hym-TWO)
• Cott2Odub (Cott-TWO-Od-ub)
• KievRecsot4 (Kiev-Recs-ot-FOUR)

makepasswd

Otra opción es utilizar makepasswd, es un comando de la linea de ordenes que también sirve para
generar passwords de forma segura y aleatoria.

Para utilizarlo, debemos:

• sudo apt-get install makepasswd


• una vez instalado lo corremos haciendo: makepasswd
• Y genera un password de forma aleatoria.
• Tambien se puede crear un password con hash md5: makepasswd –crypt-md5
• 1QdH2Bzn $1$10TeUYYS$t9Evvy9jiWewJPknJS/Gs. Donde genera el password y
su hash MD5
Administración de servidores remotos con SSH

SSH (Secure SHell) es como su nombre lo dice una shell segura, esta diseñada para poder
administrar servidores remotos de forma que posibles atacantes no puedan “escuchar” lo que
hacemos y si alguien captura tráfico ya sea porque estamos utilizando un medio compartido, el
resultado de ese tráfico no dara información alguna de nuestra comunicación.

SSH basa su operación de la siguiente forma:

• El cliente necesita establecer que esta hablando con una maquina confiable, y no un tercero
que se hace pasar por otro.
• El servidor hace lo mismo, establece la veracidad de identidad de la maquina.
• El cliente necesita convencer al servidor de que es quien dice ser.

Basicamente se reduce a:

• Identificación del Host: Esto se realiza mediante el uso de autenticación RSA, donde se
manejan dos llaves una publica conocida por todos y una privada, que solo el admin del
servidor la sabe. El Servidor manda su llave publica, el cliente encripta de forma randomica
un session_key con esa llave y la envia al servidor. Finalmente el servidor desencripta la
sesion y se abre la comunicación.

• Encriptación: Se pueden utilizar varios métodos de encriptación, el por defecto 3DES,


también IDEA y Blowfish.

• Autenticación: Por medio de password, en el cual el sistema pide el password de un usuario


valido. El otro método es mediante RSA puro, donde se almacena la llave publica del cliente
en el servidor y este le hace una prueba al cliente, si responde bien, se establece la
comunicación, generalmente se utiliza en acceso root de ssh.

Instalación

Para la instalación de un Servidor SSH (No se instalará en clientes, ya que viene por defecto en los
Linux) se debe hacer:

• sudo apt-get install openssh-server


• Una vez instalado, ahora lo configuramos: man sshd_config
• Por lo general no debemos cambiar nada, así que ahora hacemos la primer prueba, nos
conectamos desde nuestra maquina madre a la maquina huesped: ssh
prueba@<dirección_ip_del_equipo>
• Ingresamos la contraseña
• Y podemos utilizar el servidor como si estuviéramos frente al monitor y teclado.

Para utilizar autenticación RSA debemos hacer:

• Un Backup de la configuración original: cp /etc/ssh/sshd_config /etc/ssh/sshd_config_bk


• Después lo abrimos para edición: nano /etc/ssh/sshd_config
• Y modificamos (descomentamos) la siguiente
linea: PubkeyAuthentication yes
RSAAuthentication yes
• En el Cliente, debemos crear la llave rsa: ssh-keygen -t rsa -b 4096
• Nos mostrará lo siguiente:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
• Ojo debemos elegir un buen password o utilizar uno ya generado (primera parte del
laboratorio).
• La llave publica esta disponible en: .ssh/id_rsa.pub
• La llave debe ser copia y despues pegada en el archivo: .ssh/authorized_keys
• Se puede especificar la llave de cada usuario, no es aconsejable hacer el envio por la red.
• Reiniciamos el servicio de ssh: sudo service ssh restart o sudo /etc/init.d/ssh restart
• Ahora, hacemos el login desde la maquina madre al host virtual: ssh
usuario@<dirección_ip_del_equipo>
• nos aparecerá lo siguiente:
Enter passphrase for key '/home/<user>/.ssh/id_rsa':

También podría gustarte