Linux

Kā iestatīt FTP serveri ar VSFTPD operētājsistēmā Ubuntu 20.04

Kā iestatīt FTP serveri ar VSFTPD operētājsistēmā Ubuntu 20.04

Šajā rakstā ir aprakstīts, kā instalēt un konfigurēt FTP serveri Ubuntu 20.04, kuru izmantojat failu koplietošanai starp savām ierīcēm.

FTP (File Transfer Protocol) ir standarta tīkla protokols, ko izmanto failu pārsūtīšanai uz attālo tīklu un no tā. Linux ir pieejami vairāki atvērtā koda FTP serveri. Vispazīstamākie un visplašāk izmantotie ir PureFTPd, ProFTPD un vsftpd . Mēs instalēsim vsftpd (Very Secure Ftp Daemon), stabilu, drošu un ātru FTP serveri. Mēs parādīsim arī to, kā konfigurēt serveri, lai ierobežotu lietotāju piekļuvi viņu mājas direktorijai un šifrētu visu pārraidi ar SSL / TLS.

Lai gan FTP ir ļoti populārs protokols, drošākai un ātrākai datu pārsūtīšanai jums jāizmanto SCP vai SFTP .

Vsftpd instalēšana Ubuntu 20.04 #

Pakete vsftpd ir pieejama Ubuntu krātuvēs. Lai to instalētu, izpildiet šādas komandas:

sudo apt atjauninājumssudo apt instalēt vsftpd

Pēc instalēšanas procesa pabeigšanas ftp pakalpojums tiks automātiski palaists. Lai to pārbaudītu, izdrukājiet pakalpojuma statusu:

sudo systemctl statuss vsftpd

Izvadei vajadzētu parādīt, ka vsftpd pakalpojums ir aktīvs un darbojas:

● vsftpd.serviss - vsftpd FTP serveris Ielādēts: ielādēts (/ lib / systemd / system / vsftpd.apkalpošana; iespējots; pārdevēja sākotnējais iestatījums: iespējots) Aktīvs: aktīvs (darbojas) kopš otrdienas 2021-03-02 15:17:22 UTC; Pirms 3 s .. 

Konfigurējot vsftpd #

Vsftpd servera konfigurācija tiek saglabāta / etc / vsftpd.konf failu.

Lielākā daļa servera iestatījumu failā ir labi dokumentēti. Lai uzzinātu visas pieejamās opcijas, apmeklējiet vsftpd dokumentācijas lapu.

Nākamajās sadaļās mēs apskatīsim dažus svarīgus iestatījumus, kas nepieciešami drošas vsftpd instalēšanas konfigurēšanai.

Sāciet, atverot vsftpd konfigurācijas failu:

sudo nano / etc / vsftpd.konf

1. FTP piekļuves numurs

Mēs ļausim piekļūt FTP serverim tikai vietējiem lietotājiem. Meklēt anonymous_enable un local_enable direktīvām un pārbaudiet, vai konfigurācija atbilst zemāk esošajām rindām:

/ etc / vsftpd.konf
anonymous_enable = NĒ local_enable = JĀ 

2. Iespējot augšupielādes #

Atrodiet un noņemiet komentāru write_enable direktīva, lai atļautu failu sistēmas izmaiņas, piemēram, failu augšupielādi un noņemšanu:

/ etc / vsftpd.konf
write_enable = JĀ 

3. Chroot cietums #

Lai neļautu vietējiem FTP lietotājiem piekļūt failiem ārpus viņu mājas direktorijiem, komentējiet lne, sākot ar chroot_local_user:

/ etc / vsftpd.konf
chroot_local_user = JĀ 

Pēc noklusējuma drošības apsvērumu dēļ, kad chroot ir iespējots, vsftpd atteiksies augšupielādēt failus, ja direktorija, kurā lietotāji ir bloķēti, ir rakstāma.

Izmantojiet vienu no tālāk norādītajiem risinājumiem, lai atļautu augšupielādi, kad iespējota chroot:

4. Pasīvie FTP savienojumi #

Pēc noklusējuma vsftpd izmanto aktīvo režīmu. Lai izmantotu pasīvo režīmu, iestatiet minimālo un maksimālo ostu diapazonu:

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

Pasīvajiem FTP savienojumiem varat izmantot jebkuru portu. Kad pasīvais režīms ir iespējots, FTP klients atver savienojumu ar serveri nejaušā portā jūsu izvēlētajā diapazonā.

5. Lietotāja pieteikšanās ierobežošana #

Jūs varat konfigurēt vsftpd, lai atļautu pieteikties tikai noteiktiem lietotājiem. Lai to izdarītu, faila beigās pievienojiet šādas rindas:

/ etc / vsftpd.konf
userlist_enable = YES userlist_file = / etc / vsftpd.user_list userlist_deny = NĒ 

Kad šī opcija ir iespējota, jums skaidri jānorāda, kuri lietotāji var pieteikties, pievienojot lietotājvārdus / etc / vsftpd.user_list fails (viens lietotājs katrā rindā).

6. Pārraides nodrošināšana ar SSL / TLS #

Lai šifrētu FTP pārraides ar SSL / TLS, jums ir jābūt SSL sertifikātam un jākonfigurē FTP serveris tā izmantošanai.

Varat izmantot esošu SSL sertifikātu, kuru parakstījusi uzticama sertifikātu iestāde, vai izveidot pašparakstītu sertifikātu.

Ja jums ir domēns vai apakšdomēns, kas norāda uz FTP servera IP adresi, varat ātri ģenerēt bezmaksas Let's Encrypt SSL sertifikātu.

Mēs ģenerēsim 2048 bitu privāto atslēgu un pašparakstītu SSL sertifikātu, kas būs derīgs desmit gadus:

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

Gan privātā atslēga, gan sertifikāts tiks saglabāti tajā pašā failā.

Kad SSL sertifikāts ir izveidots, atveriet vsftpd konfigurācijas failu:

sudo nano / etc / vsftpd.konf

Atrodi rsa_cert_file un rsa_private_key_file direktīvām, mainīt to vērtības uz pam faila ceļu un iestatiet ssl_enable direktīva uz :

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

Ja nav norādīts citādi, FTP serveris drošu savienojumu izveidošanai izmantos tikai TLS.

Restartējiet vsftpd pakalpojumu #

Kad esat pabeidzis rediģēšanu, vsftpd konfigurācijas failam (izņemot komentārus) vajadzētu izskatīties apmēram šādi:

/ etc / vsftpd.konf
klausīties = NĒ klausīties_ipv6 = JĀ anonīmi_iespējot = NĒ lokāli_iespējot = JĀ rakstīt_enable = JĀ dirmessage_enable = YES use_localtime = YES xferlog_enable = YES connect_from_port_20 = YES chroot_local_user = YES secure_chroot_dir_p = / var / palaist / paketē / paketē / paketē / palīgs / palīgs / palīgs / palīgs / palīgs / palīgs / palīgs / palaist / palaist / palaist / palaist / pakārtot / pakārtot / palaist / palaist / palaist / palaist / etc / var / palaist / etc / var / palaist / etc / serv / palaist / palaist / palaist / palaist / palaist / palaist / palaist / palaist / palaist / palaist / palaist / palaist / palaist / palaist / privāts / vsftpd.pem rsa_private_key_file = / etc / ssl / private / vsftpd.pem ssl_enable = JĀ user_sub_token = $ USER local_root = / home / $ USER / ftp pasv_min_port = 30000 pasv_max_port = 31000 userlist_enable = YES userlist_file = / etc / vsftpd.user_list userlist_deny = NĒ 

Saglabājiet failu un restartējiet pakalpojumu vsftpd, lai izmaiņas stātos spēkā:

sudo systemctl restartējiet vsftpd

