FTP

Kaip konfigūruoti FTP naudojant TLS „Ubuntu“

Kaip konfigūruoti FTP naudojant TLS „Ubuntu“
FTP (File Transfer Protocol) pirmiausia naudojamas failams perkelti iš vieno kompiuterio į kitą. FTP veikia kliento-serverio architektūroje, kai klientas prašo failo iš serverio, o serveris klientui grąžina reikiamą failą. Kliento kompiuteryje FTP kliento programa naudojama bendrauti su serveriu. Taip pat galima pasiekti FTP serverį naršyklėje. Pagal numatytuosius nustatymus FTP bendrauja nesaugiu kanalu, tačiau galima sukonfigūruoti FTP, kad duomenys būtų perduodami saugiu kanalu. Šioje pamokoje sužinosite, kaip sukonfigūruoti FTP serverį su TLS, tada naudoti „FileZilla“ kaip kliento programą, kad galėtumėte prisijungti prie FTP serverio.

Diegiama VSFTPD

VSFTPD (Very Secure FTP Daemon) yra programinė programa, naudojama FTP konfigūravimui serveryje. Šioje pamokoje VSFTPD bus naudojamas konfigūruoti FTP serverį kompiuteryje. Prieš diegdami VSFTPD, atnaujinkite savo serverio saugyklas, pateikdami šią komandą.

[apsaugotas el. paštas]: ~ $ sudo apt-get update -y

Tada įdiekite VSFTPD naudodami šią komandą.

[apsaugotas el. paštas]: ~ $ sudo apt-get install vsftpd -y

Galiausiai patikrinkite diegimą patikrindami vsftpd versiją naudodami šią komandą.

[apsaugotas el. paštas]: ~ $ vsftpd -v

Pirmiau nurodyta komanda pateiks vsftpd versiją, jei įdiegimas bus sėkmingas.

FTP aktyviuoju režimu

Aktyviuoju režimu FTP klientas pradeda seansą užmegzdamas TCP valdymo ryšį iš bet kurio atsitiktinio kliento mašinos prievado į serverio 21 prievadą. Tada klientas ima klausytis atsitiktinio X prievado, ar nėra duomenų ryšio, ir per TCP valdymo ryšį informuoja serverį, kad klientas laukia duomenų ryšio X prievade. Po to serveris užmezga duomenų ryšį iš savo 20 prievado į kliento mašinos X prievadą.

Problema gali kilti, kai klientas yra už ugniasienės ir užblokuotas X prievadas. Tokiu atveju serveris negali užmegzti duomenų ryšio su klientu. Norėdami išvengti šios problemos, FTP serveris dažniausiai naudojamas pasyviuoju režimu, kurį aptarsime vėliau šiame straipsnyje. Pagal numatytuosius nustatymus VSFTPD naudoja pasyvųjį režimą, todėl turėsime jį pakeisti į aktyvųjį režimą.

Pirmiausia atidarykite VSFTPD konfigūracijos failą.

[saugomas el. paštas]: ~ $ sudo nano / etc / vsftpd.konf

Į failo pabaigą įtraukite šią eilutę.

pasv_enable = NE

Taip pat įsitikinkite, kad parinktis „connect_from_port_20“ nustatyta į „TAIP."Ši parinktis užtikrina, kad duomenų ryšys bus užmegztas 20 serverio prievade.

Tada sukurkite katalogą, kurį FTP serveris naudos failams saugoti. Šioje pamokoje sukonfigūruosime „/ home / ubuntu / ftp /“ kaip pagrindinį FTP serverio kelią.

[apsaugotas el. paštas]: ~ $ sudo mkdir / home / ubuntu / ftp

Dabar nurodykite šį katalogą konfigūracijos faile, pakeisdami parinktį „local_root“. Šis parametras sukonfigūruos pagrindinį serverio kelią.

local_root = / home / ubuntu / ftp

Parinktis „write_enable“ turi būti įjungta, kad vartotojai galėtų rašyti į FTP serverį.

Kiekvieną kartą, kai keičiate konfigūracijos failą, visada paleiskite serverį iš naujo.

[apsaugotas el. paštas]: ~ $ sudo systemctl restart vsftpd

Slaptažodžio nustatymas vartotojui

