Introduzione

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.

Installazione di rssh

Installare rssh

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

Configurare 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.

Impostare un utente con rssh

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.

Installazione di scponly

Installare scponly

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

Configurare scponly per un utente

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.

Test e verifica

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.

Conclusione

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.