Twaqqif ta 'Server FTP Sikur bl-użu ta' SSL/TLS fuq Ubuntu


F'dan it-tutorja, se niddeskrivu kif niżguraw server FTP (VSFTPD tfisser \Daemon FTP Sikur ħafna) billi tuża SSL/TLS f'Ubuntu 16.04/16.10.

Jekk qed tfittex li twaqqaf server FTP sikur għal distribuzzjonijiet ibbażati fuq CentOS, tista 'taqra - Sikura Server FTP billi tuża SSL/TLS fuq CentOS

Wara li ssegwi d-diversi passi f'din il-gwida, aħna nkunu tgħallimna l-prinċipji fundamentali tal-abilitazzjoni tas-servizzi ta 'encryption f'server FTP għal trasferimenti ta' data siguri huma kruċjali.

  1. Int trid tinstalla u tikkonfigura Server FTP f'Ubuntu

Qabel ma nimxu aktar, kun żgur li l-kmandi kollha f'dan l-artikolu se jitmexxew bħala kont privileġġjat root jew sudo.

Pass 1: Ġenerazzjoni ta 'Ċertifikat SSL/TLS għal FTP fuq Ubuntu

1. Nibdew billi noħolqu sottodirettorju taħt: /etc/ssl/ biex naħżnu ċ-ċertifikat SSL/TLS u l-fajls ewlenin jekk ma jeżistix:

$ sudo mkdir /etc/ssl/private

2. Issa ejja niġġeneraw iċ-ċertifikat u ċavetta f'fajl wieħed, billi tħaddem il-kmand hawn taħt.

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

Il-kmand ta 'hawn fuq iqanqlek biex twieġeb il-mistoqsijiet hawn taħt, tinsiex iddaħħal valuri li japplikaw għax-xenarju tiegħek.

