Instalación de un canal cifrado con F-Secure.


Indice.


1.- Introducción.

Este programa ha sido designado para reemplazar aplicaciones ejecutadas por un cliente con la finalidad de lograr tráfico seguro cifrando el canal, y obtener conexiones autentificadas para los equipos UNIX y Linux.

Esta guía de instalación se divide en tres secciones:

  1. Introducción al F-Secure SSH. Información sobre los productos F-Secure SSH y el protocolo SSH, como se crea la seguridad y qué métodos de criptografía utiliza.
  2. Guía de Instalación. Pasos a realizar durante el proceso de instalación.
  3. Guía del usuario. Tareas a realizar cuando se usen los sistemas remotos. Incluye la generación de identidad RSA, autentificación RSA, configuración de terminales, etc.
  4. Guía del administrador. Presenta varias utilidades UNIX integradas con F-Secure SSH.
Para instalar el cliente Windows es necesario tener un equipo 386 o superior con 4 Mb de RAM y 3 Mb de espacio en el disco duro.

Data Fellows provee soporte técnico para una gran variedad de servicios, indicando el mensaje de error, el número de versión del F-Secure SSH y el modelo del equipo la empresa. Su dirección de correo es:
F-Secure-SSH@DataFellows.com.

Y su URL es http://www.DataFellows.com con FTP anónimo en la dirección: ftp://ftp.Europe.DataFellows.

2.- Introducción al F-Secure SSH.

2.a.- Seguridad Transparente.

2.a.1.- Familia de productos F-Secure.

F-Secure utiliza el protocolo SSH como mecanismo de cifrado para la capa de transporte, ofreciendo a equipos que establecen la comunicación privacidad de su identidad, protección de datos y autentificación de usuarios.

La tecnología de cifrado ha sido descubierta en Europa por lo que no esta bajo la regulación de exportación U.S/I.T.A.R.

Los productos se pueden usar en todos los países donde el cifrado es legal, y se venden con una prelicencia de patente de algoritmos de cifrado para mayor seguridad.

El "F-Secure SSH Unix Server" puede usarse con los clientes de distintos sistemas operativos como Windows, Macintosh o UNIX. El servidor para UNIX incluye herramientas para asegurar la administración del sistema, estas herramientas están preparadas para la transferencia de ficheros y asegurar las copias de seguridad (backups) utilizando cifrado por clave pública.

2.a.2.- El servidor de F-Secure.

Este servidor ofrece a los usuarios conexiones seguras, transferencia de ficheros, X11 y conexiones TCP/IP sobre redes inseguras. Utiliza sesiones cifradas automáticas y protección total para todos los datos transferidos. Utiliza RSA para el intercambio de claves y autentificación, mientras que para cifrar los datos transferidos se puede usar algoritmos simétricos, el sistema "Blowfish" o triple-DES de tres claves (3 DES).

Los administradores de red pueden utilizar herramientas del paquete del servidor para reemplazar rsh, rlogin, rcp, rdist y Telnet. Por ello los administradores podrán conectarse desde cualquier lugar, además se incluye una herramienta para copias de seguridad con RSA.

Como soporta TCP/IP es posible conectarse a un puerto y desechar las posibles conexiones inseguras de un canal sin cifrar. El puerto por defecto que utiliza SSH es el 22.

2.a.3.- El cliente F-Secure SSH.

El cliente SSH proporciona a los usuarios una identificación por login y contraseña segura cuando estos datos atraviesan redes inseguras. El cliente actúa reemplazando al protocolo Telnet con las ventajas de autentificación criptográfica, sesiones de cifrado automáticas y métodos de protección integrales definidos por el protocolo SSH. Los clientes SSH soportan la emulación de terminal VT100 y los colores ANSI.

