Goline Logo

News

  • Route RPKI validation April 1st, 2022
    RPKI is a security framework by which network owners can validate and secure the critical route updates or Border Gateway Protocol (BGP) announcements between public Internet networks. BGP is essentially the central nervous system of the Internet and one of its fundamental building blocks. The main function of BGP is to facilitate efficient routing between Autonomous Systems (AS), by building and maintaining the Internet routing table. The Internet routing table is effectively the navigation system of the Internet and without it, traffic would be unable to flow between its constituent networks. Unfortunately, routing equipment alone cannot distinguish between legitimate and malicious routing announcements,...
  • RIPE – Atlas Anchor February 17th, 2022
    We have become an even more integral part of the RIPE Atlas project by hosting an anchor, a device that allows for latency analysis of traffic between autonomous systems.https://atlas.ripe.net/probes/7073/RIPE Atlas anchors play an integral role in the RIPE Atlas network by acting both as enhanced RIPE Atlas probes with more measurement capacity, as well as regional measurement targets within the greater RIPE Atlas network. Anchors are able to perform many more measurements than a regular RIPE Atlas probe, and the large amount of data they collect is made available to everyone. In addition, anchors act as powerful targets that can...
  • MANRS June 20th, 2020
    GOLINE firmly believes in initiatives to protect networks, improve security and resilience of the global routing system. Therefore we decided to support the MANRS project and join as participants.Mutually Agreed Norms for Routing Security (MANRS) is a global initiative, supported by the Internet Society, that provides crucial fixes to reduce the most common routing threats. MANRS offers specific actions via four programs for Network Operators, Internet Exchange Points, CDN and Cloud Providers, and Equipment Vendors. Requirements for Participation Please read the full MANRS Actions document before applying. You can become a participant if you meet these requirements: You (or your company) support...

Installare vsftpd su Ubuntu Server

Paolo Caparrelli Linux Networking 22 June 2022

Server FTP

File Transfer Protocol (FTP) è un protocollo TCP per scaricare file tra computer: in passato è stato usato anche per il caricamento ma, considerato che questo metodo non utilizza la cifratura, sia le credenziali dell'utente che i dati sono trasferiti in chiaro e facilmente intercettati. Se si cerca un modo per caricare e scaricare file in maniera sicura, consultare la sezione OpenSSH in Amministrazione remota.

FTP opera con un modello client/server: la componente server è chiamata demone FTP, che resta in ascolto di richieste FTP da parte di client remoti. Alla ricezione di una richiesta, gestisce l'autenticazione e attiva la connessione; per la durata della connessione esegue i comandi inviati dai client FTP.

L'accesso a un server FTP può essere gestito in due modi:

  • Anonimo

  • Con autenticazione

Nella modalità anonima, i client remoti possono accedere al server FTP usando l'account predefinito «anonymous» o «ftp» e usando come password un indirizzo email; nella modalità autenticata, un utente deve avere un account e una password: quest'ultima scelta è molto poco sicura e non dovrebbe essere usata se non in speciali circostanze. Se è necessario trasferire file in sicurezza, cercare SFTP nella sezione sui server Open-SSH. L'accesso alle directory e ai file nel server FTP dipende dai permessi definiti per l'account usato per l'accesso. Come regola generale, il demone FTP nasconde la directory root del server FTP e la modifica con la directory home di FTP, nascondendo così il resto del file system dalle sessioni remote.

vsftpd – Installazione del server FTP

Un demone FTP disponibile in Ubuntu è vsftpd: è semplice da installare, configurare e mantenere. È possibile installare vsftpd eseguendo il seguente comando:

sudo apt-get install vsftpd


Configurazione anonima di FTP

Per impostazione predefinita, vsftpd non è configurato per consentire di scaricare file in maniera anonima: per abilitare lo scaricamento anonimo modificare /etc/vsftpd.conf cambiando:

anonymous_enable=Yes


Durante l'installazione viene creato un utente ftp con una directory home di /srv/ftp; questa è la directory FTP predefinita.

Se è necessario modificare questa posizione, per esempio in /srv/files/ftp, creare semplicemente una directory in un'altra posizione e modificare la directory home dell'utente ftp:

sudo mkdir /srv/files/ftp

sudo usermod -d /srv/files/ftp ftp 


Applicate le modifiche, riavviare vsftpd:

sudo restart vsftpd


Infine, copiare i file e le directory da rendere disponibili attraverso FTP anonimo in /srv/files/ftp o /srv/ftp, per utilizzare l'impostazione predefinita.

Configurazione FTP per utenti autenticati

Per impostazione predefinita vsftpd è configurato per autenticare gli utenti di sistema e consentire loro di scaricare file: per consentire agli utenti di caricare file, modificare /etc/vsftpd.conf:

write_enable=YES


Riavviare vsftpd:

sudo restart vsftpd


Ora, quando gli utenti accedono via FTP, il loro punto di partenza sarà la propria directory home, dove potranno scaricare e caricare file e creare directory.

Allo stesso modo, per impostazione predefinita, gli utenti anonimi non possono caricare file nel server FTP: per modificare questa impostazione, occorre togliere il commento alla riga seguente e riavviare vsftpd:

anon_upload_enable=YES


Abilitare il caricamento anonimo di file via FTP può compromettere la sicurezza del sistema. È sconsigliato abilitare il caricamento anonimo su server collegati direttamente a Internet.

Il file di configurazione è composto da diversi parametri di configurazione, le cui informazioni sono disponibili nel file stesso. In alternativa, è possibile fare riferimento alla pagina man (man 5 vsftpd.conf).

FTP sicuro

All'interno del file di configurazione /etc/vsftpd.conf di vsftpd, sono presenti molte opzioni per rendere il programma più sicuro. Per esempio, togliendo il commento a quanto segue, gli utenti possono essere limitati all'utilizzo solo della propria directory personale:

chroot_local_user=YES


È anche possibile limitare un particolare gruppo di utenti all'utilizzo delle sole directory personali:

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list


Tolto il commento alle opzioni precedenti, creare un file /etc/vsftpd.chroot_list con l'elenco degli utenti, uno per riga, quindi riavviare vsftpd:

sudo restart vsftpd


Inoltre, il file /etc/ftpusers contiene un elenco di utenti a cui è negato l'accesso FTP. L'elenco comprende gli utenti root, daemon, nobody, ecc… Per disabilitare l'accesso FTP ad altri utenti, aggiungerli semplicemente a questo elenco.

Il protocollo FTP può anche essere cifrato utilizzando FTPS: a differenza di SFTP, FTPS è FTP su Secure Socket Layer (SSL), mentre SFTP è una sessione FTP all'interno di una connessione cifrata con SSH. La principale differenza consiste nel fatto che gli utenti SFTP devono avere un account shell sul sistema, invece di una shell nologin. Fornire però una shell a tutti gli utenti potrebbe non essere sempre applicabile in alcuni ambienti, come nei casi di servizio di host web. È tuttavia possibile restringere tali account unicamente a SFTP e disabilitare l'interazione shell: per maggiori particolari, consultare la sezione sui server OpenSSH.

Per configurare FTPS, modificare il file /etc/vsftpd.conf aggiungendo:

ssl_enable=Yes


Inoltre, notare anche le opzioni relative al certificato e alla chiave:

rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem

rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key


In modo predefinito queste opzioni sono impostate nel certificato e nella chiave forniti dal pacchetto ssl-cert: in un ambiente di produzione queste dovrebbero essere sostituite con un certificato e una chiave generati per l'host specifico. Per ulteriori informazioni sui certificati, consultare Certificati.

Riavviare vsftpd e gli utenti non-anonimi utilizzeranno FTPS:

sudo restart vsftpd


Per consentire accesso FTP agli utenti dotati di una shell /usr/sbin/nologin, ma non dispongono di accesso shell, modificare il file /etc/shells aggiungendo nologin:

# /etc/shells: valid login shells

/bin/csh

/bin/sh

/usr/bin/es

/usr/bin/ksh

/bin/ksh

/usr/bin/rc

/usr/bin/tcsh

/bin/tcsh

/usr/bin/esh

/bin/dash

/bin/bash

/bin/rbash

/usr/bin/screen

/usr/sbin/nologin


Questo è necessario poiché, in modo predefinito, vsftpd utilizza PAM per l'autenticazione e i file di configurazione /etc/pam.d/vsftpd contiene:

auth    required        pam_shells.so


Il modulo shells di PAM limita l'accesso alle shell indicate nel file /etc/shells.

Molti popolari client FTP possono essere configurati per utilizzare connessioni FTPS: il client a riga di comando lftp è in grado di utilizzare FTPS.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x