Prácticas con diversas herramientas
Laboratorio de Administración y Gestión de Redes y Sistemas 2018-2019
Grado en Ingeniería Telemática
Escuela Técnica Superior de Ingeniería de Telecomunicación
Universidad Rey Juan Carlos


Observaciones

Práctica 2.1. Invocación de la shell

  1. Observa los ficheros de inicio de la shell de tu cuenta del laboratorio. Créalos si no los tienes. ¿Cuándo se ejecuta .bashrc? ¿Solamente en las shell de login? ¿Solamente en las shell que no son de login? ¿O en ambos tipos de shell? ¿Por qué?

  2. Comprueba que los diferentes tipos de ficheros que se tienen que ejecutar en la invocación de la shell (interactivo y de login, interactivo no de login, no interactivo) se comportan como cabe esperar. Usa trazas como

    echo prueba blabla
      

    o

    echo prueba blabla >> /tmp/mi_traza.txt
      
  3. Define en .bashrc un alias que pueda usarse para un ataque o una broma. Haz una demostración.

Práctica 2.2. Split

Ahora practicarás con el troceado de ficheros. Supongamos que quieres llevarte a casa la máquina virtual ubuntu.18.04.ova que está en el directorio /var/lib/vms/cli-ubuntu.18.04.v01 de los puestos del laboratorio

  1. Comprime el directorio de la máquina virtual en un fichero .tgz. Ponle el nombre que te parezca adecuado. Naturalmente, no puedes escribir en /var/lib/vms hazlo en otro directorio donde tengas permiso. Un buen sitio es /tmp/<TU_LOGIN>

  2. Divídelo en trozos, del tamaño que te parezca adecuado.

  3. Entra uno de los puestos virtuales del laboratorio y crea el directorio /tmp/<TU_LOGIN>

  4. Usando scp, lleva los trozos a la máquina remota, al directorio que acabas de crear.

  5. Reconstruye el directorio.

  6. Usando md5sum, comprueba que el fichero es correcto. (Encontrarás el hash original dentro del fichero leeme.txt)

Práctica 2.3. Contraseñas

Guarda dos o tres contraseñas, de prueba o reales, usando

  1. gpg

  2. LibreOffice

  3. LastPass

  4. KeePassx

Usa recordatorios de contraseña en todos los casos, en un fichero de texto aparte. Guarda los ficheros donde quieras, describe brevemente en la memoria los pasos que has seguido

Práctica 2.4. Secret Sharing

Usa ssss para descomponer una contraseña en 6 trozos, de forma que baste con 4 para restaurarlos. Recomponla.

Práctica 2.5. OpenSSH sin contraseñas, desde el contenedor

En esta práctica probarás el acceso a una máquina por ssh sin teclear contraseñas

  1. Lanza la máquina jpercaa01 y haz todo lo necesario en ella para poder entrar por ssh desde el contenedor hasta tu puesto del laboratorio sin teclear contraseñas. Usa claves ed25519, con una passphrase sencilla. Como siempre, documenta en ~/lagrs/practica02.txt los pasos que des, y pega los resultados de la ejecución.

  2. Borra en el puesto la clave pública que acabas de añadir, y comprueba que ya no puede entrar desde el contenedor. Puedes borrar el par de claves que has usado en este ejercicio.