Incluso soportan la redirección de puertos para dirigir conexiones inseguras sobre un canal seguro. La redirección de puertos funciona creando un servidor proxy para un puerto fuente que utilice el servicio TCP/IP. El proxy espera en la máquina local por una conexión desde el programa cliente hacia el puerto fuente, después SSH dirige la petición y los datos sobre el canal seguro del sistema remoto. Al final el servidor SSH del equipo remoto realiza la conexión final al puerto del equipo destino.

Es posible asegurar la mayoría de los servicios que usen TCP/IP, incluyendo aplicaciones cliente-servidor, bases de datos, y servicios como HTTP, Telnet, POP, SMTP, etc.

2.b.- El protocolo SSH.

SSH es un paquete basado en un protocolo binario que trabaja con el transporte de un flujo de datos binarios. Normalmente usa TCP/IP como transporte pero permite usar un programa proxy para pasar datos hacia/desde el servidor.

El mecanismo de intercambio de paquetes con su autentificación, el intercambio de claves, el cifrado y los mecanismos de integridad forman la seguridad a nivel de la capa de transporte, los cuales son los que se usan para implementar las conexiones seguras.

2.b.1.- Autentificación del servidor.

El servidor envía su clave pública y otra clave pública RSA que cambia cada hora. El cliente compara la clave del servidor en su base de datos de claves conocidas.

El servidor SSH preguntará si acepta la clave pública de un equipo desconocido para almacenarla en su base de datos, se puede configurar para rechazar el acceso a cualquier equipo cuya clave no sea conocida.

El cliente genera un número aleatorio de 256 bits usando un generador de números aleatorios potente, y elige un algoritmo de cifrado de los soportados por el servidor, normalmente "Blowfish" o triple DES de tres claves (3DES). El cliente cifra el número aleatorio (clave de sesión) con RSA usando dos claves la del cliente y la del servidor, y envía la clave cifrada al servidor.

La función de la clave del cliente es para amarrar la conexión al servidor especificado (ya que solo el servidor puede descifrar la clave de sesión). El cambiar cada hora la clave del servidor se usa para que sea imposible grabar un histórico del tráfico realizado y así evitar el descifrado. La clave del cliente es de 1024 bits RSA y la clave del servidor es de 768 bits. Ambas claves son generadas usando potentes generadores de números aleatorios.

El servidor descifra el cifrado RSA y recupera la clave de sesión. Ambas partes comenzarán usando la clave de sesión y la conexión es ahora cifrada. El servidor envía una confirmación cifrada hacia el cliente. La recepción de la confirmación comunica al cliente que el servidor es capaz de descifrar la clave, esto mantiene las claves privadas.

En este momento esta autentificado el servidor utilizando cifrado a nivel de transporte con el protocolo SSH obteniendo total protección contra sniffers en el canal.

2.b.2.– Autentificación del usuario.

El usuario se puede autentificar en el servidor por varios mecanismos. El diálogo de autentificación del usuario es conducido por el cliente, el cual envía peticiones al servidor. La primera petición siempre pregunta el nombre del usuario para entrar. El servidor responde a cada petición con éxito o error.

Los métodos de autentificación soportados son:

  • Autentificación tradicional mediante contraseña, que se transmite por un canal cifrado.
  • Autentificación pura RSA. La idea es que la posesión de una clave particular RSA sirva como autentificación. El servidor tiene una lista de claves públicas aceptadas.
2.b.3.- Métodos de criptografía.

El protocolo SSH tiene implementado el algoritmo de criptografía RSA, las claves del servidor y las de los usuarios son de 1024 bits.

La clave del servidor que cambia cada hora es de 768 bits por defecto. Protege las sesiones de ser descifradas es difícil capturar esta clave del servidor ya que nunca se almacena en el disco duro.

El mecanismo de intercambio de claves se realiza cifrando la sesión con 256 bits dos veces usando RSA. Este es rellenado con números aleatorios no nulos antes de cada cifrado para protegerlo. La autentificación del servidor tiene añadida el intercambio de claves (el propietario de la clave privada debe descifrar la sesión y recibir la confirmación de que el cliente descifra la sesión con éxito).

