FTP

Kako konfigurirati FTP s TLS v Ubuntuju

Kako konfigurirati FTP s TLS v Ubuntuju
FTP (File Transfer Protocol) se uporablja predvsem za prenos datotek med računalniki. FTP deluje v arhitekturi odjemalec-strežnik, v katerem odjemalec zahteva datoteko s strežnika in strežnik stranki vrne zahtevano datoteko. Na odjemalskem računalniku se za komunikacijo s strežnikom uporablja odjemalska aplikacija FTP. Do brskalnika je mogoče dostopati tudi do strežnika FTP. Privzeto FTP komunicira prek nezaščitenega kanala, vendar je mogoče FTP nastaviti za prenos podatkov po varnem kanalu. V tej vadnici boste izvedeli, kako konfigurirati strežnik FTP s TLS in nato uporabili FileZilla kot odjemalsko aplikacijo za povezavo s strežnikom FTP.

Namestitev VSFTPD

VSFTPD (Very Secure FTP Daemon) je program, ki se uporablja za konfiguriranje FTP na strežniku. V tej vadnici bo VSFTPD uporabljen za konfiguracijo strežnika FTP na napravi. Pred namestitvijo VSFTPD posodobite repozitorije v strežniku tako, da izdate naslednji ukaz.

[e-pošta zaščitena]: ~ $ sudo apt-get update -y

Nato z naslednjim ukazom namestite VSFTPD.

[zaščiteno po e-pošti]: ~ $ sudo apt-get install vsftpd -y

Na koncu preverite namestitev s preverjanjem različice vsftpd z naslednjim ukazom.

[e-pošta zaščitena]: ~ $ vsftpd -v

Zgornji ukaz bo izdal različico vsftpd, če bo namestitev uspešna.

FTP v aktivnem načinu

V aktivnem načinu odjemalec FTP začne sejo tako, da vzpostavi nadzorno povezavo TCP iz poljubnih naključnih vrat na odjemalskem računalniku do vrat 21 strežnika. Nato odjemalec začne poslušati naključna vrata X za podatkovno povezavo in prek povezave TCP Control obvesti strežnik, da odjemalec čaka na podatkovno povezavo na vratih X. Po tem strežnik vzpostavi podatkovno povezavo od vrat 20 do vrat X na odjemalskem računalniku.

Težava lahko nastane, če je odjemalec za požarnim zidom in je vrata X blokirana. V tem primeru strežnik ne more vzpostaviti podatkovne povezave s stranko. Da bi se izognili tej težavi, se strežnik FTP večinoma uporablja v pasivnem načinu, o čemer bomo razpravljali kasneje v tem članku. VSFTPD privzeto uporablja pasivni način, zato ga bomo morali spremeniti v aktivni način.

Najprej odprite konfiguracijsko datoteko VSFTPD.

[e-pošta zaščitena]: ~ $ sudo nano / etc / vsftpd.conf

Na konec datoteke dodajte naslednjo vrstico.

pasv_enable = NE

Prepričajte se tudi, da je možnost 'connect_from_port_20' nastavljena na 'YES.'Ta možnost zagotavlja, da je podatkovna povezava vzpostavljena na vratih 20 strežnika.

Nato ustvarite imenik, ki ga bo strežnik FTP uporabljal za shranjevanje datotek. V tej vadnici bomo kot korensko pot strežnika FTP nastavili '/ home / ubuntu / ftp /'.

[e-pošta zaščitena]: ~ $ sudo mkdir / home / ubuntu / ftp

Zdaj določite ta imenik v konfiguracijski datoteki tako, da spremenite možnost 'local_root'. Naslednji parameter bo konfiguriral korensko pot strežnika.

local_root = / home / ubuntu / ftp

Morala je biti omogočena možnost 'write_enable', da lahko uporabniki pišejo na strežnik FTP.

Vsakič, ko spremenite konfiguracijsko datoteko, vedno znova zaženite strežnik.

[e-pošta zaščitena]: ~ $ sudo systemctl znova zaženite vsftpd

Nastavitev gesla za uporabnika

Odjemalec FTP se s strežnikom poveže z uporabniškim imenom in geslom. Z naslednjim ukazom nastavite geslo za svojega uporabnika na napravi.

