Demonul FTP foarte sigur, sau pur și simplu vsFTPd este o aplicație software ușoară, cu o capacitate deosebită de personalizare. În acest tutorial vom asigura o instalare deja existentă pe un sistem Debian folosind propriul certificat SSL / TLS autofirmat. Deși este scris pentru Debian, ar trebui să funcționeze la majoritatea distribuțiilor Linux, cum ar fi Ubuntu și CentOS, de exemplu.
Instalarea vsFTPd
Pe un VPS Linux proaspăt, trebuie mai întâi să instalați vsFTPd. Deși veți găsi pașii de bază pentru instalarea vsFTPd în acest tutorial, vă recomand să citiți și aceste două tutoriale mai detaliate: Configurarea vsFTPd pe Debian / Ubuntu și Instalarea vsFTPd pe CentOS . Toate etapele referitoare la instalare sunt explicate mai atent acolo.
Instalare pe Debian / Ubuntu:
apt-get install vsftpd
Instalare pe CentOS:
yum install epel-release
yum install vsftpd
Configurare Deschideți fișierul de configurare: /etc/vsftpd.conf în editorul de text preferat, în acest tutorial pe care îl utilizăm nano.
nano /etc/vsftpd.conf
Inserați următoarele linii în configurație:
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
Finalizați repornind demonul dvs. vsFTPd:
/etc/init.d/vsftpd restart
Acum ar trebui să vă puteți autentifica ca orice utilizator local prin FTP, acum să mergem mai departe și să asigurați acest software.
Generați un certificat semnat
Un certificat semnat auto este de obicei utilizat într-un protocol de acord de cheie publică, pe care îl veți folosi acum opensslpentru a genera o cheie publică și o cheie privată corespunzătoare. În primul rând, trebuie să facem un director pentru a stoca aceste două fișiere cheie, de preferință într-o locație sigură, utilizatorii normali nu pot accesa.
mkdir -p /etc/vsftpd/ssl
Acum la generarea efectivă a certificatului, vom stoca ambele chei în același fișier ( /etc/vsftpd/ssl/vsftpd.pem ):
openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout /etc/vsftpd/ssl/vsftpd.pem -out /etc/vsftpd/ssl/vsftpd.pem
După executarea comenzii vi se vor cere câteva întrebări, cum ar fi codul țării, statul, orașul, numele organizației, etc. utilizați informațiile proprii sau ale organizațiilor dvs. Acum, cea mai importantă linie este numele comun care trebuie să se potrivească cu adresa IP a VPS-ului dvs., în mod alternativ, un nume de domeniu îndreptat către acesta.
Acest certificat va fi valabil timp de 365 de zile (~ 1 an), va folosi protocolul acordului de cheie RSA cu o lungime de cheie de 4096 biți, iar fișierul care conține ambele taste va fi stocat în noul director pe care tocmai l-am creat. Pentru mai multe detalii despre lungimea cheii și relația cu securitatea, vedeți acest lucru: Recomandări Encryption II .
Instalați noul certificat în versiunea vsFTPd
Pentru a începe să utilizăm noul nostru certificat și să furnizăm astfel criptarea, trebuie să deschidem din nou fișierul de configurare:
nano /etc/vsftpd.conf
Trebuie să adăugăm căile către noul nostru certificat și fișierele cheie. Deoarece sunt stocate în același fișier, acesta ar trebui să fie același în cadrul configurației.
rsa_cert_file=/etc/vsftpd/ssl/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/ssl/vsftpd.pem
Trebuie să adăugăm această linie pentru a ne asigura că SSL va fi activat:
ssl_enable=YES
Opțional, putem bloca utilizatorii anonimi să utilizeze SSL, deoarece nu este necesară criptarea pe un server FTP public.
allow_anon_ssl=NO
În continuare, trebuie să specificăm când să utilizăm SSL / TLS, aceasta va permite criptarea atât pentru transferul de date, cât și pentru datele de autentificare
force_local_data_ssl=YES
force_local_logins_ssl=YES
De asemenea, putem specifica ce versiuni și protocoale vor fi utilizate. TLS este, în general, mai sigur decât SSL și astfel putem permite TLS și, în același timp, să blocăm versiunile mai vechi de SSL.
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
Necesită reutilizarea SSL, iar utilizarea cifrelor mari va ajuta, de asemenea, la îmbunătățirea securității. Din paginile de om ale lui vsFTPd:
require_ssl_reuse Dacă este setată pe da, toate conexiunile de date SSL trebuie să prezinte reutilizarea sesiunii SSL (ceea ce dovedește că cunosc același secret maestru ca și canalul de control). Deși aceasta este o valoare implicită sigură, aceasta poate sparge mulți clienți FTP, așa că poate doriți să o dezactivați. Pentru o discuție despre consecințe, consultați http://scarybeastsecurity.blogspot.com/2009/02/vsftpd-210-released.html (adăugat în v2.1.0).
ssl_ciphers Această opțiune poate fi utilizată pentru a selecta ce cifre SSL vsftpd vor permite conexiunile SSL criptate. Consultați pagina de manuale cu cifre pentru detalii suplimentare. Rețineți că restricționarea cifrelor poate fi o precauție utilă de securitate, deoarece împiedică părțile la distanță dăunătoare să forțeze o cifrare cu care au găsit probleme.
require_ssl_reuse=YES
ssl_ciphers=HIGH
Finalizați reporând vsftpddemonul
/etc/init.d/vsftpd restart
Confirmați instalarea
Și acesta este totul, acum ar trebui să vă puteți conecta la serverul dvs. și să confirmați că totul funcționează. Dacă utilizați FileZilla, un dialog care conține informațiile organizației dvs. (sau orice ați introdus la generarea certificatului anterior) ar trebui să se deschidă la conectare. Produsul ar trebui să arate similar cu acesta:
Status: Connection established, waiting for welcome message...
Status: Initializing TLS...
Status: Verifying certificate...
Status: TLS connection established.
Pentru a afla mai multe despre vsFTPd, consultați paginile sale manuale:
man vsftpd