Kuidas seadistada FTP-serverit Ubuntu-s: Samm-sammuline vsftpd juhend

目次

1. Sissejuhatus

FTP-serveri seadistamine Ubuntu keskkonnas on väga praktiline lahendus arendajatele ja administraatoritele, kes soovivad tõhusalt faile saata ja vastu võtta. Eriti sobib see isikliku serveri või ettevõttesisese lihtsa failijagamise keskkonna loomiseks – FTP (File Transfer Protocol) on lihtne ja hõlpsasti kasutusele võetav valik.

Mis on FTP-server?

FTP-server on spetsiaalne serveritarkvara, mis võimaldab failide edastamist interneti või kohalikus võrgus. Kasutajad saavad FTP-klienttarkvara abil serveriga ühenduda, faile üles laadida ja alla laadida.

Kuigi turvalisemad lahendused nagu SFTP ja SCP on samuti laialt levinud, valitakse FTP-d endiselt paljude ülesannete jaoks tänu selle lihtsusele ja kiirusele. Piiratud võrgu või lihtsamate vajaduste puhul on FTP endiselt väga praktiline protokoll.

FTP-serveri roll Ubuntu keskkonnas

Ubuntu on populaarne Linuxi distributsioon, mida kasutatakse laialdaselt ka serverites. FTP-serveri seadistamine Ubuntu keskkonnas võimaldab hõlpsasti jagada faile mitme seadme või kasutaja vahel.

See on kasulik näiteks järgmistel juhtudel:

  • Failide üleslaadimine veebi serverisse
  • Koostöö IoT seadmetega nagu Raspberry Pi
  • Sisekasutuseks mõeldud dokumentide jagamine

Nii võimaldab Ubuntu ja FTP-serveri kombinatsioon paindlikku ja tõhusat failihaldust.

Artikli eesmärk ja sihtrühm

Selles artiklis selgitame FTP-serveri seadistamist Ubuntu keskkonnas samm-sammult ka algajale arusaadavalt. Eelkõige on see suunatud järgmistele lugejatele:

  • Neile, kes on Ubuntu põhifunktsioonidega harjunud, kuid kasutavad FTP-d esimest korda
  • Neile, kes soovivad ehitada FTP-serveri lokaalseks või lihtsaks ärikasutuseks
  • Neile, kes soovivad teada saada ka turvameetmetest ja probleemide vältimisest (nt tähemärkide moondumine jaapani failinimedega)

Kui järgite järgmisi samme, saate turvalise ja praktilise FTP-serveri töökorda. Järgmises jaotises alustame populaarseima FTP-serveri, „vsftpd”, paigaldamise selgitamisest.

年収訴求

2. vsftpd paigaldamine

Ubuntu keskkonnas FTP-serveri loomiseks kasutatakse kõige sagedamini vsftpd (Very Secure FTP Daemon) tarkvara. Nagu nimigi ütleb, on see “väga turvaline” FTP-server, mis on kerge ja stabiilne ning seetõttu laialdaselt kasutusel nii ettevõtetes kui ka haridusasutustes.

Selles jaotises selgitame, kuidas installida vsftpd Ubuntu-s ning kuidas seadistada selle automaatset käivitamist ja teenuse olekut.

vsftpd paigaldamine

Esmalt paigaldage vsftpd, kasutades Ubuntu paketihaldurit (APT). Järgige alltoodud samme:

sudo apt update
sudo apt install vsftpd
  • sudo apt update: värskendab paketiteavet
  • sudo apt install vsftpd: paigaldab vsftpd paketi

Pärast paigaldamist käivitatakse vsftpd automaatselt.

Teenuse oleku kontrollimine

Kontrollige, kas vsftpd on õigesti paigaldatud ja töötab, kasutades järgmist käsku:

sudo systemctl status vsftpd

Kui näete „active (running)”, töötab FTP-server korrektselt.

Automaatse käivitamise seadistamine

vsftpd käivitatakse tavaliselt automaatselt juba pärast paigaldamist, kuid kontrollige see igaks juhuks üle:

sudo systemctl enable vsftpd

See käsk tagab, et vsftpd käivitatakse automaatselt ka edaspidi.

Ärge unustage tulemüüri (UFW) seadistamist

Kui kasutate Ubuntu-s UFW (Uncomplicated Firewall) tulemüüri, peate avama FTP porti:

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp

