Kuidas FOS-serverit turvata CentOS 7-s turvaliseks failiedastuseks SSL/TLS-i abil
Algse kujunduse järgi pole FTP (File Transfer Protocol) turvaline, see tähendab, et see ei krüpteeri kahe masina vahel edastatavaid andmeid koos kasutaja mandaatidega. See kujutab endast tohutut ohtu nii andmetele kui ka serveri turvalisusele.
Selles õpetuses selgitame, kuidas FOS-serveris andmete krüptimisteenuseid käsitsi lubada CentOS/RHEL 7 ja Fedoras; läbime SSL/TLS-sertifikaate kasutades VSFTPD (väga turvaline FTP-deemon) teenuste turvamise erinevad etapid.
- CentOS 7-s peate olema installinud ja konfigureerinud FTP-serveri
Enne alustamist pange tähele, et kõik selle õpetuse käsud käivitatakse juurena, vastasel juhul kasutage root-õiguste saamiseks käsku sudo, kui te ei kontrolli serverit juurkonto abil.
Samm 1. SSL/TLS-sertifikaadi ja privaatvõtme genereerimine
1. Peame alustama alamkataloogi loomisega jaotises /etc/ssl/
, kuhu salvestame SSL/TLS-sertifikaadi ja võtmefailid:
# mkdir /etc/ssl/private
2. Seejärel käivitage allpool olev käsk, et luua vsftpd-i sertifikaat ja võti ühte faili, siin on iga kasutatud lipu selgitus.
- req - on käsk X.509 sertifikaadi allkirjastamistaotluse (CSR) haldamiseks.
- x509 - tähendab X.509 sertifikaadi andmete haldamist.
- päeva - määratleb, mitu päeva sertifikaat kehtib.
- newkey - määrab sertifikaadi võtmeprotsessori.
- rsa: 2048 - RSA võtmeprotsessor, genereerib 2048-bitise privaatvõtme.
- keyout - määrab võtme salvestusfaili.
- väljas - määrab sertifikaadi salvestusfaili, pange tähele, et nii sertifikaat kui ka võti on salvestatud samasse faili: /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
Ülaltoodud käsk palub teil vastata allpool toodud küsimustele. Ärge unustage kasutada 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
Samm 2. VSFTPD konfigureerimine SSL/TLS-i kasutamiseks
3. Enne VSFTPD seadistuste tegemist avame pordid 990 ja 40000-50000, et võimaldada TLS-ühendustel ja passiivsete portide pordivahemikul vastavalt VSFTPD konfiguratsioonifailis määratleda:
# firewall-cmd --zone=public --permanent --add-port=990/tcp # firewall-cmd --zone=public --permanent --add-port=40000-50000/tcp # firewall-cmd --reload
4. Nüüd avage konfiguratsioonifail VSFTPD ja määrake selles SSL-i üksikasjad:
# vi /etc/vsftpd/vsftpd.conf
SSL-i kasutamise aktiveerimiseks otsige valikut ssl_enable ja määrake selle väärtuseks YES
, kuna TSL on SSL-ist turvalisem, piirame VSFTPD-l TLS-i kasutamist, kasutades valikut ssl_tlsv1_2:
ssl_enable=YES ssl_tlsv1_2=YES ssl_sslv2=NO ssl_sslv3=NO
5. Seejärel lisage SSL-sertifikaadi ja võtmefaili asukoha määratlemiseks järgmised read:
rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem
6. Järgmisena peame takistama anonüümsetel kasutajatel SSL-i kasutamist, seejärel sundida kõiki mitte-anonüü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 võime FTP-serveri turvalisuse suurendamiseks lisada järgmised valikud. Kui suvandi nõuda_ssl_reuse väärtuseks on seatud YES
, on SSL-seansi korduskasutamiseks vaja kõiki SSL-andmeühendusi; tõestades, et nad teavad juhtkanaliga sama peasaladust.
Seetõttu peame selle välja lülitama.
require_ssl_reuse=NO
Jällegi peame valima, milliseid SSL-šifreid VSFTPD lubab krüptitud SSL-ühenduste jaoks suvandiga ssl_ciphers. See võib oluliselt piirata ründajate jõupingutusi, kes üritavad sundida konkreetset šifrit, milles nad tõenäoliselt avastasid haavatavusi:
ssl_ciphers=HIGH
8. Nüüd määrake passiivsete portide pordivahemik (min ja max port).
pasv_min_port=40000 pasv_max_port=50000
9. Soovi korral lubage SSL-i silumine, see tähendab, et openSSL-ühenduse diagnostika salvestatakse VSFTPD logifaili valikuga debug_ssl:
debug_ssl=YES
Salvestage kõik muudatused ja sulgege fail. Seejärel taaskäivitame VSFTPD teenuse:
# systemctl restart vsftpd
3. samm: FTP-serveri testimine SSL/TLS-ühendustega
10. Pärast kõigi ülaltoodud konfiguratsioonide tegemist proovige, kas VSFTPD kasutab SSL/TLS-ühendusi, proovides käsurealt FTP-d kasutada järgmiselt:
# 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>
Ülaltoodud ekraanipildilt näeme, et teavitades, et VSFTPD lubab kasutajal sisse logida ainult krüptimisteenuseid toetavatelt klientidelt, on viga.
Käsurida ei paku krüptimisteenuseid, mis tekitab tõrke. Niisiis, serveriga turvaliseks ühenduse loomiseks vajame FTP-klienti, mis toetab selliseid SSL/TLS-ühendusi nagu FileZilla.
4. samm: installige FileZilla FTP-serveriga turvaliseks ühenduse loomiseks
11. FileZilla on kaasaegne, populaarne ja oluline platvormidevaheline FTP-klient, mis toetab vaikimisi SSL/TLS-ühendusi.
FileZilla Linuxi installimiseks käivitage järgmine käsk:
--------- On CentOS/RHEL/Fedora --------- # yum install epel-release filezilla --------- On Debian/Ubuntu --------- $ sudo apt-get install filezilla
12. Kui installimine on lõpule jõudnud (või muul juhul, kui see on juba installitud), avage see ja minge File => Sites Manager või (vajutage Ctrl + S
) alloleva saidihalduri liidese saamiseks.
Uue saidi/hosti ühenduse üksikasjade lisamiseks klõpsake nuppu Uus sait.
13. Seejärel 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):
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 uuesti sisestamiseks nupul Ühenda, seejärel kontrollige SSL/TLS-ühenduse jaoks kasutatavat sertifikaati ja klõpsake FTP-serveriga ühenduse loomiseks veel kord OK
:
Selles etapis oleksime pidanud TLS-ühenduse kaudu FTP-serverisse edukalt sisse logima. Lisateavet leiate allolevast liidesest ühenduse oleku jaotisest.
15. Lõpuks proovige faile kohalikust masinast failide kausta FTP-faili teisaldada, vaadake FileZilla liidese alumist otsa, et vaadata failide edastamise aruandeid.
See on kõik! Pidage alati meeles, et FTP pole vaikimisi turvaline, kui me pole seda konfigureerinud SSL/TLS-ühendusi kasutama, nagu näitasime teile selles õpetuses. Jagage oma mõtteid selle õpetuse/teema kohta allpool oleva tagasisidevormi kaudu.