[e-pošta zaščitena]: ~ $ sudo passwd ubuntu

Zgornji ukaz bo zahteval geslo za uporabnika 'ubuntu'.

Konfiguriranje požarnega zidu za aktivni način

Če se FTP uporablja v aktivnem načinu, bo strežnik FTP za komunikacijo z odjemalcem uporabil dve vrati, vrata 21 in 22. Vrata 21 se uporabljajo za posredovanje ukazov odjemalcu, vrata 20 pa za prenos podatkov v poljubna naključna vrata odjemalca. Za nastavitev požarnega zidu na strežniku bomo uporabili ufw. Namestite ufw z naslednjim ukazom.

[zaščitena po e-pošti]: ~ $ sudo apt-get install ufw

Zdaj bomo na strani strežnika odprli vrata 20, 21 in 22 (za povezavo SSH).

[e-pošta zaščitena]: ~ $ sudo ufw dovoli od katerega koli do katerega koli pristanišča proto tcp

Omogočite in preverite stanje ufw z naslednjimi ukazi.

[e-pošta zaščitena]: ~ $ sudo ufw enable
[e-pošta zaščitena]: ~ $ sudo ufw status

OPOMBA: če konfigurirate strežnik FTP v oblaku, boste morali dovoliti tudi vrata 20, 21 in 22 v varnostni skupini.

OPOZORILO: Preden omogočite ufw na oddaljenem sistemu, vedno omogočite vrata 22 skupaj z zahtevanimi vrati. UFW privzeto blokira promet z vrat 22, zato do oddaljenega strežnika ne boste mogli dostopati s pomočjo SSH, če omogočite ufw, ne da bi dovolili promet z vrat 22.

Namestitev odjemalca FTP

Zdaj je naš strežnik konfiguriran v aktivnem načinu in do njega lahko dostopamo s strani odjemalca. Za odjemalsko aplikacijo bomo uporabili FileZilla, odjemalsko aplikacijo ftp. Namestite FileZilla z naslednjim ukazom.

[zaščiteno po e-pošti]: ~ $ sudo apt-get install filezilla -y

Odprite odjemalsko aplikacijo FTP in vnesite javni naslov IP in druge poverilnice strežnika FTP.

Ko kliknete »Hitra povezava«, se boste povezali s strežnikom FTP in samodejno preusmerjeni v imenik, naveden v možnosti »local_root« v konfiguracijski datoteki »/ home / ubuntu / ftp«.

Težave v aktivnem načinu

Uporaba FTP v aktivnem načinu povzroča težave, ko je odjemalec za požarnim zidom. Ko strežnik ustvari podatkovno povezavo z odjemalcem na naključnih vratih, lahko po vnosu začetnih nadzornih ukazov požarni zid na odjemalcu blokira vrata in povzroči prenos podatkov. Težave s požarnim zidom lahko v pasivnem načinu uporabite FTP.

FTP v pasivnem načinu

V pasivnem načinu odjemalec ustvari nadzorno povezavo s strežnikom na vratih 21 strežnika. Nato odjemalec pošlje poseben ukaz 'PASV', da obvesti strežnik, da bo podatkovno povezavo vzpostavil odjemalec namesto strežnika. V odgovor stranka prejme IP strežnika in naključno številko vrat (ta številka vrat bo nastavljena na strežniku). Odjemalec s tem IP-jem in številko vrat ustvari podatkovno povezavo s strežnikom. V pasivnem načinu odjemalec vzpostavi tako podatkovne kot nadzorne povezave, tako da požarni zid ne moti komunikacije med odjemalcem in strežnikom.

Odprite konfiguracijsko datoteko FTP v svojem najljubšem urejevalniku.

[e-pošta zaščitena]: ~ $ sudo nano / etc / vsftpd.conf

V datoteki nastavite možnost 'pasv_enable' na 'DA', tako da lahko strežnik komunicira s stranko v pasivnem načinu. Nastavite tudi možnost 'local_root', da določite korenski imenik strežnika, in možnost 'write_enable' nastavite na 'YES', da lahko uporabniki naložijo datoteke na strežnik.