La autentificación del cliente y la autentificación del usuario RSA están realizadas utilizando un intercambio desafío-respuesta, donde la respuesta es el MD5 del desafío descifrado junto con los datos obtenidos de la sesión.

La clave intercambia 256 bits de datos hacia el servidor. Los diferentes mecanismos de cifrado utilizan cantidades variables de claves: "Blowfish" usa 128 bits y tres claves triple-DES de 168 bits. Todos los números aleatorios son creados aleatoriamente por un potente generador de números aleatorios.

3.- Guía de instalación.

3.a.- Configuración del equipo.

Una vez descargado el cliente para Windows95 de la URL: ftp.Europe.DataFellows.com se procede a descomprimir el fichero ssh-1_2_21_tar.zip creando el directorio ssh. Antes de ejecutar la instalación de F-Secure SSH hay que cerrar todas las aplicaciones. El proceso de instalación es automático con el programa que suministra F-Secure.

  1. Ejecutar el programa setup del directorio ssh del conjunto de programas F-Secure SSH.
  2. Para finalizar basta seguir las instrucciones del programa de instalación de F-Secure SSH en el equipo una vez acabada la instalación se lanza el F-Secure Wizard para generar la identificación RSA.
3.b.- Programa generador de la identificación RSA.

Para usar autentificación RSA hay que crear un par de claves RSA con el programa de ayuda llamado "F-Secure SSH Generation Wizard".

Para utilizar este programa basta con pulsar dos veces el icono del programa Keygen.exe dentro del grupo de programas del F-Secure. Este programa de inicia automáticamente durante la configuración.

Primero pregunta el nombre del fichero que se usa como fichero de identidad, no se necesita extensión. La clave pública se distingue por la extensión .PUB, es recomendable que se use el fichero por defecto llamado IDENTITY. Después pulsar "Next".

A continuación pide un comentario para el fichero de identidad RSA, se recomienda que el comentario deberá ser el nombre de usuario y el nombre del equipo que tiene los ficheros de identidad, por ejemplo:
jjjb@neumann.teleco.ulpgc.es.

Para proteger el fichero identidad es necesario usar una frase de paso, al teclearla pedirá confirmación. Las mayúsculas y minúsculas se diferencian y no debe tener menos de 6 caracteres de longitud. Al acabar se pulsa "Next".

Para cifrar habrá que especificar el número de bits a utilizar como la longitud del par de claves RSA. Se recomienda una longitud de 1024 bits, un tamaño menor no es de confianza así que a mayor longitud de clave, mayor seguridad, con la desventaja de que claves largas ralentizan el proceso de autentificación. La clave mínima es de 512 bits. Para pasar a la pantalla siguiente pulsar el botón "Next".

Para crear una semilla aleatoria hay que mover el cursor del ratón en la pantalla de generación hasta que las barras indicadoras de creación de dichos números aleatorios lleguen al final. Cuando finalice se pulsa el botón "Next".

Este generador de claves aleatorias obtiene dos números primos, después calcula y verifica un par de claves para usarlas como identidad. Esto puede durar de uno a quince minutos, por lo que no hay que reiniciar el equipo si este no responde. Para empezar este proceso hay que pulsar el botón "Start" y esperar a que acabe la generación de claves para finalizar pulsar "NEXT".

El generador de claves de F-Secure esta preparado para salvar los ficheros de identidad, para finalizar el botón "Finish" salva la identidad RSA.

4.- Guía del usuario.

4.a.- Características básicas.

4.a.1.- Conectar con un host remoto.

La autentificación RSA esta basada en criptografía de clave pública, es un sistema donde el cifrado y descifrado se realizan por separado y no es posible hallar la clave de descifrado de la clave de cifrado.

Durante la instalación del F-Secure SSH se genera un par de claves públicas y privadas para que sirvan como identidad RSA para usarse como autentificación de usuarios. El servidor conoce la parte pública de la identidad RSA, pero el usuario es la única persona que conoce la clave privada.

