Nastavitev varnega strežnika FTP s pomočjo SSL/TLS v Ubuntuju
V tej vadnici bomo opisali, kako zaščititi FTP strežnik (VSFTPD pomeni\"Zelo varen FTP Daemon") z uporabo SSL/TLS v Ubuntu 16.04/16.10.
Če želite namestiti varen strežnik FTP za distribucije, ki temeljijo na CentOS, lahko preberete - Zaščita strežnika FTP s pomočjo SSL/TLS na CentOS
Po naslednjih korakih v tem priročniku bomo spoznali osnove omogočanja storitev šifriranja v strežniku FTP za varen prenos podatkov.
- V Ubuntuju morate namestiti in konfigurirati strežnik FTP
Preden nadaljujemo, se prepričajte, da se bodo vsi ukazi v tem članku izvajali kot privilegirani račun root ali sudo.
Korak 1: Ustvarjanje potrdila SSL/TLS za FTP v Ubuntuju
1. Začeli bomo z ustvarjanjem podimenika pod:/etc/ssl/za shranjevanje potrdil SSL/TLS in datotek ključev, če ne obstajajo:
$ sudo mkdir /etc/ssl/private
2. Zdaj ustvarimo potrdilo in ključ v eni datoteki, tako da zaženemo spodnji ukaz.
$ sudo openssl req -x509 -nodes -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem -days 365 -newkey rsa:2048
Zgornji ukaz vas bo pozval, da odgovorite na spodnja vprašanja, ne pozabite vnesti vrednosti, ki veljajo za vaš scenarij.
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. korak: Konfiguriranje VSFTPD za uporabo SSL/TLS v Ubuntuju
3. Preden izvedemo kakršne koli konfiguracije VSFTPD, morate za tiste, ki imajo omogočen požarni zid UFW, odpreti vrata 990 in 40000-50000, da v konfiguracijski datoteki VSFTPD omogočite nastavitev povezav TLS in obseg vrat pasivnih vrat:
$ sudo ufw allow 990/tcp $ sudo ufw allow 40000:50000/tcp $ sudo ufw status
4. Zdaj odprite konfiguracijsko datoteko VSFTPD in v njej določite podrobnosti SSL:
$ sudo vi /etc/vsftpd/vsftpd.conf OR $ sudo nano /etc/vsftpd/vsftpd.conf
Nato dodajte ali poiščite možnost ssl_enable
in nastavite njeno vrednost na DA, da spet aktivirate uporabo SSL, ker je TLS varnejši od SSL, bomo VSFTPD omejili uporabo TLS, tako da omogočimo ssl_tlsv1
možnost:
ssl_enable=YES ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO
5. Nato spodnje vrstice komentirajte z znakom #
, kot sledi:
#rsa_cert_file=/etc/ssl/private/ssl-cert-snakeoil.pem #rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
Nato dodajte spodnje vrstice, da določite lokacijo potrdila SSL in datoteke ključa:
rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem
6. Zdaj moramo tudi anonimnim uporabnikom preprečiti uporabo SSL, nato pa prisiliti vse neanonimne prijave k uporabi varne SSL povezave za prenos podatkov in pošiljanje gesla med prijavo:
allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES
7. Poleg tega lahko s spodnjimi možnostmi dodamo več varnostnih funkcij v strežnik FTP. Z možnostjo require_ssl_reuse = YES
so vse podatkovne povezave SSL potrebne za prikaz ponovne uporabe seje SSL; dokazujejo, da poznajo isto glavno skrivnost kot nadzorni kanal. Torej bi ga morali onemogočiti.
require_ssl_reuse=NO
Poleg tega lahko z možnostjo ssl_ciphers
nastavimo, katere šifre SSL bo VSFTPD dovolil za šifrirane SSL povezave. To bo pomagalo onemogočiti vsa prizadevanja napadalcev, ki poskušajo vsiliti določeno šifro, v kateri so morda odkrili ranljivosti:
ssl_ciphers=HIGH
8. Nato določimo obseg vrat (najmanjša in največja vrata) pasivnih vrat.
pasv_min_port=40000 pasv_max_port=50000
9. Če želimo omogočiti odpravljanje napak SSL, kar pomeni, da se diagnostika povezave openSSL beleži v datoteko dnevnika VSFTPD, lahko uporabimo možnost debug_ssl
:
debug_ssl=YES
Končno shranite datoteko in jo zaprite. Nato znova zaženite storitev VSFTPD:
$ systemctl restart vsftpd
3. korak: Preverite FTP s povezavami SSL/TLS v Ubuntuju
10. Po izvedbi vseh zgornjih konfiguracij preizkusite, ali VSFTPD zdaj uporablja povezave SSL/TLS, tako da poskusite uporabiti FTP iz ukazne vrstice, kot je prikazano spodaj.
Iz spodnjega izhoda je prikazano sporočilo o napaki, ki nam sporoča, da lahko VSFTPD dovoli prijavo samo uporabnikom (neanonimnim) iz varnih odjemalcev, ki podpirajo storitve šifriranja.
$ 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>
Ukazna vrstica ne podpira storitev šifriranja, zato je prišlo do zgornje napake. Za varno povezavo s strežnikom FTP z omogočenimi storitvami šifriranja potrebujemo odjemalca FTP, ki privzeto podpira povezave SSL/TLS, na primer FileZilla.
4. korak: Namestite FileZilla On Clients za varno povezavo FTP
FileZilla je zmogljiv, pogosto uporabljen FTP odjemalec z več platformami, ki podpira FTP prek SSL/TLS in več. Če želite namestiti FileZilla na odjemalski računalnik Linux, uporabite naslednji ukaz.
--------- 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. Ko se namestitev konča, jo odprite in pojdite na File => Sites Manager ali (pritisnite Ctrl + S), da dobite spodnji vmesnik Site Manager.
13. Zdaj določite ime gostitelja/spletnega mesta, dodajte naslov IP, določite protokol za uporabo, šifriranje in vrsto prijave kot na spodnjem posnetku zaslona (uporabite vrednosti, ki veljajo za vaš scenarij):
Kliknite gumb Novo spletno mesto, da konfigurirate novo povezavo spletnega mesta/gostitelja.
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. Nato v zgornjem vmesniku kliknite Poveži, da vnesete geslo, nato preverite potrdilo, ki se uporablja za povezavo SSL/TLS, in še enkrat kliknite V redu, da se povežete s strežnikom FTP:
15. Zdaj bi se morali uspešno prijaviti v strežnik FTP prek povezave TLS, za več informacij v spodnjem vmesniku poglejte v razdelek o stanju povezave.
16. Na koncu prenesite datoteke iz lokalnega računalnika na FTP sever v mapi z datotekami, poglejte si spodnji del vmesnika FileZilla in si oglejte poročila o prenosih datotek.
To je vse! Vedno si zapomnite, da ima namestitev strežnika FTP brez omogočanja šifriranja določene varnostne posledice. Kot smo pojasnili v tej vadnici, lahko strežnik FTP konfigurirate za uporabo povezav SSL/TLS za izvajanje varnosti v Ubuntu 16.04/16.10.
Če imate kakršne koli težave pri nastavitvi SSL/TLS na strežniku FTP, uporabite spodnji obrazec za komentar, da delite svoje težave ali razmišljanja o tej vadnici/temi.