Hvernig á að tryggja FTP netþjón með SSL/TLS fyrir öruggan skráaflutning í CentOS 7


Með upprunalegri hönnun sinni er FTP (File Transfer Protocol) ekki öruggt, sem þýðir að það dulkóðar ekki gögn sem eru send á milli tveggja véla, ásamt persónuskilríkjum notanda. Þetta skapar gríðarlega ógn við gögn sem og öryggi netþjóna.

Í þessari kennslu munum við útskýra hvernig á að virkja handvirkt gagnadulkóðunarþjónustu á FTP netþjóni í CentOS/RHEL 7 og Fedora; við munum fara í gegnum ýmis skref til að tryggja VSFTPD (Very Secure FTP Daemon) þjónustu með því að nota SSL/TLS vottorð.

  1. Þú verður að hafa sett upp og stillt FTP-þjón í CentOS 7

Áður en við byrjum, athugaðu að allar skipanir í þessari kennslu verða keyrðar sem rót, annars skaltu nota sudo skipunina til að fá rótarréttindi ef þú ert ekki að stjórna þjóninum með því að nota rótarreikninginn.

Skref 1. Búa til SSL/TLS vottorð og einkalykil

1. Við þurfum að byrja á því að búa til undirmöppu undir: /etc/ssl/ þar sem við munum geyma SSL/TLS vottorðið og lykilskrár:

# mkdir /etc/ssl/private

2. Keyrðu síðan skipunina fyrir neðan til að búa til vottorðið og lykilinn fyrir vsftpd í einni skrá, hér er útskýringin á hverju fána sem notað er.

  1. req – er skipun fyrir X.509 Certificate Signing Request (CSR) stjórnun.
  2. x509 – þýðir X.509 vottorðsgagnastjórnun.
  3. dagar – skilgreinir fjölda daga sem vottorðið gildir fyrir.
  4. nýr lykill – tilgreinir vottorðslykillinn.
  5. rsa:2048 – RSA lykla örgjörvi, mun búa til 2048 bita einkalykil.
  6. lyklaútgangur – stillir lyklageymsluskrána.
  7. út – stillir skírteinisgeymsluskrána, athugaðu að bæði vottorð og lykill eru geymd í sömu skránni: /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

Ofangreind skipun mun biðja þig um að svara spurningunum hér að neðan, mundu að nota gildi sem eiga við atburðarás þína.

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 

Skref 2. Stilla VSFTPD til að nota SSL/TLS

3. Áður en við framkvæmum VSFTPD stillingar skulum við opna höfnin 990 og 40000-50000 til að leyfa TLS tengingum og hafnarsviði óvirkra hafna að skilgreina í VSFTPD stillingarskránni í sömu röð:

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

4. Opnaðu nú VSFTPD stillingarskrána og tilgreindu SSL upplýsingarnar í henni:

# vi /etc/vsftpd/vsftpd.conf

Leitaðu að valkostinum ssl_enable og stilltu gildi hans á YES til að virkja notkun SSL, auk þess, þar sem TSL er öruggara en SSL, munum við takmarka VSFTPD til að nota TLS í staðinn, með því að nota ssl_tlsv1_2 valkostinn:

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

5. Bættu síðan við línunum hér að neðan til að skilgreina staðsetningu SSL vottorðsins og lykilskrár:

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

6. Næst verðum við að koma í veg fyrir að nafnlausir notendur noti SSL, þá neyða allar ónafnlausar innskráningar til að nota örugga SSL tengingu fyrir gagnaflutning og senda lykilorðið við innskráningu:

allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

7. Að auki getum við bætt við valkostunum hér að neðan til að auka öryggi FTP netþjónsins. Þegar valmöguleikinn require_ssl_reuse er stilltur á , þá eru allar SSL gagnatengingar nauðsynlegar til að sýna endurnotkun SSL lotu; sem sannar að þeir vita sama aðalleyndarmálið og stjórnrásin.

Þess vegna verðum við að slökkva á því.

require_ssl_reuse=NO

Aftur þurfum við að velja hvaða SSL dulmál VSFTPD mun leyfa fyrir dulkóðaðar SSL tengingar með ssl_ciphers valkostinum. Þetta getur mjög takmarkað viðleitni árásarmanna sem reyna að þvinga fram tiltekið dulmál sem þeir fundu líklega veikleika í:

ssl_ciphers=HIGH

8. Nú skaltu stilla gáttarsvið (mín og hámarkshöfn) óvirkra hafna.

pasv_min_port=40000
pasv_max_port=50000

9. Leyfðu valfrjálst SSL kembiforrit, sem þýðir að greiningar á opnum SSL tengingum eru skráðar í VSFTPD annálaskrána með debug_ssl valkostinum:

debug_ssl=YES

Vistaðu allar breytingarnar og lokaðu skránni. Þá skulum við endurræsa VSFTPD þjónustu:

# systemctl restart vsftpd

Skref 3: Prófaðu FTP miðlara með SSL/TLS tengingum

10. Eftir að hafa gert allar ofangreindar stillingar skaltu prófa hvort VSFTPD noti SSL/TLS tengingar með því að reyna að nota FTP frá skipanalínunni sem hér segir:

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

Af skjámyndinni hér að ofan getum við séð að það er villa sem tilkynnir okkur að VSFTPD getur aðeins leyft notanda að skrá sig inn frá viðskiptavinum sem styðja dulkóðunarþjónustu.

Skipanalínan býður ekki upp á dulkóðunarþjónustu sem veldur því villunni. Svo, til að tengjast þjóninum á öruggan hátt, þurfum við FTP biðlara sem styður SSL/TLS tengingar eins og FileZilla.

Skref 4: Settu upp FileZilla til að tengjast á öruggan hátt við FTP netþjón

11. FileZilla er nútímalegur, vinsæll og mikilvægur FTP viðskiptavinur sem styður SSL/TLS tengingar sjálfgefið.

Til að setja upp FileZilla í Linux skaltu keyra skipunina hér að neðan:

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

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

12. Þegar uppsetningunni er lokið (eða ef þú ert nú þegar með hana uppsetta), opnaðu hana og farðu í File=>Site Manager eða (ýttu á Ctrl+S) til að fá Site Manager viðmótið fyrir neðan.

Smelltu á hnappinn Ný síða til að bæta við upplýsingum um nýja síðu/hýsingartengingu.

13. Næst skaltu stilla nafn gestgjafa/síðunnar, bæta við IP tölu, skilgreina samskiptareglur sem á að nota, dulkóðun og innskráningargerð eins og á skjámyndinni hér að neðan (notaðu gildi sem eiga við um atburðarásina þína):

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. Smelltu svo á Connect til að slá inn lykilorðið aftur, og staðfestu síðan vottorðið sem er notað fyrir SSL/TLS tenginguna og smelltu á OK enn og aftur til að tengjast FTP þjóninum:

Á þessu stigi ættum við að hafa skráð okkur inn á FTP netþjóninn með TLS tengingu, athugaðu tengingarstöðuhlutann fyrir frekari upplýsingar úr viðmótinu hér að neðan.

15. Síðast en ekki síst, reyndu að flytja skrár frá staðbundinni vél yfir á FTP netþjóninn í skráarmöppunni, skoðaðu neðri endann á FileZilla viðmótinu til að skoða skýrslur um skráaflutning.

Það er allt og sumt! Hafðu alltaf í huga að FTP er ekki sjálfgefið öruggt, nema við stillum það til að nota SSL/TLS tengingar eins og við sýndum þér í þessari kennslu. Deildu hugsunum þínum um þessa kennslu/efni í gegnum athugasemdaformið hér að neðan.