Introduzione

SFTP (SSH File Transfer Protocol) è un protocollo file sicuro per il trasferimento di file tra due host tramite una connessione crittografata. Inoltre, consente di eseguire varie operazioni sui file remoti e di riprendere i trasferimenti di file.

SFTP può essere utilizzato come sostituto del protocollo FTP legacy. Ha tutte le funzionalità di FTP ma con una connessione più sicura.

Questo articolo spiega come modificare la porta SFTP predefinita in Linux. Ti mostreremo anche come configurare il tuo firewall per consentire sulla nuova porta.

Non confondere SFTP con FTPS. Entrambi i protocolli hanno lo stesso scopo. Tuttavia, FTPS sta per FTP Secure ed è un'estensione del protocollo FTP standard con supporto per TLS.

Porta SFTP standard

SFTP è un sottosistema di SSH e fornisce lo stesso livello di sicurezza di SSH.

La porta SFTP predefinita è la 22.

Modificare la porta SFTP

La modifica della porta SFTP/SSH predefinita aggiunge un ulteriore livello di sicurezza al server riducendo il rischio di attacchi automatici.

Il modo migliore per proteggere il server dagli attacchi è configurare il firewall per consentire l'accesso alla porta 22 solo da host attendibili e impostare un'autenticazione basata su chiave SSH.

I seguenti passaggi descrivono come modificare la porta SSH su macchine Linux.

Scegliere un nuovo numero di porta

In Linux, i numeri di porta inferiori a 1024 sono riservati a servizi noti e possono essere associati solo da root. Sebbene sia possibile utilizzare una porta nell'intervallo 1-1024 per il servizio SSH per evitare problemi di allocazione delle porte, si consiglia di scegliere una porta superiore a 1024.

Questo esempio mostra come modificare la porta SFTP/SSH su 4422, ma puoi scegliere qualsiasi porta di tuo gradimento.

Regolare il firewall

Prima di cambiare la porta SFTP/SSH, dovrai aprire la nuova porta nel tuo firewall.

Se si utilizza UFW, il firewall UFW predefinito su Ubuntu, eseguire il comando seguente per aprire la porta:

sudo ufw allow 4422/tcp

In CentOS, lo strumento di gestione firewall predefinito è FirewallD. Per aprire la porta, immettere i seguenti comandi:

sudo firewall-cmd --permanent --zone=public --add-port=4422/tcp
sudo firewall-cmd --reload

Gli utenti di CentOS devono inoltre regolare le regole SELinux per consentire la nuova porta SSH:

sudo semanage port -a -t ssh_port_t -p tcp 4422

Se si utilizza un'altra distribuzione Linux che esegue iptables, per aprire la nuova porta eseguire:

sudo iptables -A INPUT -p tcp --dport 4422 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

Configurare SFTP/SSH

La configurazione del server SSH è memorizzata nel file /etc/ssh/sshd_config. Apri il file con il tuo editor di testo:

sudo vim /etc/ssh/sshd_config

Cerca la riga che inizia con Port 22. In genere, questa riga viene commentata usando il simbolo hash #. Rimuovi l'hash # e inserisci il tuo nuovo numero di porta SSH:

Port 4422
/etc/ssh/sshd_config

Fai molta attenzione quando modifichi il file di configurazione. Una configurazione errata potrebbe impedire l'avvio del servizio SSH.

Una volta fatto, salva il file e riavvia il servizio SSH per rendere effettive le modifiche:

sudo systemctl restart ssh

In CentOS il servizio SSH è chiamato sshd:

sudo systemctl restart sshd

Verifica che il demone SSH sia in ascolto sulla nuova porta:

ss -an | grep 4422

L'output dovrebbe assomigliare a questo:

tcp   LISTEN      0        128            0.0.0.0:4422           0.0.0.0:*
tcp   ESTAB       0        0      192.168.111.111:4422     192.168.111.1:41438
tcp   LISTEN      0        128               [::]:4422              [::]:*

Utilizzare la nuova porta SFTP

Per specificare il numero di porta, richiamare il comando sftp con l'opzione -P seguita dal nuovo numero di porta:

sftp -P 4422 [email protected]_host_or_ip

Se si utilizza un client SFTP della GUI, è sufficiente inserire la nuova porta nell'interfaccia client.

Conclusione

La porta SFTP predefinita è 22. Tuttavia, è possibile cambiare la porta con il numero desiderato.

Se ci si collega regolarmente a più sistemi, è possibile semplificare il flusso di lavoro definendo tutte le connessioni nel file di configurazione SSH.