FTP klientas prisijungia prie serverio naudodamas vartotojo vardą ir slaptažodį. Nustatykite savo vartotojo slaptažodį kompiuteryje naudodami šią komandą.

[apsaugotas el. paštas]: ~ $ sudo passwd ubuntu

Pirmiau nurodyta komanda paprašys „ubuntu“ vartotojo slaptažodžio.

Ugniasienės konfigūravimas aktyviam režimui

Jei FTP naudojamas aktyviuoju režimu, FTP serveris ryšiui su klientu naudos du prievadus, 21 ir 22 prievadus. 21 prievadas naudojamas komandoms perduoti klientui, o 20 prievadas naudojamas duomenims perduoti į bet kurį atsitiktinį kliento prievadą. Norėdami ugniasienę konfigūruoti serveryje, naudosime ufw. Įdiekite ufw naudodami šią komandą.

[apsaugotas el. paštas]: ~ $ sudo apt-get install ufw

Dabar serverio pusėje atidarysime 20, 21 ir 22 prievadus (SSH ryšiui).

[apsaugotas el. paštas]: ~ $ sudo ufw leisti iš bet kurio į bet kurį prievado prototipą

Įjunkite ir patikrinkite „ufw“ būseną naudodami šias komandas.

[apsaugotas el. pašto adresas]: ~ $ sudo ufw enable
[apsaugotas el. paštas]: ~ $ sudo ufw būsena

PASTABA: jei sukonfigūruojate savo FTP serverį debesyje, saugos grupėje taip pat turėsite leisti 20, 21 ir 22 prievadus.

ĮSPĖJIMAS: Prieš įjungdami ufw nuotolinėje sistemoje, visada įjunkite 22 prievadą kartu su reikalingais prievadais. Pagal numatytuosius nustatymus UFW blokuoja srautą iš 22 prievado, todėl negalėsite pasiekti savo nuotolinio serverio naudodami SSH, jei įgalinsite „ufw“ neleisdami srauto iš 22 prievado.

FTP kliento diegimas

Dabar mūsų serveris sukonfigūruotas aktyviuoju režimu ir prie jo galime prisijungti iš kliento pusės. Kliento programai naudosime „FileZilla“, ftp kliento programą. Įdiekite „FileZilla“ naudodami šią komandą.

[apsaugotas el. paštas]: ~ $ sudo apt-get install filezilla -y

Atidarykite FTP kliento programą ir įveskite viešąjį IP adresą ir kitus FTP serverio kredencialus.

Spustelėję „Greitas prisijungimas“, prisijungsite prie FTP serverio ir automatiškai pateksite į katalogą, nurodytą parinktyje „local_root“ konfigūracijos faile „/ home / ubuntu / ftp“.

Aktyvaus režimo problemos

Naudojant FTP aktyviuoju režimu, kyla problemų, kai klientas yra už ugniasienės. Įvedus pradines valdymo komandas, kai serveris sukuria duomenų ryšį su klientu atsitiktiniu prievadu, prievadą gali užblokuoti kliento užkarda, dėl ko nepavyksta perduoti duomenų. FTP gali būti naudojamas pasyviuoju režimu, norint išspręsti šias užkardos problemas.

FTP pasyviuoju režimu

Pasyviuoju režimu klientas sukuria valdymo ryšį su serveriu serverio 21 prievade. Tada klientas siunčia specialią komandą „PASV“, kad informuotų serverį, jog duomenų ryšį užmegs klientas, o ne serveris. Atsakydamas, klientas gauna serverio IP ir atsitiktinio prievado numerį (šis prievado numeris bus sukonfigūruotas serveryje). Klientas naudoja šį IP ir prievado numerį, kad sukurtų duomenų ryšį su serveriu. Pasyviuoju režimu tiek duomenis, tiek valdymo ryšius nustato klientas, kad užkarda netrukdytų kliento ir serverio ryšiui.

Mėgstamiausiame redaktoriuje atidarykite FTP konfigūracijos failą.

[apsaugotas el. paštu]: ~ $ sudo nano / etc / vsftpd.konf

Faile nustatykite parinktį „pasv_enable“ į „YES“, kad serveris galėtų bendrauti su klientu pasyviuoju režimu. Taip pat nustatykite parinktį „local_root“, kad nurodytumėte serverio šakninį katalogą, ir nustatykite parinktį „write_enable“ į „YES“, kad vartotojai galėtų įkelti failus į serverį.