Al entrar en el equipo el programa F-Secure SSH comunica al servidor qué par de claves usa para la autentificación. El servidor verifica que esta clave es permitida y si es así envía el desafío SSH que es un número aleatorio cifrado con la clave pública. Este desafío solo puede descifrarse con la clave privada del servidor.

Para responder al desafío el cliente debe poner su frase de paso para bloquear la identidad RSA. El cliente F-Secure descifra el desafío usando la clave privada, obteniendo la identidad correcta sin que ningún otro usuario averiguuml;e la clave privada.

Para conectarse en W95 con F-Secure SSH hay que arrancar el icono del programa anterior y ejecutar los siguientes pasos:

  1. En el menú "Edit" seleccionar "Properties".
  2. En la etiqueta de conexión teclear el host remoto y el login de usuario.
  3. Dentro de las opciones seleccionar "Password" para la autentificación.
  4. En el menú "File" elegir conectar.
  5. El equipo remoto pedirá la contraseña. Al pulsar OK se inicia la conexión totalmente segura por estar cifrada.
Si es la primera vez que nos conectamos al host, SSH pregunta si se acepta el host desconocido. En Win95 al ejecutar el icono del ssh aparece la pantalla de conexión siguiente:

Una vez establecida la conexión aparece la pantalla de Telnet bajo Windows con la diferencia de que la comunicación está cifrada en el puerto 22. Las opciones de la conexión están en el menú "Properties" y son:

La pantalla muestra un menú con los campos "File", "Edit", "View" y "Help". El menú "File" es para abrir otra conexión, poner nombre, imprimir el contenido de la pantalla, etc. El menú "Help" muestra la ayuda en línea del programa F-Secure. En la prueba se efectuó una conexión al servidor Intranet2 con autentificación por contraseña fija "Password" y se teclearon las instrucciones "pwd" y "ls –l" obteniendo los resultados siguientes:

4.a.2.- Crear una plantilla de conexiones.

Las plantillas se usan para permitir salvar las características de una conexión. Además de ayudar a abrir conexiones múltiples con diferentes nombres de host, teniendo los nombres de usuarios y contraseñas sin tener que abrir el botón de propiedades muchas veces. Para crear una conexión plantilla hacer:

  1. En el menú "Edit" elegir "Properties"
  2. Realizar los cambios necesarios en la conexión.
  3. Con OK se activan los cambios.
  4. En el menú "File" la opción "Save" donde F-Secure SSH salva todos los cambios de una conexión plantilla.
La plantilla de conexión está asociada con el programa F-Secure SSH. Se pueden crear iconos en la pantalla Windows de las plantillas (ficheros .SSH) y ejecutar estos con el icono de la conexión salvada. La pantalla que abre una conexión que ya existe es la siguiente:

4.a.3.- Desconexión.

Hay que considerar salvar la configuración de la conexión para un uso futuro con la plantillas de F-Secure. Para desconectar:

  1. Si existe una sesión activa, basta con teclear "logout", "exit" o "quit" en el sistema remoto.
  2. Si las aplicaciones que están ejecutándose están utilizando las conexiones TCP/IP hay que cerrarlas.
  3. En el menú "File" hay que elegir "Disconnect".
Si se desean cerrar todas las conexiones TCP/IP, estás serán mostradas en la plantilla terminal. El cliente F-Secure SSH espera contestación del servidor para cerrar la conexión.

4.a.4.- Propiedades de la conexión.

En el menú "Edit" esta la opción "Properties command" que modifica la apariencia del terminal, la información de conexión, el teclado, las conexiones seguras TCP/IP y otras opciones.

Propiedad.

Descripción.

Connection Especifica información del host, del usuario, del tipo de autentificación, puertos, etc. del sistema remoto.
RSA Identity Da información de la identidad RSA, permitiendo seleccionar la localización de los ficheros de identidad y cambiar la frase de paso.
Forward Muestra las conexiones TCP/IP locales y remotas que serán aseguradas. Identifica los nombres y los parámetros de la conexión.
Font Tipo de letra, fondo y color.
Terminal Información del número de líneas que tiene el buffer scrollback.
Keyboard Mapa de teclas utilizado en el teclado.