Kot smo že omenili, podatkovno povezavo vzpostavi odjemalec, strežnik pa pošlje svoj javni IP in naključna vrata odjemalcu, da ustvari podatkovno povezavo. Ta naključna vrata na strežniku lahko določite med različnimi vrati v konfiguracijski datoteki.

Podatkovna povezava med strežnikom in odjemalcem bo vzpostavljena na vratih med 1024 in 1048. Po spremembi konfiguracijske datoteke znova zaženite strežnik FTP.

[e-pošta zaščitena]: ~ $ sudo systemctl znova zaženite vsftpd

Konfiguriranje požarnega zidu v pasivnem načinu

Če FTP uporabljamo v pasivnem načinu, se bo podatkovna povezava vzpostavila na vseh vratih od 1024 do 1048, zato je treba omogočiti vsa ta vrata na strežniku FTP.

[e-pošta zaščitena]: ~ $ sudo ufw dovoli od katerega koli do katerega koli pristanišča proto tcp

Ko dovolite vsa vrata na požarnem zidu, aktivirajte ufw tako, da zaženete naslednji ukaz.

[e-pošta zaščitena]: ~ $ sudo ufw enable

Preden omogočite požarni zid, vedno dovolite vrata na strežniku; v nasprotnem primeru do strežnika ne boste mogli dostopati prek SSH kot ufw, ki privzeto blokira vrata 22.

Testiranje povezave

Zdaj smo strežnik FTP nastavili v pasivni način in lahko preverimo povezavo ftp z odjemalsko aplikacijo. V tem sistemu odprite FileZilla.

Po vnosu gostitelja, uporabniškega imena, gesla in vrat se lahko zdaj povežete s strežnikom. Zdaj, ko ste povezani s strežnikom FTP, ki deluje v pasivnem načinu, lahko datoteke naložite na strežnik.

Konfiguriranje potrdil SSL s strežnikom FTP

Strežnik FTP privzeto vzpostavi povezavo med odjemalcem in strežnikom prek nezaščitenega kanala. Te vrste komunikacije ne smete uporabljati, če želite med odjemalcem in strežnikom deliti občutljive podatke. Za komunikacijo prek varnega kanala je treba uporabiti potrdila SSL.

Ustvarjanje potrdil SSL

Potrdila SSL bomo uporabili za vzpostavitev varne komunikacije med odjemalcem in strežnikom. Ta potrdila bomo ustvarili z uporabo openssl. Naslednji ukaz bo ustvaril potrdila SSL za vaš strežnik.

[zaščiteno po e-pošti]: ~ $ sudo openssl req -x509 -nodes -day 365 -newkey rsa: 2048 -keyout / etc / ssl / private / vsftpd.pem -out / etc / ssl / private / vsftpd.pem

Ko zaženete zgornji ukaz, boste vprašani. Ko odgovorite na ta vprašanja, bodo potrdila ustvarjena. Potrdila lahko preverite v terminalu.

[e-pošta zaščitena]: ~ $ sudo ls / etc / ssl / private /

Uporaba potrdil v konfiguracijski datoteki

Zdaj so naša potrdila pripravljena za uporabo. Konfigurirali bomo 'vsftpd.conf 'za uporabo potrdil SSL za komunikacijo. Odprite konfiguracijsko datoteko z naslednjim ukazom.

[e-pošta zaščitena]: ~ $ sudo nano / etc / vsftpd.conf

Na konec datotek dodajte naslednje vrstice. Te spremembe bodo zagotovile, da strežnik FTP uporablja novo ustvarjena potrdila SSL za varno komunikacijo s stranko.

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

Znova zaženite strežnik FTP, da uveljavite te spremembe.

[e-pošta zaščitena]: ~ $ sudo systemctl znova zaženite vsftpd

Po ponovnem zagonu strežnika se poskusite povezati s strežnikom z odjemalsko aplikacijo FileZilla. Tokrat vas bo odjemalska aplikacija vprašala, ali zaupati tem potrdilom.

