Vsftpd, instal·lació i configuració bàsica d'un servidor FTP

sobre vsftpd

En el següent article anem a fer una ullada a com podem instal·lar vsftpd en Ubuntu. Tant si vols crear un servidor domèstic, un servidor web, un servidor de jocs o qualsevol servidor que s'adapti al teu projecte, un FTP és la forma més senzilla de transferir dades d'un sistema a un altre. Per això anem a veure com realitzar la instal·lació i configuració bàsica d'un servidor FTP en Ubuntu.

FTP, o Protocol de transferència d'arxius, és el sistema que s'utilitza per carregar (col·locar) O descarregar (obtenir) Arxius d'un servidor. Probablement el tinguis utilitzat en algun moment sense adonar-te'n, a l'agafar arxius o carregar imatges al web.

Instal·lar un servidor FTP en Ubuntu

instal·lar vsftpd

Per a aquest exemple, vaig a instal·lar un servidor FPT en la meva xarxa local sobre un Ubuntu 20.04. Si no el tens instal·lat al teu equip, es pot instal·lar amb la comanda (Ctrl + Alt + T):

instal·lar vsftpd

sudo apt install vsftpd

Un cop instal·lat, anem a començar per fer una còpia de l'arxiu de configuració original. Si alguna cosa surt malament, es pot restaurar la configuració predeterminada.

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf_default

Ara anem a iniciar el servei amb la comanda:

sudo systemctl start vsftpd

Confirmem que s'està executant amb:

habilitar vsftpd

sudo systemctl enable vsftpd

Compte d'usuari FTP

amb això podrem utilitzar qualsevol client FTP per accedir als arxius allotjats al servidor a través d'vsftpd. A la terminal (Ctrl + Alt + T) només haurem d'utilitzar la comanda:

sudo useradd –m nombre-usuario

substitueix 'nom-usuari'Pel teu nom d'usuari previst. A continuació anem a establir una contrasenya:

crear usuari ftp

sudo passwd nombre-usuario

Després ens mourem a la carpeta d'usuari recentment creada:

cd /home/nombre-usuario

L'ideal és que el FTP es restringeixi a un directori específic per motius de seguretat. Vsftpd fa servir gàbies chroot per aconseguir això. Amb chroot habilitat, un usuari local està restringit al seu directori d'inici (per defecte). Per a aquest exemple, crearem un directori FTP que actuarà com chroot, juntament amb un directori d'arxius modificables.

per començar vam crear la carpeta FTP:

sudo mkdir ftp

Establirem la propietat de la carpeta amb aquest altre comanda:

propietat carpeta ftp

sudo chown nobody:nogroup /home/nombre-usuario/ftp

Ara eliminem els permisos d'escriptura d'aquesta carpeta:

sudo chmod a-w /home/nombre-usuario/ftp

Continuem creant directori contenidor d'arxius i li assignarem la propietat:

crear la carpeta de fitxers

sudo mkdir /home/nombre-usuario/ftp/files 

sudo chown nombre-usuario:nombre-usuario /home/nombre-usuario/ftp/files

En aquest punt, anem a crear un arxiu de prova a la carpeta files:

crear arxiu d'exemple

echo "vsftpd archivo de ejemplo" | sudo tee /home/nombre-usuario/ftp/files/ejemplo.txt

Assegurar el servidor FTP

En aquesta pas anem a obrir els ports 20 i 21 per al trànsit FTP. Els ports 40000-50000 seran els reservats per al rang de ports passius que eventualment s'establiran a l'arxiu de configuració i el port 990 s'usarà quan s'habiliti el TLS. Executa el següent per fer-ho:

sudo ufw allow 20/tcp; sudo ufw allow 21/tcp; sudo ufw allow 990/tcp; sudo ufw allow 40000:50000/tcp

Si utilitzes un tallafocs diferent, consulta la seva documentació per obrir els ports.

Configura vsftpd

Com ens interessa que els usuaris puguin carregar arxius, anem a editar el fitxer de configuració de vsftpd:

sudo vim /etc/vsftpd.conf

Dins de l'arxiu anem a buscar les següents entrades i descomentarlas:

