Administración y Gestión de Redes
Servicios de acceso remoto II: SSH
Servicios de acceso remoto II: SSH. Autor: Enrique V. Bonet Esteban
Introducción. Secure SHell es un protocolo que permite crear conexiones seguras entre dos ordenadores. Usando SSH, la mquina del cliente inicia una conexión con la mquina del servidor mediante una sesión ci!rada, imposi"ilitando que alguien pueda o"tener una contrase#a o cualquier otro tipo de in!ormación que se env$e por la red %. SSH esta dise#ado para reempla&ar tanto los m'todos comunes de acceso remoto a un interprete de comandos de otro ordenador, tales como rlogin o telnet, como otros programas dise#ados para copiar !ic(eros entre ordenadores como por e)emplo rcp o !tp, pues estas aplicaciones no ci!ran las contrase#as entre el cliente y el servidor *. SSH proporciona los siguientes tipos de protección: •
Una ve& se (a reali&ado una primera conexión a un servidor, el cliente puede veri!icar que se est conectando al mismo servidor durante posteriores sesiones.
•
+l cliente transmite su in!ormación de autenticación al servidor, como el nom"re de usuario y la contrase#a, en !ormato ci!rado .
•
-odos los datos enviados y reci"idos durante la conexión se trans!ieren por medio de encriptación !uerte, lo cual los (acen extremamente di!$cil de desci!rar y leer por alguien a)ena a la comunicación.
•
+l cliente tiene la posi"ilidad de usar %% desde aplicaciones lan&adas desde el int'rprete de comandos. +sta t'cnica proporciona una inter!a& gr!ica segura / y un medio seguro para usar aplicaciones aplicaciones gr!icas so"re una red.
0omo el protocolo SSH ci!ra todo lo que env$a y reci"e, se puede usar para asegurar protocolos inseguros. +l servidor SSH puede convertirse en un conducto para convertir en seguros los protocolos inseguros mediante el uso de una t'cnica llamada reenv$o por puerto, como por e)emplo 121 3, incrementando la seguridad del sistema y la privacidad de los datos. Actualmente existen dos variedades di!erentes de SSH, la versión % y la versión *, siendo recomenda"le el uso de la versión *, pues la versión % de SSH contiene
%
+l uso de SSH requiere el uso de Secure Soc4et 5ayer 6SS57, que proporciona li"rer$as criptogr!icas para esta"lecer las comunicaciones encriptadas. * +ste reempla&o se reali&a mediante los programa s!tp o scp, los cuales utili&an SSH para su conexión. Actualmente, el ci!rado utili&ado es de %*8 "its, lo que lo convierte en un ci!rado ro"usto y muy di!$cil, por no decir imposi"le, de desci!rar si no se conoce la clave. / +sta t'cnica se conoce como reenv$o de %%. 3 121 es un protocolo de env$o !inal de correo electrónico que veremos en temas posteriores.
9o"le -i -itulación In In!ormtica -elemtica
%
Administración y Gestión de Redes
Servicios de acceso remoto II: SSH
algunos algoritmos de encriptación patentados ; y un agu)ero de seguridad que potencialmente permitir$a la inserción de datos !alsos en el !lu)o de datos.
Establecimiento de una conexión mediante SSH. +l esta"lecimiento de una conexión mediante SSH sucede en tres pasos sucesivos. %. 0reación de una capa de transporte segura 6-5S7 para que el cliente sepa que se est comunicando con el servidor correcto. 5uego se ci!ra la comunicación entre el cliente y el servidor por medio de un código sim'trico. *. Autenticación del cliente ante el servidor, sin preocuparse de que la in!ormación de autenticación pueda ponerse en peligro. . Uso de la conexión esta"lecida por los servicios que requieran una conexión segura, como pueden ser un interprete de comandos, una aplicación %% o un t
Creación de la capa de transporte segura. +l papel principal de la capa de transporte, que se e)ecuta de !orma normal so"re -01=I1, es el de !acilitar una comunicación segura entre los dos ordenadores tanto en el momento de la autenticación como con posterioridad. 1ara ello, la capa de transporte veri!ica que el servidor sea la mquina correcta para la autenticación, se ocupa del ci!rado y desci!rado de la in!ormación y proporciona protección a la integridad de los paquetes de datos cuando son enviados y reci"idos. Adems, la capa de transporte tam"i'n puede comprimir los datos a enviar, acelerando la transmisión de la in!ormación. Al esta"lecer la comunicación mediante SSH, un cliente negocia con el servidor varios aspectos que permitirn construir la capa de transporte correctamente. +sa negociación se produce en los siguientes pasos: %. Intercam"io inicial de claves. *. Selección del algoritmo de clave p<"lica utili&ado. . Selección del algoritmo de encriptación sim'trico utili&ado. /. Selección del algoritmo de autenticación de mensa)es utili&ado. 3. Selección del algoritmo de (as( utili&ado. +l servidor se identi!ica ante el cliente con una clave de ordenador durante el intercam"io de claves. 2"viamente, si el cliente nunca se (a"$a conectado con el servidor, la clave del servidor le resultar desconocida al cliente. SSH evita este pro"lema permitiendo que el cliente acepte la clave de ordenador del servidor la primera ;
Algunas de las patentes de esos algoritmos ya (an caducado.
9o"le -itulación In!ormtica -elemtica
*
Administración y Gestión de Redes
Servicios de acceso remoto II: SSH
ve& que se lleva a ca"o una conexión SSH >. 5uego la clave de ordenador servidor se puede veri!icar con la versión guardada en el cliente en las siguientes conexiones, proporcionando la con!ian&a que el cliente est realmente comunicando con el servidor deseado 8. 9espu's del intercam"io inicial de claves, y de la selección de los algoritmos a utili&ar, se crean dos valores, un valor de (as( usado para intercam"ios y un valor de secreto compartido, y los dos sistemas empie&an inmediatamente a calcular claves y algoritmos nuevos para proteger la autenticación y los datos que se enviarn a trav's de la conexión en el !uturo. 9espu's que una cierta cantidad de datos (a sido transmitida con un determinado algoritmo y clave 6la cantidad exacta depende de la e)ecución de SSH7, ocurre otro intercam"io de claves, el cual genera otro con)unto de valores de (as( y otro valor de secreto compartido. 9e esta manera aunque un agresor lograse determinar los valores de (as( y de secreto compartido, de"er repetir todo el procedimiento despu's de un intercam"io de claves nuevo para poder continuar desci!rando la comunicación.
Autenticación. 0uando la capa de transporte (a construido un t
Conexión. 9espu's de una autenticación exitosa so"re una capa de transporte SSH, se a"ren canales m
Generalmente, la aceptación se lleva a ca"o preguntando al usuario si desea aceptar esa clave como identi!icación valida de ese servidor. 8 Un agresor podr$a enmascararse como servidor SSH durante el contacto inicial ya que el sistema local no conoce la di!erencia entre el servidor en cuestión y el !also con!igurado por un agresor. 1are evitar que esto ocurra de"er$a veri!icar la integridad del nuevo servidor SSH contactando con el administrador del servidor antes de conectarse por primera ve&. @ Una conexión multiplexada consiste en varias se#ales enviadas simultneamente por un medio compartido. 0on SSH, se env$an varios canales en una conexión en com
9o"le -itulación In!ormtica -elemtica
Administración y Gestión de Redes
Servicios de acceso remoto II: SSH
comunicación para sesiones entre terminales di!erentes, el reenv$o de in!ormación por %% o cualquier servicio aparte que intente usar la conexión SSH. -anto el cliente como el servidor pueden crear un canal nuevo, asignando un n
Configuración de un servidor SSH. +l servidor de SSH se es el programa /usr/sbin/sshd, siendo arrancado el servicio de SSH mediante el comando: systemctl start sshd.service
5a con!iguración del servidor se reali&a en el !ic(ero /etc/ssh/sshd_config, si "ien el !ic(ero de con!iguración a utili&ar puede modi!icarse mediante la opción -f %B. Un aspecto a destacar es que si el !ic(ero de con!iguración por de!ecto no existe, o "ien no existe el !ic(ero especi!icado mediante la opción C f , el servicio de SSH no se e)ecuta, mostrando un mensa)e de error que indica la !alta de un !ic(ero de con!iguración. 5as opciones principales de con!iguración del servidor de SSH se encuentran en la siguientes ta"las. +n ellas, todas las opciones que se encuentran marcadas por el s$m"olo D indican que solo estn disponi"les para la versión * del protocolo SSH.
Opción Accept+nvD AddressEamily AlloF-cpEorFarding GateFay1orts
Opciones generales Descripción Indica las varia"les de am"iente enviadas por el cliente que sern aceptadas por el servidor. +speci!ica la !amilia de direcciones I1 aceptadas por el servidor, los valores pueden ser any, inet ó inet6. Autori&a el reenv$o de puertos. +speci!ica si ordenadores remotos estn autori&ados a utili&ar puertos reenviados a otros clientes. 5os valores posi"les son no, yes y clientspecified.
%B
Valor por defecto inguna varia"le es aceptada. any ?es o
+xisten muc(as ms opciones que permiten modi!icar el !uncionamiento del servidor. Si se desean conocer consultar la pgina de manual mediante man sshd.
9o"le -itulación In!ormtica -elemtica
/
Administración y Gestión de Redes
Servicios de acceso remoto II: SSH
Opciones generales Opción Descripción 5istenAddress 9irección I1 local que escuc(a las conexiones entrantes. 1ueden especi!icarse varias entradas para indicar varias direcciones de red. 1ort 1uerto en que permanece a la escuc(a el servidor en espera de conexiones. 1ueden especi!icarse varias entradas para especi!icar varios puertos distintos. 1rotocol ersión de los protocolos SSH soportados por el servidor y orden de pre!erencia. -01eepAlive Indica si de"en enviarse paquetes para compro"ar si la conexión con el cliente se encuentra activa. Use9S Indica si se de"e reali&ar una compro"ación inversa de la identidad del cliente. Use1rivilegeSeparation Indica si SSH crear un proceso (i)o sin privilegios una ve& el usuario (a accedido al sistema. Opciones de configuración de acceso Opción Descripción Aut(ori&edeysEile Eic(ero con las claves p<"licas usadas para autenticación. 0(allengeResponseAut(entication Indica si el intercam"io de respuestas de autenticación es permitido. 0ip(ersD Indica los ci!rados permitidos por el protocolo. GSSA1IAut(enticationD +speci!ica si la autenticación "asada en GSSA1I es permitida. GSSA1I0leanup0redentialsD +speci!ica si las credenciales son automticamente destruidas cuando termina la sesión. Host"asedAut(enticationD Autori&a el acceso mediante clave p<"lica de usuarios de los ordenadores indicados en rhosts o en /etc/hosts.equiv. Hostey +speci!ica el !ic(ero que contiene la clave privada del servidor. Sus valores por de!ecto son /etc/ssh/ssh_host_key para la version % y /etc/ssh/ssh_host_rsa_key y /etc/ssh/ssh_host_dsa_key para la versión *. IgnoreR(osts 9eniega el uso de los !ic(eros .rhosts y .shosts en el acceso remoto. IgnoreUsernoFHosts 9eniega el uso del !ic(ero ~/.ssh/know_hosts para encontrar los ordenadores conocidos. 5oginGrace-ime -iempo, en segundos, antes de que se cierre la sesión de autenticación. 5og5evel In!ormación que se escri"ir en los accesos. Sus valores posi"les son, de menor a mayor in!ormación KUI+-, EA-A5, +RR2R, IE2, +RL2S+, 9+LUG, 9+LUG%, 9+LUG* y 9+LUG. MaxAut(-ries
9o"le -itulación In!ormtica -elemtica
3
Valor por defecto -odas las direcciones. ** -01.
ersión *. ?es ?es ?es
Valor por defecto =.ss(=aut(ori&edJ4eys. ?es -odos. o ?es
o
er descripción.
?es o
%*B segundos. IE2
; %B ?es o ?es
Administración y Gestión de Redes
Opción 1ermitUser+nvironment 1u"4eyAut(enticationD R(ostsRSAAut(entication
RSAAut(entication Use5ogin Use1AM
Servicios de acceso remoto II: SSH
Opciones de configuración de acceso Descripción +speci!ica si las varia"les de am"iente del usuario sern procesadas por SSH. 1ermite la autenticación mediante clave p<"lica. Indica si se permite el uso de rhost o /etc/hosts.equiv en la autenticación mediante RSA. Solo aplica"le a la versión % del protocolo. 1ermite la autenticación mediante RSA. Solo aplica"le a la versión % del protocolo. Indica si se utili&a login para compro"ar el acceso de los usuarios. Indica si se utili&a 1AM para compro"ar el acceso de los usuarios.
Valor por defecto o ?es o
?es o o
Opciones de usuarios y grupos Opción Descripción AlloFGroups 5ista de nom"res de grupos, separados por espacios, cuyos miem"ros, sea como grupo primario o grupo suplementario, tienen permitido el acceso al sistema mediante SSH. 1ueden utili&arse los caracteres comod$n D e N. AlloFUsers 5ista de nom"res de usuarios, separados por espacios, cuyo acceso al sistema esta permitido por SSH. 1uede tomar la !orma usuarioOordenador, compro"ando entonces tanto el nom"re del usuario como el nom"re del ordenador desde el que intenta el acceso. 1ueden utili&arse los caracteres comod$n D e N. 9enyGroups 5ista de nom"res de grupos, separados por espacios, cuyos miem"ros, sea como grupo primario o grupo suplementario, no tienen permitido el acceso al sistema mediante SSH. 1ueden utili&arse los caracteres comod$n D e N. 9enyUsers 5ista de nom"res de usuarios, separados por espacios, cuyo acceso al sistema no esta permitido por SSH. 1uede tomar la !orma usuarioOordenador, compro"ando entonces tanto el nom"re del usuario como el nom"re del ordenador desde el que intenta el acceso. 1ueden utili&arse los caracteres comod$n D e N.
Valor por defecto -odos los grupos.
-odos los usuarios.
ing
ing
+l orden de procesamiento de las opciones de usuarios y grupos es: Denysers, !llowsers, Deny"roups, !llow"roups. Si se especi!ican entradas en Denysers o Deny"roups, los usuarios o grupos especi!icados tienen denegado el acceso por SSH, mientras que el resto de usuarios o grupos pueden tener acceso. Si se especi!ican entradas en !llowsers o !llow"roups, solo los usuarios o grupos especi!icados tienen permitido el acceso por SSH al sistema, teniendo el resto de usuarios o grupos no especi!icados denegado el acceso al sistema por SSH. Opciones de reenvío de conexiones !! Opción Descripción %%9isplay2!!set Indica el primer identi!icador de pantalla que utili&ar SSH en sus conexiones %% para no inter!erir con los identi!icadores locales %%. %%EorFarding 1ermite el reenv$o de conexiones %%. %%Use5ocal(ost Indica si SSH escuc(a las conexiones %% en el inter!a& de loop"ac4 o en los otros inter!a& de red existentes. Aut(5ocation Indica la locali&ación del programa de autori&ación de acceso mediante %%.
9o"le -itulación In!ormtica -elemtica
;
Valor por defecto %B
o ?es =usr="in=xaut(
Administración y Gestión de Redes
Servicios de acceso remoto II: SSH
Otras opciones de configuración Opción Descripción LannerD Muestra un mensa)e antes de acceder al servidor de SSH. 0lientAlive0ountMaxD
Valor por defecto Sin ning
o activado 6valor B7. 9elayed.
inguno. ?es ?es ?es
inguno.
Adems del !ic(ero anterior, existen una serie de !ic(eros en el directorio /etc/ssh que son utili&ados por el servidor de SSH. +stos !ic(eros son: •
moduli: 0ontiene grupos 9i!!ieCHellman usados para el intercam"io de la clave mediante el algoritmo de 9i!!ieCHellman. +ste intercam"io de claves es imprescindi"le para la construcción de una capa de transporte segura. 0uando se intercam"ian las claves al inicio de una sesión SSH, se crea un valor secreto y compartido que no puede ser determinado por am"as partes a la misma ve&. +ste valor se usa para proporcionar la autenti!icación del ordenador.
•
ssh_host_key: 5a clave privada RSA usada por ss(d en la versión %.
•
ssh_host_key.pub: 5a clave p<"lica RSA usada por ss(d en la versión %.
•
ssh_host_dsa_key: 5a clave privada 9SA usada por ss(d en la versión *.
•
ssh_host_dsa_key.pub : 5a clave p<"lica 9SA usada por ss(d en la versión *.
•
ssh_host_rsa_key: 5a clave privada RSA usada por ss(d en la versión *.
•
ssh_host_rsa_key.pub : 5a clave p<"lica RSA usada por ss(d en la versión *.
0ada ve& que un servidor de SSH es instalado, se crean un con)unto nuevo de claves de identi!icación, con lo que cualquier cliente que ya cono&ca la clave de identi!icación del servidor mostrar un mensa)e como: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFIATION HAS HANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS "OSSI#$E THAT SOMEONE IS DOING SOMETHING NAST%! S&me&'e c&(ld )e eavesdr&**i'+ &' y&( ri+ht '&, -ma'i'themiddle attac/0!
9o"le -itulación In!ormtica -elemtica
>
Administración y Gestión de Redes
Servicios de acceso remoto II: SSH
It is als& *&ssi)le that the RSA h&st /ey has 1(st )ee' cha'+ed.
1ara evitar esto, el servidor de"e mantener las claves antiguas del sistema y restaurarlas con posterioridad. +ste proceso es tan sencillo como reali&ar una copia de seguridad de los !ic(eros /etc/ssh/ssh_host#key# y restaurarlos una ve& (a sido reinstalado el servidor de SSH.
Creación de un par de claves pública/privada para acceso remoto. 0omo (emos podido ver, existe la posi"ilidad de permitir que un usuario acceda a un servidor de SSH utili&ando autenticación "asada en un par de claves p<"lica=privada. 5a creación de este par de claves p<"lica=privada se reali&a mediante el comando: ssh/ey+e' t 2ti*&3
9onde $tipo% de"e ser rsa& para RSA de la versión % del protocolo y rsa ó dsa para RSA ó 9SA de la versión * del protocolo. +n todos los casos, se nos solicitar una contrase#a de acceso %% a la clave privada, la cual de"e de)arse vac$a si no se desea tener que introducirla cada ve&. 5os !ic(eros creados en cada caso se encuentran en la ta"la siguiente %*: "ic#ero =.ss(=identity =.ss(=identity.pu" =.ss(=idJdsa =.ss(=idJdsa.pu" =.ss(=idJrsa =.ss(=idJrsa.pu"
Descripción 0ontiene la clave privada RSA para la versión % del protocolo SSH. 0ontiene la clave p<"lica RSA para la versión % del protocolo SSH. 0ontiene la clave privada 9SA para la versión * del protocolo SSH. 0ontiene la clave p<"lica 9SA para la versión * del protocolo SSH. 0ontiene la clave privada RSA para la versión * del protocolo SSH. 0ontiene la clave p<"lica RSA para la versión * del protocolo SSH.
0uando deseamos acceder a un ordenador remoto mediante este m'todo, adems de que el servidor remoto de"e tener permitida la opción, de"emos a#adir al !ic(ero ~/.ssh/authori'ed_keys en el usuario del servidor remoto la clave p<"lica con la que deseamos acceder.
Configuración de un cliente SSH. +l cliente de SSH existente en 5inux es /usr/bin/ssh. 5a con!iguración por de!ecto del mismo se reali&a mediante el !ic(ero /etc/ssh/ssh_config, siendo sus principales opciones las expuestas en la ta"la siguiente: Opción Host
Descripción Valor por defecto Restringe las declaraciones que se (agan a inguno. continuación a los ordenadores identi!icados (asta la siguiente aparición de Host. 1ueden usarse los caracteres comod$n D e N.
%%
5a contrase#a es ci!rada utili&ando 9+S. Recu'rdese que el s$m"olo (ace re!erencia al directorio ra$& de cada usuario.
%*
9o"le -itulación In!ormtica -elemtica
8
Administración y Gestión de Redes
Opción AddressEamily LindAddress 0(ec4HostI1 +scape0(ar EorFardAgent EorFard%% GateFay1orts 5ocalEorFard
5og5evel
um"er2!1assFord1rompts 1rotocol RemoteEorFard
Servicios de acceso remoto II: SSH
Descripción +speci!ica la !amilia de direcciones I1 aceptadas por el servidor, los valores pueden ser any, inet ó inet6. 9irección I1 a enviar en ordenadores con m
Valor por defecto any inguno. ?es o o o. inguno.
IE2
ersión *. inguno.
Adems del !ic(ero anterior, existen una serie de !ic(eros, en el directorio ~/.ssh que permiten modi!icar la con!iguración por de!ecto. 9e estos !ic(eros, ya (emos visto con anterioridad los !ic(eros que contienen los pares de claves p<"licas=privadas 6identity, identity.pub, id_dsa, id_dsa.pub, id_rsa e id_rsa.pub7 y el !ic(ero con las claves p<"licas conocidas y autori&adas 6 authori'ed_keys7. 5os otros dos !ic(eros son: •
config: Eic(ero de con!iguración que se utili&a, si existe, en lugar del !ic(ero de con!iguración por de!ecto del cliente.
•
known_hosts: +ste !ic(ero contiene las claves 9SA de los servidores SSH a los que se (a accedido desde este usuario. +ste !ic(ero inicialmente esta vac$o, insertndose en el mismo las l$neas de los servidores que son aceptados la primera ve& que el usuario se conecta al mismo. 5a inserción en el mismo de las claves la primera ve& se reali&a, generalmente, de !orma manual, reci"iendo esta primera ve& el siguiente mensa)e: The a(the'ticity &4 h&st 5+l(*.(v.es5 ca'5t )e esta)lished. RSA /ey 4i'+er*ri't is 67:89:a:a:)c:4:6a:6):;<:=d:):;>:9:e?:<<:;c. Are y&( s(re y&( ,a't t& c&'ti'(e c&''ecti'+ -yes'&0
Si respondemos de !orma a!irmativa, la clave RSA de ese servidor se copiara al !ic(ero )unto con la identi!icación del ordenador, de !orma que en posteriores conexiones podremos veri!icar su identidad y, en caso de que no coincida, el cliente rec(a&ara la conexión.
9o"le -itulación In!ormtica -elemtica
@
Administración y Gestión de Redes
Servicios de acceso remoto II: SSH
+n el caso de que las claves del servidor estn alteradas leg$timamente de"ido a una reinstalación del sistema, para conectarse al servidor, el usuario de"e a"rir el !ic(ero known_hosts con un editor de textos y "orrar la clave para ese ordenador. +sto permite que el cliente SSH cree una nueva clave para ese ordenador.
Uso del cliente de SSH. +l cliente de SSH posee un gran n
9onde usuario indica el nom"re del usuario con el que deseamos acceder al servidor%, servidor es el nom"re del servidor y comando es el comando que deseamos e)ecutar, o"teniendo una s(ell del sistema si no se especi!ica el comando. 1or e)emplo, para acceder con el nom"re del usuario actual al servidor glup.uv.es, "asta con escri"ir en el int'rprete de comandos: ssh +l(*.(v.es
5a primera ve& que un usuario e)ecuta ss( contra un servidor remoto, aparece un mensa)e similar al siguiente: The a(the'ticity &4 h&st 5+l(*.(v.es5 ca'5t )e esta)lished. RSA /ey 4i'+er*ri't is 67:89:a:a:)c:4:6a:6):;<:=d:):;>:9:e?:<<:;c. Are y&( s(re y&( ,a't t& c&'ti'(e c&''ecti'+ -yes'&0
Si se escri"e yes, se a#adir el servidor a la lista de ordenadores conocidos por el usuario 6~/.ssh/known_host 7, mostrndose el siguiente mensa)e: War'i'+: "erma'e'tly added list &4 /'&,' h&sts.
5+l(*.(v.es<7>.<=8.???.8=5 -RSA0
t&
the
A continuación, aparece un indicador de comandos preguntando la contrase#a desde el ordenador remoto. 9espu's de introducir la contrase#a, se e)ecutar un interprete de comandos en el ordenador remoto. Si deseamos especi!icar un nom"re de usuario di!erente, por e)emplo root , podemos escri"ir cualquiera de las dos opciones siguientes: ssh l r&&t +l(*.(v.es ssh r&&t@+l(*.(v.es
? si deseamos e)ecutar un comando, por e)emplo ls /usr/share/doc en el ordenador glup.uv.es, como usuario root , la l$nea de comandos es: ssh r&&t@+l(*.(v.es ls (srshared&c %
Si no se especi!ica ning
9o"le -itulación In!ormtica -elemtica
%B
Administración y Gestión de Redes
Servicios de acceso remoto II: SSH
Una ve& que introdu&ca la contrase#a correcta, se e)ecutar el comando y se mostrar el contenido de /usr/share/doc, cerrando a continuación la conexión.
Transferencia de archivos mediante SSH. 5a trans!erencia de arc(ivos entre dos ordenadores mediante SSH se puede reali&ar mediante dos programas, scp y sftp. +l programa scp es similar a rcp%/, mientras que sftp es similar a ftp y pueden considerarse las versiones seguras de esos dos programas inseguros de trans!erencia de !ic(eros por la red. +l programa /usr/bin/scp se utili&a para trans!erir !ic(eros entre ordenadores de !orma segura y encriptada. 5a sintaxis general, para trans!erir un !ic(ero local a un sistema remoto es la siguiente: sc* 4icher&l&cal (s(ari&@&rde'ad&rdesti'&:4icher&rem&t&
9onde fichero_local especi!ica el origen, y usuario(ordenador_destino)/fichero_remoto especi!ica el destino. 1or e)emplo, para trans!erir el !ic(ero local enviar.t*t a nuestra cuenta en glup.uv.es, el comando es: sc* e'viar.tt (s(ari&@+l(*.(v.es:h&me(s(ari&
+sto tras!erir el !ic(ero local enviar.t*t a /home/usuario/enviar.t*t en el ordenador aglup.uv.es. 9e !orma similar, la sintaxis general para trans!erir un !ic(ero remoto a un sistema local es: sc* (s(ari&@&rde'ad&r&ri+e':4icher&rem&t& 4icher&l&cal
9onde fichero_remoto especi!ica el origen, y fichero_local especi!ica el destino. Se pueden trans!erir varios !ic(eros di!erentes del origen al destino. 1or e)emplo, para trans!erir el contenido del directorio /descargar a un directorio existente llamado /descargados en el ordenador remoto robotica.uv.es , el comando es: sc* descar+ar (s(ari&@+l(*.(v.es:descar+ad&s
1or su parte, el programa /usr/bin/sftp permite a"rir una conexión segura e interactiva de E-1, pudiendo e)ecutar cualquier comando disponi"le en E-1 a trav's de esta conexión encriptada y por tanto segura. s4t* (s(ari&@&rde'ad&r
Siendo solicitada la contrase#a del usuario y, una ve& aceptada dic(a contrase#a, e)ecutar cualquier comando de E-1 valido.
%/
Se puede considerar scp como una versión simpli!icada de E-1 que vimos con anterioridad.
9o"le -itulación In!ormtica -elemtica
%%
Administración y Gestión de Redes
Servicios de acceso remoto II: SSH
eenv!o de conexiones mediante SSH. Adems de proporcionar una inter!a& de l$nea de comandos segura, SSH permite redirigir conexiones %% %3 y puertos inseguros por un canal SSH previamente a"ierto.
Reenvío de X11. +n primer lugar, para poder reali&ar un reenv$o de %%, el cliente de SSH de"e estar e)ecutando un servidor de , pues en caso contrario las ordenes enviadas por la aplicación que se e)ecuta en el ordenador remoto no podrn e)ecutarse al no encontrarse el servidor que las interprete. Adems, tanto el cliente como el servidor de"en tener (a"ilitada en su con!iguración la posi"ilidad de permitir el reenv$o de %%. 0uando un programa se e)ecuta desde un int'rprete de comandos seguro, el cliente y el servidor SSH crean un nuevo canal seguro dentro de la conexión SSH actual, y los datos del programa se env$an a trav's de ese canal a la mquina del cliente como si se estuviese conectado al servidor por medio de una terminal local. +l reenv$o de %% es muy
? se e)ecutar el programa en el ordenador cliente. 1ara poder e)ecutar de !orma automtica el reenv$o de una conexión %% sin necesidad de modi!icar !ic(eros de autori&ación del servidor , es necesario e)ecutar el cliente de SSH con la opción C?, de !orma que la conexión se reali&a con el comando: ssh % BCl (s(ari& C(s(ari&@2servid&r3
1or e)emplo: ssh % r&&t@r&)&tica.(v.es
Reenvío de un puerto. SSH permite adems asegurar los protocolos -01=I1 a trav's del reenv$o de un puerto. Mediante esta t'cnica, el servidor SSH se convierte en un conducto ci!rado para el cliente SSH. +l reenv$o de un puerto !unciona mediante la redirección de un puerto local en el cliente en un puerto remoto del servidor. SSH permite redirigir cualquier puerto desde el servidor a cualquier puerto en el cliente, sin que los n
5a redirección de una conexión %% requiere un anc(o de "anda de transmisión elevado. Mostrar un relo) gr!ico del servidor en la ventana del cliente es un e)emplo sencillo, simple y de poco uso, pero t'ngase en cuenta que cualquier aplicación puede ser mostrada en el cliente. %;
9o"le -itulación In!ormtica -elemtica
%*
Administración y Gestión de Redes
Servicios de acceso remoto II: SSH
1ara crear un canal de reenv$o de puerto -01=I1 que escuc(a conexiones del ordenador local, el comando es %>: ssh 4 N $ *(ert&l&cal:&rde'ad&rrem&t&:*(ert&rem&t& (s(ari&@&rde'ad&rservid&r
Un e)emplo es el reenv$o del correo del servidor glup.uv.es que utili&a 121 a trav's de una conexión ci!rada utili&ando como servidor de SSH el propio ordenador. +l comando a e)ecutar es: ssh 4 N $ <<;;:+l(*.(v.es:<<; +l(*.(v.es
Una ve& que el canal de reenv$o de puerto entre las dos mquinas se esta"lece, cualquier petición enviada al puerto %%BB en el ordenador local ser dirigida al servidor de 121 de glup.uv.es mediante una conexión segura %8. Si glup.uv.es no est e)ecutando un demonio del servidor SSH, pero tenemos la posi"ilidad de acceder mediante SSH a otro ordenador, por e)emplo, amparo.uv.es , es posi"le usar SSH para asegurar la parte de la conexión 121 mediante el comando: ssh 4 N $ <<;;:+l(*.(v.es:<<; am*ar&.(v.es
+n este e)emplo, se est reenviando la petición 121 desde el puerto %%BB en el ordenador a trav's de una conexión SSH en el puerto ** a amparo.uv.es , el cual conecta a su ve& con el puerto %%B de glup.uv.es para permitir que se comprue"e el correo. Mediante el uso de esta t'cnica, sólo es segura la conexión entre el ordenador local y amparo.uv.es.%@ +l reenv$o del puerto se puede usar para o"tener in!ormación segura a trav's de los corta!uegos de red, de !orma que si un corta!uegos est con!igurado para permitir el tr!ico SSH a trav's del puerto estndar 6puerto **7, pero "loquea el acceso a trav's de otros puertos, es posi"le todav$a una conexión entre dos ordenadores usando los puertos "loqueados al redirigir la comunicación so"re una conexión SSH esta"lecida *B.
E"ercicios. %C 0on!igurar un servidor de SSH de !orma que permita tan solo el uso de la versión * del protocolo y el acceso de los usuarios mediante la introducción de su usuario y contrase#a, impidiendo el uso de cualquier otro m'todo alternativo. %>
5a con!iguración del reenv$o de un puerto para que escuc(e puertos privilegiados 6puerto in!eriores al %B*/7 requiere acceso de administrador 6root7. %8 1or tanto, "astar$a con indicarle a nuestro cliente de 121 que utili&ase el puerto %%%B local como puerto del servidor de 121. %@ +ste uso tiene sentido si amparo.uv.es se encuentra en la misma su"red que glup.uv.es, pues permite asegurar la transmisión a trav's de toda la red Internet (asta llegar a esa su"red. *B Mediante el uso del reenv$o de puerto para reenviar conexiones de este modo permiten al usuario en el sistema cliente conectarse al servicio al que se estn reenviando las conexiones. Si el sistema del cliente se convierte en un sistema comprometido, el agresor tendr acceso a los servicios reenviados. Si se desea des(a"ilitar el reenv$o del puerto, "asta especi!icar el valor o en la l$nea !llow+cp,orwarding en el !ic(ero de con!iguración del servidor de SSH.
9o"le -itulación In!ormtica -elemtica
%
Administración y Gestión de Redes
Servicios de acceso remoto II: SSH
*C 0on!igurar un servidor de SSH que permita el uso de las versiones * y % del protocolo en este orden. +l servidor de"er permitir el acceso a los usuarios del grupo PadministraciónQ, denegando el acceso al resto de usuarios. C Un ordenador posee dos inter!aces de red, uno p<"lico de I1 %/>.%3;.***.;3 y otro privado de I1 %@*.%;8.B.%. 9eseamos con!igurar el servidor de SSH de !orma que escuc(e tan solo el inter!ace de red p<"lico, de"iendo permitir tan solo el uso de la versión * del protocolo y permitir el reenv$o de conexiones %%. /C Un cliente de SSH desea conectarse a un servidor de !orma que pueda reenviar conexiones %%. Indicar las con!iguraciones necesarias tanto del cliente como del servidor. 3C 9eseamos con!igurar un cliente y un servidor de SSH de !orma que permitan el reenv$o de puertos. Indicar las con!iguraciones necesarias en los !ic(eros. ;C 9eseamos que nuestro cliente de SSH pueda acceder a un servidor de SSH utili&ando un par de claves p<"lica=privada. Indicar tanto los !ic(eros de con!iguración del cliente y el servidor como los comandos necesarios para crear y mane)ar las claves. >C Un servidor, de nom"re servidor.uv.es , dispone de un servicio no seguro e)ecutndose en su puerto % -01. 9eseamos crear un canal seguro entre nuestro ordenador y el servidor para acceder a dic(o servicio. Indicar el comando necesario si el servidor e)ecuta el servicio de SSH y am"os ordenadores se encuentran con!igurados para permitir el reenv$o de puertos.
9o"le -itulación In!ormtica -elemtica
%/