See võimaldab välisühendusi FTP standardportidele 20 (andmed) ja 21 (käsklused).

Pärast seda laadige UFW seadistused uuesti:

sudo ufw reload

3. Põhiseadistused

Pärast vsftpd paigaldamist tuleb seadistada konfiguratsioonifail, et kohandada FTP-serveri tööd oma vajadustele. Kuigi vsftpd võimaldab väga täpseid seadistusi, on vaikimisi paljud funktsioonid piiratud ja need tuleb käsitsi lubada.

Selles jaotises tutvustame olulisemaid põhiseadistusi.

Seadistusfaili asukoht

vsftpd peamine seadistusfail asub järgmisel aadressil:

/etc/vsftpd.conf

Seadistuste muutmiseks avage fail järgmiselt:

sudo nano /etc/vsftpd.conf

Pärast muudatuste salvestamist tuleb vsftpd taaskäivitada:

sudo systemctl restart vsftpd

Kirjutamisõiguse lubamine (üleslaadimine)

Vaikimisi pole FTP-serveris failide üleslaadimine lubatud. Selleks lisage või muutke järgmine rida:

write_enable=YES

See lubab kasutajatel oma kodukataloogis faile üles laadida, kustutada ja muuta.

Lokaalkasutajate sisselogimise lubamine

Ubuntu süsteemi kasutajakontoga FTP-sse sisselogimiseks on vajalik järgmine seadistus:

local_enable=YES

See võimaldab /etc/passwd failis registreeritud kasutajatel logida FTP kaudu sisse.

Kataloogide loendi kuvamine

Kui FTP klient ei suuda kuvada faile või katalooge, kontrollige neid sätteid:

listen=YES
listen_ipv6=NO

Eriti oluline on seada listen_ipv6=NO, kui IPv6 pole kasutusel, et vältida ühendusprobleeme.

Sisselogimise tervitussõnumi seadistamine (valikuline)

FTP-ga ühendudes saab kuvada tervitusteksti (bänneri):

ftpd_banner=Tere tulemast oma Ubuntu FTP-serverisse!

See on kasulik näiteks ettevõtte kontaktandmete või juhiste edastamiseks.

ASCII-režiimi ülekannete lubamine (vajadusel)

Teatud tekstifailide (nt Windowsi reavahetustega skriptid) korrektseks edastamiseks määrake:

ascii_upload_enable=YES
ascii_download_enable=YES

Tavaliselt sobib binaarülekanne, kuid vajadusel võib ASCII-lülituse aktiveerida.

Vsftpd põhiseadistuses tuleb selgelt määrata, mis on lubatud. Ärge unustage pärast muudatusi server taaskäivitada!

Järgmises jaotises tutvustame täpsemalt turvaseadeid, mis on eriti olulised FTP kasutamisel avalikus võrgus.

4. Turvalisuse tugevdamine

Kuigi FTP on mugav protokoll, ei krüpteeri see vaikimisi ühendust, mis võib põhjustada turvariske. Interneti kaudu kasutamisel on põhjalikud turvaseaded hädavajalikud.

Allpool tutvustame vsftpd tähtsamaid turvameetmeid.

Kasutajate piiramine chroot-iga

Kasutajate vaba liikumine teiste kataloogide vahel on ohtlik. Seetõttu tuleb iga kasutaja piirata oma kodukataloogi (chroot):

Luba järgmised sätted:

chroot_local_user=YES
allow_writeable_chroot=YES
  • chroot_local_user=YES: piirab kasutaja kodukataloogi ulatuses.
  • allow_writeable_chroot=YES: vajalik, kui kodukataloogil on kirjutamisõigus.

Ilma selleta võib tekkida viga „500 OOPS: vsftpd: refusing to run with writable root inside chroot”.

FTP-kasutajate ligipääsu piiramine

Kui kõik lokaalkasutajad saavad sisse logida, võib tekkida oht info lekkimiseks. Seetõttu tasub lubada ainult kindlate kasutajate sisselogimine (valge nimekiri):

userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

Kirjutage lubatud kasutajanimed faili /etc/vsftpd.userlist (iga kasutaja eraldi real):

sudo nano /etc/vsftpd.userlist
ftpuser1
ftpuser2

Sellega saavad sisse logida ainult loetletud kasutajad.

FTPS (SSL/TLS) krüpteeritud ühenduse kasutuselevõtt

