Professional Documents
Culture Documents
Seminarski
Seminarski
Seminarski rad
Instalacija FTP Servera/Klijenta u računarskoj mreži
Haso Ibrišević
Sadržaj
Uvod.......................................................................................................................................................3
Komunikacija i prenospodataka.............................................................................................................3
Autentifikacijakod FTP protokola..........................................................................................................6
Ranjivostikod FTP protokola..................................................................................................................6
Pogađanje lozinki...............................................................................................................................6
FTP bounce napad..............................................................................................................................7
Enumeracija korisnika........................................................................................................................7
Krađa portova.....................................................................................................................................7
Implementacijske ranjivosti................................................................................................................7
Sigurnosna proširenja FTP protokola.....................................................................................................8
FTPS..................................................................................................................................................8
SFTP..................................................................................................................................................8
Instalacija FTP servera.......................................................................................................................9
Zaključak..............................................................................................................................................10
Uvod
FTP (File Transfer Protocol) je protokol aplikacijskog sloja koji se koristi za prijenosdatoteka
između klijenta i servera u računaskoj mreži preko TCP (Transmission ControlProtocol) veze.
Prva specifikacija FTP protokola objavljena je 1971. godine u RFC-u 114
(Request For Comments), a aktualna specifikacija protokola je opisana u RFC-u 959.FTP
koristi klijent-server arhitekturu i dvije veze između klijenta i servera:prvu za dogovaranje i
kontrolne poruke, a drugu za prijenos podataka. FTP server
uobičajeno osluškuje klijentske konekcije na portu 21, a klijent koristi proizvoljan
port.Korisnici FTP protokola se mogu autentificirati koristeći korisničko ime i lozniku koji se
prenose nezaštićeni u tekstualnom obliku, ali mogu se spojiti i kao anonimni korisnici ako
konfiguracija servera to dozvoljava. Protokol sam po sebi nije siguran i svi podaci se prenose
nezaštićeni, tj. ako netko prisluškuje mrežu vidjeti će podatke. . Podaci i kontrolne poruke
koje se prenose se mogu zaštititi korištenjem FTP-a preko TLS-a (Transport LayerSecurity)
ili tuneliranjem njegovog prometa kroz SSH (Secure Shell).
Klijentski proces koji upravlja kontrolnom vezom inicira vezu, šalje FTP naredbe i upravlja
klijentskim procesom za prijenos podataka. Serverski proces kontrolne veze osluškuje veze od
strane klijentskog, uspostavlja vezu, prima FTP naredbe i upravlja serverskim procesom za
prijenos podataka. Serverski proces za prijenos podataka u pretpostavljenom aktivnom načinu
rada uspostavlja komunikaciju s klijentskim procesom, postavlja potrebne parametre za
prijenos i pohranu podataka i prenosi podatke na zahtjev kontrolnog procesa. U pasivnom
načinu rada serverski proces za prijenos
podataka ne inicira konekciju već ju očekuje od strane klijentskog procesa. Pasivni i aktivni
način rada FTP protokola su detaljno opisani u kasnijem tekstu.
Nakon uspostave veze klijent komunicira s FTP serverom tako da mu šalje
naredbe kroz kontrolnu vezu. Neke od tipičnih naredbi su:
1xx – tražena akcija je započela, klijent može očekivati još jedan odgovor prije nego
pošalje novu naredbu.
2xx – tražena akcija je uspješno obavljena i klijent može poslati novu naredbu.
3xx– naredba je prihvaćena, ali server treba dodatne informacije kako bi ju
izvršio. Od klijenta se očekuje da pošalje te informacije u idućoj naredbi.
4xx – naredba nije prihvaćena i tražena akcija nije izvršena, ali greška je
privremena i klijent može poslati naredbu ponovo.
5xx – naredba nije prihvaćena i tražena akcija nije izvršena, klijentu se ne
preporuča ponovno slanje naredbe ili slijeda naredbi koji uzrokuju grešku.
# ftp ftp.example.com
Connected to ftp.example.com.
220 example FTP server (Version 5.53 Tue Aug 25 10:46:12 MDT 1992)
ready. -- USER user Name (ftp.example.com :user): user 331 Password required for user.
Password:
-- PASS pass
230 User user logged in.
ftp> cd public/
250 CWD command successful.
ftp> ls
200 PORT command successful.
550 No files found.
ftp> put example.txt
200 PORT command successful.
150 Opening ASCII mode data connection for example.txt.
226 Transfer complete.
local: example.txt remote: example.txt
1882 bytes sent in 0.0095 seconds (1.9e+02 Kbytes/s)
ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for file list.
example.txt
226 Transfer complete.
9 bytes received in 0.0021 seconds (4.3 Kbytes/s)
ftp> quit
221 Goodbye.
U prikazanom primjeru FTP sesije korisnik se prvo autentificira slijedom naredbi USER pa
naredbom PASS kao korisnik user. Zatim se naredbom CWD pozicionira u direktorij public
i zatim učita datoteku example.txt na udaljeni server.FTP podržava dva načina rada: pasivni i
aktivni. Oba načina rada su prikazani na slici 2
FTP protokol kao i mnogi stariji protokoli nije dizajniran da bude siguran i sadrži
mnoge sigurnosne ranjivosti. U nastavku su opisani neke od ranjivosti FTP protokola i
potencijalni napadi koji iskorištavaju te ranjivosti.
Pogađanje lozinki
FTP napad
Ovaj napad iskorištava
PORT naredbu FTP protokola za napadanje žrtve pri čemu je
teško odrediti od kuda dolazi napada jer se FTP server koristi kao posrednik. Naredba
PORT služi kako bi klijent specificirao port na koji se server spaja u aktivnom načinu
rada. Napadač šalje FTP PORT naredbu FTP serveru, ali s IP adresom i portom žrtve.
Na ovaj način napadač može otkriti otvorene portove na žrtvinom računalu i dobiti pristup
portovima kojima inače kroz direktnu komunikaciju nema.
Enumeracija korisnika
Standardna specifikacija FTP protokola pretpostavlja slanje odgovora 530 kada je korisničko
ime neispravno, a u slučaju kada je ispravno server šalje odgovor 331. Ovo se može
iskoristiti za enumeraciju korisničkih imena. Kako bi se spriječila ova ranjivost, preporuča se
da server uvijek vraća odgovor 331 na USER naredbu, a prekida komunikaciju nakon što se
pošalje lozinka. Na ovaj način server uvijek šalje istu poruku neovisno o tome je li poslano
krivo korisničko ime ili lozinka
Krađa portova
Implementacijske ranjivosti
FTPS
SFTP
SFTP (SSH File Transport Protocol) je protokol koji omogućava pristup i prijenos
podataka preko bilo kojeg pouzdanog toka podataka, npr. preko SSH (
Secure Shell)tunela. Ovaj protokol pretpostavlja da se komunikacija odvija preko sigurnog
kanala, te da je server autentificirao korisnika i da je identitet korisnika poznat. S obzirom da
se SFTP odvija preko SSH tunela, on je inherentno siguran, nije moguće birati hoće li se
podatci šifrirati ili ne. SFTP također daje detaljnije podatke o datotekama kojima se barata i
omogućava dodatne operacije nad tim datotekama koje inače u FTP protokolu nisu
podržane. Protokol se također može koristiti u kombinaciji s nekim drugim oblikom
sigurnog kanala poput onoga koji daje TLS protokol.
1. Idite na Start > Control Panel > Administrative Tools > Server Manager u
Windows Server Manageru.
2. Idite na Roles . Desni klik na Roles, onda kliknuti na Add Roles.
3. U Add Roles prozoru, otvoriti Server Roles i čekirati Web Server (IIS).
4. Proći kroz setup wizard, i kliknuti Install. Sačekati da se instalacija završi.
Ako je IIS instaliran (kao Web server)
1. Ići na Start > Control Panel > Administrative Tools > Server Manager
2. U Windows Server Manager, ići na Roles , i proširiti Web Server (IIS).
3. Desni klik na Web Server (IIS), pa kliknuti na Add Role Services
4. U Add Role Services prozoru, ići na Roles Services, i čekirati FTP Server.
5. Potvrditi da je IIS Management Console čekiran ispod Management Tools
6. Kliknuti Next, pa onda Install.Sačekati da se instalacija završi.
Transfer fajlova
Za prenos fajlova potrebno je uključiti FTP site. Kada je FTP site osposobljen, klijent može
prebacivati fajlove na isa sajta koristeći FTP protocol.
Instalacija FTP site:
1. Idite na Start > Control Panel > Administrative Tools > Internet Information
Services (IIS) Manager.
2. Kada je IIS console otvoren, proširite lokalni server.
3. Desni klik na Sites, te klik na Add FTP Site
U Add FTP Site prozoru, napisati ime FTP servera i njegovu putanju, te kliknuti Next.
Putanja bi trebala biti ista kao i putanja za stavljanje permisije za anoniman ulazak na server,
koristili smo:
%SystemDrive%\ ftp \ftproot
U opcijama Binding and SSL Settings , ukucati IP addresu servera. Čekirati Start FTP Site
Automatically opciju. Izaberite SSL Based on Constraint. Kliknite Next.
6. Sada, izaberite Basic zaautentikaciju.
7. Kliknuti Finish. Postavljanje FTP sajta je završena.
FTP protokol je protokol aplikacijskog sloja koji služi za prijenos podataka i danas
se vrlo često koristi, iako je nesiguran. S obzirom da sigurnost nije uzeta u obzir prilikom
stvaranja ovog protokola postoje mnoge ranjivosti u njemu koje napadači mogu iskoristiti
za maliciozne radnje. Kako bi se navedene ranjivosti ublažile i omogućilo sigurno
korištenje FTP protokola napravljeni su novi protokoli kao sigurnosna proširenja FTP
protokola. Navedena sigurnosna proširenja omogućuju prijenos podataka preko sigurnog
kanala koji osigurava njihovu tajnost i integritet.