Slijede razlike između dviju inačica stranice.
Novija izmjena | Starija izmjena | ||
racfor_wiki:protokoli:file_transfer_protocol [2021/12/23 10:32] dmilosevic stvoreno |
racfor_wiki:protokoli:file_transfer_protocol [2023/06/19 18:17] (trenutno) |
||
---|---|---|---|
Redak 3: | Redak 3: | ||
===== Sažetak ===== | ===== Sažetak ===== | ||
- | How do you write an abstract? Identify your purpose. You're writing about a correlation between lack of lunches in schools and poor grades. … Explain the problem at hand. Abstracts state the “problem” behind your work. … Explain your methods. … ([[https:// | + | Komunikacijske mreže dijele se na više slojeva. Na svakom sloju podacima upravljaju i prenose ih različiti protokoli. File Transfer Protocol je protokol najvišeg, aplikacijskog sloja, čija je zadaća prijenos datoteka s jednog računala na drugo. Pri tome, protokol FTP može koristiti različite načine rada, a može prenositi i različite tipove datoteka. S obzirom da FTP nema implementirane sigurnosne mehanizme, to ga čini ranjivim na razne mrežne napade. Zbog toga su razvijene sigurnosne nadogradnje izvornog protokola koje ga čine sigurnijim za mrežnu komunikaciju. |
+ | |||
+ | Ključne riječi: File Transfer Protocol; prijenos datoteka; klijent-poslužitelj arhitektura; | ||
- | Ključne riječi: File Transfer Protocol; datoteke; klijent-poslužitelj arhitektura; | ||
===== Uvod ===== | ===== Uvod ===== | ||
Redak 57: | Redak 58: | ||
===== Tipovi podataka i načini prijenosa ===== | ===== Tipovi podataka i načini prijenosa ===== | ||
+ | Protokolom FTP mogu se prenositi različiti tipovi podataka, a definirana su četiri tipa. Prvi tip je ASCII (TYPE A) koji se koristi za prijenos običnog teksta. Protokol FTP, u slučaju potrebe, može pretvoriti podatke u 8-bitni ASCII na strani pošiljatelja, | ||
+ | Za tekstualne datoteke (odnosno TYPE A i TYPE E) definirana su tri kontrolne opcije koje određuju kako će datoteka biti printana. Prva opcija je Non-print koja ne nosi nikakve kontrolne podatke za printer. Druga opcija je Telnet koja nosi kontrolne znakove poput CR, LF itd. I zadnja opcija je ASA koja nosi ASA kontrolne znakove. | ||
- | ===== Poglavlje 3 ===== | + | Za prijenos podataka definirana su tri načina: stream, block i compressed mode. U stream načinu rada podaci se šalju kao kontinuirana struja podataka. Na ovaj način FTP ne mora raditi nikakvo procesiranje, |
- | ===== Poglavlje ... ===== | ||
+ | ===== Inačice protokola FTP ===== | ||
+ | Ukupno postoje četiri inačice protokola FTP. Neke su samo jednostavnije inačice izvornog protokola, a druge su sigurnosne nadogradnje. | ||
+ | ==== TFTP ==== | ||
+ | Trivijalni FTP (engl. Trivial FTP) je samo jednostavni FTP koji klijentu omogućuje dohvat ili objavu datoteke na udaljeni poslužitelj. Ova inačica protokola je vrlo jednostavna za implementaciju, | ||
+ | ==== SFTP ==== | ||
+ | Jednostavni FTP (engl. Simple FTP) je protokol za razmjenu podataka čija je složenost veća od TFTP-a, a manja od FTP-a. Ova inačica, isto kao i TFTP, nema implementirane sigurnosne mehanizme. SFTP nikad nije u potpunosti prihvaćen u praksi, ali ima status povijesnog protokola koji mu je dodijelio IETF (Internet Engineering Task Force). SFTP za rad koristi port 115, definira 11 naredbi za komunikaciju i može prenositi tri vrste podataka: binarne, ASCII i kontinuirane. Isto kao FTP, podržava prijavu pomoću korisničkog imena i lozinke. Uz to, direktoriji i upravljanje datotekama organizirani su hijerarhijski. | ||
+ | ==== SSH FTP ==== | ||
+ | FTP over SSH tunelira FTP sjednicu preko Secure Shell konekcije. Međutim, zbog činjenice da FTP koristi više TCP konekcije istovremeno, | ||
+ | ==== FTPS ==== | ||
+ | FTPS ili FTP Secured je proširenje osnovnog protokola FTP koji omogućava šifriranje sjednica između klijenata i poslužitelja. Nakon uspostave FTP sjednice, za zaštitu se koristi SSL/TLS. Ovaj pristup još se naziva implicitnim, | ||
+ | ===== Sigurnost i ranjivosti ===== | ||
+ | FTP u svom izvornom obliku nije dizajniran kao sigurni protokol što je onda dovelo do toga da ima brojne ranjivosti. Primjeri ranjivosti protokola FTP su: brute-force napad, FTP bounce napad, packet capture, port stealing, spoofing napadi, username enumeration, | ||
+ | Protokol FTP za korištenje zahtjeva prijavu pomoću korisničkog imena i lozinke. Za prijenos ovih podataka koriste se dvije naredbe prilikom uspostave sjednice između klijenta i poslužitelja, | ||
- | ===== Zaključak | + | ===== Usporedba FTP i HTTP ===== |
+ | Glavna razlika između protokola FTP i HTTP je ta što FTP održava stanje sjednice, odnosno on je stateful protokol. S druge strane, HTTP protokol ne održava stanje sjednice što ga čini stateless protokolom. FTP za komunikaciju koristi dvije veze za kontrolu i prijenos podataka, dok HTTP multipleksira jednu vezu koja istovremeno služi za kontrolu i prijenos podataka. Kod FTP-a smjer veze može biti od klijenta prema poslužitelju ako se radi o pasivnom načinu rada ili obrnuto od poslužitelja prema klijentu ako se radi o aktivnom načinu rada. Veza kod HTTP-a uvijek je klijenta prema poslužitelju. Također, HTTP lakše funkcionira s NAT uređajima i vatrozidima zbog postojanja samo jedne veze. | ||
+ | Uspostava kontrolne veze kod FTP-a spora je zbog kašnjenja prilikom slanja naredbi i čekanja na odgovor druge strane. Zbog toga kontrolna veza ostaje otvorena kod prijenosa više datoteka. Kod HTTP-a veza se može raskinuti nakon slanja i ponovno uspostavit prilikom novog slanja zbog toga što je ostvarivanje veze vrlo brzo. Međutim, danas HTTP ima mogućnost korištenja iste TCP veze za prijenos više zahtjeva. Prilikom slanja podataka, kontrolna veza protokola FTP miruje. Ako prijenos podataka traje jako dugo, NAT ili vatrozid mogu zaključiti da je kontrolna veza mrtva, te će ju prestati pratiti što posljedično dovodi do raskida kontrolne veze i prekida prijenosa podataka. S druge strane, HTTP veze miruju samo kada nema zahtjeva i za njih se očekuje prekid nakon što istekne kontrolno vrijeme. | ||
+ | ==== Brute-force napad ==== | ||
+ | Brute-force napad ili napad grubom silom je napad kod kojeg napadač pokušava pogoditi lozinku kako bi provalio u neki sustav. Napad se odvija tako što napadač koristi veliki skup različitih lozinki koje jednu za drugom predaje sustavu i pokušava se u njega prijaviti s nadom da će jedna od lozinki biti ona prava. Kod FTP-a ovakav napad je moguć jer neki FTP poslužitelji zahtijevaju korisničku autentifikaciju prije uspostave podatkovne sjednice. | ||
+ | |||
+ | ==== FTP bounce attack ==== | ||
+ | Ova vrsta napada na FTP protokol posljedica je nedostatka u implementaciji naredbe PORT. Zbog ovog propusta napadač može zatražiti indirektni pristup portovima poslužitelja, | ||
+ | |||
+ | ==== Snimanje paketa ==== | ||
+ | Snimanje paketa (engl. packet capture) je napad koji uključuje snimanje mrežnog prometa i promatranje i analizu sadržaja paketa koji se razmjenjuju između različitih računala. Kod FTP protokola snimanje paketa je moguće zbog toga što izvorna verzija protokola FTP nema nikakvu zaštitu, odnosno podaci se prenose u obliku čistog teksta bez šifriranja. Radi ovog problema razvijene su nadogradnje protokola FTP poput protokola FTPS i FTP over SSH. | ||
+ | |||
+ | ==== Spoofing napad ==== | ||
+ | Spoofing napad je vrsta napada kod kojeg napadač lažira mrežni promet i pokušava se predstaviti kao neko legitimno računalo. To se postiže tako što napadač lažira svoju IP adresu i šalje pakete žrtvi koja onda misli kako ti paketi dolaze od nekog računala od kojeg očekuje primiti podatke. Osim nedostatka sigurnosti kod FTP protokola ovaj napad je moguć i zbog toga što FTP u pozadini koristi TCP/IP koji je ranjiv upravo na ovaj napad. Još jedan protokol nižeg sloja komunikacije koji je ranjiv na ovaj napad je ARP što FTP dodatno čini ranjivim na ovaj napad. | ||
+ | |||
+ | ==== DoS i DDos napad ==== | ||
+ | DoS (Denial of Service) i DDoS (Distributed Denial of Service) su napadi uskraćivanja usluge. Cilj ovog napada je učiniti neko računalo, poslužitelj ili uslugu u mreži nedostupnim za korištenje. Napad se izvodi tako što napadač zagušuje poslužitelja slanjem velikog broja zahtjeva čime želi preopteretiti sustav. Kod DoS napada samo jedno računalo šalje zahtjeve, dok kod DDoS napada zahtjeve šalje veći broj računala. FTP je na ovaj napad ranjiv zbog toga što ne posjeduje sigurnosne mehanizme, ali i zato što se pri radu oslanja na TCP, a on je ranjiv na ovu vrstu napada. Također, na nižim slojevima koristi se protokol ARP koji je isto ranjiv na DoS napad. | ||
+ | |||
+ | ===== Zaključak ===== | ||
+ | |||
+ | FTP je protokol aplikacijskog sloja čija je zadaća prijenos datoteka između poslužitelja i klijenta. Za komunikaciju se uspostavljaju kontrolna veza i veza za prijenos podataka, tj. dvije sjednice. Na poslužiteljskoj strani koriste se dobro poznati portovi 20 i 21, a na klijentskoj strani koriste se slučajno odabrani portovi. FTP podržava aktivni i pasivni način rada, pri čemu se pasivni koristi kada je klijent iza vatrozida ili NAT-a. Podaci se prenose na tri načina – u obliku struje ili blokova podataka ili komprimirani. FTP nema nikakve sigurnosne mehanizme što znači da se podaci prenose u obliku čistog teksta. To ga čini ranjivim na brojne mrežne napade. Radi povećanja sigurnosti, za FTP su razvijena sigurnosna proširenja poput protokola FTPS i SSH FTP. | ||
===== Literatura ===== | ===== Literatura ===== | ||
- | [1] [[http://books.google.hr/books? | + | [1] FTP (File Transfer Protocol), |
+ | |||
+ | [2] File Transfer Protocol, [[https:// | ||
+ | |||
+ | [3] FTP bounce attack, [[https:// | ||
+ | |||
+ | [4] FTP bounce attack, [[https:// | ||
+ | |||
+ | [5] DoS i DDoS, [[https:// | ||
- | [2] [[http://www.google.com/books? | + | [6] DoS i DDoS, [[https://en.wikipedia.org/wiki/ |
- | [3] [[http://www.cogtech.usc.edu/publications/kirschner_Sweller_Clark.pdf|Kirschner, | + | [7] FTP naredbe, |