Tavaline FTP edastab andmeid krüpteerimata, mis võib ohustada paroole ja faile. Kasutage FTPS-i (FTP üle SSL/TLS), et kogu liiklus oleks krüpteeritud.

Esmalt looge SSL sertifikaat (või kasutage olemasolevat):

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

Seejärel lisage järgmised read vsftpd.conf faili:

ssl_enable=YES
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

Sellisel juhul saab FTP-klient ühenduda valikuga „FTPS (explicit SSL)”.

Mittevajalike funktsioonide keelamine

Turvalisuse suurendamiseks keelake mittevajalikud funktsioonid.

Näide:

anonymous_enable=NO

See keelab anonüümse kasutaja sisselogimise (vaikimisi juba keelatud, kuid kindluse mõttes on hea see üle täpsustada).

Nende seadistustega muutub Ubuntu vsftpd server põhiturvalisusega FTP-serveriks.
Eriti Interneti kaudu kasutades on FTPS-i kasutuselevõtt hädavajalik.

Järgmises jaotises käsitleme jaapanikeelsete failinimede moondumise vältimist. See on oluline, et vältida andmekao või loetamatute failinimede tekkimist failiedastuse käigus.

5. Jaapanikeelsete failinimede tugi

FTP abil faile saates ja vastu võttes võib jaapanikeelsete failinimede moondumine olla probleemiks, eriti Windowsi ja Ubuntu vahel failide liigutamisel, sest erinevad süsteemid kasutavad erinevaid kodeeringuid. Selle tagajärjel võivad failinimed muutuda arusaamatuks või täidetud olla „???“ märkidega.

Selles jaotises selgitame, kuidas vältida moondumist vsftpd kasutamisel.

Moondumise peamised põhjused

Jaapanikeelsete failinimede moondumise peamised põhjused on järgmised:

  1. Ubuntu lokaadi seadistus pole UTF-8
  2. FTP-kliendi kodeeringu seadistus ei vasta serverile
  3. vsftpd ei tööta UTF-8 režiimis

Neid punkte tuleb ükshaaval kontrollida ja vajadusel seadistada.

Ubuntu lokaadi kontrollimine ja seadistamine

Veenduge esmalt, et Ubuntu kasutab UTF-8 kodeeringut. Kontrollige praegust lokaati käsuga:

locale

Näide:

LANG=ja_JP.UTF-8

Kui LANG või LC_ALL pole UTF-8, muutke seda nii:

sudo update-locale LANG=ja_JP.UTF-8
source /etc/default/locale

Kui vaja, genereerige lokaadid uuesti:

sudo locale-gen ja_JP.UTF-8

Nüüd kasutatakse serveris failinimede töötlemisel ühtset UTF-8 kodeeringut.

vsftpd UTF-8 seadistuse kontrollimine

Vsftpd toetab vaikimisi UTF-8, kuid kontrollige veel kord, et järgmine rida oleks seadistusfailis olemas:

utf8_filesystem=YES

Kui seda rida pole, aga süsteem töötab UTF-8-ga, siis probleeme ei tohiks tekkida. Mõnes vsftpd versioonis võib see säte puududa.

FTP-kliendi seadistamine (näide: FileZilla)

Oluline on ka kliendi kodeeringu seadistus. Kui kasutate FileZillat, seadistage järgnevalt:

  1. Avage saidihaldur
  2. Valige ühenduse seaded
  3. Valige vahekaart „Tähestik” või „Charset”
  4. Valige „Kasuta kohandatud tähestikku” ning sisestage UTF-8

Nii tunneb klient serveri failinimed ära õige kodeeringuga ja moondumist ei teki.

Täiendav nõuanne: failide üleslaadimine teistest OS-idest

Kui failid on loodud näiteks Windowsis ja kasutavad Shift_JIS või muud kodeeringut, võivad failinimed juba üleslaadimisel rikutud olla. Sel juhul on kindlam failinimed enne üleslaadimist käsureal UTF-8-ks teisendada, näiteks tööriistaga convmv.

Kokkuvõte

FTP kasutamisel jaapanikeelsete failinimedega on kõige tähtsam, et serveri ja kliendi kodeering oleksid samad. Ubuntu puhul kasutage alati UTF-8 ja seadistage ka FTP-klient seda kasutama. Nii saab vältida suuremat osa moondumisprobleemidest.

