Instalimi i vsFTPd
Gjeneroni një certifikatë të nënshkruar vetë
Instaloni certifikatën e re në vsFTPd
Konfirmo instalimin
Daemon shumë i sigurt FTP, ose thjesht vsFTPd është një pjesë e lehtë e softuerit me aftësi të shkëlqyera për t'u personalizuar. Në këtë tutorial ne do të sigurojmë një instalim tashmë ekzistues në një sistem Debian duke përdorur certifikatën tonë të vetë-nënshkruar SSL/TLS. Pavarësisht se është shkruar për Debian, ai duhet të funksionojë në shumicën e shpërndarjeve Linux si Ubuntu dhe CentOS për shembull.
Instalimi i vsFTPd
Në një Linux VPS të ri, së pari duhet të instaloni vsFTPd. Edhe pse do të gjeni hapat bazë për të instaluar vsFTPd në këtë tutorial, unë ju rekomandoj të lexoni edhe këto dy mësime më të detajuara: Konfigurimi i vsFTPd në Debian/Ubuntu dhe Instalimi i vsFTPd në CentOS . Të gjitha hapat në lidhje me instalimin janë shpjeguar më me kujdes atje.
Instalimi në Debian/Ubuntu:
apt-get install vsftpd
Instalimi në CentOS:
yum install epel-release
yum install vsftpd
Konfigurimi
Hapni skedarin e konfigurimit: /etc/vsftpd.conf në redaktuesin tuaj të preferuar të tekstit, në këtë tutorial ne përdorim nano.
nano /etc/vsftpd.conf
Ngjitni rreshtat e mëposhtëm në konfigurim:
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
Përfundoni duke rifilluar demonin tuaj vsFTPd:
/etc/init.d/vsftpd restart
Tani duhet të jeni në gjendje të identifikoheni si çdo përdorues lokal përmes FTP, tani le të vazhdojmë dhe ta sigurojmë këtë softuer.
Gjeneroni një certifikatë të nënshkruar vetë
Një certifikatë e nënshkruar vetë përdoret zakonisht në një protokoll marrëveshjeje për çelësin publik, tani do ta përdorni opensslpër të gjeneruar një çelës publik dhe një çelës privat përkatës. Para së gjithash, ne duhet të krijojmë një direktori për të ruajtur këto dy skedarë kyç, mundësisht në një vend të sigurt që përdoruesit normalë nuk mund të kenë akses.
mkdir -p /etc/vsftpd/ssl
Tani tek gjenerimi aktual i certifikatës, ne do t'i ruajmë të dy çelësat në të njëjtin skedar ( /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
Pas ekzekutimit të komandës do t'ju bëhen disa pyetje si kodi i shtetit, shteti, qyteti, emri i organizatës etj. përdorni informacionin tuaj ose të organizatës suaj. Tani linja më e rëndësishme është emri i përbashkët i cili duhet të përputhet me adresën IP të VPS-së tuaj, ose një emër domaini që tregon atë.
Kjo certifikatë do të jetë e vlefshme për 365 ditë (~1 vit), do të përdorë protokollin e marrëveshjes së çelësit RSA me një gjatësi çelësi prej 4096 bit dhe skedari që përmban të dy çelësat do të ruhet në drejtorinë e re që sapo krijuam. Për më shumë detaje rreth gjatësisë së çelësit dhe lidhjes së tij me sigurinë, shihni këtë: Rekomandimet e Enkriptimit II .
Instaloni certifikatën e re në vsFTPd
Për të filluar përdorimin e certifikatës sonë të re dhe për të siguruar kriptim, duhet të hapim përsëri skedarin e konfigurimit:
nano /etc/vsftpd.conf
Ne duhet të shtojmë shtigjet në certifikatën tonë të re dhe skedarët kryesorë. Meqenëse ato ruhen në të njëjtin skedar, duhet të jetë e njëjtë edhe brenda konfigurimit.
rsa_cert_file=/etc/vsftpd/ssl/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/ssl/vsftpd.pem
Ne duhet të shtojmë këtë linjë për t'u siguruar që SSL do të aktivizohet:
ssl_enable=YES
Opsionale, ne mund të bllokojmë përdoruesit anonimë që të përdorin SSL, pasi enkriptimi nuk nevojitet në një server publik FTP.
allow_anon_ssl=NO
Më pas duhet të specifikojmë se kur të përdorim SSL/TLS, kjo do të mundësojë enkriptimin si për transferimin e të dhënave ashtu edhe për kredencialet e hyrjes
force_local_data_ssl=YES
force_local_logins_ssl=YES
Mund të specifikojmë gjithashtu se cilat versione dhe protokolle do të përdoren. TLS është përgjithësisht më i sigurt se SSL dhe kështu ne mund të lejojmë TLS dhe në të njëjtën kohë të bllokojmë versionet më të vjetra të SSL.
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
Kërkohet ripërdorimi i SSL dhe përdorimi i shifrave të larta do të ndihmojë gjithashtu në përmirësimin e sigurisë. Nga faqet e njeriut të vsFTPd:
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
Përfundoni duke rifilluar vsftpddemonin
/etc/init.d/vsftpd restart
Konfirmo instalimin
Dhe kjo është ajo, tani duhet të jeni në gjendje të lidheni me serverin tuaj dhe të konfirmoni që gjithçka funksionon. Nëse jeni duke përdorur FileZilla një dialog që përmban informacionin e organizatës suaj (ose çfarëdo që keni futur kur keni krijuar certifikatën më herët) duhet të hapet pas lidhjes. Prodhimi duhet të duket i ngjashëm me këtë:
Status: Connection established, waiting for welcome message...
Status: Initializing TLS...
Status: Verifying certificate...
Status: TLS connection established.
Për të mësuar më shumë rreth vsFTPd, shikoni faqet manuale të tij:
man vsftpd