Kif Tiżgura Server FTP billi tuża SSL/TLS għal Trasferiment ta' Fajl Sikur f'CentOS 7


Bid-disinn oriġinali tiegħu, FTP (File Transfer Protocol) mhuwiex sigur, li jfisser li ma jikkriptax id-data li tiġi trażmessa bejn żewġ magni, flimkien mal-kredenzjali tal-utent. Dan joħloq theddida kbira għad-data kif ukoll għas-sigurtà tas-server.

F'dan it-tutorja, se nispjegaw kif nippermettu manwalment is-servizzi ta 'kodifikazzjoni tad-dejta f'server FTP f'CentOS/RHEL 7 u Fedora; se ngħaddu minn diversi passi biex niżguraw servizzi VSFTPD (Very Secure FTP Daemon) bl-użu ta’ ċertifikati SSL/TLS.

  1. Irid ikollok installat u kkonfigurat server FTP f'CentOS 7

Qabel ma nibdew, innota li l-kmandi kollha f'dan it-tutorja se jitmexxew bħala għerq, inkella, uża l-kmand sudo biex tikseb privileġġi tal-għeruq jekk m'intix qed tikkontrolla s-server billi tuża l-kont tal-għeruq.

Pass 1. Tiġġenera Ċertifikat SSL/TLS u Ċavetta Privata

1. Għandna bżonn nibdew billi noħolqu sottodirettorju taħt: /etc/ssl/ fejn se naħżnu ċ-ċertifikat SSL/TLS u l-fajls ewlenin:

# mkdir /etc/ssl/private

2. Imbagħad mexxi l-kmand hawn taħt biex toħloq iċ-ċertifikat u ċ-ċavetta għal vsftpd f'fajl wieħed, hawnhekk hija l-ispjegazzjoni ta 'kull bandiera użata.

  1. req – huwa kmand għall-ġestjoni tat-Talba ta' Firma ta' Ċertifikat (CSR) X.509.
  2. x509 – tfisser ġestjoni tad-dejta taċ-ċertifikat X.509.
  3. jiem – jiddefinixxi n-numru ta' ġranet li ċ-ċertifikat huwa validu għalihom.
  4. newkey – jispeċifika proċessur taċ-ċavetta taċ-ċertifikat.
  5. rsa:2048 – Proċessur taċ-ċavetta RSA, se jiġġenera ċavetta privata ta' 2048 bit.
  6. keyout – jistabbilixxi l-fajl tal-ħażna taċ-ċavetta.
  7. out – jistabbilixxi l-fajl tal-ħażna taċ-ċertifikat, innota li kemm iċ-ċertifikat kif ukoll iċ-ċavetta huma maħżuna fl-istess fajl: /etc/ssl/private/vsftpd.pem.

# 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 se jgħidlek biex twieġeb il-mistoqsijiet hawn taħt, ftakar li tuża 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

3. Qabel ma nwettqu xi konfigurazzjonijiet VSFTPD, ejja niftħu l-portijiet 990 u 40000-50000 biex jippermettu konnessjonijiet TLS u l-firxa tal-portijiet ta 'portijiet passivi biex jiddefinixxu fil-fajl ta' konfigurazzjoni VSFTPD rispettivament:

# firewall-cmd --zone=public --permanent --add-port=990/tcp
# firewall-cmd --zone=public --permanent --add-port=40000-50000/tcp
# firewall-cmd --reload

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

# vi /etc/vsftpd/vsftpd.conf

Fittex l-għażla ssl_enable u ssettja l-valur tagħha għal IVA biex tattiva l-użu ta 'SSL, barra minn hekk, peress li TSL huwa aktar sigur minn SSL, aħna se nirrestrinġu VSFTPD biex timpjega TLS minflok, billi tuża l-għażla ssl_tlsv1_2:

ssl_enable=YES
ssl_tlsv1_2=YES
ssl_sslv2=NO
ssl_sslv3=NO

5. Imbagħad, ż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. Sussegwentement, irridu 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 nżidu l-għażliet hawn taħt biex insaħħu s-sigurtà tas-server FTP. Meta l-għażla require_ssl_reuse hija ssettjata għal IVA, allura, 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, irridu nitfih.

require_ssl_reuse=NO

Għal darb'oħra, irridu nagħżlu liema ċifraturi SSL VSFTPD se jippermettu għal konnessjonijiet SSL encrypted bl-għażla ssl_ciphers. Dan jista' jillimita ħafna l-isforzi ta' attakkanti li jippruvaw jisfurzaw ċifra partikolari li probabbilment skoprew vulnerabbiltajiet fi:

ssl_ciphers=HIGH

8. Issa, issettja l-firxa tal-port (port min u massimu) ta 'portijiet passivi.

pasv_min_port=40000
pasv_max_port=50000

9. B'għażla, ippermetti d-debugging SSL, jiġifieri d-dijanjostiċi tal-konnessjoni openSSL huma rreġistrati fil-fajl log VSFTPD bl-għażla debug_ssl:

debug_ssl=YES

Issejvja l-bidliet kollha u agħlaq il-fajl. Imbagħad ejja nibdew mill-ġdid is-servizz VSFTPD:

# systemctl restart vsftpd

Pass 3: Ittestjar tas-server FTP B'Konnessjonijiet SSL/TLS

10. Wara li tagħmel il-konfigurazzjonijiet kollha ta 'hawn fuq, ittestja jekk VSFTPD hux qed juża konnessjonijiet SSL/TLS billi tipprova tuża FTP mil-linja tal-kmand kif ġej:

# 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>

Mill-iskrin ta 'hawn fuq, nistgħu naraw li hemm żball li jinfurmana li VSFTPD jista' jippermetti biss lill-utent biex jidħol minn klijenti li jappoġġjaw is-servizzi ta 'encryption.

Il-linja tal-kmand ma toffrix servizzi ta' kriptaġġ u b'hekk tipproduċi l-iżball. Allura, biex tikkonnettja b'mod sigur mas-server, għandna bżonn klijent FTP li jappoġġja konnessjonijiet SSL/TLS bħal FileZilla.

Pass 4: Installa FileZilla biex Ikkonnettja b'mod Sikur ma' Server FTP

11. FileZilla huwa klijent FTP modern, popolari u importantiment multi-pjattaforma li jappoġġja konnessjonijiet SSL/TLS awtomatikament.

Biex tinstalla FileZilla fil-Linux, mexxi l-kmand hawn taħt:

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

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

12. Meta l-installazzjoni titlesta (jew inkella jekk diġà għandek installata), iftaħha u mur File=>Maniġer tas-Siti jew (agħfas Ctrl+S) biex tikseb l-interface tal-Maniġer tas-Sit hawn taħt.

Ikklikkja fuq il-buttuna Sit Ġdid biex iżżid dettalji ġodda ta' konnessjoni ta' sit/host.

13. Sussegwentement, issettja l-isem tal-host/sit, żid l-indirizz IP, iddefinixxi l-protokoll li għandek 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):

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 biex terġa' ddaħħal 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:

F'dan l-istadju, imissna illoggjaw 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.

15. Fl-aħħar iżda mhux l-inqas, ipprova tittrasferixxi 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 żomm f'moħħok li l-FTP mhuwiex sigur b'mod awtomatiku, sakemm ma nikkonfigurawhx biex juża konnessjonijiet SSL/TLS kif urejnek f'dan it-tutorja. Aqsam il-ħsibijiet tiegħek dwar dan it-tutorja/suġġett permezz tal-formola ta' feedback hawn taħt.