FTP

Ako nakonfigurovať FTP s TLS v Ubuntu

Ako nakonfigurovať FTP s TLS v Ubuntu
FTP (File Transfer Protocol) sa primárne používa na prenos súborov medzi počítačmi. FTP pracuje v architektúre klient-server, v ktorej si klient vyžiada súbor zo servera a server vráti požadovaný súbor klientovi. Na klientskom počítači sa na komunikáciu so serverom používa klientská aplikácia FTP. Je tiež možné pristupovať na server FTP v prehľadávači. V predvolenom nastavení komunikuje FTP cez nezabezpečený kanál, ale je možné nakonfigurovať FTP na prenos údajov cez zabezpečený kanál. V tomto výučbe sa dozviete, ako nakonfigurovať server FTP pomocou protokolu TLS a potom použiť aplikáciu FileZilla ako klientsku aplikáciu na pripojenie k serveru FTP.

Inštaluje sa VSFTPD

VSFTPD (Very Secure FTP Daemon) je softvérový program používaný na konfiguráciu FTP na serveri. V tomto výučbe sa VSFTPD použije na konfiguráciu servera FTP v stroji. Pred inštaláciou VSFTPD aktualizujte úložiská na vašom serveri zadaním nasledujúceho príkazu.

[chránené e-mailom]: ~ $ sudo apt-get update -y

Ďalej nainštalujte VSFTPD pomocou nasledujúceho príkazu.

[chránené e-mailom]: ~ $ sudo apt-get install vsftpd -y

Nakoniec overte inštaláciu skontrolovaním verzie vsftpd pomocou nasledujúceho príkazu.

[chránené e-mailom]: ~ $ vsftpd -v

Vyššie uvedený príkaz vygeneruje verziu vsftpd, ak je inštalácia úspešná.

FTP v aktívnom režime

V aktívnom režime klient FTP spustí reláciu vytvorením ovládacieho pripojenia TCP z ľubovoľného náhodného portu na klientskom počítači k portu 21 servera. Potom klient začne na náhodnom porte X počúvať dátové pripojenie a prostredníctvom pripojenia TCP Control informuje server, že klient čaká na dátové pripojenie na porte X. Potom server vytvorí dátové pripojenie zo svojho portu 20 k portu X na klientskom počítači.

Môže nastať problém, keď je klient za bránou firewall a port X je blokovaný. V takom prípade server nie je schopný nadviazať dátové spojenie s klientom. Aby sa tomuto problému predišlo, server FTP sa väčšinou používa v pasívnom režime, o čom si povieme neskôr v tomto článku. V predvolenom nastavení používa VSFTPD pasívny režim, takže ho budeme musieť zmeniť na aktívny režim.

Najskôr otvorte konfiguračný súbor VSFTPD.

[chránené e-mailom]: ~ $ sudo nano / etc / vsftpd.konf

Pridajte nasledujúci riadok na koniec súboru.

pasv_enable = NIE

Uistite sa tiež, že možnosť „connect_from_port_20“ je nastavená na „YES.„Táto možnosť zabezpečí, že dátové pripojenie je nadviazané na porte 20 servera.

Ďalej vytvorte adresár, ktorý použije server FTP na ukladanie súborov. Pre tento tutoriál nakonfigurujeme '/ home / ubuntu / ftp /' ako koreňovú cestu pre FTP server.

[chránené e-mailom]: ~ $ sudo mkdir / home / ubuntu / ftp

Teraz zadajte tento adresár v konfiguračnom súbore zmenou možnosti „local_root“. Nasledujúci parameter nakonfiguruje koreňovú cestu servera.

local_root = / home / ubuntu / ftp

Musí byť povolená možnosť „write_enable“, aby používatelia mohli zapisovať na server FTP.

Pri každej zmene konfiguračného súboru vždy reštartujte server.

[chránené e-mailom]: ~ $ sudo systemctl restart vsftpd

Nastavenie hesla pre používateľa

Klient FTP sa pripája k serveru pomocou používateľského mena a hesla. Nastavte heslo svojho používateľa v zariadení pomocou nasledujúceho príkazu.

[chránené e-mailom]: ~ $ sudo passwd ubuntu

Vyššie uvedený príkaz požiada o heslo pre používateľa „ubuntu“.

Konfigurácia brány firewall pre aktívny režim

Ak sa FTP používa v aktívnom režime, server FTP použije na komunikáciu s klientom dva porty, porty 21 a 22. Port 21 sa používa na prenos príkazov klientovi a port 20 sa používa na prenos údajov na ľubovoľný náhodný port klienta. Na konfiguráciu brány firewall na serveri použijeme ufw. Nainštalujte ufw pomocou nasledujúceho príkazu.

[chránené e-mailom]: ~ $ sudo apt-get install ufw

Teraz na strane servera otvoríme porty 20, 21 a 22 (pre pripojenie SSH).

[chránené e-mailom]: ~ $ sudo ufw povoliť z ľubovoľného na akýkoľvek port, protokol tcp

Povoľte a skontrolujte stav ufw pomocou nasledujúcich príkazov.

[chránené e-mailom]: ~ $ sudo ufw povoliť
[chránený e-mailom]: ~ $ sudo ufw status

POZNÁMKA: ak konfigurujete server FTP v cloude, budete musieť v skupine zabezpečenia povoliť aj porty 20, 21 a 22.

POZOR: Pred povolením ufw na vzdialenom systéme vždy povolte port 22 spolu s požadovanými portami. V predvolenom nastavení UFW blokuje prenos z portu 22, takže ak povolíte ufw bez povolenia prenosu z portu 22, nebudete mať prístup k vzdialenému serveru pomocou SSH.

Inštalácia klienta FTP

Náš server je teraz nakonfigurovaný v aktívnom režime a my k nemu môžeme pristupovať zo strany klienta. Pre klientsku aplikáciu použijeme FileZilla, klientsku aplikáciu ftp. Nainštalujte si FileZilla pomocou nasledujúceho príkazu.

[chránené e-mailom]: ~ $ sudo apt-get install filezilla -y

Otvorte aplikáciu klienta FTP a zadajte verejnú adresu IP a ďalšie poverenia servera FTP.

Keď kliknete na „Rýchle pripojenie“, pripojíte sa k serveru FTP a automaticky sa dostanete do adresára uvedeného v možnosti „local_root“ v konfiguračnom súbore „/ home / ubuntu / ftp“.

Problémy v aktívnom režime

Používanie FTP v aktívnom režime spôsobuje problémy, keď je klient za bránou firewall. Po zadaní počiatočných riadiacich príkazov, keď server vytvorí dátové spojenie s klientom na náhodnom porte, môže byť port blokovaný bránou firewall v klientovi, čo spôsobí zlyhanie prenosu údajov. Na riešenie týchto problémov s bránou firewall je možné použiť FTP v pasívnom režime.

FTP v pasívnom režime

V pasívnom režime vytvorí klient riadiace spojenie so serverom na porte 21 servera. Klient potom pošle špeciálny príkaz 'PASV', aby informoval server, že dátové pripojenie nadviaže klient namiesto servera. Na základe toho klient dostane adresu IP servera a náhodné číslo portu (toto číslo portu bude nakonfigurované na serveri). Klient použije túto adresu IP a číslo portu na vytvorenie dátového spojenia so serverom. V pasívnom režime vytvára dátové aj riadiace pripojenie klient, aby brána firewall nenarúšala komunikáciu medzi klientom a serverom.

Otvorte konfiguračný súbor FTP vo svojom obľúbenom editore.

[chránené e-mailom]: ~ $ sudo nano / etc / vsftpd.konf

Nastavte v súbore možnosť „pasv_enable“ na „YES“, aby server mohol komunikovať s klientom v pasívnom režime. Nastavte tiež možnosť „local_root“, aby ste určili koreňový adresár servera, a nastavte možnosť „write_enable“ na „YES“, aby používatelia mohli nahrávať súbory na server.

Ako už bolo spomenuté, dátové pripojenie je nadviazané klientom a server klientovi zašle verejnú adresu IP a náhodný port na vytvorenie dátového pripojenia. Tento náhodný port na serveri je možné určiť z rozsahu portov v konfiguračnom súbore.

Dátové spojenie medzi serverom a klientom sa vytvorí na porte medzi 1024 a 1048. Po zmene konfiguračného súboru reštartujte server FTP.

[chránené e-mailom]: ~ $ sudo systemctl restart vsftpd

Konfigurácia brány firewall v pasívnom režime

Pokiaľ používame FTP v pasívnom režime, dátové pripojenie sa nadviaže na akomkoľvek porte od 1024 do 1048, takže je potrebné povoliť všetky tieto porty na FTP serveri.

[chránené e-mailom]: ~ $ sudo ufw povoliť z ľubovoľného na akýkoľvek port, protokol tcp

Po povolení všetkých portov v bráne firewall aktivujte ufw spustením nasledujúceho príkazu.

[chránené e-mailom]: ~ $ sudo ufw povoliť

Pred povolením brány firewall vždy povoľte porty na serveri; inak nebudete mať prístup na svoj server cez SSH ako ufw, ktorý predvolene blokuje port 22.

Testuje sa pripojenie

Teraz sme nastavili FTP server v pasívnom režime a môžeme skontrolovať ftp spojenie s klientskou aplikáciou. Ak to chcete urobiť, otvorte vo svojom systéme FileZilla.

Po zadaní hostiteľa, používateľského mena, hesla a portu sa teraz môžete pripojiť k serveru. Teraz, keď ste pripojení k serveru FTP bežiacemu v pasívnom režime, môžete na server nahrávať súbory.

Konfigurácia certifikátov SSL na serveri FTP

Server FTP štandardne nadväzuje spojenie medzi klientom a serverom cez nezabezpečený kanál. Tento typ komunikácie by sa nemal používať, ak chcete zdieľať citlivé údaje medzi klientom a serverom. Na komunikáciu cez zabezpečený kanál je potrebné používať certifikáty SSL.

Generovanie SSL certifikátov

Na zabezpečenie zabezpečenej komunikácie medzi klientom a serverom použijeme certifikáty SSL. Tieto certifikáty vygenerujeme pomocou openssl. Nasledujúci príkaz vygeneruje certifikáty SSL pre váš server.

[chránené e-mailom]: ~ $ sudo openssl req -x509 -nodes -day 365 -newkey rsa: 2048 -keyout / etc / ssl / private / vsftpd.pem -out / etc / ssl / private / vsftpd.pem

Po spustení vyššie uvedeného príkazu sa vás opýta niekoľko otázok. Po zodpovedaní týchto otázok sa vygenerujú certifikáty. Certifikáty môžete skontrolovať v termináli.

[chránené e-mailom]: ~ $ sudo ls / etc / ssl / private /

Používanie certifikátov v konfiguračnom súbore

Teraz sú naše certifikáty pripravené na použitie. Nakonfigurujeme 'vsftpd.conf 'na použitie certifikátov SSL na komunikáciu. Otvorte konfiguračný súbor pomocou nasledujúceho príkazu.

[chránené e-mailom]: ~ $ sudo nano / etc / vsftpd.konf

Pridajte nasledujúce riadky na koniec súborov. Tieto zmeny zabezpečia, aby server FTP používal novo generované certifikáty SSL na bezpečnú komunikáciu s klientom.

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

Ak chcete tieto zmeny použiť, reštartujte server FTP.

[chránené e-mailom]: ~ $ sudo systemctl restart vsftpd

Po reštartovaní servera sa skúste pripojiť k serveru pomocou klientskej aplikácie FileZilla. Tentokrát sa vás klientská aplikácia opýta, či týmto certifikátom dôverovať.

Ak máte certifikáty od dôveryhodnej certifikačnej autority, toto varovanie by sa nemalo zobraziť. Naše certifikáty sme vygenerovali pomocou openssl, čo nie je dôveryhodná certifikačná autorita, a preto v našom prípade požiadala o autentifikáciu certifikátu. Teraz môžeme komunikovať medzi klientom a serverom cez zabezpečený kanál.

Anonymná konfigurácia

Môžete tiež povoliť anonymné prihlásenie na serveri FTP. Ak je táto konfigurácia povolená, môže sa každý používateľ prihlásiť na server FTP pomocou ľubovoľného používateľského mena a hesla. Nasledujúce parametre v konfiguračnom súbore umožnia anonymný prístup k serveru FTP.

Vyššie uvedená konfigurácia nastavuje koreňovú cestu pre anonymných používateľov na „/ home / ubuntu / ftp / anon“ a pri prihlásení anonymného používateľa nebude vyžadovať zadanie hesla.

POZNÁMKA: Skontrolujte, či na serveri FTP existuje cesta „/ home / ubuntu / ftp / anon“.

Teraz reštartujte server FTP.

[chránené e-mailom]: ~ $ sudo systemctl restart vsftpd

Po reštartovaní servera sa pokúsime pripojiť k serveru pomocou prehliadača Google Chrome. Prejdite na nasledujúcu adresu URL.

ftp: // 3.8.12.52

Vyššie uvedená adresa URL vás prevedie do koreňového adresára servera FTP, ako je uvedené v konfiguračnom súbore. Ak je anonymné prihlásenie zakázané, pri pokuse o pripojenie k serveru FTP pomocou prehľadávača sa najskôr zobrazí výzva na overenie a potom sa dostanete do koreňového adresára servera.

Nakonfigurujte miestny prístup

Môžeme tiež povoliť alebo zablokovať miestny prístup k serveru FTP zmenou konfiguračného súboru. V súčasnosti môžeme na náš FTP server pristupovať lokálne bez použitia klientskej aplikácie FTP, ale môžeme tento prístup zablokovať. Aby sme to mohli urobiť, musíme upraviť parameter 'local_enable'.

Najskôr reštartujte server FTP.

[chránené e-mailom]: ~ $ sudo systemctl restart vsftpd

Po reštartovaní servera sa pokúste o lokálny prístup na server FTP pomocou rozhrania príkazového riadku. Prihláste sa na vzdialený server pomocou SSH.

[chránené e-mailom]: ~ $ ssh ubuntu @ 3.8.12.52 -i

Teraz zadajte nasledujúci príkaz na miestne prihlásenie na server FTP pomocou rozhrania príkazového riadku.

[chránené e-mailom]: ~ $ ftp localhost

Keď spustíte vyššie uvedený príkaz, vyhodí chybu 500.

Záver

File Transfer Protocol sa už mnoho rokov používa na prenos súborov a dokumentov cez internet. VSFTPD je jeden z balíkov používaných ako server FTP na vašom počítači. VSFTPD obsahuje rôzne konfigurácie, ktoré môžete použiť na prispôsobenie servera FTP. V tomto výučbe sa dozviete, ako nakonfigurovať server FTP pomocou protokolu TLS na zvýšenie bezpečnosti. Ak sa chcete dozvedieť viac informácií o konfiguráciách FTP, kliknite na nasledujúci odkaz.

http: // vsftpd.šelmy.org / vsftpd_conf.html

Hry Užitočné nástroje pre hráčov systému Linux
Užitočné nástroje pre hráčov systému Linux
Ak radi hráte hry v systéme Linux, je pravdepodobné, že ste na vylepšenie herného zážitku použili aplikácie a pomôcky ako Wine, Lutris a OBS Studio. O...
Hry HD remasterované hry pre Linux, ktoré nikdy predtým nemali vydanie Linuxu
HD remasterované hry pre Linux, ktoré nikdy predtým nemali vydanie Linuxu
Mnoho vývojárov a vydavateľov hier prichádza s remastrom starých hier v rozlíšení HD, aby predĺžili životnosť franšízy. Prosím fanúšikov, ktorí požadu...
Hry Ako používať AutoKey na automatizáciu hier pre Linux
Ako používať AutoKey na automatizáciu hier pre Linux
AutoKey je obslužný program na automatizáciu stolných počítačov pre systémy Linux a X11, programovaný v programoch Python 3, GTK a Qt. Pomocou jeho fu...