AyGR 2026 - TP 2. Herramientas de Gestión de Redes
Fecha de Entrega: Luján: 09/09/2026.
Objetivo: Conocer el funcionamiento de un conjunto de herramientas que permitan gestionar, de forma básica, los recursos red. Conocer las características disponibles y el funcionamiento de uno de los protocolos más utilizados para la administración remota de infraestructura de red (routers, hosts y servidores). Categorías ISO: FCAPS.
Secure Shell (SSH)
El Secure Shell Protocol, más conocido como SSH, es un esquema de arquitectura cliente/servidor que crea un canal seguro de comunicación entre dos dispositivos sobre una red insegura. Se vale de técnicas de autenticación y cifrado mediante claves tanto simétricas como asimétricas. Esta clase cubrirá los usos más habituales del protocolo, mientras que los aspectos de criptografía se tratarán en clases posteriores de la asignatura.
El caso de uso más común es cuando un usuario se quiere conectar desde un host a la terminal de un servidor o router en un lugar distante. Para ello inicia una conexión con un cliente SSH que se comunica con el servidor que tiene un servicio de SSH activo. El servidor le solicitará la contraseña para el usuario que se desea comunicar.
Además de la funcionalidad de ejecución de comandos en forma remota (inicio de sesión y login remoto), el protocolo SSH sienta las bases para otros protocolos que operan sobre él, sin requerir servicios ni puertos adicionales en escucha en el sistema.
Sobre la infraestructura que proporciona el protocolo ssh se pueden utilizar diferentes utilidades:
- Acceso a shell remoto con el comando
ssh. - Copia de archivos a host remotos con el comando
scp. - Servicio ftp con el comando
sftp. - Servicio de file system remoto con
sshfs. - Creación de túneles para acceder a puertos en máquinas remotas, con el comando
ssh.
Uso de IA generativa
Tanto este trabajo como los futuros en la asignatura tienen como objetivo principal el que Ud. aprenda conceptos y tecnologías útiles en su área de acción. Tiene libertad de buscar información en Internet e intercambiar las experiencias con el resto de los estudiantes. Sin embargo, debe citar toda la fuentes de información que utilice y documentar cualquier interacción con herramientas de inteligencia artificial generativa (como ChatGPT, Claude y otras). En tales casos, incluya en el trabajo práctico los prompts utilizados, las preguntas realizadas, y los cambios que le sugirió la o las herramientas.
Fundamentalmente, asegúrese de que, independientemente de los recursos que utilice, pueda aplicar lo aprendido a problemas nuevos o similares de forma individual en los exámenes, por lo que le recomendamos que preste especial atención a los razonamientos requeridos para llevar adelante cada uno de los ejercicios.
Experiencia de laboratorio
-
El equipo docente ha puesto a disposición un servidor remoto con un webserver y algunos otros servicios. ¿Qué herramienta puede utilizar para saber que procesos están en escucha en dicho equipo?
-
Inicie una sesión remota mediante SSH hacia el servidor remoto utilizando el nombre de usuario y contraseña provistos en clase.
-
Utilizando el comando
ss -pltun(ss = socket status), obtenga un listado de los procesos (flagp) que se encuentran en escucha (flagl) en cualquier puerto TCP (t) y UDP (u) en el host remoto, indicando los números (n) de puerto utilizados. Guarde esta información en un archivo de texto. -
La cuenta de usuario que está utilizando tiene privilegios limitados. ¿De qué manera(s) es posible “elevar privilegios” a fin de disponer de mayor control sobre el host? ¿Son éstas las únicas formas posibles?
-
Valide que su usuario tiene privilegios para visualizar el contenido de los archivos almacenados en el directorio
/var/logdel host remoto. De no poseer tales permisos, utilice alguno de los mecanismos tratados en el punto previo para elevar privilegios. Una vez obtenido control de la cuenta privilegiada, obtenga el registro (log en inglés) de autenticación. En versiones modernas de los sistemas Linux, esto se realiza mediante el comandojournalctl -u ssh | tee auth.log. En versiones anteriores, habitualmente dicho registro se encuentra en el archivo/var/log/auth.log. -
Utilizando los comandos
scposftp, copie archivoauth.logde la máquina remota y guárdelo en su máquina local. Revise el archivo buscando los registros correspondientes a los inicios de sesión recientemente realizados. Preste atención a los registros que diganAccepted,FailedoInvalid user. Indique qué información se brinda en cada evento. Indique cuales son los nombres de usuario más “intentados”. Utilizando alguna herramienta en línea, determine a qué país y/o ISP corresponden las IP que aparecen. -
Utilizando
sshfs, conecte la carpeta remota/var/logdel servidor a una carpeta local vacía en su equipo (créela primero si fuera necesario). Investigue cuáles son las direcciones IP que más han consultado al servidor web (cuyo registro de peticiones se almacena en el archivo/var/log/nginx/access.log). Busque documentación sobre la estructura de las líneas de log y determine el país al que pertenecen las direcciones IP e indique cuáles son los más frecuentes. Como tarea para el hogar, tome ejemplos de las peticiones recibidas e indique qué rutas (paths HTTP) son las más consultadas por los "visitantes" y qué agentes de usuario reportan. -
Adyacente al host remoto, en la misma red privada 10.0.0.0/24, se encuentra otro servidor web. Resulta necesario acceder a esta aplicación desde su propio equipo local. ¿Qué estrategias pueden utilizarse para poder acceder a dicho servicio?
-
Analice las siguientes situaciones:
-
Un servidor / servicio en remote.server.com está escuchando el puerto 11000. Desea usar su propia computadora personal local para conectarse. Sin embargo, el puerto 11000 está oculto detrás del firewall de remote.server.com.
-
Un servidor / servicio en su computadora personal local está escuchando en el puerto 11000. Desea que remote.server.com se conecte a su servidor / servicio. Sin embargo, su computadora personal local no tiene una dirección de acceso público en Internet.
Escriba los comandos necesarios para poder acceder a estos servicios.
Referencias: https://builtin.com/software-engineering-perspectives/ssh-port-forwarding y https://ittavern.com/visual-guide-to-ssh-tunneling-and-port-forwarding/ -
-
¿Qué riesgos presenta que el usuario
roottenga acceso a un host mediante SSH? ¿Cómo puede habilitarse o deshabilitarse esta característica?
Trabajo práctico actualizado
-
Analice la estructura de las primeras líneas del archivo
auth.logque descargó del servidor. Indique qué información se brinda en cada evento. Para los registros que indiquenAccepted,FailedoInvalid user, Indique cuales son los nombres de usuario más “intentados”. Utilizando alguna herramienta en línea, determine a qué país y/o ISP corresponden las IP que aparecen. -
Busque documentación sobre la estructura de las líneas del archivo
access.logy, a partir del archivo queaccess.logque descargó del servidor, determine las direcciones IP que más peticiones han realizado al servidor web y el país al que pertenecen las mismas. Tome ejemplos de las peticiones recibidas e indique qué rutas (paths HTTP) son las más consultadas por los “visitantes” y qué agentes de usuario reportan. -
La comunidad OverTheWire.org en Internet provee gentilmente algunos desafíos de redes y seguridad. Complete los primeros niveles del challenge Bandit, respetando las reglas indicadas en Rules. Detalle paso a paso los comandos que utilizó, sus hallazgos y conclusiones.
OPCIONAL: Resuelva el punto 3 de la guía de lectura y configure en el servidor remoto el mecanismo de autenticación alternativo. Indique la secuencia de comandos que debió utilizar para ello.
Guía de Lectura
-
¿Qué motivó la creación del software SSH? ¿Qué protocolos se utilizaban hasta entonces? ¿Siguen utilizándose estos protocolos en la actualidad?
-
¿Cuál es el puerto bien conocido de SSH? ¿Cómo se puede cambiar? ¿Qué protocolo utiliza a nivel de transporte y, bajo su entendimiento, por qué utiliza tal protocolo?
-
Para iniciar sesión en el host remoto estamos utilizando una contraseña que “todos” conocemos. ¿Qué mecanismo de autenticación alternativo es también muy utilizada en SSH y por qué brinda mayor seguridad? ¿Qué casos de uso motivan esta característica (ej., “orquestación” y otros)? ¿Por qué resulta conveniente en tales casos?
-
¿Es posible utilizar aplicaciones gráficas a través del protocolo SSH?
Bibliografía
- GORALSKI, W. 2017. Capítulo 30: “Secure Shell (Remote Access)” en The Illustrated Network: How TCP/IP Works in a Modern Network (2nd ed). Morgan Kaufmann. https://www.sciencedirect.com/science/book/9780128110270
- GEERLING, J. 2015. Capítulo 11: “Server Security and Ansible”. Sección “A brief history of SSH and remote access” en Ansible for DevOps: Server and configuration management for humans. LeanPub. https://www.jeffgeerling.com/blog/brief-history-ssh-and-remote-access
- YLONEN, T.; LONVICK. C. 2006. “RFC 4251: The Secure Shell (SSH) Protocol Architecture”. The Internet Society. https://tools.ietf.org/html/rfc4253
Referencias
- NANNI, K.; OBSER, F.; SNIJDERS, J. 2025. “SSH File Transfer Protocol”. IETF Trust. (propuesta de estandarización de de la versión más implementada: v3) https://www.ietf.org/archive/id/draft-spaghetti-sshm-filexfer-00.html