Kaip jau buvo aptarta anksčiau, duomenų ryšį užmezga klientas, o serveris klientui siunčia savo viešąjį IP ir atsitiktinį prievadą, kad sukurtų duomenų ryšį. Šį atsitiktinį serverio prievadą galima nurodyti iš konfigūracijos failo prievadų diapazono.

Duomenų ryšys tarp serverio ir kliento bus užmegztas uoste tarp 1024 ir 1048. Pakeitus konfigūracijos failą, iš naujo paleiskite FTP serverį.

[apsaugotas el. paštas]: ~ $ sudo systemctl restart vsftpd

Ugniasienės konfigūravimas pasyviuoju režimu

Jei FTP naudojame pasyviuoju režimu, duomenų ryšys bus užmegztas bet kuriame uoste nuo 1024 iki 1048, todėl būtina leisti visus šiuos FTP serverio prievadus.

[apsaugotas el. pašto adresas]: ~ $ sudo ufw leisti iš bet kurio į bet kurį prievado prototipą

Leidę visas ugniasienės uostus, suaktyvinkite ufw vykdydami šią komandą.

[apsaugotas el. pašto adresas]: ~ $ sudo ufw enable

Prieš įjungdami užkardą, visada leiskite serverio prievadams; priešingu atveju negalėsite pasiekti savo serverio per SSH kaip ufw, kuris pagal nutylėjimą blokuoja 22 prievadą.

Ryšio testavimas

Dabar mes nustatėme FTP serverį pasyviuoju režimu ir galime patikrinti ftp ryšį su kliento programa. Norėdami tai padaryti, atidarykite „FileZilla“ savo sistemoje.

Įvedę pagrindinį kompiuterį, vartotojo vardą, slaptažodį ir prievadą, dabar galite prisijungti prie savo serverio. Dabar, kai esate prisijungę prie FTP serverio, veikiančio pasyviuoju režimu, galite įkelti failus į serverį.

SSL sertifikatų konfigūravimas naudojant FTP serverį

Pagal numatytuosius nustatymus FTP serveris užmezga ryšį tarp kliento ir serverio neužtikrintu kanalu. Šio tipo ryšys neturėtų būti naudojamas, jei norite bendrinti neskelbtinus duomenis tarp kliento ir serverio. Norint bendrauti saugiu kanalu, būtina naudoti SSL sertifikatus.

SSL sertifikatų generavimas

Norėdami nustatyti saugų kliento ir serverio ryšį, naudosime SSL sertifikatus. Šiuos sertifikatus sugeneruosime naudodami „opensl“. Ši komanda sugeneruos jūsų serverio SSL sertifikatus.

[apsaugotas el. paštu]: ~ $ sudo openssl req -x509 -nodes -day 365 -newkey rsa: 2048 -keyout / etc / ssl / private / vsftpd.pem -out / etc / ssl / private / vsftpd.pem

Kai vykdysite pirmiau nurodytą komandą, jums bus užduoti keli klausimai. Jums atsakius į šiuos klausimus, sertifikatai bus sugeneruoti. Sertifikatus galite patikrinti terminale.

[apsaugotas el. pašto adresas]: ~ $ sudo ls / etc / ssl / private /

Sertifikatų naudojimas konfigūracijos faile

Dabar mūsų sertifikatai yra paruošti naudoti. Mes sukonfigūruosime „vsftpd“.conf failas, skirtas SSL sertifikatams naudoti. Atidarykite konfigūracijos failą naudodami šią komandą.

[apsaugotas el. paštu]: ~ $ sudo nano / etc / vsftpd.konf

Failų pabaigoje pridėkite šias eilutes. Šie pakeitimai užtikrins, kad FTP serveris naudos naujai sukurtus SSL sertifikatus saugiai bendraujant su klientu.

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

Norėdami pritaikyti šiuos pakeitimus, iš naujo paleiskite FTP serverį.

[apsaugotas el. pašto adresas]: ~ $ sudo systemctl restart vsftpd

Paleidus iš naujo serverį, pabandykite prisijungti prie savo serverio naudodami „FileZilla“ kliento programą. Šį kartą kliento programa jūsų paklaus, ar pasitikėti šiais sertifikatais.

