Cum se instalează și se configurează serverul FTP în Ubuntu

FTP (File Transfer Protocol) este un protocol de rețea standard relativ vechi și cel mai utilizat utilizat pentru încărcarea/descărcarea fișierelor între două computere într-o rețea. Cu toate acestea, FTP prin originalul său nesigur, deoarece transmite date împreună cu acreditările utilizatorului (nume de utilizator și parolă) fără criptare.Atenție: Dacă intenționați să utilizați FTP, luați în considerare configurarea conexiunii FTP cu SSL/TLS (va acoperi în articolul următor). În caz contrar, este întotdeauna mai bine să utilizați FTP securizat, cum ar fi SFTP.,in acest tutorial, va vom arata cum se instaleaza, configureaza si securizeaza un server FTP (VSFTPD in intregime „Daemon FTP foarte sigur”) in Ubuntu pentru a avea o securitate puternica impotriva vulnerabilitatilor FTP.

Pasul 1: Instalarea serverului VsFTP în Ubuntu

1. Mai întâi, trebuie să actualizăm lista surselor pachetului de sistem și apoi să instalăm pachetul binar vsftpd după cum urmează:

$ sudo apt-get update$ sudo apt-get install vsftpd

2., După ce instalarea se încheie, serviciul va fi dezactivat inițial, prin urmare, avem nevoie pentru a porni manual pentru timp și, de asemenea, permite pentru a porni automat la următoarea pornire a sistemului:

3., Apoi, dacă aveți UFW firewall activat ( nu este activat în mod implicit) de pe server, trebuie sa deschizi porturile 21 si 20 unde FTP daemon sunt de ascultare, în scopul de a permite accesul la FTP servicii de mașinile de la distanță, apoi se adauga noi reguli firewall, după cum urmează:

$ sudo ufw allow 20/tcp$ sudo ufw allow 21/tcp$ sudo ufw status

Pasul 2: Configurarea și Securizarea VsFTP Server in Ubuntu

4. Acum să efectuați câteva configurații de configurare și de a asigura serverul nostru FTP, în primul rând, vom crea o copie de rezervă originale fișierul de configurare /etc/vsftpd/vsftpd.,conf astfel:

$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig

Apoi, să deschidem vsftpd config.

$ sudo vi /etc/vsftpd.confOR$ sudo nano /etc/vsftpd.conf

Adăugați/modificați următoarele opțiuni cu aceste valori:

anonymous_enable=NO # disable anonymous loginlocal_enable=YES# permit local loginswrite_enable=YES# enable FTP commands which change the filesystemlocal_umask=022 # value of umask for file creation for local usersdirmessage_enable=YES # enable showing of messages when users first enter a new directoryxferlog_enable=YES# a log file will be maintained detailing uploads and downloadsconnect_from_port_20=YES # use port 20 (ftp-data) on the server machine for PORT style connectionsxferlog_std_format=YES # keep standard log file formatlisten=NO # prevent vsftpd from running in standalone modelisten_ipv6=YES # vsftpd will listen on an IPv6 socket instead of an IPv4 onepam_service_name=vsftpd # name of the PAM service vsftpd will useuserlist_enable=YES # enable vsftpd to load a list of usernamestcp_wrappers=YES # turn on tcp wrappers

5. Acum, configurați VSFTPD pentru a permite / refuza accesul FTP utilizatorilor pe baza fișierului listei de utilizatori / etc / vsftpd.userlist.

rețineți că, în mod implicit, utilizatorii listate în userlist_file=/etc / vsftpd.userlist sunt refuzate accesul de conectare cu userlist_deny=YESopțiune dacă userlist_enable=YES.,

Dar, opțiunea userlist_deny=NO răsturnări de situație sensul de setarea implicită, astfel încât numai utilizatorii ale căror nume de utilizator este menționat în mod explicit în userlist_file=/etc/vsftpd.userlist va fi permis să se conecteze la serverul FTP.

Important: când utilizatorii se conectează la serverul FTP, aceștia sunt plasați într-o închisoare chrooted, acesta este directorul rădăcină local care va acționa ca director de acasă doar pentru Sesiunea FTP.

în continuare, vom analiza două scenarii posibile despre cum să setați directorul chrooted jail (rădăcină locală), așa cum se explică mai jos.

6., În acest moment, să adăugăm/modificăm/decomentăm aceste două opțiuni următoare pentru a restricționa utilizatorii FTP la directoarele lor de acasă.

chroot_local_user=YESallow_writeable_chroot=YES

opțiunea chroot_local_user=YES important mijloace locale, utilizatorii vor fi plasate într-un chroot jail, casa lor director implicit după autentificare.

Și noi trebuie să înțelegem că VSFTPD nu permite chroot jail director pentru a fi inscripționată, în mod implicit din motive de securitate, cu toate acestea, putem folosi opțiunea allow_writeable_chroot=DA pentru a dezactiva această setare.

salvați fișierul și închideți-l., Apoi, trebuie să reporniți VSFTPD servicii pentru modificările de mai sus să aibă efect:

------------- On SystemD ------------- # systemctl restart vsftpd------------- On SysVInit ------------- # service vsftpd restart

Pasul 3: Testarea VsFTP Server in Ubuntu

7. Acum vom testa serverul FTP prin crearea unui utilizator FTP cu useradd de comandă, după cum urmează:

$ sudo useradd -m -c "Aaron Kili, Contributor" -s /bin/bash aaronkilik$ sudo passwd aaronkilik

Apoi, trebuie să în mod explicit lista utilizatorul aaronkilik în fișierul /etc/vsftpd.userlist cu comanda echo și comanda tee ca mai jos:

$ echo "aaronkilik" | sudo tee -a /etc/vsftpd.userlist$ cat /etc/vsftpd.userlist

8. Acum este timpul pentru a testa configurațiile noastre de mai sus funcționează după cum este necesar., Vom începe prin testarea conectărilor anonime; putem vedea clar din ieșirea de mai jos că conectările anonime nu sunt permise pe serverul FTP:

9. Apoi, să testăm dacă un utilizator nu este listat în fișierul /etc/vsftpd.userlist va primi permisiunea de conectare, ceea ce nu este adevărat din ieșirea care urmează:

10. Acum vom efectua un test final pentru a determina dacă un utilizator listat în fișierul /etc/vsftpd.userlist, este de fapt plasat în lui/directorul ei acasă după autentificare., Și acest lucru este adevărat de ieșire de mai jos:

Verifica FTP Login în Ubuntu

Avertisment: Setarea opțiunea allow_writeable_chroot=YES poate fi atât de periculos, are posibile implicații de securitate, mai ales dacă utilizatorii au incarca permisiunea, sau mai mult, coajă de acces. Utilizați-l numai dacă știți exact ce faceți.trebuie să observăm că aceste implicații de securitate nu sunt specifice VSFTPD, ele pot afecta, de asemenea, toți ceilalți daemoni FTP care se oferă să pună utilizatorii locali în închisorile chroot.,din acest motiv, în secțiunea de mai jos, vom explica o metodă mai sigură de setare a unui alt director rădăcină local care nu poate fi scris pentru un utilizator.

Pasul 4: Configurați directoarele de utilizator FTP în Ubuntu

11. Acum, deschideți fișierul de configurare VSFTPD încă o dată.,

$ sudo vi /etc/vsftpd.confOR$ sudo nano /etc/vsftpd.conf

și comentariu nesigur opțiune folosind # personaj așa cum se arată mai jos:

#allow_writeable_chroot=YES

apoi, creați o alternativă locală directorul rădăcină pentru utilizator (aaronkilik, a ta este, probabil, nu la fel) și setați permisiunile necesare prin dezactivarea permisiuni de scriere pentru toți utilizatorii la acest director:

$ sudo mkdir /home/aaronkilik/ftp$ sudo chown nobody:nogroup /home/aaronkilik/ftp$ sudo chmod a-w /home/aaronkilik/ftp

12., Apoi, creați un director sub rădăcină locale cu permisiunile corespunzătoare în cazul în care utilizatorul va stoca fișierele sale:

După aceea, adăugați/modificați opțiunile de mai jos în VSFTPD config cu valorile corespunzătoare:

Salvați fișierul și închideți-l. Și reporniți serviciile VSFTPD cu setările recente:

------------- On SystemD ------------- # systemctl restart vsftpd------------- On SysVInit ------------- # service vsftpd restart

13. Acum, să efectuăm o verificare finală și să ne asigurăm că directorul rădăcină local al utilizatorului este directorul FTP pe care l-am creat în directorul său de acasă.,

FTP User Home Directory Login

Share

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *