Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Windows Phone
  • Instalarea vsftpd pe CentOS. Instalarea unui server FTP - VsFTPd - CentOS Wiki

Instalarea vsftpd pe CentOS. Instalarea unui server FTP - VsFTPd - CentOS Wiki

Vechi protocol bun Transferuri FTP vă permite să transferați fișiere prin rețele și, cel mai probabil, l-ați întâlnit sau ați auzit vreodată despre el. În mod implicit, folosește 21 de porturi (așa s-a întâmplat istoric) și este folosit în mod tradițional pentru schimbul de fișiere între mașini, conform schemei client-server, precum și multe alte protocoale. FTP este eroul timpului său, iar astăzi are o cerere destul de mare pentru sarcinile serverelor FTP publice. În plus, multe companii de găzduire continuă să susțină acest protocol datorită confortului său pentru partajarea fișierelor.

În această postare ne vom uita la instalarea unui server ftp pe sistem de operare CentOS. Datorită faptului că a fost dezvoltat cu destul de mult timp în urmă, ftp-ul original nu este sigur din punct de vedere al criptării traficului etc., ceea ce astăzi îi subminează relevanța de standardele moderne de securitate. Prin urmare, majoritatea alegere optimă pentru majoritatea utilizatorilor care au nevoie de un server ftp, software-ul este vsftp(Daemon FTP foarte sigur). Este demn de remarcat fiabilitatea sa, precum și ușurința de configurare Servere FTP.

Instalarea vsftpd
Pentru a instala serverul vsftpd, trebuie să vă conectați ca root, apoi să rulați comanda:

# yum instalează vsftpd

Acest pachet este inclus în depozitul standard CentOS și nu există probleme cu instalarea acest software Nu ar trebui să fie probleme. După ce procesul de instalare a trecut, puteți adăuga serverul pentru a porni la pornirea sistemului:

# chkconfig vsftpd activat

După ce serverul a fost instalat, configurație de bază permite serverului să funcționeze cu setările implicite. Pentru a face modificări la setările de configurare, trebuie doar să editați fișierul de configurare:
/etc/vsftpd/vsftpd.conf

În acest caz, se recomandă să salvați înainte de a configura orice altceva. copie de rezervă Fișier de configurare. Citirea documentației vă va permite să configurați serverul „pentru dvs.” cu cel mai puțin timp, nervi și nu știți niciodată. Descrie scopul multor parametri, pe care nu îi voi descrie aici.
După aceasta, puteți porni serverul, dar mai există un lucru care poate împiedica serverul să funcționeze, acesta este un firewall, la fel ca în majoritatea configurațiilor de server, ar trebui să permiteți conexiuni la serverul dvs.

Reguli în iptables
Deschideți fișierul de configurare iptables:

/etc/sysconfig/iptables

Adăugați reguli pentru serverul ftp:

Iptables -A INTRARE -p tcp --dport 21 -j ACCEPT iptables -A IEȘIRE -p tcp --sport 20 -j ACCEPT

Nu uitați, pentru ca regulile să intre în vigoare, iptables trebuie repornit.

# service iptables repornește

Se pornește vsftpd

# service vsftpd start

În concluzie, aș dori să remarc faptul că vsftpd, în ciuda simplității instalării sale, este destul de server puternic cu un număr suficient de bunătăţi şi lucruri utile. Dintre acestea, aș remarca cele mai relevante caracteristici, cum ar fi utilizatorii virtuali, setări individuale, limite, setări individuale pentru adrese IP individuale și multe altele.

Exemplu de configurare simplă a serverului

Editarea fișierului de configurare:

# vi /etc/vsftpd/vsftpd.conf

Împiedică utilizatorul să părăsească directorul principal

Chroot_local_user=DA

Interzicem autentificarea anonimă la server

Anonymous_enable=NU

Crearea utilizatorilor FTP
Adăugarea unui utilizator

# useradd ftpuser

Setați o parolă pentru utilizatorul creat

#passwdftpuser

În continuare edităm fișierul /etc/passwd
Găsiți linia de utilizator ftpuser:

Ftpuser:x:513:513::/home/ftpuser:/bin/bash

/home/ftp— directorul principal al utilizatorului;
/sbin/nologin— interzicerea accesului utilizatorilor la sistem;

Pentru ușurință în utilizare, puteți crea un grup, de exemplu ftpusers, apoi setați drepturile corespunzătoare pentru folderul /home/ftp

Unul dintre programe populare pentru a vă conecta la un server FTP este FileZilla sau Total Commander
(cm. ). Există, de asemenea, o postare pe site-ul nostru despre cum poate fi utilizat între două servere Linux.

Conexiunea este configurată la fel ca în alte cazuri; în setările de conectare specificăm adresa serverului, nume de utilizator ftpuser, parolă.
Este posibil ca directorul rădăcină să nu fie specificat, deoarece implicit va fi /home/ftp.