Jei turite patikimų sertifikatų institucijos sertifikatus, šis įspėjimas neturėtų būti rodomas. Savo sertifikatus sugeneravome naudodami „opensl“, kuri nėra patikima sertifikatų institucija, todėl mūsų atveju paprašė patvirtinti sertifikatą. Dabar mes galime bendrauti tarp kliento ir serverio per saugų kanalą.

Anoniminė konfigūracija

Taip pat galite įgalinti anoniminį prisijungimą savo FTP serveryje. Įjungę šią konfigūraciją, bet kuris vartotojas gali prisijungti prie FTP serverio naudodamas bet kokį vartotojo vardą ir slaptažodį. Šie konfigūracijos failo parametrai leis FTP serveriui pasiekti anonimiškai.

Aukščiau nurodyta konfigūracija nustato anoniminių vartotojų šakninį kelią „/ home / ubuntu / ftp / anon“ ir neprašys įvesti slaptažodžio, kai prisijungs anoniminis vartotojas.

PASTABA: Įsitikinkite, kad FTP serveryje yra kelias „/ home / ubuntu / ftp / anon“.

Dabar iš naujo paleiskite FTP serverį.

[apsaugotas el. pašto adresas]: ~ $ sudo systemctl restart vsftpd

Paleidus iš naujo serverį, bandysime prisijungti prie serverio per „Google Chrome“ naršyklę. Eikite į šį URL.

ftp: // 3.8.12.52

Aukščiau nurodytas URL pateks į FTP serverio šakninį katalogą, kaip nurodyta konfigūracijos faile. Išjungus anoniminį prisijungimą, bandant prisijungti prie FTP serverio naudojant naršyklę, pirmiausia bus paprašyta autentifikuoti, o tada pateksite į pagrindinį serverio katalogą.

Konfigūruokite vietinę prieigą

Taip pat galime leisti arba blokuoti vietinę prieigą prie FTP serverio, pakeisdami konfigūracijos failą. Šiuo metu galime pasiekti savo FTP serverį vietoje nenaudodami FTP kliento programos, tačiau galime blokuoti šią prieigą. Norėdami tai padaryti, turime modifikuoti parametrą „local_enable“.

Pirmiausia iš naujo paleiskite FTP serverį.

[apsaugotas el. paštas]: ~ $ sudo systemctl restart vsftpd

Paleidę serverį iš naujo, pabandykite pasiekti FTP serverį vietoje, naudodami komandinės eilutės sąsają. Prisijunkite prie savo nuotolinio serverio naudodami SSH.

[apsaugotas el. paštas]: ~ $ ssh ubuntu @ 3.8.12.52 -i

Dabar, iš komandinės eilutės sąsajos, išeikite šią komandą, kad prisijungtumėte prie FTP serverio.

[apsaugotas el. paštas]: ~ $ ftp localhost

Kai paleisite pirmiau nurodytą komandą, ji sukels 500 klaidą.

Išvada

Failų perdavimo protokolas daugelį metų buvo naudojamas failams ir dokumentams perduoti internetu. VSFTPD yra vienas iš paketų, naudojamų kaip FTP serveris jūsų kompiuteryje. VSFTPD yra įvairių konfigūracijų, kurias galite naudoti norėdami pritaikyti savo FTP serverį. Ši pamoka parodė, kaip sukonfigūruoti FTP serverį su TLS, kad būtų užtikrintas didesnis saugumas. Norėdami sužinoti daugiau apie FTP konfigūracijas, apsilankykite šioje nuorodoje.

http: // vsftpd.žvėrys.org / vsftpd_conf.HTML

Kaip įdiegti ir žaisti „Doom“ sistemoje „Linux“
Įvadas į Doom „Doom“ serija atsirado 90-aisiais, išleidus originalų „Doom“. Tai buvo tiesioginis hitas, o nuo to laiko žaidimų serija gavo daugybę apd...
„Vulkan“, skirta „Linux“ vartotojams
Kiekvienos naujos kartos grafikos plokštės matome, kaip žaidimų kūrėjai peržengia grafinės ištikimybės ribas ir artėja prie fotorealizmo. Nepaisant vi...
„OpenTTD“ ir „Simutrans“
Sukurti savo transporto modeliavimą gali būti smagu, atpalaiduojanti ir be galo viliojanti. Štai kodėl jūs turite įsitikinti, kad išbandėte kuo daugia...