Če imate potrdila zaupanja vrednega overitelja, se to opozorilo ne bi smelo pojaviti. Naša potrdila smo ustvarili z uporabo openssl, ki ni zaupanja vreden overitelj potrdil, zato je v našem primeru zahteval overjanje potrdil. Zdaj lahko komuniciramo med odjemalcem in strežnikom po varnem kanalu.

Anonimna konfiguracija

Na strežniku FTP lahko omogočite tudi anonimno prijavo. Če je ta konfiguracija omogočena, se lahko vsak uporabnik prijavi v strežnik FTP s katerim koli uporabniškim imenom in geslom. Naslednji parametri v konfiguracijski datoteki bodo omogočili anonimni dostop do strežnika FTP.

Zgornja konfiguracija nastavi anonimnim uporabnikom korensko pot »/ home / ubuntu / ftp / anon« in ne bo zahtevala gesla, ko se anonimni uporabnik prijavi.

OPOMBA: Prepričajte se, da pot '/ home / ubuntu / ftp / anon' obstaja na strežniku FTP.

Zdaj znova zaženite strežnik FTP.

[e-pošta zaščitena]: ~ $ sudo systemctl znova zaženite vsftpd

Po ponovnem zagonu strežnika se bomo poskušali povezati s strežnikom prek brskalnika Google Chrome. Pojdite na naslednji URL.

ftp: // 3.8.12.52

Zgornji URL vas bo pripeljal do korenskega imenika strežnika FTP, kot je določeno v konfiguracijski datoteki. Ko je anonimna prijava onemogočena, boste med poskusom povezave s strežnikom FTP s pomočjo brskalnika najprej pozvani k preverjanju pristnosti, nato pa boste preusmerjeni v korenski imenik strežnika.

Konfigurirajte lokalni dostop

Lokalni dostop do strežnika FTP lahko omogočimo ali blokiramo tudi s spreminjanjem konfiguracijske datoteke. Trenutno lahko do strežnika FTP dostopamo lokalno, ne da bi uporabljali odjemalsko aplikacijo FTP, vendar lahko ta dostop blokiramo. Če želite to narediti, moramo spremeniti parameter 'local_enable'.

Najprej znova zaženite strežnik FTP.

[e-pošta zaščitena]: ~ $ sudo systemctl znova zaženite vsftpd

Po ponovnem zagonu strežnika poskusite lokalno dostopati do strežnika FTP z vmesnikom ukazne vrstice. Prijavite se v oddaljeni strežnik s pomočjo SSH.

[zaščitena po e-pošti]: ~ $ ssh ubuntu @ 3.8.12.52 -i

Zdaj izdajte naslednji ukaz za lokalno prijavo v strežnik FTP z vmesnikom ukazne vrstice.

[e-pošta zaščitena]: ~ $ ftp localhost

Ko zaženete zgornji ukaz, bo prišlo do napake 500.

Zaključek

Protokol za prenos datotek se že vrsto let uporablja za prenos datotek in dokumentov prek interneta. VSFTPD je eden od paketov, ki se uporablja kot strežnik FTP na vašem računalniku. VSFTPD vsebuje različne konfiguracije, s katerimi lahko prilagodite strežnik FTP. Ta vadnica vam je pokazala, kako za večjo varnost konfigurirate strežnik FTP s TLS. Če želite izvedeti več o konfiguracijah FTP, obiščite naslednjo povezavo.

http: // vsftpd.zveri.org / vsftpd_conf.html

Kazalec skoči ali se naključno premika med tipkanjem v sistemu Windows 10
Če ugotovite, da kazalec miške med tipkanjem v prenosnem računalniku ali računalniku Windows samodejno, naključno preskakuje ali se premika sam, vam l...
Kako obrniti smer drsenja miške in sledilne ploščice v sistemu Windows 10
Miška in Sledilna ploščicaRačunalništvo ni samo enostavno, ampak bolj učinkovito in manj zamudno. Življenja brez teh naprav si ne moremo predstavljati...
Kako spremeniti miškin kazalec in velikost, barvo in shemo kazalca v sistemu Windows 10
Kazalec miške in kazalec v operacijskem sistemu Windows 10 sta zelo pomembna vidika operacijskega sistema. To lahko rečemo tudi za druge operacijske s...