anonymous write local a descomentar

anonymous_enable=NO

write_enable=YES

local_enable=YES

Chroot_local_user tampoc es comentarà, amb això ens garantim que l'usuari connectat només accedeixi als fitxers dins de directori permès:

chroot local users a descomentar

chroot_local_user=YES

També anem a afegir manualment alguns valors nous a la fi de l'arxiu. això permetrà que la configuració funcioni amb l'usuari actual i amb qualsevol altre usuari que s'afegeixi posteriorment:

USUARI local usr

user_sub_token=$USER
local_root=/home/$USER/ftp

Reinicieu el dimoni per carregar els canvis:

sudo systemctl restart vsftpd

connexions xifrades

Utilitzarem TTL / SSL per garantir la seguretat. Hem de crear el certificat SSL i utilitzar-lo per protegir el servidor FTP. Això ho farem amb la comanda:

generar certificat SSL

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

el flag -dies fa que el certificat sigui vàlid per un any i hem inclòs una clau privada RSA de 2048 bits en el mateix ordre. Quan acabis de crear el certificat, obre una altra vegada el fitxer de configuració:

sudo vim /etc/vsftpd.conf

El final de l'arxiu hem de trobar dues línies que comencin amb «rsa«. Comenta les dues línies i escriu les següents:

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem

línies rsa

Ara habilitarem SSL perquè només els clients que tinguin SSL habilitats puguin connectar-se. Canvia el valor de ssl_enable a YES:

ssl_enable=YES

Per a la no permetre connexions anònimes a través d'SSL, Afegeix les línies:

configuració seguretat

allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

Configura el servidor per fer servir TLS, Afegint:

ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

També aconseguirem que no serà necessari reutilitzar SSL, Perquè pot fer que molts clients de FTP no funcionin. A més utilitzarem suites d'encriptació d'alt xifrat, Afegint les línies:

require_ssl_reuse=NO
ssl_ciphers=HIGH

Guardem l'arxiu i reiniciem el servei:

sudo systemctl restart vsftpd

Accedir des d'un client FTP

Ara ja podrem connectar-nos al nostre servidor FTP. per això podrem utilitzar una aplicació des de l'entorn gràfic o la comanda de terminal ftp. Si optes per l'entorn gràfic, et caldrà un client FTP com FileZilla. Per instal·lar pots recórrer a l'article que un company va escriure en aquest blog fa un temps.

Un cop instal·lat i iniciat Filezilla, fes clic a Arxiu / Gestor de llocs. El següent serà fer clic a "nou lloc".

connexió de filezilla a vsftpd

Al tauler de la dreta, selecciona com protocol FTP. Si utilitzeu FTPS, selecciona TLS per xifrat. A continuació, escriu el nom d'amfitrió o l'adreça IP en Servidor i afegeix el port (21). per al manera d'accés selecciona Normal, I escriu les credencials del teu compte en Usuari i Contrasenya. Fes clic a Connecta.

Haurem de acceptem el certificat que vam crear anteriorment.

acceptar certificat SSL

Arribats a aquest punt veurem l'arxiu d'exemple que vam crear dins de la carpeta files. Ja podem començar a utilitzar el nostre servidor FTP. Simplement arrossega i deixa anar els arxius que vulguis moure.

filezilla arxiu exemple

Usant un FTP, podrem capturar les dades sempre que els necessitem. es pot saber més sobre vsftpd i la seva configuració des de la pàgina de documentació de l'Ubuntu.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   fjalcon va dir

    Perfecte tutorial, m'ha ajudat a configurar el meu servidor ftp en qüestió de pocs minuts.

  2.   juan carlos va dir

    Gran tutorial, entenedora de principi a fi. Tinc un dubte, tinc una pc amb Debian 11 Plasma, i un virtualbox amb centenars 7. En centenars he instal·lat el servidor ftpy he creat un usuari. Ara des de Debian i dolphin accedeixo sense problemes, el problema rau que no puc crear carpetes o fitxer, però des d'altres virtuals (xp, seven, linuxmint), si puc crear sense problemes, A què es deu?