Las pantallas Connection, RSA Identity ya se han visto, las demás tienen el aspecto siguiente:

  • La pantalla tipo de terminal indica el tamaño del buffer y las especificaciones de la pantalla terminal que va a utilizar la conexión. El tamaño del buffer debe ser mayor de 100 y el tipo de terminal el vt100.

Las especificaciones del teclado especifican como se realiza la entrada de datos del teclado y como son mostrados los datos de entrada en el terminal.

4.b.- Autentificación RSA.

Después de crear la identidad RSA de cada usuario hay que establecer una cuenta para dicha autentificación y conectarse usando RSA pudiendo cambiar la frase de paso de identidad RSA.

4.b.1.- Crear una cuenta para autentificación RSA.

El protocolo SSH implementa autentificación RSA automática. Para crear la clave RSA personal hay que ejecutar el programa "F-Secure SSH generation Wizard". Los ficheros de identidad RSA son almacenados en el directorio de instalación, la clave privada está cifrada en el fichero identidad y la clave pública sin cifrar el fichero "identity.pub". Es posible añadir el contenido del fichero identity.pub en el fichero de claves autorizadas del equipo remoto (normalmente en $HOME/.ssh/authorized_keys).

Para añadir una clave pública RSA en el fichero de claves autorizadas hacer:

  1. Conectar usando contraseña con la cuenta.
  2. Seleccionar del menú "Edit", "Properties", "RSA Identity".
  3. Si el campo "comment" está vacío hay que revisar el fichero de identidad RSA o crear una identidad nueva.
  4. Con el botón copiar se copia la clave pública en la pantalla.
  5. Cambiar al directorio _SSH de HOME en el sistema remoto.
  6. Cargar las claves autorizadas en un editor de texto.
  7. Incluir la clave pública RSA de la pantalla al final del fichero de claves, el fichero debe tener una línea por cada entrada de clave pública.
  8. Salir del fichero de claves autorizadas y salir del editor de textos.

Con estos pasos la cuenta está preparada para acceder usando autentificación RSA desde una máquina cliente que contenga el fichero de identidad RSA correcto, o sea la clave pública y privada correctas.

4.b.2.- Cambiar la frase de paso de identidad RSA.

Para prevenir a personas sin autorización usar identidad RSA y obtener acceso a las conexiones, se debe usar una frase de paso para proteger el fichero de identidad. Es recomendable almacenar la frase de paso periódicamente.

Para cambiar la frase de paso:

  1. Elegir en el menú "Edit", "Properties", "RSA Identity"
  2. Elegir el botón "Passphrase".
  3. El comentario puesto podrá mostrarse en el cambio de la ventana de diálogo para cambiar la frase de paso de identidad RSA.
  4. Escribir la frase de paso y repetirla para confirmarla.
  5. Con el botón OK la frase de paso toma efecto inmediatamente.
  6. En la página de propiedades de la identidad RSA pulsar OK.
4.c.- Otros envíos.

4.c.1.- Asegurando conexiones X11.

Con este tipo de conexión se aseguran los datos en el sistema X-Window. Si la opción "ForwardX11" esta activada en la pestaña de conexión (comando Propiedades del menú Edit) se cifran las conexiones X11.

No es posible mostrar manualmente la variable ambiente, el valor DISPLAY de F-Secure apunta a la máquina servidor, con un número mayor que 0. Esto es normal y ocurre porque F-Secure muestra automáticamente los datos de Xauthority en la máquina servidor para dirigir las conexiones al canal cifrado.

F-Secure SSH establecerá automáticamente los datos Xauthority en la máquina servidor. Por este propósito se genera una identificación aleatoria, almacenando en el servidor Xauthority y verificando que cualquier conexión lleva el testigo (cookie) que se reemplaza cuando la conexión es abierta. El testigo de autentificación real nunca es enviado al servidor.

