„Linux“

Kaip konfigūruoti FTP serverį su VSFTPD „Ubuntu 20“.04

Kaip konfigūruoti FTP serverį su VSFTPD „Ubuntu 20“.04

Šiame straipsnyje aprašoma, kaip įdiegti ir konfigūruoti FTP serverį „Ubuntu 20“.04, kurį naudojate dalindamiesi failais tarp savo įrenginių.

FTP (File Transfer Protocol) yra standartinis tinklo protokolas, naudojamas failams perkelti į nuotolinį tinklą ir iš jo. „Linux“ yra keli atvirojo kodo FTP serveriai. Labiausiai žinomos ir plačiausiai naudojamos yra „PureFTPd“, „ProFTPD“ ir „vsftpd“ . Diegsime stabilų, saugų ir greitą FTP serverį vsftpd (Very Secure Ftp Daemon). Mes taip pat parodysime, kaip sukonfigūruoti serverį, kad vartotojai būtų apriboti savo namų katalogu ir užšifruotų visą perdavimą SSL / TLS.

Nors FTP yra labai populiarus protokolas, norint saugiau ir greičiau perduoti duomenis, turėtumėte naudoti SCP arba SFTP .

„Vsftpd“ diegimas „Ubuntu 20“.04 #

„Vsftpd“ paketą galima rasti „Ubuntu“ saugyklose. Norėdami jį įdiegti, vykdykite šias komandas:

sudo apt atnaujinimassudo apt install vsftpd

FTP paslauga bus automatiškai paleista baigus diegimo procesą. Norėdami tai patikrinti, atsispausdinkite paslaugos būseną:

sudo systemctl status vsftpd

Išvestis turėtų parodyti, kad vsftpd paslauga yra aktyvi ir veikia:

● vsftpd.tarnyba - vsftpd FTP serveris Įkelta: pakrauta (/ lib / systemd / system / vsftpd.aptarnavimas; įjungtas; išankstinis pardavėjo nustatymas: įjungtas) Aktyvus: aktyvus (veikia) nuo 2021-03-02, 15:17:22 UTC; Prieš 3 s .. 

Konfigūruojamas vsftpd #

Serverio „vsftpd“ konfigūracija saugoma / etc / vsftpd.konf failą.

Dauguma serverio nustatymų yra gerai dokumentuoti failo viduje. Norėdami pamatyti visas galimas parinktis, apsilankykite vsftpd dokumentacijos puslapyje.

Tolesniuose skyriuose apžvelgsime keletą svarbių nustatymų, reikalingų konfigūruoti saugų vsftpd diegimą.

Pradėkite atidarydami vsftpd konfigūracijos failą:

sudo nano / etc / vsftpd.konf

1. FTP prieigos Nr

Leisime prieigą prie FTP serverio tik vietiniams vartotojams. Ieškokite anonimas_įgalinamas ir local_enable direktyvas ir patikrinkite, ar jūsų konfigūracija atitinka toliau pateiktas eilutes:

/ etc / vsftpd.konf
anonymous_enable = NE local_enable = TAIP 

2. Įgalinamas įkėlimas #

Suraskite ir atžymėkite rašyti_įgalinti direktyvą, leidžiančią keisti failų sistemą, pvz., įkelti ir pašalinti failus:

/ etc / vsftpd.konf
write_enable = TAIP 

3. Chroot kalėjimas #

Jei norite, kad vietiniai FTP vartotojai negalėtų pasiekti failų ne savo namų kataloguose, pradėkite nuo komentarų chroot_local_user:

/ etc / vsftpd.konf
chroot_local_user = TAIP 

Pagal numatytuosius nustatymus saugumo sumetimais, kai „chroot“ yra įjungta, „vsftpd“ atsisakys įkelti failus, jei katalogas, kuriame vartotojai yra užrakinti, yra įrašomas.

Norėdami leisti įkelti, kai įgalinta „chroot“, naudokite vieną iš toliau pateiktų sprendimų:

4. Pasyvios FTP jungtys

Pagal numatytuosius nustatymus „vsftpd“ naudoja aktyvųjį režimą. Norėdami naudoti pasyvųjį režimą, nustatykite mažiausią ir didžiausią prievadų diapazoną:

