Cilj ove vežbe je upoznavanje sa sigurnošću FTP servera i implementacija SSL, TLS i SFTP protokola sa vsftpd FTP serverom.

Similar documents
UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a

SecLab. SecLab 04 v2.00. SSH server i upotreba javnog i tajnog ključa. Cilj vežbe

Sberbank Business Online na Mozilla FireFox

Korisničko uputstvo za instalaciju i podešavanje securew2 programa za pristup eduroam servisu

VDSL modem Zyxel VMG1312-B10A/B30A

Uputstvo za korišćenje logrotate funkcije

Modbus TCP i dva PLC S7 1200

Instalacija i podešavanje računara, sa WindowsXP OS-om, za pristup Internetu preko modemskih linija RCUB-a

Uputstva za instaliranje čitača Datalogic Skorpio u operativnom sistemu Windows 7 i višim POM-NA-XX-46, V3.0

VMware Workstation. VMwareWorkstation ESX ($) (vmotion, DRS, HA, Storage vmotion) vcenter Server ($) Server. Guest OS

Cilj ove vežbe je upoznavanje sa osnovnim konceptima firewall sistema, access listama (ACL) i filtriranjem mrežnih paketa.

Uputstvo za podešavanje mail klijenta

PKI Applet Desktop Application Uputa za instalaciju programske potpore

SecLab 04. SecLab 04 v2.00. SSH server i upotreba javnog i tajnog ključa. Cilj vežbe

Uputa za instaliranje programske potpore za operativni sustav WINDOWS

Izrada VI laboratorijske vježbe

Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb,

Za razumevanje vežbe potrebno je osnovno znanje RIP protokola i protokola dinamičkog rutiranja.

Potrebno je iskonfigurisati mrežu kao na slici. Za to je potrebno postaviti 3 rutera.

Računarske osnove Interneta (SI3ROI, IR4ROI)

VB komande. Programiranje 1

Uputstvo za konfiguraciju računara za korištenje BIHnet ADSL usluge

Sadržaj. Verzija 03/2017 Primjenjuje se od 20. novembra godine

Cjenovnik usluga informacionog društva

Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje. Office 2013 / Office 365

Programiranje III razred

VRIJEDNOSTI ATRIBUTA

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET

VHDLPrimeri Poglavlje5.doc

Single Sign-On s Officeom 365 na Kineziološkom fakultetu Sveučilišta u Zagrebu

Case Study Hrvatska pošta: Korisničko iskustvo iz snova. Tomislav Turk Samostalni sistem inženjer, Combis d.o.o. Zagreb,

Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi

Operativni Sistem koji podržava multitasking

Uvod u programiranje - vežbe. Kontrola toka izvršavanja programa

PREDMET. Osnove Java Programiranja. Čas JAVADOC

Mašinska vizija. Dr Nenad Jovičić tnt.etf.rs/~mv

Upute za postavljanje Outlook Expressa

PRINCIPI SOFTVERSKOG INŽENJERSTVA TIM NAZIV_TIMA

Korisničko uputstvo za podešavanje Home Gateway Cisco EPC3928S. (Windows XP)

Laboratorijske vežbe

Unaprjeñenje sigurnosti u mrežama pružatelja

b) program deljiv3; uses wincrt; var i:integer; begin i:=3; while i<100 do begin write(i:5); i:=i+3; end; end.

Tema 8: Koncepti i teorije relevantne za donošenje odluka (VEŽBE)

Desktop IKONE START MENI. TASK BAR traka zadataka RADNA POVRŠINA

7.3. Oracle VM VirtualBox

pojedinačnom elementu niza se pristupa imeniza[indeks] indeks od 0 do n-1

Primenjeno programiranje - Vežbe Java i NetBeans IDE 6.5

Upute za VDSL modem BiPAC 8700VNXL R3

Upute za VDSL modem Zyxel VMG3312-T20A

Način na koji treba izvršiti povezivanje je prikazan na slici koja slijedi.

Sveučilište u Zagrebu PMF Matematički odsjek. Mreže računala. Vježbe 08. Zvonimir Bujanović Slaven Kožić Vinko Petričević

Uputstvo za upotrebu ONT optičkog modema

Vežba 3 Mrežni protokoli

x y = z Zadaci - procedure

Vežbe - XII nedelja PHP Doc

SIMULACIJA VIRTUELNE MREŽE POMOĆU VIRTUALBOX

RAČUNARSKE MREŽE. Računski. centar

ELEKTROTEHNIČKI FAKULTET UNIVERZITETA U BEOGRADU. Diplomski rad. Beograd, Septembar 2015.

var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Items.LoadFromFile('d:\brojevi.

Profesor dr Miroslav Lutovac. Telekomunikacioni servisi i tehnologije

AROS. 8čas Softver i OS za prenosive uređaje

Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak...

Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo

OBJEKTNO ORIJENTISANO

Geant2 - JRA1. Upravljanje mjerenjem i performansama mreža (perfsonar, baza multi-domain nadzorne usluge) Danijel Matek (Srce)

Bezbjednost vašeg računara Praktični savjeti

UPUTSTVO ZA RUKOVANJE

NOVI SAD. Primenjeno programiranje Java i NetBeans IDE 7.0 vežbe

RIP v2. Mr Nenad Krajnović Katedra za telekomunikacije

Učitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0.

PANEVROPSKI UNIVERZITET APEIRON BANJA LUKA FAKULTET POSLOVNE INFORMATIKE

CSS CSS. selector { property: value; } 3/20/2018. CSS: Cascading Style Sheets

slika 2. - splliter (namijenjen je razdvajanju govornih i data informacija koje do njega stižu istom telefonskom linijom)

Bežična topologija. Kategorije bežičnih mreža po površini pokrivanja

Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj list.

progecad NLM Korisničke upute

Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući Java konstrukt

Računarske mreže treći razred

Jezik Baze Podataka SQL. Jennifer Widom

Calculus 12 (verzija 7473) TEHNIČKO UPUTSTVO Verzija 13:

Kutija treba da sadrži:

Nove značajke u Liferay portalu v6.2. Ivica Čardić Senior Software Engineer, Liferay Inc.

OUR KNOWLEDGE FOR YOUR SUCCESS. Iskustva u razvoju i implementaciji ADF aplikacije

Lab 3: Osnovna VTP konfiguracija

PROGRAMING LANGUAGE Alaska Xbase++ and express++ and other Tools

VEŽBA 5 do while petlja, switch case

Oracle Proprietary Joins Za upite nad više od jedne tabele korišćenjem Oracle proprietary sintakse koristiti join uslov u WHERE izrazu:

Razvoj hibridnih mobilnih aplikacija pomoću PhoneGap platforme

GUI - događaji (Events) i izuzeci. Bojan Tomić

2. Programiranje (rad) u mreži

Variable Neighborhood Descent - VND (Metoda promenljivog spusta)

Kodiranje GUI aplikacija u Visual C#

Računarska tehnika i računarske komunikacije Osnovi računarskih mreža 1. Vežba 7 Wireshark

DA LI POSTOJI SAMO JEDNA "ISPRAVNA" ARHITEKTURA WEB POSLOVNIH APLIKACIJA

operativni sistem part 2

Upute za pristup bežičnoj mreži Medicinskog fakulteta u Splitu (MS Windows XP) ver 1.1, lipanj 2010.

JavaScript i HTML DOM

Z1. Dati RDF graf predstavljen u JSON-LD sintaksi potrebno je grafički predstaviti u skladu sa RDF notacijom. (5 poena)

Editovanje registra u Windowsu

Android. Osobine. Razvojno okruženje

Transcription:

SecLab 05 SecLab 05 Sigurnost FTP servera sa SSL, TLS i SFTP protokolima Cilj vežbe Cilj ove vežbe je upoznavanje sa sigurnošću FTP servera i implementacija SSL, TLS i SFTP protokola sa vsftpd FTP serverom. Ova vežba je implementirana sa Oracle VirtualBox softerom za virtuelizaciju koji je instaliran na svakoj radnoj stanici i jedne virtualne mašine sa Linux CentOS 6.2 operativnim sistemom i instaliranim vsftpd serverom. SSL i TSL protokoli Transport Layer Security (TLS) i njegov prethodnik, Secure Sockets Layer (SSL), su kriptografski protokoli koji omogućavaju sigurnu komunikaciju na Internetu. TLS i SSL enkriptuju mrežnu konekciju na sloju aplikacije (Application Layer) za transportni sloj (Transport Layer). Postoji nekoliko verzija ovog protokola, a primenjuju se kod aplikacija kao što su web, e-mail, Internet fax i voice-over-ip (VoIP). TLS je IETF standard, definisan dokumentom RFC 5246, a baziran je na ranijoj specifikaciji SSL koji je definisao Netscape Communications. SSL 1.0, 2.0 i 3.0 SSL protokol je originalno razvijen od strane kompanije Netscape. Verzija 1.0 nikada nije javno objavljena, verzija 2.0 je objavljena u fabruaru 1995. god. ali jei mala dosta sigurnosnih propusta koji su doveli do stvaranja SSL verzije 3.0. SSL 3.0 je objavljena 1996. i predstavlja potpuno redizajniran protokol koji je izvršio Paul Kocher u saradnji sa inženjerima kompanije Netscape Phil Karltonom i Alan Freierom. Novije verzije SSL/TLS protokola su bazirane na SSL 3.0. Nacrt SSL 3.0 protokola je objavljen 1996. Od strane IETF kao dokument RFC 6101. TLS 1.0 TLS 1.0 je definisan kao dokument RFC 2246 januara 1999. god, kao nadogradnja SSL 3.0. Kao što se tvrdi u RFC dokumentu "razlike između ovog protokola i SSL 3.0 nisu dramatične ali su značajne za preclude interoperabilnost između TLS 1.0 i SSL 3.0. TLS 1.0 obuhvata sredstva za stvaranje kompatibilnosti sa SSL 3.0. Uvod u SSL Secure Sockets Layer (SSL) je najrasprostranjeniji protokol koji nudi privatnost i dobru pouzdanost u klijent-server komunikaciji preko Interneta. SSL je veoma jednostavan u svom konceptu: on ugovara kriptografske algoritme i ključeve između dve strane u komunikaciji i uspostavlja enkriptovani tunel kroz koji drugi protokoli kao što je HTTP mogu da se transportuju. Opciono, SSL može da autentifikuje obe strane u komunikaciji kroz upotrebu sertifikata. SSL je slojevit protokol koji se sastoji od 4 podprotokla: SSL Handshake Protocol

SSL Change Cipher Spec Protocol SSL Alert Protocol SSL Record Layer SecLab 05 Navedeni protokoli prikazani su u okviru TCP/IP modela na slici 1. A njegovo funkcionisanje na slici 2. SSL v2.0 Je objavljen od strane kompanije Netscape Communications 1994. god. Glavni cilj ovog protokola je bio da se omogući sigurnost za transakcije preko weba. Na nesreću uskoro su otkriveni brojni sisgurnosni propusti i tako su ga učinili manje pouzdanim za komercijalnu upotrebu. PCT v1.0

Je protokol razvijen 1995. od strane kompanije Microsoft. Privacy Communication Technology (PCT) v1.0 je trebao da otkloni neke slabosti SSL v2.0, sa namerom da ga zameni u upotrebi. Ovaj protokol niakda nije dobio popularnost kao SSL v3.0. SSL v3.0 Je objavljen 1996. Od strane kompanije Netscape Communications. SSL v3.0 je rešio većinu problema u verziji SSL v2.0, i uvrstio mnogo karakteristika PCT protokola. Veoma brzo, SSL v3.0 je postao najpopularniji protokol za sigurnost komunikacije preko WWW. TLS v1.0 (poznat i kao SSL v3.1) TLS je objavio IETF 1999. god. (RFC 2246). Protokol je baziran na SSL v3.0 i PCT i tako usaglašava pristup kompanija Netscape i Microsoft. Važno je napomenuti, da iako je TLS baziran na SSL protokolu on nije 100% kompatibilan sa njegovim prethodnikom. IETF je izvršio nekoliko sigurnosnih poboljšanja koje su dovele do toga da ova dva protokola ne mogu u potpunosti da budu operativni. TLS ima podršku za rad u SSL v3.0 modu. WTLS WTLS je bežična i mobilna verzija TLS protokola koja koristi UDP protokol kao noseći protokol. Optimizovan je za manje propusne opsege i manje procesirajuće resurse uređaja koji podržavaju WAP. WTLS je počeo da se uvodi sa WAP 1.1 protokolom, i objavio ga je WAP Forum. Posle objavljivanja WAP 2.0 protokola, WTLS je zamenjen profilisanom verzijom TLS protokola. Priprema virtuelnih mašina za vežbu Za kompletiranje ove vežbe potrebno je pokrenuti Oracle VirtualBox. Nakon startovanja programa otvoriće se prozor sledećeg izgleda. Instalirane virtualne mašine nalaze se u levom delu prozora. Ako se u tom delu ne nalazi ni jedna virtuelna mašina, znači da one trenutno nisu kreirane. Import postojeće virtuelne mašine vrši se aktiviranjem opcije menija File > Import Appliance... ili kombinacijom tastera Ctrl+I.

Nakon aktiviranja te opcije otvara se sledeći prozor. Odabir fajla sa mašinom koja će se importovati vrši se klikom na taster Open appliance... Posle aktiviranja te opcije potrebno je odabrati fajl na disku koji sadrži virtuelnu mašinu pripremljenu za import (to je fajl koji je kreiran u Oracle VirtualBox-u na osnovu postojeće virtualne mašine i opcijom Export appliance...). Za ovu vežbu potrebno je odabrati fajl pod nazivom CentosLab.ova. Kada se pojavi sledeći prozor potrebno je pokrenuti opciju Import.

Sada će se importovana virtuelna mašina pojaviti u levom prozoru. Ako je potrebno startovati virtuelnu mašinu to se vrši klikom na ikonicu virtuelne mašine u levom prozoru i aktiviranjem opcije Start. Ako je potrebno kreirati više virtualnih mašina do se vrši klikom desnog tastera na ikonicu virtuelne mašine i odabirom opcije Clone... Napomena: Kloniranje virtuelne mašine nije potrebno za ovu vežbu. Posle aktiviranja opcije potrebno je odabrati naziv klonirane mašine i aktivirati opciju Next. Za kreiranje klona virtualne mašine potrebno je odabrati Full clone i opciju Clone.

Konfigurisanje rutera Korak 1.1. Nakon stratovanja virtuelne mašine CentOSLab, tj. servera potrebno je pokrenuti FTP server vsftpd: [root@rt~]# service vsftpd start Starting vsftpd: [ OK ] Korak 1.2. Zatim je potrebno je dodati korisnika proba i podesiti njegovu lozinku: [root@rt~]# adduser proba [root@rt~]# password proba Korak 1.3. Sada je potrebno podesiti sistemsku promenljivu koja dozvoljava korisnicima logovanje u njihov home direktorijum na FTP serveru. To se vrši komandom: [root@rt~]# getsebool -a grep ftp_home_dir Ako se dobije izveštaj kao u nastavku (off) taj pristup niej dozvoljen. ftp_home_dir --> off Dozvoljavanje korisicima pristupa u home direktorijum se vrši komandom: [root@rt~]# setsebool ftp_home_dir on Sada bi prikaz sistemskog podepavanja bio sledeći: [root@rt~]# getsebool -a grep ftp_home_dir ftp_home_dir --> on Korak 1.4. Sada je potrebno proveriti da li funkcioniše pristu na FTP server. Pristup će se obaviti sa lokalne mašine na istu virtuelnu mašinu, pa će se za naziv servera koristi localhost. Zbog lokalnog pristupa u ovoj vežbi se ne moraju podesiti IP adrese za virtuelnu mašinu. Ako se želi simulirati pristup preko TCP/IP mreže, potrebno je kreirati dve virtuelne mašine i dodeliti im odgovarajuće IP adrese. Pristup FTP serveru vrši se naredbom:

[root@rt~]# ftp localhost Nakon čega je potrebno uneti korisničko ime proba i lozinku 123456. Ako je pristup obavljen uspešno dobiće se sledeći prikaz: ftp> Prikaz sadržaja korisnikovog direktorijuma na FTP serveru se dobija naredbom: ftp> ls Prenos datoteke sa lokalnog računara (računara sa kojeg se izvršilo konektovanje na FTP server) vrši se naredbom put. Npr. u ovom primeru se može izvršiti transfer datoteke install.log sledećom naredbom: ftp> put install.log Ponovo se može proveriti sadržaj direktorijuma korisnika na FTP serveru naredbom ls. Sada bi direktorijum trebao da sadrži prebačeni dokument. ftp> ls Izlaz se vrši naredbom exit: ftp> exit Korak 1.5. Pristup FTP serveru se može izvšriti i pomoću programa sftp koji koristi SFTP protokol zasnovan na SSH protokolu. Ovaj protokol omogućava sigurni prenos podataka: [root@rt~]# sftp ddobrilo@localhost U ovom slučaju unosi se samo lozinka 123456 a pristup FTP serveru je isti kao i u koraku 1.4, kao i prenos datoteka koji se obavlja komandom put. Za vežbu se u ovom slučaju može iskopirati dokument install.log.syslog. Konfigurisanje FTP servera Korak 2.1. Sada je potrebno koristiti OpenSSL paket da bi se generisao sertifikat za vsftpd. Sertifikat će se nalaziti na serveru na lokaciji po izboru administratora, npr. u /etc/vsftpd direktorijumu. Takođe, administrator određuje živorni vek sertifikata, npr. za godinu dana se unosi ( -days 365 ). Znak \ predstavlja prekid linije. root@rt# openssl req -x509 -nodes -days 365 -newkey rsa:1024 \ -keyout /etc/vsftpd/vsftpd.pem \ -out /etc/vsftpd/vsftpd.pem Korak 2.2. Konfiguracija vsftpd servera Da bi se izvršila konfiguracija vsftpd servera potrebno je u dokument /etc/vsftpd/vsftpd.conf dodati sledeće linije. To se može uraditi upotrebom vi editora i komandom vi

/etc/vsftpd/vsftpd.conf. Za unos novog teksta potrebno je pritisnuti taster I (insert) a za izlazak i snimanje promena taster Esc, a zatim wq. Ako se želi izlazak iz dokumenta bez snimanja promena potrebno je pritisnuti taster Esc i tastere q! (delove teksta sa znakom # nije potrebno unositi budući da su to komentari): # Turn on SSL ssl_enable=yes # Allow anonymous users to use secured SSL connections allow_anon_ssl=no # All non-anonymous logins are forced to use a secure SSL connection in order to # send and receive data on data connections. force_local_data_ssl=no # All non-anonymous logins are forced to use a secure SSL connection in order to send # the password. force_local_logins_ssl=no # Permit TLS v1 protocol connections. TLS v1 connections are preferred ssl_tlsv1=yes # Permit SSL v2 protocol connections. TLS v1 connections are preferred ssl_sslv2=no # permit SSL v3 protocol connections. TLS v1 connections are preferred ssl_sslv3=no # Specifies the location of the RSA certificate to use for SSL encrypted connections rsa_cert_file=/etc/vsftpd/vsftpd.pem Budući da je izvršena promena konfiguracije potrebno je izvršiti restart vsftpd servera: [root@rt~]# service vsftpd restart Stoping vsftpd: [ OK ] Starting vsftpd: [ OK ] Ili naredbom: root@vps# /etc/rc.d/init.d/vsftpd restart Korak 2.3. Sada će i dalje pristup FTP serveru biti moguć i kroz neekriptovan pristu sa ftp programom i istoimenim protokolom, sftp programom i istoimenim protokolom ali i sa enkriptovanim protokolima SSL i TLS. Ako se u /etc/vsftpd/vsftpd.conf dokumentu uz pomoć vi editora podesi: force_local_logins_ssl=yes tada će svi korisnici morati da koriste FTP klijent program sa podrškom za AUTH TLS/SSL da vi se konektovali. Ako se ostavi "NO" korisnici se mogu konektovati i preko nesignurne veze. Zadatak 1 Promeniti sadržaj konfiguracionog fajla FTP servera i dodeliti vrednost parametra force_local_logins_ssl=yes i restartovati vsftpd server zbog promene konfiguracije. Sada pokušati konekciju na FTP server programima ftp i sftp. Šta će se dogoditi?

Zadatak 2 Uraditi istu vežbu uz upotrebu dve virtualne mašine. Da bi se to postiglo potrebno je: 1. Klonirati virtuelnu mašinu kao što je pokazano na početku ovog dokumenta. 2. Dodeliti prvoj virtuelnoj mašini i njenom interfejsu eth0 IP adresu 192.168.0.1 3. Dodeliti drugoj virtuelnoj mašini i njenom interfejsu eth0 IP adresu 192.168.0.2 4. Startovati vsftpd server na prvoj virtualnoj mašini 5. Na istoj virtuelnoj mašini kreirati korisnika novaproba i dodeliti mu proizvoljnu lozinku 6. Pokušati pristup preko ftp protokola sa druge virtualne mašine na prvu virtuelnu mašinu 7. Generisati sertifikat za FTP server 8. Izvršiti izmenu konfiguracije FTP servera (prva virtuelna mašina) kao u primeru u vežbi 9. Izvršiti pristup FTP server preko bezbedne konekcije Konekcija sa sigurnim FTP klijentskim programima Postoji nekoliko FTP klijentskih programa sa podrškom za AUTH TLS / SSL / SFTP. To su: CoreFTP (http://www.coreftp.com), WinSCP, FireFTP (http://fireftp.mozdev.org/), itd. Literatura