Country Name (2 letter code) [XX]:IN
State or Province Name (full name) []:Lower Parel
Locality Name (eg, city) [Default City]:Mumbai
Organization Name (eg, company) [Default Company Ltd]:TecMint.com
Organizational Unit Name (eg, section) []:Linux and Open Source
Common Name (eg, your name or your server's hostname) []:tecmint
Email Address []:[email 

Pass 2: Konfigurazzjoni ta 'VSFTPD biex Uża SSL/TLS fuq Ubuntu

3. Qabel ma nwettqu xi konfigurazzjonijiet VSFTPD, għal dawk li għandhom UFW firewall ppermettiet, trid tiftaħ il-portijiet 990 u 40000-50000 biex tippermetti konnessjonijiet TLS u l-firxa tal-portijiet ta 'portijiet passivi biex jiġu stabbiliti fil-fajl ta' konfigurazzjoni VSFTPD rispettivament:

$ sudo ufw allow 990/tcp
$ sudo ufw allow 40000:50000/tcp
$ sudo ufw status

4. Issa, iftaħ il-fajl tal-konfigurazzjoni VSFTPD u ddefinixxi d-dettalji SSL fih:

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

Imbagħad, żid jew illokalizza l-għażla ssl_enable u ssettja l-valur tagħha għal IVA biex tattiva l-użu ta’ SSL, għal darb’oħra, peress li TLS huwa aktar sigur minn SSL, aħna nirrestrinġu VSFTPD biex juża TLS minflok, billi nippermettu l- Għażla ssl_tlsv1:

ssl_enable=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

5. Imbagħad, ikkummenta l-linji hawn taħt billi tuża l-karattru # kif ġej:

#rsa_cert_file=/etc/ssl/private/ssl-cert-snakeoil.pem
#rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

Wara, żid il-linji hawn taħt biex tiddefinixxi l-post taċ-ċertifikat SSL u l-fajl taċ-ċavetta:

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

6. Issa, irridu wkoll nipprevjenu lill-utenti anonimi milli jużaw SSL, imbagħad inġegħlu l-logins mhux anonimi kollha biex jużaw konnessjoni SSL sigura għat-trasferiment tad-dejta u biex jibagħtu l-password waqt il-login:

allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

7. Barra minn hekk, nistgħu nużaw l-għażliet hawn taħt biex inżidu aktar karatteristiċi ta 'sigurtà fis-server FTP. Bl-għażla require_ssl_reuse=YES, il-konnessjonijiet tad-dejta SSL kollha huma meħtieġa biex juru l-użu mill-ġdid tas-sessjoni SSL; jipprova li jafu l-istess sigriet prinċipali bħall-kanal ta 'kontroll. Għalhekk, għandna tiddiżattivaha.

require_ssl_reuse=NO

Barra minn hekk, nistgħu nissettjaw liema ċifraturi SSL VSFTPD se tippermetti għal konnessjonijiet SSL encrypted bl-għażla ssl_ciphers. Dan jgħin biex jiffrustra kwalunkwe sforz minn attakkanti li jippruvaw jisfurzaw ċifra speċifika li possibilment skoprew vulnerabbiltajiet fi:

ssl_ciphers=HIGH

8. Imbagħad, ejja niddefinixxu l-firxa tal-port (port min u massimu) ta 'portijiet passivi.

pasv_min_port=40000
pasv_max_port=50000

9. Biex tippermetti d-debugging SSL, jiġifieri d-dijanjostiċi tal-konnessjoni openSSL huma rreġistrati fil-fajl log VSFTPD, nistgħu nużaw l-għażla debug_ssl:

debug_ssl=YES

Fl-aħħar issalva l-fajl u agħlaq. Imbagħad erġa ibda s-servizz VSFTPD:

$ systemctl restart vsftpd

Pass 3: Ivverifika l-FTP b'Konnessjonijiet SSL/TLS fuq Ubuntu

10. Wara li twettaq il-konfigurazzjonijiet kollha ta 'hawn fuq, ittestja jekk VSFTPD issa qed tuża konnessjonijiet SSL/TLS billi tipprova tuża FTP mil-linja tal-kmand kif hawn taħt.

Mill-output hawn taħt, hemm messaġġ ta 'żball li jgħidilna VSFTPD jista' jippermetti biss lill-utenti (mhux anonimi) li jidħlu minn klijenti siguri li jappoġġjaw is-servizzi ta 'encryption.

$ ftp 192.168.56.10
Connected to 192.168.56.10  (192.168.56.10).
220 Welcome to TecMint.com FTP service.
Name (192.168.56.10:root) : ravi
530 Non-anonymous sessions must use encryption.
Login failed.
421 Service not available, remote server has closed connection
ftp>

Il-linja ta 'kmand ma tappoġġjax servizzi ta' kriptaġġ u b'hekk jirriżulta għall-iżball ta 'hawn fuq. Għalhekk, biex tikkonnettja b'mod sigur ma 'server FTP b'servizzi ta' encryption attivati, għandna bżonn klijent FTP li jappoġġja konnessjonijiet SSL/TLS awtomatikament, bħal FileZilla.

Pass 4: Installa FileZilla Fuq Klijenti biex Ikkonnettja l-FTP b'mod Sikur

FileZilla huwa klijent FTP b'saħħtu u użat b'mod wiesa 'li jappoġġa FTP fuq SSL/TLS u aktar. Biex tinstalla FileZilla fuq magna tal-klijent Linux, uża l-kmand li ġej.

--------- On Debian/Ubuntu ---------
$ sudo apt-get install filezilla   

--------- On CentOS/RHEL/Fedora --------- 
# yum install epel-release filezilla

--------- On Fedora 22+ --------- 
$ sudo dnf install filezilla

12. Ladarba l-installazzjoni titlesta, iftaħha u mur File => Sites Manager jew (agħfas Ctrl + S) biex tikseb l-interface tal-Maniġer tas-Sit hawn taħt.

13. Issa, iddefinixxi l-isem tal-host/sit, żid l-indirizz IP, iddefinixxi l-protokoll li tuża, il-kriptaġġ u t-tip tal-logon bħal fil-screen shot hawn taħt (uża valuri li japplikaw għax-xenarju tiegħek):

Ikklikkja fuq il-buttuna Sit Ġdid biex tikkonfigura sit ġdid/konnessjoni ospitanti.

Host:  192.168.56.10
Protocol:  FTP – File Transfer Protocol
Encryption:  Require explicit FTP over   #recommended 
Logon Type: Ask for password	        #recommended 
User: username

14. Imbagħad ikklikkja fuq Ikkonnettja mill-interface ta 'hawn fuq biex tidħol il-password, u mbagħad ivverifika ċ-ċertifikat li qed jintuża għall-konnessjoni SSL/TLS, u kklikkja OK għal darb'oħra biex tikkonnettja mas-server FTP:

15. Issa, għandek illoggjat b'suċċess fis-server FTP fuq konnessjoni TLS, iċċekkja t-taqsima tal-istatus tal-konnessjoni għal aktar informazzjoni mill-interface hawn taħt.

16. Fl-aħħar nett, ejja nittrasferixxu fajls mill-magna lokali għas-server FTP fil-folder tal-fajls, agħti ħarsa lejn it-tarf t'isfel tal-interface FileZilla biex tara rapporti dwar it-trasferimenti tal-fajls.

Dak kollox! Dejjem ftakar li l-installazzjoni ta' server FTP mingħajr ma tippermetti servizzi ta' kriptaġġ għandha ċerti implikazzjonijiet ta' sigurtà. Kif spjegajna f'dan it-tutorja, tista 'tikkonfigura server FTP biex tuża konnessjonijiet SSL/TLS biex timplimenta s-sigurtà f'Ubuntu 16.04/16.10.

Jekk tiffaċċja xi kwistjonijiet fit-twaqqif ta' SSL/TLS fuq server FTP, uża l-formola tal-kummenti hawn taħt biex taqsam il-problemi jew il-ħsibijiet tiegħek dwar dan it-tutorja/suġġett.