Vsftpd ('Very Secure FTP Daemon') este un server FTP pentru sisteme asemănătoare UNIX, inclusiv CentOS / RHEL / Fedora și altele distribuții Linux. Acceptă IPv6, SSL, blocând utilizatorii din directoarele lor de acasă și multe altele funcții suplimentare. În subiectul meu „Instalarea vsftpd pe CentOS”, voi explica cum puteți instala vsftpd pe CentOS în exemple detaliate.

Pasul 1 — Instalarea Vsftpd

Puteți instala rapid Vsftpd pe VPS-ul dvs. executând comanda pe linia de comandă:

# yum instalează vsftpd

De asemenea, trebuie să instalăm un client FTP:

# yum instalează ftp

Odată ce fișierele se termină descărcarea, după care Vsftpd va fi pe VPS-ul tău.

Pasul 2 — Configurarea VSFTP

După instalarea VSFTP, puteți configura configurația. Voi crea o copie de rezervă a fișierului de configurare standard (doar pentru orice eventualitate):

# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bk

Deschideți fișierul de configurare:

# vim /etc/vsftpd/vsftpd.conf

O modificare principală pe care ar trebui să o faceți este să schimbați intrarea animus (nu aveam nevoie de asta):

[...] anonymous_enable=NU [...]

Înainte de această modificare, Vsftpd a permis conectări anonime server ftpȘi utilizatori necunoscuți ar putea accesa fișierele noastre VPS. După aceea, decomentați opțiunea local_enable, schimbați-o la „da”.

[...] local_enable = DA [...]

Acest lucru va oferi utilizatorilor locali acces la FTP.

Apoi, decomentați comanda chroot_local_user. Când această linie este „DA”, totul utilizatori locali vor fi închiși în așa-numitele închisori în măsura capacităților lor și li se va interzice accesul la orice altă parte a serverului. Oferim chroot pentru toți utilizatorii:

[...] chroot_local_user = DA [...]

[...] write_enable=DA [...]

Acest lucru va oferi utilizatorilor FTP drepturi de scriere și, dacă este necesar, va dezactiva portul 20 - va reduce privilegiile VSftpd:

[...] connect_from_port_20=NU [...]

Să setăm masca la 022 pentru a ne asigura că sunt setate drepturile corespunzătoare pentru toate fișierele (644) și folderele (755) pe care le încărcăm

[...] local_umask=022 [...]

Am configurat fișierul de configurare, dar mai trebuie să adaug utilizatorii. Acum o voi face și vă arăt ce și cum.

Setări suplimentare pentru configurarea vsftpd

allow_anon_ssl NR
Parametrul YES permite tuturor utilizatorilor anonimi să se conecteze printr-o conexiune SSL.

anon_mkdir_write_enable NU
Parametrul YES face posibilă crearea directoarelor de către utilizatori anonimi (în anumite condiții), dar pentru aceasta va trebui să activați opțiunea „write_enable”, care trebuie să aibă drepturi de scriere anonime pentru directorul părinte.

anon_other_write_enable NU
Parametrul YES permite utilizatorilor anonimi să efectueze nu numai operațiunile de încărcare a fișierelor și crearea de foldere, ci și de ștergere și redenumire a acestora.

anon_upload_enable NU
Parametrul YES face posibil ca utilizatorii anonimi să încarce fișiere pe server (trebuie să activați opțiunea „write_enable”, care trebuie să aibă drepturi de scriere pentru utilizatorii anonimi în folderul de încărcare). Această opțiune trebuie, de asemenea, activată pentru ca utilizatorii virtuali să își poată încărca fișierele, deoarece în mod implicit, toți utilizatorii virtuali sunt considerați anonimi.

anon_world_readable_only DA
Parametrul YES este necesar pentru ca utilizatorii anonimi să poată descărca numai fișiere care pot fi citite de toată lumea (al căror proprietar este utilizatorul ftp).

anonim_activare DA
Parametrul YES permite conectarea utilizatori anonimi la un server numit ftp și anonim.

ascii_download_enable NU
Parametrul YES vă permite să selectați modul ASCII pentru descărcarea fișierelor

ascii_upload_enable NU
Parametrul YES vă permite să selectați modul ASCII pentru încărcarea fișierelor

async_abor_enable NU
Parametrul YES vă permite să utilizați echipa speciala FTP, cunoscut sub numele de „ABOR asincron”.

fundal DA
Opțiunea YES permite rularea vsftpd în fundal.

check_shell DA
Atenţie! Acest parametru funcționează numai pentru vsftpd construit fără „PAM”! Dacă opțiunea este setată la NU, atunci vsftpd nu verifică prezența unui shell de utilizator local în /etc/shells. De obicei, dacă shell-ul unui utilizator nu este găsit în /etc/shells, atunci accesul FTP la acest utilizator va fi refuzat!

chmod_enable DA
Opțiunea YES permite utilizatorilor locali să utilizeze comanda „SITE CHMOD”. Utilizatorii anonimi NU pot folosi NICIODATĂ această comandă!

chown_uploads NR
Opțiunea DA face ca toate fișierele încărcate de utilizatori anonimi să aibă proprietarul schimbat la utilizatorul specificat în opțiunea „chown_user-name”.

chroot_list_enable NU
Opțiunea „DA” vă permite să creați o listă de utilizatori locali care vor fi instalați în chroot() în directorul lor principal la autentificare. Dacă opțiunea „chroot_local_user” este setată la „DA”, atunci totul funcționează exact invers: pentru utilizatorii locali din lista furnizată, „chroot()” NU VA fi efectuat. În mod implicit, lista de utilizatori este conținută în fișierul /etc/vsftpd/chroot_list, puteți specifica orice alt nume de fișier folosind opțiunea „chroot_list_file”.

chroot_local_user NR
Opțiunea YES face ca utilizatorii locali să fie croot() în directorul lor de acasă la autentificare. Atenţie! Această opțiune poate prezenta riscuri de securitate, mai ales atunci când utilizatorii pot încărca fișiere sau au acces shell. Porniți-l doar dacă știți ce faceți!

connect_from_port_20 NR
Opțiunea setată la YES face posibilă utilizarea portului 20 (ftp-data) pe server pentru transferul de date; din motive de securitate, unii clienți pot solicita acest comportament de la server. Dimpotrivă, dezactivarea acestei opțiuni vă permite să rulați vsftpd cu mai puține privilegii.

debug_ssl NR
Opțiunea setată la YES face ca funcționarea conexiunilor prin SSL să fie înregistrată. (Adăugat în 2.0.6)

deny_email_enable NU
Opțiunea DA vă permite să furnizați o listă de parole în stil Adrese de email pentru utilizatori anonimi (carora li se va refuza accesul). În mod implicit, lista este conținută în fișierul /etc/vsftpd/banned_emails, dar puteți specifica un alt fișier folosind opțiunea „banned_email_file”.

dirlist_enable DA
O opțiune setată la NU interzice accesul la executarea comenzilor pentru a vizualiza conținutul folderelor.

dirmessage_enable NR
Parametrul YES vă permite să afișați mesaje utilizatorilor care intră pentru prima dată într-un director. În mod implicit, mesajele sunt în fișiere .message, dar puteți specifica un alt fișier folosind opțiunea „message_file”.

download_enable DA
Opțiunea NU împiedică descărcarea fișierelor.

dual_log_enable NU
Opțiunea YES permite generarea paralelă a două jurnale /var/log/xferlog și /var/log/vsftpd.log. Primul are stilul wu-ftpd, al doilea are stilul vsftpd.

force_dot_files NR
Opțiunea DA vă permite să afișați fișiere și directoare ale căror nume încep cu un punct. Excepții sunt numele "." Și ".."

force_anon_data_ssl NR
Funcționează numai dacă opțiunea „ssl_enable” este activată. Parametrul YES forțează conexiunile tuturor utilizatorilor anonimi în modul SSL atunci când descărcați și încărcați fișiere.

force_anon_logins_ssl NR
Funcționează numai dacă opțiunea „ssl_enable” este activată. Opțiunea DA forțează toți utilizatorii anonimi să schimbe conexiunile atunci când trimit o parolă.

force_local_data_ssl DA
Funcționează numai dacă opțiunea „ssl_enable” este activată. Parametrul YES forțează conexiunile tuturor utilizatorilor NON-anonimi în modul SSL atunci când descărcați și încărcați fișiere.

force_local_logins_ssl DA
Funcționează numai dacă parametrul „ssl_enable” este activat. Opțiunea DA forțează conexiunile tuturor utilizatorilor NON-anonimi în modul SSL atunci când trimit o parolă.

guest_enable NU
Opțiunea DA specifică că toate conexiunile anonime trebuie tratate ca conexiuni „oaspete”. Autentificarea pentru oaspeți va fi reatribuită utilizatorului specificat de parametrul „guest_username”.

hide_ids NR
Opțiunea DA face ca grupul și proprietarul să fie întotdeauna „ftp” atunci când sunt afișate pentru toate fișierele și directoarele.

asculta DA
Opțiunea YES face ca vsftpd să pornească în modul daemon. Aceasta înseamnă că vsftpd nu poate fi pornit de la inetd. În schimb, vsftpd pornește direct o dată și apoi se ocupă de conexiunile de intrare.

listen_ipv6 NU
La fel ca și pentru parametrul de ascultare, doar vsftpd va servi IPv6, nu doar IPv4. Această opțiune și opțiunea de ascultare se exclud reciproc.

local_enable NU
Parametrul YES vă permite să vă conectați prin FTP local utilizatori (din /etc/passwd sau autorizați prin PAM). Acest parametru trebuie să fie activat dacă doriți să organizați munca utilizatorilor NON-anonimi, inclusiv a celor virtuali.

lock_upload_files DA
Parametrul YES permite blocarea scrierii pentru toate fișierele descărcate. Toate fișierele descărcate au o blocare de citire partajată. Atenţie! Înainte de a activa această opțiune, rețineți că citirea rău intenționată poate determina ca utilizatorii să încarce fișiere să nu le poată termina de scris.

log_ftp_protocol NR
Opțiunea YES face ca toate cererile și răspunsurile FTP să fie înregistrate și opțiunea xferlog_std_format să fie dezactivată.

ls_recurse_enable NU
Dacă opțiunea este setată la YES, permite utilizarea lui „ls -R”. Acest lucru creează un risc semnificativ de securitate deoarece rularea „ls -R” într-un director nivel superior, care conține multe subdirectoare și fișiere, poate duce la un consum foarte mare de resurse.

mdtm_write DA
Dacă opțiunea este setată la DA, atunci activează setarea MDTM a orelor de modificare a fișierelor (utilă pentru verificarea accesului)

no_anon_parola NU
Dacă această opțiune este setată la YES, atunci vstpd nu le cere utilizatorilor anonimi o parolă.

no_log_lock NU
Opțiunea DA îi spune vsftpd să nu blocheze atunci când scrie în fișierele jurnal. De obicei acest parametru inchis. În Solaris împreună cu Sistemul de fișiere Veritas se blochează uneori când încearcă să blocheze fișierele jurnal.

model_un_proces NR
Pentru nucleele 2.4, este acceptat un model de securitate diferit: un proces per conexiune. Acest model este mai puțin sigur, dar mai productiv. Nu-l activați dacă nu înțelegeți ce faceți și dacă serverul dvs. nu are nevoie de asistență sumă uriașă conexiuni separate.

passwd_chroot_enable NU
Dacă opțiunea este setată la YES, aceasta permite, împreună cu chroot_local_user, să activeze chroot() separat pentru fiecare utilizator, pe baza datelor despre directorul său principal preluate din /etc/passwd. În acest caz, valoarea „/./” din linia care specifică directorul principal înseamnă o locație separată în cale.

pasv_addr_resolve NU
Dacă opțiunea este setată la YES, vă permite să utilizați un nume (în loc de o adresă IP) în pasv_addres

pasv_enable DA
Dacă opțiunea este setată la NU, atunci dezactivează metoda PASV în conexiunea primită pentru primirea/transmiterea datelor.

pasv_promiscuous NU
Dacă opțiunea este setată la YES, atunci dezactivează verificarea de securitate, al cărei scop este să se asigure că conexiunea pentru primirea/transmiterea datelor se face de la aceeași adresă IP ca și conexiunea de control. Porniți-l doar dacă înțelegeți ce faceți! Acest lucru este necesar doar în unele cazuri atunci când se organizează tuneluri securizate sau se acceptă FXP.

port_enable DA
Dacă opțiunea este setată la NU, atunci dezactivează metoda PORT în conexiunea primită pentru primirea/transmiterea datelor.

port_promiscuous NU
Dacă opțiunea este setată la YES, va dezactiva verificarea de securitate PORT, al cărei scop este să se asigure că conexiunea de ieșire este conectată la client. Porniți-l doar dacă știți ce faceți!

cere_cert NR
Opțiunea DA necesită ca toți clienții SSL să aibă un certificat de client. Reducerea de autentificare aplicată acestui certificat este controlată de parametrul validate_cert (adăugat în 2.0.6).

