SSH3, una versión segura de SSH que usa HTTP3

SSH3

SSH3: shell seguro más rápido y rico usando HTTP/3

Hace poco se dio a conocer el lanzamiento oficial de la primera versión experimental del servidor y cliente para el protocolo SSH3 diseñado como complemento del protocolo HTTP3 y que utiliza QUIC (basado en UDP), TLS 1.3 que y aprovecha los mecanismos HTTP para la autenticación de usuarios, asi como tambien para establecer un canal de comunicación seguro

SSH3 utiliza mecanismos de autorización basados ​​en el protocolo HTTP, que permiten nuevos métodos de autenticación, además de la autenticación clásica mediante una contraseña y un par de claves, además de que en SSH3 se puede configurar el acceso a un servidor remoto a través del proveedor de identidad una organización o con una cuenta de Google o GitHub. SSH3 se basa en HTTP/3 y QUIC y, además del reenvío TCP normal, también ofrece reenvío de puertos UDP y un establecimiento de sesión más rápido y seguro.

Sobre SSH3

Los desarrolladores del proyecto mencionan que la creación de SSH3 surgió como resultado de una revisión completa del protocolo SSH, llevada a cabo por un grupo independiente de investigadores separados de los equipos que trabajan en proyectos como OpenSSH y otras implementaciones del protocolo SSH clásico. En SSH3, la semántica del protocolo SSH clásico se implementa a través de mecanismos HTTP, lo que no solo permite capacidades adicionales, sino que también asegura que las actividades relacionadas con SSH estén ocultas entre el resto del tráfico, entre otras cosas, SSH3 permite las siguientes mejoras que el protocolo SSH2 no podría proporcionar, asi como también muchas de las características populares de OpenSSH:

  • Establecimiento de sesión significativamente más rápido
  • Nuevos métodos de autenticación HTTP, como OAuth 2.0 y OpenID Connect, además de la autenticación SSH clásica.
  • Análisis ~/.ssh/authorized_keys en el servidor.
    Analiza ~/.ssh/config en el cliente y maneja las opciones Hostname, Usery Portconfig IdentityFile(las otras opciones se ignoran actualmente)
    Autenticación de servidor basada en certificados
  • Robustez ante ataques de escaneo de puertos: su servidor SSH3 puede volverse invisible para otros usuarios de Internet
  • Reenvío de puertos UDP: ahora puede acceder a su QUIC, DNS, RTP o cualquier servidor basado en UDP al que solo se pueda acceder desde su host SSH3.
  • Certificados X.509: ahora puede utilizar sus certificados HTTPS clásicos para autenticar su servidor SSH3. Este mecanismo es más seguro que el clásico mecanismo de clave de host SSHv2.
  • Capacidad de ocultar el servidor detrás de un enlace secreto.
  • Todas las funciones permitidas por el protocolo QUIC moderno: incluida la migración de conexiones y conexiones multiruta
  • Usar automáticamente la autenticación ssh-agent  de clave pública
  • Reenvío de agente SSH para usar sus claves locales en su servidor remoto
  • Autenticación de usuario segura sin llave mediante OpenID Connect.

Para cifrar el canal de comunicación, SSH3 utiliza el protocolo TLS 1.3 y se pueden emplear métodos tradicionales basados en contraseñas y claves públicas (RSA y EdDSA/ed25519). Adicionalmente, SSH3 ofrece la opción de utilizar métodos basados en el protocolo OAuth 2.0, permitiendo transferir la autenticación a proveedores externos.

Otro de los puntos fuertes de SSH3 es que ofrece un establecimiento de sesión significativamente más rápido que SSH2, por ejemplo, establecer una nueva sesión con SSH2 puede tardar de 5 a 7 iteraciones de red (ida y vuelta), lo que el usuario puede notar fácilmente ya que SSH3 solo necesita 3 iteraciones.

Si estás interesado en poder conocer más al respecto, debes saber que el cliente y del servidor está escrito en Go y distribuido bajo la licencia Apache 2.0, puedes consultar los detalles en el siguiente enlace.

Además de ello, cabe mencionar que SSH3 aún es experimental y su uso no es recomendable para la producción o entornos críticos y como tal solo se recomienda su instalación para conocer sus funcionalidades o poder testear.

Descargar e instalar SSH3

Para los interesados en poder implementar un servidor SSH3 para pruebas, pueden hacerlo compilando con Go el código fuente siguiendo las instrucciones que compartimos a continuación.

git clone https://github.com/francoismichel/ssh3
cd ssh3
go build -o ssh3 cmd/ssh3/main.go
CGO_ENABLED=1 go build -o ssh3-server cmd/ssh3-server/main.go

Hecho esto, ahora procedemos a añadir nuestra variable de entorno en .bashrc con:

export PATH=$PATH:/path/to/the/ssh3/directory