Järgmises jaotises käsitleme passiivrežiimi ja tulemüüri seadistusi, mis on eriti olulised, kui FTP-serverile ligipääsetakse ruuteri või pilvekeskkonna kaudu.

6. Passiivrežiim ja tulemüüri seadistus

Kui FTP-server töötab interneti, ruuteri või NAT-võrgu taga, võivad tekkida probleemid: „ühendus on olemas, kuid failide nimekirja ei kuvata” või „andmete ülekanne ebaõnnestub”.
See on tihti tingitud FTP režiimi (aktiivne/passiivne) ja tulemüüri seadistustest.

Järgnev selgitab, kuidas lubada passiivrežiim vsftpd-s ja avada vajalikud portid tulemüüris.

Mis on passiivrežiim?

FTP-l on kaks režiimi:

  • Aktiivrežiim: server loob ühenduse kliendiga
  • Passiivrežiim: kogu ühendus algatatakse kliendi poolt (sobib NAT-i ja tulemüüri taha)

Kaasaegses võrgus on soovituslik kasutada passiivrežiimi. Vsftpd-s tuleb see käsitsi sisse lülitada.

Passiivrežiimi lubamine vsftpd-s

Lisage või muutke järgmised read /etc/vsftpd.conf:

pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000

See võimaldab passiivrežiimi ja kasutab andmeside jaoks porte vahemikus 40000–50000 (vahemik on kohandatav, soovitatav on jätta vähemalt 20–30 porti).

Välise IP-aadressi määramine (NAT-võrgu korral)

Kui server asub NAT-i või ruuteri taga, määrake avalik IP-aadress:

pasv_address=203.0.113.45

*Asendage IP oma serveri tegeliku avaliku IP-ga.

Nii saavad FTP-kliendid ühenduda õige aadressiga ka NAT-i või pilve puhul.

Tulemüüri (UFW) seadistus

Avage Ubuntu tulemüüri kaudu vsftpd kasutatavad pordid järgmiselt:

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp
  • 20/tcp: andmeedastusport (aktiivrežiim)
  • 21/tcp: käsuport (logimine, käsud)
  • 40000:50000/tcp: passiivrežiimi portide vahemik

Pärast seda laadige UFW reeglid uuesti:

sudo ufw reload

Pilvekeskkonna eripärad (AWS, GCP, Azure jne)

Pilve serveris FTP kasutamisel tuleb avada samad pordid nii OS-i tulemüüri (UFW) kui ka pilveteenuse turbareeglites (security group).

Näide: AWS-is lubage TCP pordid 21 ja 40000–50000.

Kokkuvõte

FTP tõrgeteta tööks on oluline õigesti seadistada vsftpd passiivrežiim ning avada vajalikud pordid tulemüüris. Väljaspoolt võrku ligipääsul on see üks levinumaid tõrkeallikaid.

Järgmisena selgitame, kuidas määrata FTP-kasutajatele individuaalseid õigusi ja kataloogipiiranguid.

7. Kasutajapõhine seadistamine

Praktilises kasutuses on sageli vaja määrata mitmele kasutajale erinevad ligipääsuõigused või kataloogid. Näiteks võib iga osakond või kasutaja vajada oma kausta, kuhu teised ei pääse.

Selles jaotises selgitame, kuidas vsftpd-s hallata kasutajapõhiseid seadistusi.

Eraldi FTP-kasutaja loomine

Loo FTP jaoks spetsiaalne kasutajakonto ning määra kodukataloog:

sudo adduser ftpuser1

Selle käsuga luuakse kataloog /home/ftpuser1. Kui kontot kasutatakse ainult FTP jaoks, saab shelli keelata:

sudo useradd -m -s /usr/sbin/nologin ftpuser2

Kodukataloogi õiguste seadistamine

Turvalisuse huvides ei tohiks kodukataloog ise olla kirjutatav, seega on soovitatav järgmine struktuur:

/home/ftpuser1/
├── files/  ← kirjutatav kaust üleslaadimiseks

Õigused määrake järgmiselt:

sudo mkdir /home/ftpuser1/files
sudo chown ftpuser1:ftpuser1 /home/ftpuser1/files
sudo chmod 755 /home/ftpuser1

Nii on juurkataloog kirjutuskaitstud ja ainult files/ kaust üleslaadimiseks kirjutatav.

Kasutajate chroot-piirangud

Seadistades chroot_local_user=YES, on iga kasutaja piiratud oma kodukataloogi:

chroot_local_user=YES
allow_writeable_chroot=YES

Nii ei pääse ükski kasutaja teiste kaustadesse ega saa kogemata midagi muuta.

Kasutajapõhised seadistusfailid (täpsem kontroll)

Vsftpd võimaldab kasutajapõhiseid seadistusfaile. Nii saab igale kasutajale eraldi õigusi ja piiranguid määrata.

Lisa peaseadistusfaili:

user_config_dir=/etc/vsftpd_user_conf

Seejärel loo iga kasutaja jaoks seadistusfail:

sudo mkdir /etc/vsftpd_user_conf
sudo nano /etc/vsftpd_user_conf/ftpuser1

Näide:

local_root=/home/ftpuser1/files
write_enable=YES

Nii saab ftpuser1 jaoks määrata kausta /home/ftpuser1/files juurkaustaks ning lubada failide üleslaadimise.

Kui kasutad paralleelselt SFTP-d

Kui kasutad OpenSSH-põhist SFTP-d koos vsftpd-ga, arvesta, et SFTP kasutab erinevat kasutajahaldust (sh shell ja grupid). Hoia need konfiguratsioonid eraldi ja jälgi, et õigused oleksid õigesti seatud.

Kokkuvõte

Vsftpd võimaldab kasutajapõhist kataloogide ja õiguste haldust, mis aitab tagada nii turvalisuse kui ka mugavuse. Õige kasutajahaldus on turvalise failijagamise eelduseks.

Järgmisena tutvustame, kuidas kontrollida FTP-serveri tööd ning veenduda, et kõik töötab korrektselt.

8. Töö kontrollimine

Kui paigaldus, seadistus ja kasutajahaldus on valmis, on oluline kontrollida FTP-serveri tööd.
Selles jaotises tutvustame nii käsurealt kui ka GUI-kliendiga ühenduse testimist.

Ühenduse testimine kohalikust käsurealt

Testige FTP-ühendust Ubuntu enda seest käsuga ftp:

ftp localhost

Sisestage kasutajanimi ja parool:

Name (localhost:username): ftpuser1
Password: ********

Proovige järgmisi käske:

ls            # failide loetelu
cd files      # kausta vahetus
put test.txt  # faili üleslaadimine
get test.txt  # faili allalaadimine

Kui kõik töötab, on server edukalt seadistatud.

Märkus: Uuemates Ubuntu versioonides võib ftp käsk puududa. Alternatiivina kasutage lftp või ncftp.

GUI-kliendi kaudu testimine (näide: FileZilla)

Mitmekülgsemaks testimiseks on kasulik kasutada GUI-klienditarkvara, nagu FileZilla. Seadistage ühendus järgnevalt:

FileZilla seadistamine:

  1. Käivitage FileZilla ja avage „Site Manager” (saidihaldur)
  2. Loo uus sait
  3. Täida järgmised väljad
SeadistusSisu
HostServeri IP-aadress või domeeninimi
ProtokollFTP – File Transfer Protocol
KrüpteerimineExplicit FTP over TLS (kui kasutad FTPS)
Sisselogimise tüüpTavaline
Kasutajanimiftpuser1 või muu loodud kasutaja
ParoolKasutaja parool
  1. Klõpsa „Ühenda”

Kui faililoend ja kaustad kuvatakse, on ühendus õnnestunud. Katseta ka failide üles- ja allalaadimist.

Levinumad probleemid FTP-ühendusega ja kontrollnimekiri

ProbleemKontrolli
Ühendus ebaõnnestubKontrolli tulemüüri või pilveteenuse turvareegleid, kas vajalikud pordid on avatud
Sisselogimine ebaõnnestub (530 Login incorrect)Kontrolli kasutajanime/parooli ning faili vsftpd.userlist sisu
Faililoendit ei kuvataKontrolli, kas passiivrežiim on lubatud ja portide vahemik avatud
Failinimed moondunudKontrolli UTF-8 seadistusi nii serveris kui kliendis

Logifaili kontrollimine

Kui probleem püsib, vaata vsftpd logisid, mis aitavad vea põhjust tuvastada:

cat /var/log/vsftpd.log

Süsteemitaseme logide jaoks:

sudo journalctl -u vsftpd

Nendest logidest näed, kes, millal, mida ja miks tegi või milles viga tekkis.

