CentOS 7-de ygtybarly faýl geçirmek üçin SSL/TLS ulanyp, FTP serwerini nädip goramaly


Asyl dizaýny boýunça, FTP (Faýl geçirmek protokoly) ygtybarly däl, ýagny ulanyjy şahsyýetnamalary bilen birlikde iki maşynyň arasynda berilýän maglumatlary şifrlemeýär. Bu maglumatlar we serwer howpsuzlygy üçin uly howp döredýär.

Bu gollanmada, CentOS/RHEL 7 we Fedora-daky FTP serwerinde maglumatlary şifrlemek hyzmatlaryny el bilen nädip işletmelidigini düşündireris; SSL/TLS şahadatnamalaryny ulanyp, VSFTPD (Örän ygtybarly FTP Daemon) hyzmatlaryny üpjün etmegiň dürli ädimlerini geçeris.

  1. CentOS 7-de FTP serwerini gurnan we düzen bolmaly

Başlamazdan ozal, bu gollanmadaky ähli buýruklaryň kök hökmünde işlejekdigine üns beriň, ýogsam kök hasaby ulanyp serwere gözegçilik etmeýän bolsaňyz, sudo buýrugyny kök artykmaçlyklaryna eýe boluň.

Stepdim 1. SSL/TLS şahadatnamasyny we şahsy açary döretmek

1. SSL/TLS şahadatnamasyny we esasy faýllary saklaýan: /etc/ssl/ aşagyndaky bukjany döretmekden başlamaly:

# mkdir /etc/ssl/private

2. Soňra bir faýlda vsftpd üçin şahadatnama we açary döretmek üçin aşakdaky buýrugy işlediň, ine, ulanylan her baýdagyň düşündirişi.

  1. req - X.509 şahadatnama gol çekmek haýyşy (CSR) dolandyryşy üçin buýruk.
  2. x509 - X.509 şahadatnamasynyň maglumat dolandyryşyny aňladýar.
  3. günler - gün şahadatnamasynyň güýjüniň sanyny kesgitleýär.
  4. newkey - şahadatnama açary prosessoryny kesgitleýär.
  5. rsa: 2048 - RSA açar prosessor, 2048 bit şahsy açar döreder.
  6. açar - açar saklaýjy faýly düzýär.
  7. çykýar - şahadatnamany saklaýan faýly düzýär, şahadatnamanyň we açaryň bir faýlda saklanýandygyna üns beriň: /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

Aboveokardaky buýruk aşakdaky soraglara jogap bermegiňizi haýyş eder, senariýaňyza degişli bahalary ulanmagy ýatdan çykarmaň.

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 

Stepdim 2. SSL/TLS ulanmak üçin VSFTPD sazlamak

3. Islendik VSFTPD konfigurasiýasyny ýerine ýetirmezden ozal, TLS birikmelerine we passiw portlaryň port diapazonyna degişlilikde VSFTPD konfigurasiýa faýlynda kesgitlemek üçin 990 we 40000-50000 portlaryny açalyň:

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

4. Indi, VSFTPD konfigurasiýa faýlyny açyň we içindäki SSL jikme-jikliklerini görkeziň:

# vi /etc/vsftpd/vsftpd.conf

Ssl_enable opsiýasyny gözläň we SSL-ni ulanmagy işjeňleşdirmek üçin onuň bahasyny HAES edip belläň, üstesine-de, TSL SSL-den has ygtybarly bolany üçin, ssl_tlsv1_2 opsiýasyny ulanyp, VSFTPD-ni çäklendireris:

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

5. Soňra, SSL şahadatnamasynyň we açar faýlyň ýerleşýän ýerini kesgitlemek üçin aşakdaky setirleri goşuň:

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

6. Ondan soň, näbelli ulanyjylaryň SSL ulanmagynyň öňüni almaly, soňra näbelli bolmadyk ähli girişleri maglumatlary geçirmek üçin ygtybarly SSL birikmesini ulanmaga we giriş wagtynda paroly ibermäge mejbur etmeli:

allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

7. Mundan başga-da, FTP serweriniň howpsuzlygyny ýokarlandyrmak üçin aşakdaky wariantlary goşup bileris. Haçan-da opsiýa zerur_ssl_reuse HAES düzülen bolsa, SSL sessiýasynyň gaýtadan ulanylmagyny görkezmek üçin ähli SSL maglumat birikmeleri talap edilýär; dolandyryş kanaly ýaly baş syry bilýändiklerini subut etmek.

Şonuň üçin ony öçürmeli.

require_ssl_reuse=NO

Againene-de ssl_ciphers opsiýasy bilen kodlanan SSL birikmelerine haýsy SSL kodlaýjylary VSFTPD rugsat berjekdigini saýlamaly. Bu, belli bir şifrini zorlamaga synanyşýan hüjümçileriň tagallalaryny ep-esli çäklendirip biler:

ssl_ciphers=HIGH

8. Indi passiw portlaryň port diapazonyny (min we max port) düzüň.

pasv_min_port=40000
pasv_max_port=50000

9. Islege görä, SSL düzedişine rugsat beriň, ýagny openSSL birikme diagnostikasy debug_ssl opsiýasy bilen VSFTPD gündelik faýlyna ýazylýar:

debug_ssl=YES

Changeshli üýtgeşmeleri ýazdyryň we faýly ýapyň. Soňra VSFTPD hyzmatyny täzeden başlalyň:

# systemctl restart vsftpd

3-nji ädim: SSL/TLS birikmeleri bilen FTP serwerini barlamak

10. aboveokardaky konfigurasiýalaryň hemmesini ýerine ýetireniňizden soň, VSFTPD buýruk setirinden FTP ulanmaga synanyşyp SSL/TLS birikmelerini ulanýandygyny barlaň:

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

Aboveokardaky ekran suratyndan, VSFTPD-iň diňe ulanyja şifrlemek hyzmatlaryny goldaýan müşderilerden girmegine rugsat berip biljekdigini habar berýän ýalňyşlygyň bardygyny görüp bileris.

Buýruk setiri şifrlemek hyzmatlaryny teklip etmeýär, şeýlelik bilen ýalňyşlygy döredýär. Şeýlelik bilen, serwere ygtybarly birikmek üçin FileZilla ýaly SSL/TLS birikmelerini goldaýan FTP müşderisi gerek.

4-nji ädim: FTP serwerine ygtybarly birikmek üçin FileZilla guruň

11. FileZilla, SSL/TLS birikmelerini goldaýan häzirki zaman, meşhur we iň möhüm platforma FTP müşderisi.

Linux-da FileZilla gurmak üçin aşakdaky buýrugy işlediň:

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

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

12. Gurmak tamamlanandan soň (ýa-da eýýäm gurnan bolsaňyz) açyň we aşakda Saýt dolandyryjy interfeýsini almak üçin File => Saýtlar dolandyryjysyna ýa-da ( Ctrl + S basyň) giriň.

Täze sahypa/host birikdiriş jikme-jikliklerini goşmak üçin Täze Saýt düwmesine basyň.

13. Ondan soň, öý eýesiniň/sahypanyň adyny belläň, IP adresi goşuň, aşakdaky ekranda bolşy ýaly ulanmak, şifrlemek we giriş görnüşini kesgitläň (senariýaňyza degişli bahalary ulanyň):

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. Soňra paroly täzeden girizmek üçin Birikdir düwmesine basyň we SSL/TLS birikmesi üçin ulanylýan şahadatnamany barlaň we FTP serwerine birikmek üçin ýene bir gezek OK basyň:

Bu etapda, TLS birikmesi arkaly FTP serwerine üstünlikli giren bolmaly, aşakdaky interfeýsden has giňişleýin maglumat üçin birikme ýagdaýy bölümini barlamaly.

15. Iň soňkusy, faýllary ýerli bukjadan faýl bukjasyndaky FTP bölüjisine geçirmäge synanyşyň, faýl geçirişleri baradaky hasabatlary görmek üçin FileZilla interfeýsiniň aşaky ujuna göz aýlaň.

Bu hemmesi! Elmydama ýadyňyzdan çykarmaň, SSP/TLS birikmelerini bu gollanmada görkezişimiz ýaly ulanmasak, FTP deslapky tertipde howpsuz däl. Bu gollanma/mowzuk baradaky pikirleriňizi aşakdaky seslenme formasy arkaly paýlaşyň.