Para usar un terminal con F-Secure desde un equipo remoto a un servidor con X-Windows hay que hacer:

  1. Iniciar el servidor X-Window.
  2. Revisar que las conexiones del equipo servidor con X-Window sean permitidas desde la dirección IP 127.0.0.
  3. Elegir del menú "Edit" "Properties".
  4. En la pestaña de conexión hay que redirigir X11.y pulsar el botón OK.
  5. En el menú "File" hay que hacer la conexión utilizando autentificación por contraseña o utilizando autentificación por RSA.
  6. Solo queda teclear algún comando en la ventana terminal para iniciar cualquier aplicación X11, como por ejemplo xterm.
Es recomendable usar un cifrado rápido como blowfish para mejor funcionamiento de las conexiones cifradas.

4.c.2.- Asegurar conexiones TCP/IP.

F-Secure puede asegurar cualquier conexión con la tecnología de direccionamiento de puertos ("TCP/IP port forwarding"). Funciona creando un servidor proxy para el puerto fuente que el servicio TCP/IP lo utilice. El servidor proxy espera en la máquina local la conexión del programa cliente hacia el puerto fuente. SSH entonces dirige la petición y los datos sobre el canal seguro hacia el sistema remoto. El servidor SSH hace la conexión hacia el host destino y hacia el puerto destino.

La mayoría de los servicios que usan TCP/IP pueden asegurarse. F-Secure provee direccionamiento automático para el sistema de ventanas X11 usado en máquinas UNIX. Para redirigir el resto de conexiones TCP/IP hay que configurarlas manualmente de la forma siguiente:

  1. Determinar los números de los puertos usados por el servicio.
  2. Del menú "Edit" escoger "Properties".
  3. En la pestaña de redirección, seleccionar "Local" y elegir "New" para definir que hay que asegurar dicha conexión TCP/IP.
  4. Especificar un nombre para la conexión.
  5. Especificar un puerto fuente, es el puerto a usarse para la conexión cliente.
  6. Especificar el equipo destino, el equipo que ejecuta el servicio. Si es el mismo equipo poner la dirección 127.0.0.1 para especificar que la conexión debe ser dirigida a través de una conexión segura y después conectar el servicio.
  7. Especificar el puerto destino del servidor que espera las conexiones.
  8. Si se especifica un redireccionado local habrá que revisar que las conexiones permitidas locales estén configuradas correctamente para que nadie utilice las conexiones excepto el equipo inicial.
  9. Para guardar la conexión pulsar OK.
  10. Del menú "File" elegir conectar.
El dirigir la conexión a cualquier otro host distinto del terminal implica que solo se cifra la conexión de ida. La conexión de vuelta no está cifrada. El equipo destino debería estar en una red de confianza o ser el equipo terminal.

4.d. - Apéndices.

4.d.1. - Apéndice A: El fichero F-SECURE.INI.

Es el fichero de iniciación de Data Fellows. Contiene las características del programa como el lenguaje por defecto, los directorios donde se instala F-Secure, etc. El programa de instalación chequea la existencia de F-Secure.ini en el directorio Windows. Si el fichero no existe lo crea. Si el fichero existe y contiene los parámetros de una instalación previa utilizará estos parámetros como básicos para una nueva instalación.

Durante el proceso de instalación se escriben las siguientes entradas:

[Settings]
RandomSeed=f69f64...				# Semilla para cifrar
[F-Secure SSH]
Language=ENG					# Idioma por defecto
DefaultUser=root
InstallDirectory=C:\F-SECURE\SSH		# Directorio de instalación
ProgramDirectory=C:\F-SECURE\SSH\PROGRAM	# Programas ejecutables
[F-Secure SSH Recent Host List]			# Lista de servidores
DefaultHost=ssh.company.com
NumHosts=3					# Conexiones almacenadas
Host1=ssh.company.com
Host2=www.company.com
Host3=ftp.company.com
[F-Secure SSH Recent File List]
File1=C:\F-SECURE\SSH\CONNECT.SSH		# Conexiones recientes
[Web Connection Settings]
BrowserDefault=C:\NETSCAPE\PROGRAMS\NETSCAPE.EXE	# Navegador
BrowserArea=Europe
BrowserConfigured=Yes

