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 -yPer CentOS/RHEL:
sudo yum install rssh -yPer Arch Linux:
sudo pacman -S rsshUna volta installato, configurare rssh modificando il suo file di configurazione:
sudo nano /etc/rssh.confDeselezionare le opzioni necessarie per consentire SCP, SFTP o rsync. Esempio:
allowscp
consenteftp
allowrsyncSalvare e uscire dal file.
Per assegnare rssh come shell a un utente specifico, eseguire:
sudo usermod -s /usr/bin/rssh nomeutenteOra 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 -yPer CentOS/RHEL:
sudo yum install scponly -yPer Arch Linux:
sudo pacman -S scponlyPer limitare l’accesso di un utente a scponly, modificare la sua shell:
sudo usermod -s /usr/bin/scponly usernamePer assicurarsi che l’utente sia correttamente limitato, eseguire un test con:
ssh nomeutente@serverDovrebbe 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@serverSe 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.