Cómo instalar y configurar rssh y scponly en Linux
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.


