GNU/Linux >> Tutoriales Linux >  >> Panels >> Webmin

Túneles SSL

En esta página se documenta el programa STunnel y el módulo Webmin para configurarlo.

Introducción a SSL y STunnel

SSL es un protocolo para cifrar datos en una conexión TCP mientras viaja por la red. Originalmente se desarrolló para proteger el tráfico entre los navegadores web y los servidores, pero se puede usar para cifrar cualquier tipo de flujo de datos que normalmente se enviaría a través del protocolo TCP.

El protocolo SSL permite que los clientes y los servidores se autentiquen entre sí, para que un cliente pueda estar seguro de que realmente se está conectando al host que cree que es. Esto se hace usando certificados que son emitidos por una autoridad certificadora reconocida por el cliente (para que puedan ser verificados) y asociada con un nombre de host en particular. Sin certificados, un atacante podría redirigir una conexión SSL a su propio servidor y capturar información confidencial de un cliente que cree que está hablando con el servidor real.

Cualquier dato que viaje a través de Internet sin cifrar puede ser capturado y leído por un atacante con acceso a una de las redes por las que pasa. Incluso los datos que viajan entre un sistema cliente y servidor en una LAN pueden escucharse fácilmente. Cuando se conecta a un servidor telnet, FTP o POP3, su contraseña se envía a través de la red y, por lo tanto, puede ser capturada por un atacante.

SSL se puede usar para proteger datos en este tipo de situaciones, pero solo si tanto el cliente como el servidor lo admiten. La mayoría de los navegadores web y clientes de correo pueden realizar conexiones HTTP, POP3 e IMAP cifradas con SSL, pero no todos los servidores web y POP3 pueden aceptarlas. POP3 en particular es difícil de proteger, porque el servidor estándar que viene con la mayoría de los sistemas Unix no admite SSL en absoluto. Afortunadamente, hay una solución:STunnel.

STunnel es un programa simple que convierte una conexión sin encriptar en una con encriptación SSL. Por lo general, se configura para ejecutarse desde un súper servidor como inetd o xinetd, y luego ejecutar algún otro programa como el servidor POP3 que no es compatible con SSL. Este diseño le permite proteger cualquier servidor que normalmente se ejecuta desde inetd, como servidores telnet, NNTP e IMAP.

Sin embargo, no todos los servidores se pueden proteger de manera útil con cifrado, porque no existe ningún cliente que los use en modo SSL. Por ejemplo, nunca he oído hablar de un cliente telnet o FTP que pueda usar SSL, porque el paquete SSH común ya permite transferencias de archivos e inicios de sesión remotos cifrados.

El módulo de Túneles SSL

Este módulo de Webmin facilita la configuración de servicios de superservidor que ejecutan STunnel para iniciar algún programa de servidor. Aunque esto se puede hacer manualmente usando el módulo Servicios de Internet (cubierto en el capítulo 15), este está diseñado específicamente para instalar y configurar STunnel. Detecta automáticamente si tiene instalados inetd y/o xinetd, lee sus configuraciones para verificar los túneles SSL existentes y los agrega cuando crea un nuevo túnel. Si ambos están instalados, se agregan nuevos túneles SSL a la configuración de xinetd, ya que en mi opinión es superior a los dos.

El módulo se puede encontrar en Webmin en la categoría Redes del menú principal. Al hacer clic en su icono, se mostrará una página como la que se muestra a continuación, con una lista de todos los túneles existentes. En la parte inferior de la página hay un botón llamado Aplicar cambios que al hacer clic reinicia inetd o xinetd, activando así la configuración actual.


El módulo de Túneles SSL

Si el programa no se puede encontrar en su servidor, aparecerá un mensaje de error como *El comando STunnel /usr/bin/stunnel no se encontró en su sistema* en su lugar. Esto puede indicar que no está instalado o que el módulo está buscando en el directorio incorrecto el comando stunnel. En este último caso, puede ajustar la configuración del módulo, como se explica en la sección *Configuración del módulo de túneles SSL* más adelante en la página.

Sin embargo, si el programa realmente no está instalado, revise el CD de su sistema operativo o el sitio web para ver si existe un paquete para STunnel. Si es así, puede instalarlo utilizando el módulo Paquetes de software. De lo contrario, deberá descargar el código fuente de www.stunnel.org, compilarlo e instalarlo.

Creación y edición de túneles SSL

Si desea proteger algún servicio con cifrado SSL, deberá crear un nuevo túnel SSL. Se pueden crear dos tipos diferentes de túnel:uno que ejecuta un proceso de servidor como lo hace inetd, o uno que se conecta a otro host y puerto en modo no SSL. Este último es más simple si ya tiene el servidor ejecutándose en modo no encriptado, pero será un poco más lento debido a la necesidad de realizar una conexión de red adicional.

Antes de que pueda crear un túnel, debe decidir el número de puerto que utilizará. Para algunos protocolos hay un número de puerto estándar; por ejemplo, 995 se usa a menudo para POP3 encriptado y 993 para IMAP encriptado. Por supuesto, el número de puerto que elija no debe estar en uso por ningún otro servicio o servidor de inetd en su sistema.

Los pasos a seguir para crear un túnel son:

  1. En la página principal del módulo, haga clic en Agregar un nuevo túnel SSL enlace encima o debajo de la tabla de túneles existentes. El formulario de creación que se muestra en la Figura 46-2 se mostrará en su navegador.
  2. En el Nombre del servicio ingrese un nombre único para el servicio inetd de este túnel, como ssl-pop3 .
  3. En el puerto TCP ingrese el número de puerto en el que el túnel debe aceptar conexiones, como 993 .
  4. A menos que desee que el túnel se deshabilite temporalmente, establezca ¿Activo? campo a .
  5. Si este túnel debe ejecutar un programa como un servidor POP3, seleccione Ejecutar programa de estilo inetd opción. En la Ruta al programa ingrese la ruta completa al servidor, como /usr/sbin/ipop3d . En el con argumentos ingrese el nombre del programa seguido de los argumentos de la línea de comandos, como ipop3d . Al igual que con los servicios creados en el módulo Servicios y Protocolos de Internet, debe incluir el nombre del programa como primer argumento.
  6. Alternativamente, si este túnel debe conectarse a algún servidor existente, seleccione Conectar a host remoto opción. Luego ingrese el host al que conectarse (como localhost ) y el número de puerto a usar (como 110 ) en *Nombre de host remoto y *Puerto remoto campos respectivamente.
  7. El certificado SSL y archivo de claves El campo determina qué certificado SSL se presentará a los clientes para esta conexión. Si ha generado su propio certificado autofirmado o real con el comando openssl, seleccione Usar certificado en archivo e ingrese la ruta completa al archivo en el cuadro de texto adyacente. De lo contrario, puede elegir Usar el certificado de Webmin para usar el mismo certificado que usa Webmin en modo SSL, o *Compilado de manera predeterminada* para usar el certificado que viene con el software STunnel. Si genera su propio certificado, asegúrese de que el archivo contenga tanto la clave privada como el certificado en formato PEM.
  8. Cuando se conecta a un host remoto, STunnel se puede configurar para que se comporte de manera opuesta a lo normal. En lugar de aceptar una conexión SSL y descifrarla, puede elegir que acepte una conexión normal y cifrarla para conectarse a un servidor compatible con SSL diferente. Este modo se puede habilitar seleccionando Aceptar normal y conectarse con SSL en el campo *Modo túnel*. Puede ser útil si ni el cliente ni los programas del servidor son compatibles con SSL, pero aún desea que los datos entre ellos estén encriptados. STunnel podría configurarse en el sistema cliente en este modo, configurado para conectarse a otro servicio STunnel en el sistema del servidor que utiliza el modo *Aceptar SSL y conectarse normalmente*.
  9. Presiona Crear en la parte inferior de la página para agregar el nuevo servicio.
  10. Una vez que haya regresado a la página principal del módulo, haga clic en Aplicar cambios para activar el nuevo túnel.


El formulario de creación del túnel SSL

Todos los detalles de un túnel existente se pueden editar haciendo clic en su nombre en la lista de la página principal del módulo. Aparecerá un formulario de edición similar al de la Figura 46-2, pero con todos los campos ya completados. Puede hacer cambios y presionar Guardar para grabarlos, o haga clic en Eliminar para eliminar completamente el túnel. De otra manera, el Aplicar cambios se debe hacer clic en el botón de la página principal para activar los cambios.


Webmin
  1. Servidor de mensajería instantánea Jabber

  2. Servidor de base de datos PostgreSQL

  3. Servidor ProFTPD

  4. Servidor proxy de calamar

  5. reiniciar un servidor

Servidor OpenSLP

Servidor de correo Postfix

Servidor SSH

Solución de problemas:errores de conexión del servidor

Instalar certificados SSL en un servidor Windows

Cómo hacer una transferencia SSL de Tomcat a Tomcat en CentOS