Lisasoovitused

  • Kui ühendus on ebastabiilne: Kontrolli kliendipoolset tulemüüri või viirusetõrjet.
  • Täiustatud turvaseaded: Mõnel juhul võivad SELinux või AppArmor piirata ühendust (AppArmor on Ubuntu-s sageli vaikimisi lubatud).

Kokkuvõte

Enamik FTP-ga seotud vigu on tüüpilised ja lahendatavad, kui kontrollid seadistusfaili, kasutajaid, tulemüüri ja logisid. Süsteemne kontroll aitab probleemi kiiresti lahendada.

Järgmisena käsitleme levinumaid tõrkeid ja nende lahendusi – nii oled valmis ka ootamatuteks olukordadeks serveri igapäevases töös.

9. Tõrkeotsing

Isegi kui serveri seadistus on korrektne, võivad praktilisel kasutusel tekkida erinevad vead – sageli tingitud võrguseadetest, õigustest või turvapiirangutest. Selles jaotises vaatleme levinumaid tõrkeid ja lahendusi, et isegi algaja suudaks need kiiresti lahendada.

Levinumad vead ja nende lahendused

Viga: 530 Login incorrect

Põhjused:

  • Kasutajanimi või parool on vale
  • Kasutaja pole faili /etc/vsftpd.userlist lisatud (valge nimekirja kasutusel)

Lahendus:

  • Kontrolli kasutajanime ja parooli õigust
  • Kui userlist_deny=NO on seadistatud, lisa kasutaja faili /etc/vsftpd.userlist

Viga: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()

Põhjus:

  • Chroot on lubatud, kuid kodukataloog on kirjutatav

Lahendus:

  • Lisa seadistusfaili rida allow_writeable_chroot=YES
  • Või tee nii, et kodukataloog on kirjutuskaitstud ja ainult alamkaust, nt files/, on kirjutatav

Viga: Faililoendit ei kuvata või aegub ühendus

Põhjused:

  • Passiivrežiim on seadistamata või portide vahemik pole avatud
  • NAT-i korral pole pasv_address määratud

Lahendus:

  • Lisa vsftpd.conf faili passiivrežiimi read
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000
  • Ava tulemüüris ja/või pilveteenuses vajalikud pordid (21/tcp, 40000–50000/tcp)

Viga: Jaapanikeelsed failinimed moondunud

Põhjused:

  • Kliendi kodeering pole UTF-8
  • Serveri lokaadi seadistus pole õige

Lahendus:

  • Veendu, et Ubuntu lokaadid on ja_JP.UTF-8 ja kasuta locale-gen
  • Seadista FTP-klient (nt FileZilla) kasutama UTF-8

Viga: vsftpd ei käivitu

Põhjused:

  • Seadistusfailis on süntaksiviga
  • Pordi konflikt, teenus ei saa käivituda

Lahendus:

  • Kontrolli konfiguratsioonifaili süntaksit (kommentaarid, õigekiri)
  • Vaata logifaile: /var/log/vsftpd.log ja journalctl -xe

Logide kasutamine

Tõrkeotsingul on logifailid kõige tähtsamad. Vaata alati järgmist:

cat /var/log/vsftpd.log

Vajadusel kasuta süsteemilogi:

sudo journalctl -u vsftpd

Nii saad teada, kes, millal, mida üritas ja kus viga tekkis.

Lisasoovitused

  • Ebastabiilse ühenduse korral: Kontrolli kliendi tulemüüri ja viirusetõrjet.
  • Kui sekkub turvapoliitika: Ubuntu kasutab tihti AppArmor-t (või SELinux-it), mis võib ühendust piirata.

Kokkuvõte

Enamik FTP probleemidest lahendub süstemaatilise kontrolliga: seadistused, kasutajad, tulemüür ja logid. Nii lahendad ka keerulisemad vead kiiresti.

Järgmisena võtame kogu protsessi lühidalt kokku ning jagame praktilisi soovitusi edaspidiseks serveri haldamiseks.

10. Kokkuvõte

Selles artiklis selgitasime samm-sammult, kuidas seadistada FTP-serverit Ubuntu-s, kasutades kerget ja turvalist vsftpd (Very Secure FTP Daemon) tarkvara. Kõik juhised on mõeldud ka algajale arusaadavaks.

Korrates olulisemad etapid ja jagades praktilisi nõuandeid edaspidiseks:

Peamised sammud kokkuvõtlikult

SammSisu
1. Paigaldamineapt install vsftpd – tarkvara paigaldus, teenuse käivitamine ja tulemüüri seadistamine
2. PõhiseadistusedKirjutamisõiguse, lokaalkasutajate ja bännerite seadistamine
3. TurvameetmedChroot-piirangud, kasutajakontroll, FTPS-i kasutuselevõtt
4. Jaapanikeelsete failinimede tugiUTF-8 lokaadi ja kliendi seadistus moondumise vältimiseks
5. Passiivrežiim ja tulemüüri sättedServeri stabiilseks tööks NAT-i, pilve ja tulemüüri taga
6. KasutajahaldusKasutajate individuaalsed õigused ja kaustad turvaliseks jagamiseks
7. TestimineKäsurealt või FileZillaga ühenduse ja failivahetuse kontroll
8. TõrkeotsingTüüpiliste vigade ja nende põhjuste ennetamine

Praktilised soovitused edaspidiseks

  • Regulaarsed turvauuendused: Hoia vsftpd ja Ubuntu pakette ajakohasena.
sudo apt update && sudo apt upgrade
  • Logide regulaarne kontroll: Vaata aeg-ajalt faili /var/log/vsftpd.log, et avastada kahtlasi katseid või tõrkeid.
  • Kõrvalda mittevajalikud kontod: Ajutised kasutajad kustuta kohe, kui neid enam ei vajata.
  • Kaalu SFTP kasutuselevõttu: Kui vajad veelgi paremat turvalisust, uuri OpenSSH-põhise SFTP võimalusi.

Lõpetuseks

FTP on vana, kuid endiselt populaarne failiedastusprotokoll. Järgides selles juhendis toodud samme, saad oma vajadustele vastava, turvalise ja töökindla serveri. Soovitame uurida ka SFTP, rsync või WebDAV lahendusi, et laiendada teadmisi ja kasutada parimat tehnoloogiat igaks otstarbeks.

KKK (Korduma Kippuvad Küsimused)

Siin on vastused enamlevinud küsimustele Ubuntu FTP-serveri kohta. Kasuta neid praktiliste probleemide lahendamisel või seadistamise abina.

K1. Mis vahe on FTP-l ja FTPS-l?

V1.
FTP edastab kõik andmed (sh kasutajanimi ja parool) krüpteerimata kujul. FTPS kasutab SSL/TLS krüpteeringut, mis teeb kogu ühenduse turvaliseks. Interneti kaudu kasutamisel on FTPS hädavajalik.

K2. Miks jaapanikeelsed failinimed moonduvad?

V2.
Kui serveri ja kliendi kodeeringud ei ühti, võivad failinimed muutuda loetamatuks. Ubuntu serveris kasuta alati UTF-8 lokaati ning sea FTP-klient (nt FileZilla) samuti UTF-8 peale.

K3. Kas Ubuntu sisaldab vaikimisi FTP-serverit?

V3.
Ei. Vaikimisi tuleb FTP-server (nt vsftpd) paigaldada käsuga apt.

K4. Miks faililoendit ei kuvata või ühendus aegub?

V4.
Tõenäoliselt pole passiivrežiimi pordid õigesti seadistatud või tulemüüris avatud. Lisa vsftpd.conf-i passiivrežiimi read ning ava tulemüüris vastav vahemik.

K5. Kus asuvad vsftpd logifailid?

V5.
Tavaliselt /var/log/vsftpd.log. Kui logisid pole, kontrolli, kas seadistusfailis on xferlog_enable=YES.

K6. Kuidas FTP kasutajat ajutiselt blokeerida?

V6.
Mitmeid viise:

  • Eemalda kasutaja failist /etc/vsftpd.userlist (valge nimekirja korral)
  • Muuda kasutaja shell /usr/sbin/nologin
  • Lukusta kasutaja parool:
sudo passwd -l kasutajanimi

K7. Kuidas peatada FTP-serveri töö?

V7.
FTP-teenuse peatamiseks kasuta:

sudo systemctl stop vsftpd

Kui soovid vältida automaatset käivitust, lisa ka:

sudo systemctl disable vsftpd

K8. Kas on turvalisemaid alternatiive FTP-le?

V8.
Jah, kõige levinum alternatiiv on SFTP (SSH File Transfer Protocol), mis kasutab täielikult krüpteeritud ühendust. SFTP ei vaja vsftpd-d ja sobib hästi, kui turvalisus on oluline.