run_as_launching_user NR
Setați la YES dacă doriți să rulați vsftpd ca utilizator care îl rulează de fapt. Acest lucru este de obicei necesar în cazurile în care accesul de la utilizator root nu este disponibil. NOTIFICARE SERIOZĂ! NU activați această opțiune decât dacă sunteți pe deplin conștient de ceea ce faceți, deoarece utilizarea acestei opțiuni poate crea o problemă serioasă de securitate. Este deosebit de important ca vsftpd să nu folosească / ca director rădăcină și, de asemenea, să folosească chroot pentru a restricționa accesul la fișiere atunci când această opțiune este activată (chiar dacă vsftpd rulează ca rădăcină). Mai puțin solutie potrivita Este posibil să folosiți deny_file cu argumente precum (/*,*..*), dar fiabilitatea acestei soluții nu se poate compara cu chroot, așa că nu vă bazați prea mult pe ea. Când se folosește această opțiune, se aplică restricții asupra altor opțiuni. De exemplu, nu vă așteptați ca opțiunile care necesită privilegii să funcționeze, cum ar fi autentificarea neanonime, încărcarea fișierelor cu o schimbare a proprietății, conectarea pe portul 20 și conectarea pe porturi mai mici de 1024, precum și altele asemenea.

secure_email_list_enable NU
Setați la YES dacă doriți autentificări anonime, doar lista de adrese de e-mail pe care ați specificat-o a fost folosită ca parole. Acest lucru este util pentru a restricționa oarecum accesul la conținutul serverului fără a crea utilizatori virtuali. Utilizatorilor anonimi li se va refuza intrarea dacă parola pe care o furnizează nu se află în lista găsită în fișierul_e-mail_parolă. Format de fișier: o parolă pe linie, fără spații suplimentare. Locația implicită a fișierului: /etc/vsftpd/email_passwords

session_support NR
Dacă această opțiune este setată la YES, vsftpd va încerca să mențină sesiunile. În același timp, va încerca să actualizeze wtmp și utmp. Dacă PAM este folosit pentru autorizare, atunci vsftpd va încerca, de asemenea, să deschidă pam_session la autentificare și să-l închidă numai când utilizatorul se deconectează. Dacă nu aveți nevoie de înregistrarea sesiunii, o puteți dezactiva și puteți spune vsftpd să ruleze mai puține procese și/sau cu privilegii mai mici. Modificarea wtmp și utmp funcționează numai dacă vsftpd este construit cu suport PAM.

setproctitle_enable NU
Dacă această opțiune este setată la YES, vsftpd va încerca să afișeze informații despre starea sesiunii în lista de procese. Cu alte cuvinte, numele procesului afișat va fi schimbat pentru a reflecta starea sesiunii vsftpd (inactiv, descărcare etc.) Din motive de securitate, ar fi mai bine să lăsați această opțiune dezactivată.

ssl_enable NU
Dacă opțiunea este setată la YES și vsftpd a fost construit cu biblioteca openSSL, atunci vsftpd va servi conexiuni securizate prin SSL. Acest lucru se aplică atât conexiunilor de control, cât și conexiunilor de date. De asemenea, este necesar ca clientul să accepte conexiuni SSL. Utilizați această opțiune cu precauție, deoarece vsftpd se bazează în întregime pe biblioteca openSSL pentru a securiza conexiunile SSL și nu poate garanta că biblioteca este fără erori.

ssl_request_cert DA
Dacă această opțiune este setată la YES, vsftpd solicită (dar nu solicită) clientului să furnizeze un certificat.

ssl_sslv2 NR
Se aplică numai dacă opțiunea ssl_enable este activată. Dacă opțiunea este setată la YES, conexiunile despre Protocolul SSL v2. Sunt preferate conexiunile TLS V1.

ssl_sslv3 NR
Se aplică numai dacă opțiunea ssl_enable este activată. Dacă opțiunea este setată la YES, sunt permise conexiunile care utilizează protocolul SSL v3. Sunt preferate conexiunile TLS V1.

ssl_tlsv1 DA
Se aplică numai dacă opțiunea ssl_enable este activată. Dacă opțiunea este setată la YES, atunci conexiunile care utilizează protocolul TLS V1 sunt permise. Sunt preferate conexiunile TLS V1.

Adăugarea de utilizatori.

Să creăm un nou utilizator numit „ftpuser” și să îi atribuim directorul de acasă „/home/ftpuser”:

# useradd -d "/home/ftpuser" -s /sbin/nologin ftpuser

Să adăugăm o parolă pentru utilizatorul creat:

#passwdftpuser

Să creăm un director principal pentru acest utilizator (dacă nu a fost deja adăugat):

# mkdir -p /home/ftpuser

# chown -R ftpuser "/home/ftpuser" # chmod 775 "/home/ftpuser"

Să creăm un grup „ftpusers” pentru utilizatorii FTP și să adăugăm „ftpuser” la acesta:

# groupadd ftpusers # usermod -G ftpusers ftpuser

Reguli pentru IPtables.

Dacă utilizați IPTABLES, trebuie să creați o regulă corespunzătoare pentru VSftpd:

# vim /etc/sysconfig/iptables

Adăuga rândul următor, înainte de linia REJECT, pentru a deschide 21 de porturi:

A INTRARE -m stat --stat NOU -m tcp -p tcp --dport 21 -j ACCEPT

Salvați și închideți fișierul și, de asemenea, reporniți firewall-ul:

# service iptables repornește

Reporniți Vsftpd:

# service vsftpd reporniți

Să adăugăm Vsftpd la pornire; pentru a face acest lucru, rulați:

# chkconfig vsftpd activat

# chkconfig --levels 235 vsftpd activat

Puteți verifica nivelurile de rulare astfel:

# chkconfig --list vsftpd

Ar trebui să obțineți ceva de genul acesta:

Vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

Puteți vedea că serverul funcționează normal rulând comanda:

# ps -aux | grep vsftpd

Pasul 3 - Accesați serverul FTP

După ce ați instalat serverul FTP și l-ați configurat după bunul plac, îl puteți accesa. Vă puteți conecta la serverul FTP prin intermediul browserului dvs. tastând Numele domeniului V bara de adresași conectați-vă cu ID-ul corespunzător.
ftp://site/
Alternativ, puteți ajunge la serverul FTP folosind Linie de comanda tastând:

# Site FTP

Instalarea vsftpd pe CentOS este completă. Esența principală este clară, detalii (dacă dintr-o dată nu sunt clare) mă întreabă. Pot sa ajut.

Destul de recent, un anumit scenariu a mers prost. Scriptul a fost achiziționat, motiv pentru care am decis să nu mă ocup de el, ci să contactez direct suportul vânzătorului pentru a clarifica problema. Suportul a răspuns pe scurt: avem nevoie de acces la FTP - îl vom analiza. Și aici am rămas blocat o jumătate de minut...

La urma urmei, FTP nu este instalat pe Kent-ul meu, deoarece lucrez sub SSH. Mai mult, mă conectez nu cu o parolă, ci cu un certificat. Nu vă pot oferi doar o cheie SSH, cu care vă puteți conecta la server tot timpul. Și chiar dacă activați temporar autentificarea prin parolă, de ce ar fi susținut script specific pentru un anumit km vezi întregul meu server și ce se află pe el?

Ei bine, cred că doar pentru acestea ocazii speciale Trebuie să ridici ftpishka.

Din fericire, în realitate totul s-a dovedit a fi destul de rapid și simplu și chiar m-am hotărât imediat asupra alegerii - „vsftpd” (Very Secure FTP Daemon). Rapid. Sigur. Multiplatformă. Ușor de instalat și configurat. Cu alte cuvinte, unul dintre cele mai bune servere FTP.

Instalați și configurați vsftpd

$ yum instalează vsftpd

Apoi edităm fișierul principal de configurare, în care avem nevoie de:

  1. Izolați utilizatorii în directorul lor principal.
  2. Interzice accesul anonim.
$ nano /etc/vsftpd/vsftpd.conf
1
2
chroot_local_user=DA
anonymous_enable=NU

Configurarea utilizatorilor vsftpd

Aici este important să înțelegem unul foarte punct interesant: Nu este nevoie să adăugați utilizatori FTP suplimentari, aceștia există deja. Și utilizatorii au fost adăugați exact când am instalat AMP pe CentOS. Cu alte cuvinte - utilizatorul are deja acces completîn directorul său de acasă, tot ce rămâne este să îl editați pentru a permite autorizarea sub vsftpd.

De exemplu, avem nevoie de acces FTP la directorul /var/www/vhosts/site de pe server, care este deținut de utilizator aproape peste . Facem următoarele:

  1. Ne uităm la lista de utilizatori și schimbăm directorul principal standard cu cel de care avem nevoie.
  2. Setăm utilizatorului o parolă pentru autentificarea FTP.

Atribuirea unui director principal

$ nano /etc/passwd
1
2
-almostover:x:500:500::/home/almostover:/bin/bash
+almostover:x:500:500::/var/www/vhosts/site:/sbin/nologin

Ar trebui, de asemenea înlocuiți /bin/bash cu /sbin/nologin pentru a interzice accesul utilizatorului la sistem.

Oferim utilizatorului o parolă

$passwd aproape peste

Lansați vsftpd

Și numai după ce au fost făcute toate setările descrise mai sus, lansăm propriul server FTP.

$service vsftpd start

Și dacă intenționăm să folosim serverul FTP în mod continuu, nu uitați să îl adăugați la pornire.

$ chkconfig vsftpd activat

Concluzie despre serverul FTP

Dacă folosiți FTP în mod continuu sau nu, este o decizie personală pentru toată lumea.

Pe de o parte, dacă intenționați să lucrați cu un anumit director (site), atunci un bun avantaj aici este că nu trebuie să căutați în mod constant fișiere sau directoare proaspăt descărcate. Toate operațiunile vor fi efectuate în numele utilizator curentși, în consecință, toate drepturile îi vor fi atribuite implicit.

Pe de altă parte, obiectivul meu personal pentru creșterea FTP a fost anunțat chiar de la început: atunci când trebuie să dai cuiva acces temporar la un anumit director izolat de pe un server/un anumit site:

  1. Schimb parola pentru autentificarea emisă.
  2. Încep vsftpd.
  3. Vă dau login și parola FTP.
  4. Oprirea vsftpd.
  5. Schimb din nou parola pentru aceeași autentificare (în cazul în care data viitoare va fi emisă o altă autentificare).

Fără SSH.
Fără directoare suplimentare.
Totul este extrem de rezonabil și cât se poate de sigur.

|

Avertizare: protocol FTP nesigur! Se recomandă utilizarea.

FTP (sau File Transfer Protocol) este o metodă de schimb de fișiere între un server local și cel de la distanță. Acest protocol este destul de popular, dar poate expune sistemul la riscuri grave din cauza lipsei de criptare: FTP transferă datele în text simplu.

După cum sa menționat deja, SFTP este excelentă alternativă. Acest protocol face schimb de fișiere prin SSH.

Notă: dacă este necesar, utilizați exact Conexiune FTP poate fi protejat folosind certificate SSL/TLS.

Acest tutorial arată cum să utilizați certificatele SSL și TLS pe ​​vsftpd pe un privat virtual Server CentOS 6.4.

Instalarea vsftpd

Serverul vsftpd poate fi descărcat din depozitele standard CentOS. Pentru a instala vsftpd tastați:

sudo yum install vsftpd

Serverul vsftpd este instalat pe un VPS. Începeți să îl configurați.

Configurare de bază vsftpd

Fișierul principal de configurare vsftpd, denumit vsftpd.conf pe CentOS, este stocat în directorul /etc/vsftpd/. Deschide-l înăuntru editor de text cu privilegii root:

În acest fișier, trebuie să modificați câțiva parametri de bază pentru a crește nivelul de securitate, precum și să setați parametrii de conexiune.

Mai întâi trebuie să refuzați accesul utilizatorilor anonimi. Uneori acces deschis pentru utilizatorii anonimi este binevenit (de exemplu, în cazul stocării fișierelor deschise), dar acest lucru cu siguranță nu este potrivit pentru un server FTP personal.

anonymous_enable=NU

Accesul anonim este acum interzis. Prin urmare, trebuie să furnizați sistemului o metodă de autentificare. Acces deschis pentru utilizatorii locali (aceasta înseamnă că vsftpd poate folosi autentificarea utilizatorilor sistemului Linux).

Pentru a face acest lucru, asigurați-vă că este setată următoarea setare:

local_enable=DA

De asemenea, trebuie să le acordați acestor utilizatori permisiunea de scriere, astfel încât să poată încărca și edita conținut.

write_enable=DA

Acum trebuie să restricționăm utilizatorii la directoarele lor de acasă. Există un parametru pentru asta:

chroot_local_user=DA

Pentru o configurație FTP de bază (non-SSL), aceasta este suficientă. Adăugarea funcționalității SSL va fi tratată mai târziu.

Salvați și închideți fișierul.

Crearea unui utilizator FTP

Deci acum utilizatorii locali au acces la server și nu pot trece dincolo de directoarele lor de acasă (mulțumită mediului chroot).

Creați un utilizator nou folosind comanda:

sudo adduser ftpuser

Creați o parolă pentru noul utilizator tastând:

sudo passwd ftpuser

CentOS 6.4 folosește mai mult versiune veche vsftpd, deci configurarea sa este puțin mai simplă decât unele versiuni noi.

Configurarea vsftpd pentru a suporta SSL

Primul lucru de făcut este să creați Certificat SSL. De fapt, ghidul folosește TLS, un protocol care este succesorul SSL și este mai sigur.

În directorul SSL, creați un subdirector pentru a stoca fișiere:

sudo mkdir /etc/ssl/private

Utilizați următoarea comandă pentru a crea certificatul și introduceți un fișier:

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

Va fi prezentată o listă de întrebări. Completați câmpurile cu informațiile corespunzătoare. Atentie speciala ar trebui să fie dat la linia Nume comun; Introduceți adresa IP sau domeniul serverului în el. De fapt, câmpurile rămase nu trebuie completate.

Adăugarea SSL la configurația vsftpd

Acum trebuie să editați configurațiile vsftpd, stabilind o conexiune sigură.

Deschideți fișierul de configurare vsftpd ca root:

sudo nano /etc/vsftpd/vsftpd.conf

Mergeți în partea de jos a fișierului și completați informațiile SSL/TLS.

Aici trebuie să specificați locația certificatului și a cheilor. Deoarece toate acestea sunt într-un singur fișier, specificați acel fișier în ambii parametri:

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem

Apoi, trebuie să activați suportul pentru aceste fișiere și să dezactivați utilizatorii anonimi. De asemenea, trebuie să configurați utilizare forțată SSL pentru conexiunile tuturor utilizatorilor NON-anonimi la trimiterea unei parole sau transferul de date. Acest lucru va spori foarte mult securitatea.

ssl_enable=DA
allow_anon_ssl=NU
force_local_data_ssl=DA
force_local_logins_ssl=DA

Apoi, trebuie să limitați tipul de conexiune la mai mult TLS securizat. Pentru a face acest lucru, activați în mod explicit TLS și dezactivați SSL:

ssl_tlsv1=DA
ssl_sslv2=NU
ssl_sslv3=NU

La final, adăugați următorii parametri:

require_ssl_reuse=NU
ssl_ciphers=RIGHT

Salvați și închideți fișierul.

Reporniți vsftpd pentru a activa noile setări:

sudo /etc/init.d/vsftpd reporniți

A înscena pornire automată vsftpd la pornirea serverului, utilizați:

sudo chkconfig vsftpd activat

Conectarea la vsftpd folosind FileZilla

Conexiunile SSL și TLS sunt acceptate de majoritatea clienților FTP moderni. Această secțiune arată cum să configurați FileZilla pentru a fi utilizat conexiuni sigure(datorită platformei lor încrucișate).

Notă: Aceasta presupune că clientul este deja instalat.

Deschideți FileZilla. Faceți clic pe Site Manager.

va aparea noua interfata, în el, faceți clic pe butonul Site nou din colțul din stânga jos. Furnizați un nume de conexiune la server, astfel încât să îl puteți identifica cu ușurință mai târziu.

În câmpul Gazdă, introduceți adresa IP, în meniul drop-down Protocol, selectați „FTP - File Transfer Protocol”. Din meniul derulant Criptare, selectați „Solicitați FTP explicit peste TLS”.

În meniul Tip de autentificare, selectați Solicitați parola. În câmpul Utilizator, specificați utilizatorul FTP creat anterior.

Următorul pas este primul indiciu că TLS este utilizat la conectarea la server. Avertismentul „Certificatul serverului este necunoscut. Vă rugăm să examinați cu atenție certificatul pentru a vă asigura că serverul poate fi de încredere”: în această etapă trebuie să confirmați certificatul.

Informațiile introduse la crearea certificatului ar trebui să apară pe ecran, permițându-vă să confirmați conexiunea.

Pentru a stabili o conexiune, acceptați certificatul.

Rezultate

Acest ghid oferă mai multe opțiune sigură setări. Cu toate acestea, poate avea și câteva probleme de securitate. Prin urmare, utilizarea FTP pe instalațiile cu acces la Internet nu este recomandată; în astfel de cazuri, este mai bine să utilizați SFTP.

Etichete: ,

Acum să ne uităm la un exemplu de organizare a unui server FTP pe baza vsFTPdȘi CentOS 7. Serviciul FTP va fi extrem de util pentru orice organizație și servicii, de exemplu, . Mai întâi de toate, instalați pachetele vsftpd necesare:

sudo yum -y instalează vsftpd

După aceasta, copiați fișierul de setări în loc sigur, adică director separat. După cum am scris în articolele anterioare, asta este bun antrenamentși posibilitatea de a reveni la setările implicite.

sudo mkdir /backup

sudo cp /etc/vsftpd/vsftpd.conf /backup

Instalăm și noi client ftp pe serverul pe care îl utilizați - poate că va fi util în viitor și acum când verificați setările. Instalarea este, de asemenea, ușoară:

sudo yum -y instalează ftp

Configurarea serverului vsFTPd

După instalarea serverului și a clientului, trecem la configurarea vsftpd. Ar trebui să acordați imediat atenție: Acces anonim La FTP permis implicit. Setați anonymous_enable=NU pentru a asigura securitatea serverului dvs.

Configurarea se va face prin editarea fișierului de configurare vsftpd.conf:

sudo nano /etc/vsftpd/vsftpd.conf

Vom face următoarele modificări:

Acest lucru va fi suficient pentru funcţionare corectă server FTP creat, pentru a obține date extinse despre parametrii utilizați, utilizați man (man vsftpd.conf).

Adăugarea unui nou utilizator FTP

Să creăm un utilizator FTP special numit ftpuser și directorul implicit /var/www/your_directory:

useradd -d ‘/var/www/path/to/your/dir’ -s /sbin/nologin ftpuser

Să setăm o parolă:

Dacă directorul principal nu a fost încă creat pentru ftpuser, hai să o facem acum:

mkdir -p /var/www/path/to/your/dir

chown -R ftpuser „/var/www/path/to/your/dir”

chmod 775 „/var/www/path/to/your/dir”

Creați un grup „ftpusers” pentru utilizatorii FTP și adăugați „ftpuser” la acesta:

groupadd ftpusers

usermod -G ftpusers ftpuser

Configurarea iptables pentru vsFTPd

Pentru corect Funcționează FTP serverul trebuie configurat IPTABLES(adăugați reguli pentru FTP). Mai multe informații despre iptables: +.

Deschidere Fișier de configurare iptables și faceți următoarele modificări:

sudo nano /etc/sysconfig/iptables
-A INPUT -m stare —stare NOU -m tcp -p tcp —dport 21 -j ACCEPT

Salvați și închideți fișierul. Reporniți firewall-ul cu comanda:

sudo systemctl reporniți iptables

Configurarea pornirii automate vsFTPd la pornirea sistemului

chkconfig --levels 235 vsftpd activat

Să începem vsFTPd Serviciu FTP:

Gata. Configurare FTP servere efectuat. Verificăm funcționarea acestuia la nivel local.

Cele mai bune articole pe această temă