Come abilitare e configurare SFTP su CentOS 7

In molte occasioni dobbiamo trasferire più informazioni tra dispositivi e il modo più comune per farlo, che va avanti da più di 20 anni, è utilizzare il protocollo FTP (File Transfer Protocol) e FTP che consente il trasferimento tra computer collegati. TCP che prende la base client/server.

Con FTP usiamo le porte 20 e 21. Ora abbiamo un nuovo protocollo predefinito chiamato SFTP in cui troviamo abilitato su tutti i server che supportano SSH.

SFTP (SSH File Transfer Protocol) è diverso dal tipo FTP, sebbene supporti tutti i client FTP che troviamo oggi. Sebbene SFTP sia stato implementato per aggiungere un livello di sicurezza, presenta una vulnerabilità a livello di accesso poiché, essendo uno standard, garantisce l'accesso completo agli utenti del sistema per trasferire file e utilizzare Shell.

Oggi Solvetic insegnerà come configurare CentOS 7 per impedire a un determinato utente di avere accesso SSH con la libertà di manipolare il sistema attraverso il protocollo SFTP0.

1. Creazione dell'utente


Per prima cosa creeremo l'utente che avrà accesso limitato da SSH, in questo caso lo chiameremo access, eseguiamo quanto segue:
 sudo adduser access
Successivamente assegniamo una password al nuovo utente eseguendo quanto segue:
 sudo passwd access

2. Creazione della directory per il trasferimento dei file


Una volta creato il nostro utente, il passaggio successivo è creare la directory in cui agirà SFTP, impedendo l'accesso e questa deve essere configurata con determinati parametri.

Creeremo una directory chiamata /var/sftp/uploads in cui la parte /var/sftp, l'utente root sarà il suo proprietario e nessun altro utente avrà permessi attivi e nella sottodirectory /var/sftp/uploads il proprietario sarà il nuovo accesso utente. Creiamo la directory utilizzando la seguente riga:

 sudo mkdir -p / var / sftp / caricamenti
Successivamente stabiliamo l'utente root come proprietario nella directory indicata:
 sudo chown root: root / var / sftp
Concediamo i permessi di scrittura all'utente root e di lettura agli altri utenti nel percorso indicato:
 sudo chmod 755 / var / sftp

Ora modifichiamo il proprietario dei caricamenti in modo che sia l'accesso dell'utente, eseguiamo quanto segue:

 sudo chown access: access / var / sftp / uploads

3. Limitazione dell'accesso a una directory


In questo passaggio vedremo come limitare l'accesso da terminale all'accesso dell'utente ma se sarà possibile trasferire file. Per questo dobbiamo modificare il server SSH con l'editor preferito, vim o nano, nel seguente percorso:
 sudo nano / etc / ssh / sshd_config
Vedremo quanto segue:

Nella parte finale del file aggiungiamo quanto segue:

 Corrispondenza Accesso utente ForceCommand internal-sftp PasswordAuthentication sì ChrootDirectory / var / sftp PermitTunnel no AllowAgentForwarding no AllowTcpForwarding no X11Forwarding no 

Salviamo le modifiche utilizzando la combinazione di tasti Ctrl + O ed usciamo dall'editor utilizzando i tasti Ctrl + X. La sintassi utilizzata implica quanto segue:

Abbina utenteDire al server SSH di applicare le modifiche all'utente indicato lì.

ForceCommand internal-sftpForza il server SSH a eseguire SFTP per impedire l'accesso alla Shell.

Autenticazione password sìAbilita l'autenticazione della password

ChrootDirectory / var / sftp /Si riferisce al fatto che l'utente indicato non avrà accesso oltre il percorso /var/sftp.

AllowAgentForwarding no, AllowTcpForwarding no. e X11 Forwarding non lo èQueste opzioni disabilitano l'inoltro della porta, il tunneling e l'inoltro del protocollo X11 per l'utente specificato.

Una volta salvato il file, eseguiremo il seguente comando per applicare le modifiche in SSH:

 sudo systemctl riavvia sshd

4. Verifica della connessione SSH

Passo 1
Con questo configurato, sarà il momento di convalidare l'accesso tramite SSH e verificare che solo i trasferimenti di file saranno possibili. Per questo andiamo alla connessione tramite SSH che in questo caso sarà.

 ssh [email protected]
Una volta inserite le credenziali di accesso vedremo il seguente messaggio:

Passo 2
Con questo abbiamo verificato che la connessione verrà chiusa tramite SSH. Ora proveremo la connessione utilizzando il protocollo sftp:

 accesso [email protected]
Inserendo la password vedremo che la connessione è andata a buon fine e potremo trasferire i file:

Passaggio 3
Lì possiamo usare il comando ls per elencare le directory disponibili e vedremo la cartella dei caricamenti che abbiamo creato:

Passaggio 4
Lì possiamo spostare le informazioni ma se proviamo a tornare a una directory sopra usando cd … non otterremo un errore ma vediamo che nessuna directory può essere elencata:

È così semplice che possiamo limitare l'accesso grazie a sftp.

wave wave wave wave wave