Instalacija vsFTPd
Generirajte samopotpisani certifikat
Instalirajte novi certifikat u vsFTPd
Potvrdite instalaciju
Vrlo siguran FTP daemon ili jednostavno vsFTPd je lagani komad softvera s velikom mogućnošću prilagodbe. U ovom vodiču osigurat ćemo već postojeću instalaciju na Debian sustavu koristeći vlastiti samopotpisani SSL/TLS certifikat. Unatoč tome što je napisan za Debian, trebao bi raditi na većini Linux distribucija kao što su Ubuntu i CentOS na primjer.
Instalacija vsFTPd
Na novom Linux VPS-u prvo morate instalirati vsFTPd. Iako ćete u ovom vodiču pronaći osnovne korake za instalaciju vsFTPd, preporučujem vam da pročitate i ova dva detaljnija uputstva : Postavljanje vsFTPd na Debian/Ubuntu i Instaliranje vsFTPd na CentOS . Tu su pomnije objašnjeni svi koraci u vezi s instalacijom.
Instalacija na Debian/Ubuntu:
apt-get install vsftpd
Instalacija na CentOS:
yum install epel-release
yum install vsftpd
Konfiguracija
Otvorite konfiguracijsku datoteku: /etc/vsftpd.conf u svom omiljenom uređivaču teksta, u ovom vodiču koristimo nano.
nano /etc/vsftpd.conf
Zalijepite sljedeće retke u konfiguraciju:
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
Završite ponovnim pokretanjem vsFTPd demona:
/etc/init.d/vsftpd restart
Sada biste se trebali moći prijaviti kao bilo koji lokalni korisnik preko FTP-a, idemo dalje i osigurajmo ovaj softver.
Generirajte samopotpisani certifikat
Samopotpisani certifikat obično se koristi u protokolu ugovora o javnom ključu, a sada ćete ga koristiti opensslza generiranje javnog ključa i odgovarajućeg privatnog ključa. Prije svega moramo napraviti direktorij za pohranu ove dvije ključne datoteke, po mogućnosti na sigurnom mjestu kojem normalni korisnici ne mogu pristupiti.
mkdir -p /etc/vsftpd/ssl
Sada do stvarnog generiranja certifikata, pohranit ćemo oba ključa u istu datoteku ( /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
Nakon izvršenja naredbe bit će vam postavljeno nekoliko pitanja kao što su pozivni broj zemlje, država, grad, naziv organizacije itd. Koristite svoje podatke ili podatke svoje organizacije. Sada je najvažniji redak Common name koji mora odgovarati IP adresi vašeg VPS-a, ili naziv domene koji pokazuje na njega.
Ovaj certifikat bit će valjan 365 dana (~1 godina), koristit će RSA protokol za sporazum o ključu s duljinom ključa od 4096 bita, a datoteka koja sadrži oba ključa bit će pohranjena u novom direktoriju koji smo upravo kreirali. Za više pojedinosti o duljini ključa i njenom odnosu sa sigurnošću pogledajte ovo: Preporuke za šifriranje II .
Instalirajte novi certifikat u vsFTPd
Da bismo počeli koristiti naš novi certifikat i tako osigurati enkripciju, moramo ponovno otvoriti konfiguracijsku datoteku:
nano /etc/vsftpd.conf
Moramo dodati staze našim novim certifikatima i datotekama ključeva. Budući da su pohranjeni u istoj datoteci, isto bi trebalo biti i unutar konfiguracije.
rsa_cert_file=/etc/vsftpd/ssl/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/ssl/vsftpd.pem
Moramo dodati ovaj redak kako bismo bili sigurni da će SSL biti omogućen:
ssl_enable=YES
Po želji, anonimnim korisnicima možemo blokirati korištenje SSL-a, budući da na javnom FTP poslužitelju nije potrebna enkripcija.
allow_anon_ssl=NO
Zatim moramo odrediti kada koristiti SSL/TLS, to će omogućiti enkripciju i za prijenos podataka i vjerodajnice za prijavu
force_local_data_ssl=YES
force_local_logins_ssl=YES
Također možemo odrediti koje će se verzije i protokoli koristiti. TLS je općenito sigurniji od SSL-a i stoga možemo dopustiti TLS i istovremeno blokirati starije verzije SSL-a.
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
Zahtijevajte ponovnu upotrebu SSL-a i korištenje visokih šifri također će pomoći poboljšanju sigurnosti. Sa man stranica vsFTPd-a:
require_ssl_reuse
If set to yes, all SSL data connections are required to exhibit SSL session reuse (which proves that they know the same master secret as the control
channel). Although this is a secure default, it may break many FTP clients, so you may want to disable it. For a discussion of the consequences, see
http://scarybeastsecurity.blogspot.com/2009/02/vsftpd-210-released.html (Added in v2.1.0).
ssl_ciphers
This option can be used to select which SSL ciphers vsftpd will allow for encrypted SSL connections. See the ciphers man page for further details. Note
that restricting ciphers can be a useful security precaution as it prevents malicious remote parties forcing a cipher which they have found problems with.
require_ssl_reuse=YES
ssl_ciphers=HIGH
Završite ponovnim pokretanjem vsftpddemona
/etc/init.d/vsftpd restart
Potvrdite instalaciju
I to je to, sada biste se trebali moći spojiti na svoj poslužitelj i potvrditi da sve radi. Ako koristite FileZilla, nakon povezivanja bi se trebao otvoriti dijaloški okvir koji sadrži podatke o vašoj organizaciji (ili bilo što što ste unijeli prilikom generiranja certifikata ranije). Izlaz bi tada trebao izgledati slično ovome:
Status: Connection established, waiting for welcome message...
Status: Initializing TLS...
Status: Verifying certificate...
Status: TLS connection established.
Da biste saznali više o vsFTPd-u, pogledajte njegove stranice s priručnikom:
man vsftpd