Túneles SSH y los recursos de la UPM
Así como el que no quiere la cosa, se puede descubrir que la combinación
consistente en: túnel SSH + un poco de inventiva, nos puede dejar acceder a
ciertos servicios que la UPM/Teleco ponen a nuestra disposición... ¡desde casa!
Estos servicios son:
- Proxy
- News
- Servidor de correo saliente (SMTP)
¿Qué es un túnel SSH?
Con cuatro palabras: un mecanismo mediante el cual habilitas un puerto
en tu ordenador y una conexión encriptada a una seguna máquina. Todos los datos
que vayan a ese puerto específico se pasarán por la conexión segura al segundo
ordenador, el cual a su vez puede reenviar eso a otro tercer dispositivo (o a sí
mismo).
Un ejemplo:
ssh -L PUERTO_LOCAL:TERCERA_MAQUINA:PUERTO_EN_TERCERA_MAQUINA fulano@SEGUNDA_MAQUINA
Hay que tener en cuenta que TERCERA_MAQUINA es el nombre del tercer
ordenador tal y como se ve desde SEGUNDA_MAQUINA. Es decir, si pusiésemos:
ssh -L 8080:localhost:3128 fulano@segunda_maquina
Estaríamos accediendo al puerto 3128 de la propia segunda_maquina (a
través del puerto 8080 de nuestro ordenador).
<hr>
La utilidad de todo esto.
Desde ordenadores pertenecientes al rango IP de la UPM (138.100.X.X ó
138.4.X.X) se puede acceder a:
- proxy.upm.es (puerto 3128) - proxy de la UPM
- news.upm.es (puerto 119) - servidor de news de la UPM
- alumnos.etsit.upm.es (puerto 25) - servidor de correo de la ETSIT
El problema, claro está, es que desde casa nuestra IP no pertenece a ese
rango, por lo que:
discover@redDwarf$ telnet proxy.upm.es 3128
Trying 138.100.4.44...
Connected to leonardo.ccupm.upm.es.
Escape character is '^]'.
GET http://www.google.com HTTP/1.1
HTTP/1.0 403 Forbidden
Server: Squid/2.4.STABLE4
Mime-Version: 1.0
Date: Sat, 15 Mar 2003 19:23:21 GMT
Content-Type: text/html
Content-Length: 665
Expires: Sat, 15 Mar 2003 19:23:21 GMT
X-Squid-Error: ERR_ACCESS_DENIED 0
[...Aquí hay más cosas...]
Es decir, no se nos permite el acceso. Lo mismo ocurre con el servidor
de news:
discover@redDwarf$ telnet news.upm.es 119
Trying 138.100.251.9...
Connected to ntred.ccupm.upm.es.
Escape character is '^]'.
502 You have no permission to talk, (reverse dns disabled, see nodns in
dnews.conf) {AQUI_PONE_MI_IP}, Goodbye
Connection closed by foreign host.
Y con un poco de ayuda de los túneles SSH y nuestra cuenta en
alumnos.etsit.upm.es, podemos llegar a utilizar estos servicios.
Al usar el túnel, la tercera máquina reconoce la petición como
proviniente de la segunda (que a su vez, nos reenviará los datos obtenidos a
través del canal encriptado). Por tanto, hacemos esto:
ssh -L 1900:news.upm.es:119 usuario@alumnos.etsit.upm.es
Introducimos nuestra contraseña y estamos dentro de la cuenta. Conviene
poner en segundo plano alguna tarea automática para evitar que se nos cierre la
sesión por timeout.
Y en otra terminal distinta:
discover@redDwarf$ telnet localhost 1900
Trying 127.0.0.1...
Connected to redDwarf.
Escape character is '^]'.
200 ntred.ccupm.upm.es DNEWS Version 5.0j, S0, posting OK
¡Uooooooh! Ahora podemos entrar a las news de la UPM (ntred.ccupm.upm.es es lo mismo que news.upm.es) :-) Maravilloso, ¿verdad? Lo mismo se puede aplicar al proxy. ¿Y el correo saliente? Usando la propia máquina de alumnos.etsit.upm.es (puerto 25).
Espero que esta información os sea útil. Recordad que la red de la UPM
está ahí para usarse con fines de comunicación (aunque a veces parece que está
para ir cerrándola poco a poco).
Todo lo escrito en este documento se ha realizado con fines académicos y
para ser de utilidad a los alumnos de la ETSI de Telecomunicación, y en
general a cualquier alumno de la UPM. Se permite la libre distribución de este
artículo siempre que se respete la integridad del mismo (incluyendo este mensaje
final).
"Lo maravilloso de la guerra es que cada jefe de asesinos hace bendecir sus
banderas antes de lanzarse a exterminar a su prójimo."
Voltaire. (1694-1778) Filósofo y escritor francés.