/ etc / vsftpd.konf
pasv_min_port = 30000 pasv_max_port = 31000 

Pasyviems FTP ryšiams galite naudoti bet kurį prievadą. Kai įjungtas pasyvusis režimas, FTP klientas atidaro ryšį su serveriu atsitiktiniame jūsų pasirinkto diapazono prievade.

5. Vartotojo prisijungimo apribojimas #

Galite sukonfigūruoti vsftpd, kad tik tam tikri vartotojai galėtų prisijungti. Norėdami tai padaryti, failo pabaigoje pridėkite šias eilutes:

/ etc / vsftpd.konf
userlist_enable = TAIP userlist_file = / etc / vsftpd.user_list userlist_deny = NE 

Kai ši parinktis įgalinta, turite aiškiai nurodyti, kurie vartotojai gali prisijungti, pridėdami vartotojo vardus prie / etc / vsftpd.user_list failas (po vieną vartotoją kiekvienoje eilutėje).

6. Perdavimo užtikrinimas naudojant SSL / TLS #

Norėdami užšifruoti FTP perdavimus naudodami SSL / TLS, turite turėti SSL sertifikatą ir sukonfigūruoti FTP serverį, kad jį naudotumėte.

Galite naudoti esamą SSL sertifikatą, pasirašytą patikimos sertifikato institucijos, arba sukurti savarankiškai pasirašytą sertifikatą.

Jei turite domeną ar padomenį, nukreipiantį į FTP serverio IP adresą, galite greitai sugeneruoti nemokamą „Let's Encrypt SSL“ sertifikatą.

Sukursime 2048 bitų privatų raktą ir savarankiškai pasirašytą SSL sertifikatą, kuris galios dešimt metų:

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

Tiek privatus raktas, tiek sertifikatas bus išsaugoti tame pačiame faile.

Kai bus sukurtas SSL sertifikatas, atidarykite vsftpd konfigūracijos failą:

sudo nano / etc / vsftpd.konf

Surask rsa_cert_file ir rsa_private_key_file pakeisti jų vertybes į pam failo kelią ir nustatykite ssl_enable direktyva TAIP:

/ etc / vsftpd.konf
rsa_cert_file = / etc / ssl / private / vsftpd.pem rsa_private_key_file = / etc / ssl / private / vsftpd.pem ssl_enable = TAIP 

Jei nenurodyta kitaip, FTP serveris naudos tik TLS saugiems ryšiams užmegzti.

Iš naujo paleiskite „vsftpd“ paslaugą #

Baigę redaguoti, vsftpd konfigūracijos failas (išskyrus komentarus) turėtų atrodyti maždaug taip:

/ etc / vsftpd.konf
klausytis = NE klausytis_ipv6 = TAIP anonimas_įgalinti = NĖRA vietinis_įgalėti = TAIP rašyti_įgalėti = TAIP dirmessage_enable = YES use_localtime = YES xferlog_enable = YES connect_from_port_20 = YES chroot_local_user = YES secure_chroot_dir_p = / var / paleisti / vs / var / paleisti / vs / var / paleisti / etc / var / paleisti / etc / var / paleisti / etc / var / paleisti / etc / var / paleisti / etc / var / paleisti / etc / var / paleisti / etc / var / paleisti / etc / var / paleisti / etc / var / paleisti / etc / var / run / tt privatus / vsftpd.pem rsa_private_key_file = / etc / ssl / private / vsftpd.pem ssl_enable = TAIP user_sub_token = $ USER local_root = / home / $ USER / ftp pasv_min_port = 30000 pasv_max_port = 31000 userlist_enable = TAIP userlist_file = / etc / vsftpd.user_list userlist_deny = NE 

Išsaugokite failą ir iš naujo paleiskite vsftpd paslaugą, kad pakeitimai įsigaliotų:

sudo systemctl paleiskite iš naujo vsftpd

Ugniasienės atidarymas #

Jei naudojate UFW užkardą, turėsite leisti FTP srautą.

Norėdami atidaryti uostą 21 (FTP komandų prievadas), prievadas 20 (FTP duomenų prievadas) ir 30000-31000 (Pasyviųjų prievadų diapazonas), vykdykite šias komandas:

sudo ufw leisti 20: 21 / tcpsudo ufw leisti 30000: 31000 / tcp

