Quando si gestisce un server Linux, fornire un accesso limitato agli utenti per il trasferimento di file senza concedere l’accesso completo alla shell è un problema di sicurezza comune. Due strumenti che aiutano a raggiungere questo obiettivo sono rssh e scponly. Queste shell limitate consentono agli utenti di eseguire operazioni specifiche di trasferimento di file tramite SCP, SFTP e rsync, impedendo al contempo l’esecuzione di comandi.
In questa guida, ci occuperemo dell’installazione e della configurazione di rssh e scponly su un sistema Linux.
La maggior parte delle distribuzioni Linux fornisce rssh nei propri repository di pacchetti. È possibile installarlo utilizzando i seguenti comandi:
Per Debian/Ubuntu:
sudo apt update && sudo apt install rssh -y
Per CentOS/RHEL:
sudo yum install rssh -y
Per Arch Linux:
sudo pacman -S rssh
Una volta installato, configurare rssh modificando il suo file di configurazione:
sudo nano /etc/rssh.conf
Deselezionare le opzioni necessarie per consentire SCP, SFTP o rsync. Esempio:
allowscp
consenteftp
allowrsync
Salvare e uscire dal file.
Per assegnare rssh come shell a un utente specifico, eseguire:
sudo usermod -s /usr/bin/rssh nomeutente
Ora l’utente può eseguire solo operazioni consentite tramite SCP, SFTP o rsync.
Per i sistemi basati su Debian:
sudo apt update && sudo apt install scponly -y
Per CentOS/RHEL:
sudo yum install scponly -y
Per Arch Linux:
sudo pacman -S scponly
Per limitare l’accesso di un utente a scponly, modificare la sua shell:
sudo usermod -s /usr/bin/scponly username
Per assicurarsi che l’utente sia correttamente limitato, eseguire un test con:
ssh nomeutente@server
Dovrebbe negare l’accesso alla shell ma consentire il trasferimento di file SCP/SFTP.
Per verificare la configurazione, tentare di trasferire i file utilizzando:
Per SCP:
scp file.txt nomeutente@server:/home/username/
Per SFTP:
sftp nomeutente@server
Se impostato correttamente, gli utenti dovrebbero essere in grado di trasferire file ma non di eseguire comandi.
Utilizzando rssh e scponly, gli amministratori possono migliorare la sicurezza limitando l’accesso degli utenti al solo trasferimento di file. In questo modo si impedisce l’accesso non autorizzato alla shell, consentendo al contempo le operazioni di scambio di file necessarie. Assicurarsi di aggiornare regolarmente le configurazioni per allinearle alle politiche di sicurezza.