Práctica 2.6. OpenSSH sin contraseñas, desde el puesto

  1. Crea un nuevo par de claves ed25519 de ssh. Sin passphrase.

  2. Configura tu puesto del laboratorio para que puedas entrar desde cualquier máquina hasta cualquier otra máquina disponible del laboratorio (son las máquinas indicadas en https://labs.gsyc.urjc.es/?page_id=941)

  3. Configura tu portátil o el ordenador de escritorio que tengas en casa para entrar en tu cuenta del laboratorio usando el mismo par de claves que acabas de crear.

Si quieres puedes dejar esta configuración de forma permanente, te será útil.

Práctica 2.7. OpenSSH sin contraseñas, entre contenedores

Ahora prepararás dos contenedores, de forma que se pueda entrar por ssh desde uno en el otro, sin teclear contraseñas.

  1. Como en prácticas anteriores, estos contenedores reconocerán los nombres de máquinas del laboratorio, estarán configurados en español y tendrán disponibles las órdenes ping e ifconfig.

    Puedes añadir algún paquete adicional si quieres, con tal de que no resulte un contenedor mucho más pesado.

  2. Los contenedores hechos desde la imagen cad tendrán el usuario juan. Créalo (desde el Dockerfile) con la orden useradd. De esta forma el usuario se crea sin hacer preguntas, sin ponerle contraseña y sin su directorio home.

    La contraseña no hará falta (podrías crearla con la orden chpasswd). El directorio home del usuario, sí.

  3. Los contenedores hechos desde la imagen cad tendrán configurado un servidor de ssh, configurado para que se pueda entrar desde un cliente en un contenedor creado desde la imagen cae, sin usar contraseñas (ni passphares)

    Usa el siguiente par de claves: http://gsyc.urjc.es/~mortuno/claves_compartidas.tgz

  4. Siguiendo nuestro criterio habitual, prepara los ficheros para el contenedor con el servidor de ssh:

    ~/lagrs/cad/construye.sh

    ~/lagrs/cad/lanza_jpercad01.sh

    ~/lagrs/cad/context/Dockerfile

    ~/lagrs/cad/context/entrypoint.sh

    Y para el contenedor con el cliente de ssh:

    ~/lagrs/cae/construye.sh

    ~/lagrs/cae/lanza_jpercae01.sh

    ~/lagrs/cae/context/Dockerfile

    ~/lagrs/cae/context/entrypoint.sh

Sugerencia:

Práctica 2.8. File

  1. Toma dos o tres ficheros, cámbiales la extensión y comprueba que eso no engaña a la orden file.

  2. Comprueba qué sucede con el gestor de ficheros en este caso. Esto es, al hacer click sobre un fichero con extensión errónea ¿A cuál de estos dos programas invoca el gestor de ficheros?

  3. La orden xdg-open equivale al doble click del gestor de ficheros, pero desde la shell. Esto es, abre el fichero que se le pase como argumento con el programa adecuado.

    Comprueba cómo trata xdg-open este fichero con extensión errónea.

Práctica 2.9. Enlaces

  1. Crea un enlace simbólico cualquiera. Observa como aparece en un listado largo.

  2. Comprueba que puedes editar el fichero original y el enlazado y es el mismo fichero.

  3. Borra el fichero original y observa que el enlace queda roto.

  4. Repite los pasos anteriores con un enlace duro y observa las diferencias.

Práctica 2.10. Vagrant

En este ejercicio probarás Vagrant

  1. Si estás en el laboratorio, confirma que VirtualBox sigue configurado para usar /var/tmp/tulogin como carpeta predeterminada de máquinas

  2. Crea un project directory de Vagrant en ~/lagrs/pc02

  3. Prepara una máquina Ubuntu 18.04 LTS Bionic.

  4. Lanza la máquina y entra usando vagrant.

  5. Comprueba que el project directory del host está montado dentro de la máquina virtual en /vagrant

    Para ello, edita un fichero en este directorio desde el guest o el host, guárdalo y vuelve a editarlo desde la otra máquina (el host si antes usaste el guest y viceversa).

  6. Apaga la máquina (sin destruirla) y haz que su nombre sea pc02, tanto visto desde VirtualBox como desde dentro de la propia máquina. Vuelve a lanzarla y comprueba que lo has hecho bien. Observa la máquina virtual desde el GUI de VirtualBox.

  7. Desde un terminal del host, sin usar vagrant, entre por ssh en pc02. Tendrás que tener en cuenta la redirección de puertos y usar la clave privada preparada por Vagrant.

Revisión de los nombres

Ejecuta el script ~mortuno/revisa practicas lagrs para comprobar que los nombres de los ficheros son correctos.