Cómo instalar y configurar rssh y scponly en Linux

Popular:
¡MEJORA LA CONFIGURACIÓN DE TU SERVIDOR! APLICAR AVA Y LANZA CON UN 15% DE DESCUENTO
USA EL CÓDIGO PROMOCIONAL:

Introducción

Al administrar un servidor Linux, proporcionar acceso restringido a los usuarios para transferencias de archivos sin otorgar acceso completo a la shell es una preocupación de seguridad común. Dos herramientas que ayudan a lograr esto son rssh y scponly. Estas shells restringidas permiten a los usuarios realizar operaciones específicas de transferencia de archivos mediante SCP, SFTP y rsync, al tiempo que impiden la ejecución de comandos.

En esta guía, cubriremos la instalación y configuración de rssh y scponly en un sistema Linux.

Instalando rssh

Instalar rssh

La mayoría de las distribuciones Linux proporcionan rssh en sus repositorios de paquetes. Puede instalarlo usando los siguientes comandos:

Para Debian/Ubuntu:

sudo apt update && sudo apt install rssh -y

Para CentOS/RHEL:

sudo yum install rssh -y

Para Arch Linux:

sudo pacman -S rssh

Configurar rssh

Una vez instalado, configure rssh editando su archivo de configuración:

sudo nano /etc/rssh.conf

Descomente las opciones requeridas para permitir SCP, SFTP o rsync. Ejemplo:

allowscp allowsftp allowrsync

Guarde y salga del archivo.

Configurar un usuario con rssh

Para asignar rssh como la shell para un usuario específico, ejecute:

sudo usermod -s /usr/bin/rssh username

Ahora, el usuario solo puede realizar las operaciones permitidas mediante SCP, SFTP o rsync.

Instalando scponly

Instalar scponly

Para sistemas basados en Debian:

sudo apt update && sudo apt install scponly -y

Para CentOS/RHEL:

sudo yum install scponly -y

Para Arch Linux:

sudo pacman -S scponly

Configurar scponly para un usuario

Para restringir a un usuario a scponly, modifique su shell:

sudo usermod -s /usr/bin/scponly username

Para asegurarse de que el usuario esté correctamente restringido, pruebe con:

ssh username@server

Debería denegar el acceso a la shell pero permitir transferencias de archivos SCP/SFTP.

Pruebas y verificación

Para verificar la configuración, intente transferencias de archivos usando:

Para SCP:

scp file.txt username@server:/home/username/

Para SFTP:

sftp username@server

Si está configurado correctamente, los usuarios deberían poder transferir archivos pero no ejecutar comandos.

Conclusión

Usando rssh y scponly, los administradores pueden mejorar la seguridad restringiendo el acceso de los usuarios solo a transferencias de archivos. Esto evita el acceso no autorizado a la shell al tiempo que permite las operaciones necesarias de intercambio de archivos. Asegúrese de actualizar regularmente las configuraciones para alinearlas con las políticas de seguridad.