Kad išvengtumėte užrakinimo, patikrinkite prievadą 22 atidarytas:

sudo ufw leisti OpenSSH

Perkraukite UFW taisykles išjungdami ir iš naujo įgalindami UFW:

sudo ufw išjungtisudo ufw įjungti

Norėdami patikrinti atliktus pakeitimus:

sudo ufw būsena
Būsena: aktyvi Į veiksmą nuo - ------ ---- 20: 21 / tcp ALLOW Anywhere 30000: 31000 / tcp ALLOW Anywhere OpenSSH ALLOW Anywhere 20: 21 / tcp (v6) ALLOW Anywhere (v6) 30000: 31000 / tcp (v6) ALLOW Anywhere (v6) „OpenSSH“ (v6) ALLOW Anywhere (v6) 

Kuriamas FTP vartotojas #

Norėdami išbandyti FTP serverį, sukursime naują vartotoją.

  1. Sukurkite naują vartotoją pavadinimu naujokas:

    sudo adduser newftpuser
  2. Pridėkite vartotoją prie leidžiamų FTP vartotojų sąrašo:

    aidas "newftpuser" | sudo tee -a / etc / vsftpd.user_list
  3. Sukurkite FTP katalogo medį ir nustatykite teisingus leidimus:

    sudo mkdir -p / home / newftpuser / ftp / uploadsudo chmod 550 / home / newftpuser / ftpsudo chmod 750 / home / newftpuser / ftp / uploadsudo chown -R newftpuser: / home / newftpuser / ftp

    Kaip aptarta ankstesniame skyriuje, vartotojas galės įkelti savo failus į ftp / įkelti kataloge.

Šiuo metu jūsų FTP serveris veikia visiškai. Turėtumėte sugebėti prisijungti prie serverio naudodami bet kurį FTP klientą, kurį galima sukonfigūruoti naudoti TLS šifravimą, pvz., „FileZilla“ .

„Shell“ prieigos išjungimas #

Pagal numatytuosius nustatymus, kurdamas vartotoją, jei jis nėra aiškiai nurodytas, vartotojas turės SSH prieigą prie serverio. Norėdami išjungti prieigą prie apvalkalo, sukurkite naują apvalkalą, kuris išspausdins pranešimą, kuriame vartotojui bus pranešta, kad jo paskyra ribojama tik FTP prieiga.

Paleiskite šias komandas, kad sukurtumėte / bin / ftponly failą ir padaryti jį vykdomą:

aidas -e '#!/ bin / sh \ necho "Ši paskyra ribojama tik FTP prieiga."'| sudo tee -a / bin / ftponlysudo chmod a + x / bin / ftponly

Pridėkite naują apvalkalą prie galiojančių apvalkalų sąrašo / etc / lukštai failas:

aidas "/ bin / ftponly" | sudo tee -a / etc / lukštai

Pakeiskite vartotojo apvalkalą į / bin / ftponly:

sudo usermod newftpuser -s / bin / ftponly

Ta pačia komanda galite pakeisti visų vartotojų, kuriems norite suteikti tik FTP prieigą, apvalkalą.

Išvada Nr

Parodėme, kaip įdiegti ir konfigūruoti saugų ir greitą FTP serverį „Ubuntu 20“.04 sistema.

Jei turite klausimų ar atsiliepimų, palikite komentarą.

Mėgdžiokite pelės paspaudimus, užveskite pelės žymeklį naudodami pelę „Clickless Mouse“ sistemoje „Windows 10“
Pelės ar klaviatūros naudojimas netinkamoje laikysenoje, kai naudojama per daug, gali sukelti daug sveikatos problemų, įskaitant įtampą, riešo kanalo ...
Pridėkite pelės gestus prie „Windows 10“ naudodami šiuos nemokamus įrankius
Pastaraisiais metais kompiuteriai ir operacinės sistemos labai išsivystė. Buvo laikas, kai vartotojai turėjo naudoti komandas naršydami per failų tvar...
Valdykite ir valdykite pelės judėjimą tarp kelių „Windows 10“ monitorių
„Dual Display Mouse Manager“ leidžia jums valdyti ir konfigūruoti pelės judėjimą tarp kelių monitorių, sulėtinant jo judėjimą šalia sienos. „Windows 1...