En cuanto a la implementación del servidor, ya que como SSH3 se ejecuta sobre HTTP3 es necesario un certificado y se puede generar uno con el script:

sh ./generate_openssl_selfsigned_certificate.sh

Finalmente, te invito a que consultes la documentación sobre el uso e implementación de funciones adicionales en el siguiente enlace.

from Linux Adictos https://ift.tt/oUD9LQP
via IFTTT

Calamares 3.3 llega con soporte para Qt 6, KDE Frameworks 6, mejoras en módulos y mas

calamares

Calamares es un framework de instalación gráfica para sistemas operativos Linux.

La nueva versión de Calamares 3.3 ya fue liberada y llega poco después de un año y medio de trabajo y cinco años y medio después de la formación de la rama 3.2.x (lo cual representa un largo trabajo sobre una rama en especifico). La nueva versión cuenta con una gran cantidad de cambios importantes, asi como mejoras y correcciones de errores.

Para quienes desconocen de calamares, deben saber que es una herramienta que te permite instalar fácilmente diferentes distribuciones de Linux, proporciona características tales como modos manuales y automáticos de particiones de disco, sistema flexible de adaptación de apariencia, arquitectura modular, una gran selección de módulos listos para usar (desde la administración del cargador de arranque hasta la administración de usuarios).

Calamares incluye una función de partición avanzada, con soporte para operaciones de partición tanto manuales como automatizadas. Es el primer instalador con una opción automatizada «Reemplazar partición», que facilita la reutilización de una partición una y otra vez para pruebas de distribución.

Principales novedades de Calamares 3.3

Esta nueva versión que se presenta de Calamares 3.3 llega con la actualización de diversos módulos, y es que ahora Calamares es totalmente compatible con las bibliotecas Qt 6 y KDE Frameworks 6, además de que cuenta con un conjunto de archivos QML compatibles con Qt6 para todos los módulos QML. Cabe mencionar que se conserva la capacidad de compilar con Qt5 y KDE Frameworks 5.

Los requisitos de estilo de codificación en Calamares 3.3 han experimentado actualizaciones significativas, pues ahora, el formato del código se ajusta al formato de Clang 15 o 16. Asimismo, los espacios de nombres utilizados en el código C++ han sido reelaborados, pues ahora todas las llamadas se han movido al espacio de nombres Calamares y se han eliminado las referencias al espacio de nombres CalamaresUtils.

Una modificación adicional incluye la eliminación de la dependencia de la biblioteca Boost::Python. En su lugar, el desarrollo en Python ahora se basa en el conjunto integrado de enlaces pybind11. Para desactivar este cambio y volver a compilar desde Boost::Python, se puede configurar la variable CON_PYBIND11=OFF.

Además, Calamares 3.3 incorpora un nuevo módulo denominado «zfshostid», diseñado específicamente para copiar archivos generados por ZFS en /etc/hostid. Otra mejora notable es la introducción de la capacidad de configurar la personalización del nombre del kernel en el módulo Dracut y que se ha llevado a cabo una modernización de la interfaz de usuario para los módulos de «keyboardq» y «localeq» se ha movido del ComboBox al widget Drawer, brindando una experiencia más intuitiva y actualizada.

El módulo «bootloader» presenta opciones ampliadas para su uso en la línea de comandos del kernel. En el módulo «fstab», el trabajo con la configuración /etc/fstab ha sido completamente rediseñado. Muchas configuraciones se han movido al módulo «mount».

También sé destaca que se ha implementado soporte para el cifrado de disco LUKS o LUKS2 en el módulo «partition» ofreciendo una capa adicional de seguridad, ya que ahora es posible omitir la instalación del gestor de arranque. Se utiliza la funcionalidad de la biblioteca KPMCore 21.12 (KDE Partition Manager).

En cuanto al módulo Netinstall, se ha añadido una nueva opción «non-checkable» para grupos, lo que impide que un grupo sea marcado o desmarcado en su totalidad. Es importante señalar que, a pesar de esta restricción, los usuarios aún conservan la capacidad de verificar elementos individuales dentro del grupo, según lo señalado por los desarrolladores.

De los demás cambios que se destacan de esta nueva versión:

  • Se agregó soporte para metadatos de AppStream 1.0 en la interfaz de selección de paquetes «packagechooser» .
  • El módulo «keyboard» permite elegir si desea utilizar la configuración X11 o el servicio DBus FreeDesktop locale1. Garantiza que la configuración de distribución del teclado se guarde para todos los diseños que no sean ASCII.
  • El módulo «displaymanager» ya no es compatible con el administrador de pantalla kdm.
  • ${var} se utiliza como máscara de sustitución en lugar de @{var}.
    El módulo machineid se ha actualizado con soporte para varias variaciones de escritura del archivo /etc/machine-id
  • unpackfs ahora usa la opción -S de rsync para soporte de archivos dispersos

Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

from Linux Adictos https://ift.tt/i2EBgFD
via IFTTT