LINUX

Cómo configurar la infraestructura de clave pública (PKI) mediante OpenSSH

Secure shell, o ssh, es un protocolo de red criptográfico (cifrado) que opera en la capa 7 del modelo OSI para permitir el inicio de sesión remoto y otros servicios de red para operar de forma segura en una red no protegida. SSH proporciona un canal seguro a través de una red no segura en una arquitectura cliente-servidor, conectando una aplicación cliente SSH con un servidor SSH. Las aplicaciones comunes incluyen el inicio de sesión remoto desde la línea de comandos y la ejecución remota de comandos, pero cualquier servicio de red puede protegerse con SSH. La especificación del protocolo distingue entre dos versiones principales, denominadas SSH-1 y SSH-2.

OpenSSH es una versión disponible de forma gratuita de la familia de herramientas del protocolo Secure Shell (SSH) para controlar de forma remota o transferir archivos entre computadoras. Las herramientas tradicionales que se utilizan para realizar estas funciones, como telnet, no son seguras y transmiten la contraseña del usuario en texto sin cifrar cuando se utilizan. OpenSSH proporciona un demonio de servidor y herramientas de cliente para facilitar el control remoto cifrado y seguro y las operaciones de transferencia de archivos, reemplazando de manera efectiva las herramientas heredadas.

La autenticación basada en clave pública funciona mediante la creación de un par de claves: una clave privada y una clave pública. La clave privada se encuentra en la máquina del cliente y está protegida y mantenida en secreto. La clave pública se puede entregar a cualquier persona o colocarla en cualquier servidor al que desee acceder. Cuando intente conectarse utilizando un par de claves, el servidor utilizará la clave pública para crear un mensaje para la computadora cliente que solo se puede leer con la clave privada. La computadora del cliente luego envía la respuesta apropiada al servidor y el servidor sabrá que el cliente es legítimo. Todo este proceso se realiza en segundo plano automáticamente después de configurar las claves.

Este artículo analiza la instalación y la configuración detallada del servidor OpenSSH.

Preparación e instalación

  • Descargue el archivo de imagen ISO de Ubuntu 14 e instale una copia en VMWare.
  • Arranque Ubuntu con Modo NAT para que comparta la dirección IP del host para acceder a Internet.

Configuración 1.NW en VMWare

Figura: 1 Configuración del modo de red en VMWare

  • Haga ping a la máquina VM invitada desde la máquina host para comprobar la conectividad de la máquina.
  • Haga ping a Internet desde la máquina VM invitada para verificar la conectividad a Internet en la VM.
  • Desde la terminal de Ubuntu Linux, actualice los repositorios con el siguiente comando apt-get update.
  • Inicie sesión en la máquina Ubuntu desde la raíz
  • Escriba apt-get install ssh para instalar el servidor OpenSSH.
  • Escriba /etc/init.d/ssh start para iniciar el servidor SSH.

Configuración

Verificación de instalación

  • Escriba /etc/init.d/ssh start para iniciar el servidor SSH
  • Las direcciones IP de la VM que se utilizan en este documento son 168.146.131, 192.168.146.132 y la IP del host es 192.168.1.1.
  • Desde la máquina host, escriba telnet 192.168.1.131 22 en el símbolo del sistema para verificar la conectividad con el servidor SSH.
  • Descargue e instale WinSCP. Esta herramienta se utiliza en Windows para acceder al servidor SSH en la máquina Linux y transferir los archivos a / desde la máquina Linux.
  • Desde la máquina host, inicie WinSCP. Haga clic en Nuevo sitio. Ingrese 168.1.131, Nombre de usuario y contraseña y haga clic en Conectar.
  • Después de una conexión exitosa, se explorará el sistema de archivos de la máquina Linux.

Configuración básica de OpenSSH

  • Escriba / etc / ssh / sshd_config para modificar la configuración de OpenSSH.
  • Busque la sección Puerto. De forma predeterminada, el puerto 22 se utiliza para el servidor SSH. Si desea utilizar un puerto personalizado para el servidor SSH, cambie este parámetro al número de puerto que desee. El puerto de configuración predeterminado se muestra en la figura.

2.Puerto del servidor SSH