En la ayuda del F-Secure "Users Guide", "Appendices", "Appendix A" existe más información de dicho fichero.

4.d.2.- Apéndice B: El fichero DEFAULTS.SSH.

Es el fichero plantilla de conexión utilizado para cargar los parámetros por defecto cada vez que se ejecuta SSH. Se puede editar DEFAULT.SSH abriendo el fichero como una plantilla de conexión normal, después se realizan los cambios y salvamos el fichero al disco, una nueva sesión SSH tendrá estas características por defecto.

Si el fichero DEFAULT no existe se utiliza por defecto el código del programa ("hard-coded"). Para crear un nuevo DEFAULT.SSH hay que editar una nueva plantilla de conexión y salvarla en el directorio de instalación (por ejemplo F-Secure/SSH/DEFAULT.SSH).

5.- Guía del administrador.

5.a.- Configuración Unix.

5.a.1.- Instalación.

El programa cliente y servidor del F-Secure SSH está disponible como paquetes RPM para Linux RedHat. Una vez descargados los paquetes ssh y ssh-clients es posible instalarlos de una manera sencilla con teclear el comando:

rpm -ivh 

Obteniendo en la máquina el resultado siguiente:

[root@fire juanjo]# rpm -ivh ssh-1.2.20-1i.i386.rpm

ssh                         ##################################################
Initializing random number generator...
Generating p:  ............++ (distance 164)
Generating q:  .............................++ (distance 526)
Computing the keys...
Testing the keys...
Key generation complete.
Your identification has been saved in /etc/ssh/ssh_host_key.
Your public key is:
1024 33
872462892830776252843137012780896852708392257880227066866112141381072
193064651353250647265717178973360089465975803446689823957155002828717
274351102208870358789410913745839736770511932542577240772286874108824
099697642230672797157117414187266037082552546335429272805666966415415
7176294218284252125396414942103root@fire.ulpgc.es

Your public key has been saved in /etc/ssh/ssh_host_key.pub

[root@fire juanjo]#

Para instalar el cliente basta con poner el nombre del paquete cliente instalándose los dos en el mismo directorio de la forma siguiente:

[root@fire juanjo]# rpm -ivh ssh-clients-1.2.20-1i.i386.rpm

ssh-clients        ########################################

Una vez instalado el programa hay que arrancar el demonio SSHD que escuche las posibles conexiones a la máquina. El demonio en Linos RedHat aparece en el fichero /ect/rc3.d con el nombre sshd. Para que se active se puede esperar a reiniciar la máquina o bien ejecutar el programa de /etc/rc.d/init.d con el comando:

./sshd.init start

El programa servidor muestra una ayuda al ejecutar "ssh" sin parámetros que tiene la forma siguiente:

[root@fire juanjo]# ssh
Usage: ssh [options] host [command]
Options:
-l user     Log in using this user name.
-n          Redirect input from /dev/null.
-a          Disable authentication agent forwarding.
-x          Disable X11 connection forwarding.
-i file     Identity for RSA authentication (default: ~/.ssh/identity).
-t          Tty; allocate a tty even if command is given.
-v          Verbose; display verbose debugging messages.
-V          Display version number only.
-q          Quiet; don't display any warning messages.
-f          Fork into background after authentication.
-e char     Set escape character; `none'' = disable (default: ~).
-c cipher   Select encryption algorithm: `idea'', `blowfish'', `3des''
-p port     Connect to this port.  Server must be on the same port.
-P          Don't use priviledged source port.
-L listen-port:host:port   Forward local port to remote address
-R listen-port:host:port   Forward remote port to local address
            These cause ssh to listen for connections on a port, and forward
            them to the other side by connecting to host:port.
-C          Enable compression.
-o 'option' Process the option as if it was read from a configuration file.

[root@fire juanjo]#

Para instalar SSH en otras distribuciones Linux hay que descomprimir el paquete con gzip y tar. Después compilar el código fuente con los comandos "/configure", "make", "make install".

En red local se instala con "make install" y "make hostinstall" para generar claves e instalar los ficheros de configuración. Es conveniente revisar los ficheros de configuración del cliente y del servidor (/etc/sshd_config, /etc/ssh_config).

Hay que crear el fichero /etc/ssh_Know_host y actualizarlo periódicamente, el formato de este fichero está documentado en la página del manual sshd.

5.a.2.- Opciones de configuración.

El paquete dispone de un script de configuración que genera automáticamente la instalación. Este script acepta diversas opciones, las más importantes son:

CC=		compiler	#especifica el nombre del compilador.
CFLAGS=		flags		#parámetros del compilador C.
LDFLAGS=	flags		#parámetros de ld (librerías, etc).

Si todo esta bien configurado y se decide dar valores en la línea de comandos es necesario hacer "make distclean" antes de reconfigurar.

5.a.3.- Ficheros de configuración.

El fichero de configuración del servidor /etc/sshd_config especifica los métodos de autentificación permitidos, host, números de puertos, etc. Por defecto es aceptado en la mayoría de las configuraciones pero es posible revisarlo, su formato está documentado en la página del manual sshd.

El cliente, sin embargo, lee la configuración del fichero /etc/ssh_config, las opciones de este fichero se pueden modificar para cada usuario, su ayuda es la ssh.

5.a.4.- El fichero Makefile.

Este fichero se genera por el Makefile.in al ejecutar el configure. Los parámetros de configuración son all (compilar todo), install (incluir binarios y man), hostinstall (genera claves de host e instala los ficheros configurables), uninstall (borra los ficheros instalados), clean (borra ficheros objetos y ejecutables), distclean (borrar todo).

5.a.5.- Portabilidad.

Este software se puede utilizar en: 386, AIX, RS6000, HPUX y HPPA, IRIX, Linos, Slackware, RedHat, Macintosh, SCO UNIX, SINIX, Solaris, Sparc, etc.

5.a.6.- Inicializando el servidor.

El servidor debe iniciarse en el arranque desde /etc/rc3.d o equivalentes. No necesita ningún argumento y es posible especificar una bandera opcional para especificar el tamaño de las claves RSA. Si el tamaño de la clave es menos de 512 bits es inseguro, claves mayores dan mas seguridad pero requieren mas tiempo de generación y uso. Con 1024 bits es seguro en cualquier tecnología.

El servidor no está iniciado usando inetd porque necesita generar la clave RSA antes de servir la conexión, esto puede durar minutos en máquinas lentas. Si se arranca desde inetd hay que indicar el servidor con la bandera "-i".

5.a.7.- El servidor se ejecuta como usuario administrador.

F-Secure instala dos programas que necesitan privilegios especiales, el ssh es el programa cliente y está por defecto instalado como raíz suid, porque necesita crear un puerto privilegiado para utilizar el fichero .rhosts con autentificación. Si no esta instalado como suid root también puede utilizarse.

Sshd es el demonio que escucha las conexiones. Es preferible ejecutarlo como raíz ya que necesita hacer setuid(), update, utmp, chown, ptys, etc. cuando entre un usuario. Si no se ejecuta como raíz habrá que especificar la opción "-p port" para un puerto alternativo.

5.a.8.- Problemas comunes.

La ayuda en línea de F-secure muestra una sección con los problemas más comunes durante el proceso de instalación al establecer las contraseñas, errores de compilación, errores sshd, autentificación .rhosts, conexiones erróneas, etc.


Juan José Jover Barbero (Universidad de Las Palmas de Gran Canaria)