Ugunsmūra atvēršana #

Ja izmantojat UFW ugunsmūri, jums būs jāatļauj FTP trafika.

Lai atvērtu ostu 21 (FTP komandu ports), ports 20 (FTP datu ports) un 30000-31000 (Pasīvo portu diapazons), izpildiet šādas komandas:

sudo ufw atļaut 20: 21 / tcpsudo ufw atļaut 30000: 31000 / tcp

Lai izvairītos no bloķēšanas, pārliecinieties, vai ir pieslēgvieta 22 ir atvērts:

sudo ufw atļaut OpenSSH

Pārlādējiet UFW kārtulas, atspējojot un atkārtoti iespējojot UFW:

sudo ufw atspējotsudo ufw iespējot

Lai pārbaudītu veiktās izmaiņas:

sudo ufw statuss
Statuss: aktīvs Darbībai no - ------ ---- 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) 

Izveido FTP lietotāju #

Lai pārbaudītu FTP serveri, mēs izveidosim jaunu lietotāju.

  1. Izveidojiet jaunu lietotāju ar nosaukumu newftpuser:

    sudo adduser newftpuser
  2. Pievienojiet lietotāju atļauto FTP lietotāju sarakstam:

    atbalss "newftpuser" | sudo tee -a / etc / vsftpd.user_list
  3. Izveidojiet FTP direktoriju koku un iestatiet pareizās atļaujas:

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

    Kā jau tika apspriests iepriekšējā sadaļā, lietotājs varēs augšupielādēt savus failus ftp / augšupielādēt direktorijā.

Šajā brīdī jūsu FTP serveris ir pilnībā funkcionāls. Jums vajadzētu būt iespējai izveidot savienojumu ar serveri, izmantojot jebkuru FTP klientu, kuru var konfigurēt TLS šifrēšanas izmantošanai, piemēram, FileZilla .

Shell piekļuves atspējošana #

Pēc noklusējuma, veidojot lietotāju, ja tas nav skaidri norādīts, lietotājam būs SSH piekļuve serverim. Lai atspējotu piekļuvi čaulai, izveidojiet jaunu čaulu, kas izdrukās ziņojumu, kurā lietotājam tiek paziņots, ka viņa konts ir ierobežots tikai ar FTP piekļuvi.

Izpildiet šīs komandas, lai izveidotu / bin / ftponly failu un padariet to izpildāmu:

atbalss -e '#!/ bin / sh \ necho "Šis konts ir atļauts tikai FTP piekļuvei."'| sudo tee -a / bin / ftponlysudo chmod a + x / bin / ftponly

Pievienojiet jauno čaulu derīgo čaulu sarakstam / etc / čaulas fails:

atbalss "/ bin / ftponly" | sudo tee -a / etc / čaulas

Mainiet lietotāja apvalku uz / bin / ftponly:

sudo usermod newftpuser -s / bin / ftponly

Jūs varat izmantot to pašu komandu, lai mainītu visu lietotāju čaumalu, kuriem vēlaties piešķirt tikai FTP piekļuvi.

Secinājums Nr

Mēs esam parādījuši, kā instalēt un konfigurēt drošu un ātru FTP serveri savā Ubuntu 20.04 sistēma.

Ja jums ir kādi jautājumi vai atsauksmes, droši atstājiet komentāru.

5 labākie ergonomiskie datoru peles izstrādājumi Linux
Vai ilgstoša datora lietošana izraisa sāpes plaukstas locītavā vai pirkstos? Vai jūs ciešat no stīvām locītavām un jums pastāvīgi ir jāspiež rokas? Va...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
Izmantojot X-Mouse Button Control, atšķirīgi mainiet peles pogas atšķirīgai programmatūrai
Varbūt jums ir nepieciešams rīks, kas varētu mainīt peles vadību ar katru lietoto lietojumprogrammu. Ja tas tā ir, varat izmēģināt lietojumprogrammu a...