Figura: 2 puertos del servidor SSH

  • Como se mencionó anteriormente en el artículo, existen dos protocolos para SSH, SSH-1 y SSH-2. Para la compatibilidad de sistemas heredados, es posible que se requiera SSH-1. Busque la sección Protocolo en el archivo de configuración El protocolo de configuración predeterminado se muestra en la figura.

3.Protocolo del servidor SSH

Figura: 3 Protocolo del servidor SSH

  • Los parámetros de configuración adicionales son los siguientes

Iniciar sesiónGraceTime especifica cuántos segundos se mantendrá la conexión activa sin iniciar sesión correctamente. Puede ser una buena idea establecer este tiempo un poco más alto que la cantidad de tiempo que le toma iniciar sesión normalmente.

PermitRootIniciar sesión selecciona si root puede iniciar sesión. En la mayoría de los casos, esto debe cambiarse a «no» cuando haya creado una cuenta de usuario que tenga acceso a privilegios elevados (a través de su o sudo) y pueda iniciar sesión a través de ssh.

StrictModes es un guardia de seguridad que rechazará un intento de inicio de sesión si los archivos de autenticación son legibles para todos.

Los parámetros adicionales del archivo de configuración se muestran en la figura.

4.Parámetros adicionales de configuración

Figura: 4 parámetros adicionales del servidor SSH

Generación de claves públicas / privadas para autenticación SSH

La autenticación basada en claves funciona creando un par de claves: una clave privada y una clave pública. La clave privada se encuentra en la máquina del cliente y está protegida y mantenida en secreto.

  • Escriba ssh-keygen -t rsa -b 4096 para generar el par de claves. Presione enter para aceptar los valores predeterminados. Sus claves se crearán en /root/.ssh/id_rsa.pub y /root/.ssh/id_rsa como se muestra en la figura.
5. Generación de claves para el servidor SSH

Figura: Generación de 5 pares de claves para el servidor SSH

  • Escriba ls -al /root/.ssh para verificar la existencia de la clave pública /root/.ssh/id_rsa.puband clave privada /root/.ssh/id_rsa como se muestra en la figura.

6.Archivos de claves públicas y privadas

Figura: 6 archivos de clave pública y privada

Preparar la máquina cliente

Clone esta máquina virtual como una máquina separada y repita el paso anterior. La IP de la nueva VM es 192.168.146.132. La terminología de la Máquina 1 y la Máquina 2 se utilizará para transferir las claves públicas y sin contraseña de inicio de sesión en las máquinas.

Transferir clave pública al cliente

  • Desde la máquina 1, escriba ssh-copy-id 192.168.146.132 para transferir la clave pública a la máquina 2 como se muestra en la figura.

7. Copie la clave pública de la máquina 1 a la máquina 2

Figura: 7 Copie la clave pública de la máquina 1 a la máquina 2

  • Desde la máquina 2, escriba ssh-copy-id 192.168.146.131 para transferir la clave pública a la máquina 1 como se muestra en la figura.

8. Copie la clave pública de la máquina 2 a la máquina 1

Figura: 8 Copie la clave pública de la máquina 2 a la máquina 1

Iniciar sesión en Máquinas sin contraseña

  • Desde la máquina 1, escriba ssh 192.168.146.132 para iniciar sesión en la máquina 2 como se muestra en la figura.

9. Inicie sesión desde la máquina 1 a la máquina 2

Figura: 9 Inicio de sesión de la máquina 1 a la máquina 2 sin contraseña

  • Desde la máquina 1, escriba ssh 192.168.146.131 para iniciar sesión en la máquina 2 como se muestra en la figura.

10. Inicie sesión desde la máquina 2 a la máquina 1

Figura: 10 Inicio de sesión de la máquina 1 a la máquina 2 sin contraseña

Conclusión

Este artículo es una descripción teórica y práctica detallada de la infraestructura de clave pública y OpenSSH. En la primera sección se discutieron SSH / OpenSSH y sus conceptos asociados. Se preparó un banco de pruebas o un entorno de laboratorio en Ubuntu 14 para aplicar el conocimiento de SSH y PKI. Se explicó desde la configuración básica de SSH hasta la generación de claves / certificados SSH. Luego, estas claves se utilizaron en 2 máquinas para configurar el inicio de sesión seguro sin contraseña.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar