Turvalise FTP-serveri seadistamine SSL/TLS-i abil Ubuntu


Selles õpetuses kirjeldame, kuidas FTP-serverit (VSFTPD tähistab\"väga turvaline FTP-deemon") SSL/TLS-i abil Ubuntu 16.04/16.10-s kasutada.

Kui soovite seadistada CentOS-põhiste jaotuste jaoks turvalist FTP-serverit, võite lugeda - FTP-serveri turvamine CentOS-i SSL/TLS-i abil

Pärast selle juhendi erinevate sammude järgimist oleme õppinud põhifunktsioone krüptimisteenuste lubamiseks FTP-serveris turvaliste andmeedastuste jaoks.

  1. Peate Ubuntu FTP-serveri installima ja konfigureerima

Enne kaugemale liikumist veenduge, et kõiki selle artikli käske käivitatakse root või sudo privilegeeritud kontotena.

1. samm: SSL/TLS-sertifikaadi genereerimine FTP jaoks Ubuntu

1. Alustame alamkataloogi loomisega kataloogi:/etc/ssl /, et salvestada SSL/TLS-sertifikaat ja võtmefailid, kui seda pole:

$ sudo mkdir /etc/ssl/private

2. Nüüd genereerime sertifikaadi ja võtme ühte faili, käivitades alloleva käsu.

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

Ülaltoodud käsk palub teil vastata allpool esitatud küsimustele. Ärge unustage sisestada teie stsenaariumi jaoks sobivaid väärtusi.

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 

2. samm: VSFTPD seadistamine Ubuntu SSL/TLS-i kasutamiseks

3. Enne VSFTPD seadistuste tegemist peate nende jaoks, kellel on lubatud UFW tulemüür, avama pordid 990 ja 40000-50000, et võimaldada TLS-ühenduste ja passiivsete portide pordivahemiku seadistamist vastavalt VSFTPD konfiguratsioonifailis:

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

4. Nüüd avage konfiguratsioonifail VSFTPD ja määrake selles SSL-i üksikasjad:

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

Seejärel lisage või leidke valik ssl_enable ja määrake selle väärtuseks YES, et SSL-i kasutamine aktiveerida, kuna TLS on SSL-ist turvalisem, piirame VSFTPD-d selle asemel TLS-i kasutamisega, lubades Valik ssl_tlsv1 :

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

5. Järgmisena kommenteerige allolevaid ridu, kasutades märki # järgmiselt:

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

Seejärel lisage SSL-sertifikaadi ja võtmefaili asukoha määratlemiseks allpool olevad read:

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

6. Nüüd peame ka takistama anonüümsetel kasutajatel SSL-i kasutamist, seejärel sundida kõiki mitteanonüümseid sisselogimisi kasutama andmete edastamiseks turvalist SSL-ühendust ja sisselogimise ajal parooli saatma:

allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

7. Lisaks saame kasutada alltoodud valikuid, et lisada FTP-serverisse rohkem turvaelemente. Valikuga need_ssl_reuse = YES on kõik SSL-andmesideühendused vajalikud SSL-seansi korduskasutamiseks; tõestades, et nad teavad juhtkanaliga sama peasaladust. Nii et peaksime selle keelama.

require_ssl_reuse=NO

Lisaks saame suvandiga ssl_ciphers määrata, milliseid SSL-šifreid VSFTPD krüptitud SSL-ühenduste jaoks lubab. See aitab nurjata kõik ründajate jõupingutused, kes üritavad sundida konkreetset šifrit, milles nad avastasid haavatavusi:

ssl_ciphers=HIGH

8. Seejärel määratleme passiivsete portide pordivahemik (min ja max port).

pasv_min_port=40000
pasv_max_port=50000

9. SSL-i silumise lubamiseks, mis tähendab, et VSSFTPD logifaili salvestatakse openSSL-ühenduse diagnostika, saame kasutada valikut debug_ssl :

debug_ssl=YES

Lõpuks salvestage fail ja sulgege see. Seejärel taaskäivitage VSFTPD teenus:

$ systemctl restart vsftpd

3. samm: kontrollige FTP-d Ubuntu SSL/TLS-ühendustega

10. Pärast kõigi ülaltoodud konfiguratsioonide tegemist proovige, kas VSFTPD kasutab nüüd SSL/TLS-ühendusi, proovides kasutada FTP-d käsurealt nagu allpool.

Allpool olevast väljundist kuvatakse tõrketeade, mis ütleb meile, et VSFTPD lubab kasutajatel (mitte-anonüümsetel) sisse logida ainult krüptimisteenuseid toetavatest turvalistest klientidest.

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

Käsurida ei toeta krüptimisteenuseid, mis põhjustab ülaltoodud tõrke. Seetõttu vajame turvaliseks FTP-serveriga ühenduse loomiseks, kui krüptimisteenused on lubatud, vajame FTP-klienti, mis toetab vaikimisi SSL/TLS-ühendusi, näiteks FileZilla.

4. samm: FTP turvaliseks ühendamiseks installige klientidele FileZilla

FileZilla on võimas ja laialt kasutatav platvormidevaheline FTP klient, mis toetab FTP-d üle SSL/TLS-i ja muud. FileZilla installimiseks Linuxi kliendimasinasse kasutage järgmist käsku.

--------- 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. Kui installimine on lõpule jõudnud, avage see ja minge saidihalduri allpool oleva liidese saamiseks menüüsse File => Sites Manager või (vajutage Ctrl + S).

13. Nüüd määrake host/saidi nimi, lisage IP-aadress, määrake kasutatav protokoll, krüptimine ja sisselogimise tüüp nagu allpool kuvatud ekraanipildil (kasutage oma stsenaariumi jaoks sobivaid väärtusi):

Uue saidi/hosti ühenduse konfigureerimiseks klõpsake nuppu Uus sait.

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. Seejärel klõpsake parooli sisestamiseks ülaltoodud liidesest Ühenda ja seejärel kontrollige SSL/TLS-ühenduse jaoks kasutatavat sertifikaati ja klõpsake FTP-serveriga ühenduse loomiseks veel kord nuppu OK:

15. Nüüd peaksite olema TLS-ühenduse kaudu edukalt FTP-serverisse sisse loginud. Lisateavet leiate allolevast liidesest ühenduse oleku jaotisest.

16. Viigime nüüd failid kohalikust masinast failide kausta FTP-katkestusse, vaadake FileZilla liidese alumist otsa, et vaadata failide edastamise aruandeid.

See on kõik! Pidage alati meeles, et FTP-serveri installimisel ilma krüptimisteenuseid lubamata on teatud turvalisusega seotud tagajärjed. Nagu me selles õpetuses selgitasime, saate FTP-serveri konfigureerida turvalisuse juurutamiseks Ubuntu 16.04/16.10 kasutama SSL/TLS-ühendusi.

Kui teil tekib probleeme SSL/TLS-i seadistamisega FTP-serverisse, kasutage seda õpetust/teemat puudutavate probleemide või mõtete jagamiseks allolevat kommentaarivormi.