sveu ČiliŠte u splitu -...

59
SVEUČILIŠTE U SPLITU SVEUČILIŠNI STUDIJSKI CENTAR ZA STRUČNE STUDIJE STUDIJ RAČUNARSTVA DIPLOMSKI RAD FTP POSLUŽITELJ Split, veljača 2008.

Upload: lydieu

Post on 06-Feb-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

SVEUČILIŠTE U SPLITU

SVEUČILIŠNI STUDIJSKI CENTAR ZA STRUČNE STUDIJE

STUDIJ RAČUNARSTVA

DIPLOMSKI RAD

FTP POSLUŽITELJ

Split, veljača 2008.

Page 2: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu
Page 3: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

Sadržaj Sažetak ....................................................................................................................................... 1 Uvod ........................................................................................................................................... 2 1. Povijest FTP-a ........................................................................................................................ 3 2. Općenito o FTP-u ................................................................................................................... 4 3. FTP sa strane Poslužitelja ...................................................................................................... 5

3.1 FTP arhitektura................................................................................................................. 5 3.1.1 Elementi FTP procesa na Poslužitelju....................................................................... 5 3.1.2. Elementi FTP procesa na korisničkoj strani............................................................. 6

3.2 ASCII i binarni način prijenosa datoteka ......................................................................... 6 3.3 FTP pristup i autorizacija ................................................................................................. 7 3.4 FTP sigurnost ................................................................................................................... 7

3.4.1 FTPS.......................................................................................................................... 7 3.4.2 SFTP (Secure FTP) ................................................................................................... 8 3.4.3 TLS (Transport Layer Security)................................................................................ 8

4. FTP sa strane Klijenta ............................................................................................................ 9 4.1 Autorizirani i anonimni pristup FTP-u (primjeri sesije) ................................................. 9

4.1.1 Autorizirani pristup ................................................................................................... 9 4.1.2 Anonimni FTP......................................................................................................... 10

4.2 Aktivni i pasivni FTP ..................................................................................................... 11 4.2.1 Aktivni FTP............................................................................................................. 12 4.2.2 Pasivni FTP ............................................................................................................. 12

4.3 PASV i PORT sigurnost................................................................................................. 13 4.3.1 PASV napadi ........................................................................................................... 13 4.3.2 PORT napadi ........................................................................................................... 13

4.4 FTP naredbe ................................................................................................................... 14 4.5 FTP greške i statusni kodovi .......................................................................................... 16 4.6 Specijalizirani FTP klijenti............................................................................................. 19

4.6.1 FTP Explorer ........................................................................................................... 19 4.6.2 CuteFTP .................................................................................................................. 21 4.6.3 FileZilla ................................................................................................................... 22

4.7 Pristup FTP poslužitelju iz Web pretraživača ................................................................ 23 4.8 FTP klijent iz komandne linije ....................................................................................... 24

5. Instalacija Serv-U FTP poslužitelja na operativnom sustavu Windows XP Professional ... 25 6. Instalacija FTP poslužitelja na operativnom sustavu Windows Server 2003 ...................... 27

6.1 Instalacija ....................................................................................................................... 27 6.2 Korištenje skripte Iisftp.vbs ........................................................................................... 28

6.2.1 Kreiranje domene .................................................................................................... 28 6.2.2 Pokretanje domene .................................................................................................. 30 6.2.3 Zaustavljanje domene.............................................................................................. 30 6.2.4 Pauziranje domene .................................................................................................. 31 6.2.5 Izlistavanje domena................................................................................................. 32 6.2.6 Podešavanje Active Directory User Isolation ......................................................... 33 6.2.7 Brisanje domene...................................................................................................... 34

7. Instalacija vsftpd poslužitelja na Linuxu (Red Hat distribucija)......................................... 35 8. Serv-U – mogućnosti i osnovne konfiguracijske postavke .................................................. 36

8.1 Sigurnost......................................................................................................................... 36 8.2 Način rada sa korisnicima .............................................................................................. 36

Page 4: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

8.2.1 Dodavanje korisnika................................................................................................ 36 8.2.2 Brisanje korisnika.................................................................................................... 36 8.2.3 Druge radnje sa korisnicima.................................................................................... 37

8.3 Mogućnosti korisnika..................................................................................................... 37 8.3.1 Ograničenje diskovnog prostora.............................................................................. 37 8.3.2. Pristupi i zabrane za korisnike ............................................................................... 37

9. FTP na operativnom sustavu Windows Server 2003 - mogućnosti i osnovne konfiguracijske postavke.................................................................................................................................... 38

9.1 Sigurnost......................................................................................................................... 38 9.2 Način rada sa korisnicima .............................................................................................. 38

9.2.1 Dodavanje korisnika................................................................................................ 38 9.2.2 Brisanje korisnika.................................................................................................... 39 9.2.3 Druge radnje sa korisnicima.................................................................................... 39

9.3 Mogućnosti korisnika..................................................................................................... 40 9.3.1 Pristupi i zabrane za korisnike ................................................................................ 40 9.3.2 Mogućnosti kretanja korisnika ................................................................................ 40 9.3.3 Pravo čitanja i pisanja nad određenim direktorijem................................................ 40 9.3.4 Upravljanje sa zaporkama ....................................................................................... 40 9.3.5 Ograničenje diskovnog prostora.............................................................................. 41

10. vsftpd poslužitelj na operativnom sustavu Linux, distribucija Fedora - mogućnosti i osnovne konfiguracijske postavke ........................................................................................... 42

10.1 Sigurnost....................................................................................................................... 42 10.2 Način rada sa korisnicima ............................................................................................ 44

10.2.1 Dodavanje korisnika.............................................................................................. 44 10.2.2 Brisanje korisnika.................................................................................................. 45 10.2.3 Druge radnje sa korisnicima.................................................................................. 46

10.3 Mogućnosti korisnika................................................................................................... 48 10.3.1 Pristupi i zabrane za korisnike .............................................................................. 48 10.3.2 Mogućnosti kretanja korisnika .............................................................................. 49 10.3.3 Pravo čitanja i pisanja nad određenim direktorijem.............................................. 50 10.3.4 Ograničenje diskovnog prostora............................................................................ 50

11. Skripte za automatizirano spajanje i transfer određene datoteke za Windows operativne sustave i Linux platforme......................................................................................................... 52

11.1. Primjer LINUX sesije.................................................................................................. 52 11.2 Primjer Windows sesije................................................................................................ 52

12. Zaključak............................................................................................................................ 53 13. Literatura ............................................................................................................................ 55

Page 5: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

1

Sažetak

U teoretskom dijelu ovoga rada upoznat ćemo se sa povijesti FTP protokola te načinom na koji radi. FTP ćemo upoznati sa poslužiteljske ali i klijentske strane.

Gledano sa poslužiteljske strane, biti će govora o FTP arhitekturi, pristupu i autorizaciji, načinu prijenosa datoteka te o FTP sigurnosti, koja uključuje FTPS, SFTP i TLS.

Sa klijentske strane prvo će se obraditi pristup FTP serveru, koji može biti autorizirani ili anonimni. Nakon pristupa, upoznati ćemo se sa načinom rada, koji može biti aktivni ili pasivni. Također će biti govora i o sigurnosti. Obzirom da se komunikacija između FTP klijenta i FTP poslužitelja temelji na njihovoj međusobnoj razmjeni naredbi, biti će prikazan popis FTP naredbi sa objašnjenjima samo za one koje su najčešće korištene. Osim naredbi, obraditi će se i kodovi koje klijent i poslužitelj razmjenjuju, a predstavljaju greške ili tijek komunikacije. Na kraju teoretskog dijela upoznat ćemo neke specijalizirane FTP klijente.

Praktični dio baviti će se opisom i testiranjem FTP poslužitelja te radom na ovim operativnim sustavima:

� Windows Server 2003 � Linux, distribucija Fedora � Windows XP professional

Testiranje obuhvaća slijedeće FTP poslužitelje za navedene operativne sustave:

• FTP poslužitelj (Windows Server 2003) • Vsftpd (Linux, distribucija Fedora) • Serv-U (Windows XP professional)

FTP poslužitelj na Windows Server 2003 operativnom sustavu te vsftpd poslužitelj na Linux operativnom sustavu (distribucija Fedora) odabrani su jer dolaze kao gotovi paketi u tim operativnim sustavima, dok je na operativnom sustavu Windows XP testiran zaseban FTP poslužitelj, koji nije uključen u taj operativni sustav. Osim samog postupka instalacije, detaljnije upoznavanje FTP poslužitelja obuhvatit će njegovu konfiguraciju, način rada i mogućnosti. Praktični dio obuhvati će i skripte za automatizirano spajanje na poslužitelj i prijenos određene datoteke te pokretanje zadataka na pojedinim sustavima.

Page 6: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

2

Uvod

Tema ovoga rada su FTP poslužitelji. FTP je skraćenica od engleskog izraza “File

Transfer Protocol”, što u prijevodu znači “Protokol za prijenos podataka”.

FTP je, kao što sam naziv kaže, Internet protokol koji omogućuje prijenos podataka između klijenta i poslužitelja. Klijent je strana koja inicira zahtjev te čeka i zaprima odgovor, dok je poslužitelj druga strana koja čeka i zaprima zahtjev, izvršava ga te isporučuje odgovor klijentu.

Za spajanje na FTP poslužitelj, korisnik mora imati specijalizirani program, FTP klijent. FTP klijent komunicira sa FTP poslužiteljem preko niza naredbi, koje, između ostalog, omogućuju spajanje, pretragu, podizanje, brisanje, te način prijenosa datoteka na poslužitelj.

FTP protokol je od, prve objave, do danas, standardni protokol za prijenos podataka između udaljenih računala. U prošlosti, kada Web servis nije bio zastupljen u tolikoj mjeri kao danas, FTP servis se koristio puno češće nego danas. Danas većina FTP arhiva ima prateće Web sučelje, te mogućnost pristupa preko Internet preglednika, a za prijenos datoteka, uz FTP, sve se više razvija i “peer to peer“ protokol. No, unatoč tome, FTP se i dalje koristi, najčešće za podizanje sadržaja na web stranice, smještene na poslužitelju.

Page 7: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

3

1. Povijest FTP-a

Od samog početka FTP je standardni protokol za prijenos podataka između udaljenih računala. FTP protokol prvi put je predstavljen 16. travnja 1971. kao “Request for

Comments“, skup tehničkih i organizacijskih informacija o Internetu, među kojima je bio predložen i prvi mehanizam za prijenos podataka. To je bio prvi FTP standard, RFC 114. Razvojni programeri su uvijek balansirali između potrebe za bogatim skupom funkcionalnosti i potrebe za protokolom koji će biti jednostavan i lak za primjenu. Tako su brojni slijedeći RFC dokumenti usavršavali ranu verziju FTP-a. Prva velika nadopuna bio je RFC 354, objavljen u srpnju 1972. u kojem se po prvi put pojavljuje opis cjelokupnog komunikacijskog modela koji koristi TCP, te mnogobrojna aktualna svojstva. Nakon brojnih promjena, u lipnju 1980., objavljen je službeni standard za moderni FTP, RFC 765, pod nazivom “File Transfer

Protocol Specification“. To je bio prvi standard koji je određivao FTP aktivnosti preko TCP/IP.

RFC 959, “File Transfer Protocol (FTP)“ objavljen je u listopadu 1985. a sadrži nadopune RFC 765, uključujući nekoliko novih naredbi. FRC 959 je i danas, pored brojnih standarda, koji određuju druge dodatke, kao što je npr. poboljšanje sigurnosnih mjera, ostao osnovna specifikacija za FTP.

Page 8: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

4

2. Općenito o FTP-u

FTP (File Transfer Protocol) je klasični TCP/IP protokol za prijenos datoteka između dva računala koji radi na principu klijent/poslužitelj tehnologije. Za razliku od većine drugih, ne koristi jednu TCP konekciju, nego dva odvojena kanala za komunikaciju između poslužitelja i korisnika:

o naredbeni (kontrolni) priključak - predstavlja osnovnu logičku TCP vezu koja se kreira prilikom ostvarivanja FTP sesije. Koristi se samo za protok kontrolnih informacija, kao što su naredbe i odgovori. Ovim kanalom ne šalju se podaci.

o podatkovni priključak – kanal kojim se šalju podaci. Nastaje prilikom svakog slanja podataka sa poslužitelja na klijenta, ili obrnuto, a po završetku transakcije, veza se prekida.

Veća fleksibilnost u načinu korištenja protokola je razlog postojanja dvaju odvojenih kanala, za naredbe, i protok podataka.

FTP spajanje može se razlikovati, ovisno o tri faktora: 1. načinu spajanja (ASCII, binarni) 2. načinu prijenosa podataka (aktivni, pasivni) 3. vrsti enkripcije (SSL, SFTP, TLS)

Page 9: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

5

3. FTP sa strane Poslužitelja

3.1 FTP arhitektura

FTP arhitektura definira svojstva elemenata u prijenosu podataka, te dva komunikacijska kanala koja se ostvaruju. Također, FTP arhitektura opisuje dijelove FTP-a koji upravljaju ovim kanalima. FTP arhitektura dijeli program na klijentskoj i poslužiteljskoj strani na dva dijela koji su zaduženi za pojedine kanale. Prevoditeljski sloj (Protocol

Interpreter – PI) je dio programa zadužen za upravljanje kontrolnom vezom, koji izdaje i prima naredbe i odgovore. Podatkovni sloj (Data Transfer Process - DTP) je dio zadužen za slanje i primanje podataka između klijenta i poslužitelja. Pored ova dva elementa, korisnički FTP dio sadrži i grafičko sučelje. Na temelju ove podjele, možemo zaključiti da se klijentska strana procesa FTP arhitekture sastoji od tri, a poslužiteljska od dvije komponente (Slika 3.1).

Slika 3.1 FTP arhitektura

3.1.1 Elementi FTP procesa na Poslužitelju

FTP postupak na poslužitelju sastoji se od dva dijela:

- Prevoditeljski sloj na strani poslužitelja (Server-PI) – zadužen za upravljanje kontrolnom vezom, na strani poslužitelja. Na predbilježenom FTP priključku

Page 10: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

6

osluškuje i čeka zahtjev za spajanje poslan od strane klijenta. Kad je veza uspostavljena, prima naredbe od korisničkog PI, prevodi standardne FTP naredbe u naredbe koje operativni sustav na poslužitelju razumije, šalje odgovore nazad, te upravlja procesima prijenosa podataka.

- Podatkovni sloj na strani poslužitelja (Server-DTP) – koristi se za slanje podataka prema korisničkom DTP, i za primanje podataka od korisničkog DTP. Server-DTP može ostvariti podatkovnu vezu ili osluškivati podatkovnu vezu od strane korisnika.

3.1.2. Elementi FTP procesa na korisničkoj strani

FTP postupak na korisničkoj strani sastoji se od tri elementa:

- Prevoditeljski sloj na strani klijenta (User-PI) –zadužen za upravljanje kontrolnom vezom, na strani klijenta. Pokreće FTP sesiju izdavanjem zahtjeva prema Server-PI. Kada je veza uspostavljena, naredbe, zaprimljene od korisnika, prevodi u standardne tekstualne naredbe (npr. klikove mišem u standardne tekstualne naredbe), šalje ih na Server-PI, prima odgovore te upravlja procesima prijenosa podataka na korisničkoj strani.

- Podatkovni sloj na strani korisnika (User-DTP) – DTP, na korisničkoj strani, koristi se za slanje podataka prema poslužiteljskom DTP, i za primanje podataka od poslužiteljskog DTP. Klijent-DTP može ostvariti podatkovnu vezu, ili osluškivati podatkovnu vezu od strane korisnika.

- Korisničko sučelje – korisničko sučelje osigurava vizualno pristupačnije FTP sučelje korisniku.

3.2 ASCII i binarni način prijenosa datoteka

Dva su načina prijenosa datoteka, ASCII i binarni.

Sve datoteke sačinjene od teksta, ili koje se temelje na tekstualnim komponentama su ASCII datoteke. Primjer takvih datoteka su HTML datoteke, tekstualne datoteke, PostScript datoteke (.txt, .asp, .html, .php, itd…). Za prijenos datoteka ovog tipa koristi se ASCII način prijenosa.

Binarne datoteke su strukturno drugačije i zahtijevaju drugačiji način transfera. Njih treba prenijeti točno onakve kakve jesu, s lokalnog računala na udaljeno (bez izmjene znakova za prijelaz u novi red). Primjer binarnih datoteka su slike, aplikacije, komprimirane datoteke (.wav, .jpg, .gif, .zip, .tar, .xls, .swf, itd…).

Naredbom binary mijenja se tip prijenosa datoteke iz ASCII u binarni način prijenosa, a naredbom ascii iz binarnog u ASCII.

Sve datoteke mogu se slati u binarnom načinu bez ikakvih problema, ali je to sporiji način, dok se u ASCII načinu mogu slati samo datoteke temeljene na tekstualnim komponentama. Transfer u ASCII načinu rada je mnogo brži jer se tekstualne datoteke mogu komprimirati (tekstualna datoteka reda veličine par MB može se sažeti na veličinu od 100-200 KB, dok je sliku manje efikasno komprimirati). Unazad desetak godina, MODEM-i su radili

Page 11: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

7

na brzini od svega 300 bita u sekundi i brzina prijenosa je bila relativno važan pojam. Zbog uštede na vremenu (i novcu) osmišljena je mogućnost slanja u ASCII i binarnom načinu.

3.3 FTP pristup i autorizacija

FTP autorizacija zasniva se na korištenju korisničkog imena i zaporke. Korištenjem naredbe USER, korisnik šalje korisničko ime sa korisničkog IP na poslužiteljski IP, a korištenjem naredbe PASS, šalje svoju zaporku, te se time identificira.

Slika 3.2 FTP autorizacija

Poslužitelj provjerava ispravnost korisničkog imena i zaporke u svojoj bazi podataka.

Ukoliko su podaci netočni, javlja da autorizacija nije uspjela. Nakon određenog broja neuspjelih pokušaja, poslužitelj može prekinuti vezu. Ukoliko su podaci ispravni, vraća nazad potvrdu o uspostavi sesije (Slika 3.2).

3.4 FTP sigurnost

FTP je relativno star protokol i njegova sigurnost ne podliježe zahtjevima današnjih Internet standarda. Glavni nedostatak FTP protokola, definiranog u RFC 959, je prijenos korisničkog imena i zaporke, prilikom autorizacije, u čistom tekstualnom obliku. Zbog ovoga, ali i drugih sigurnosnih razloga, postoje alternativna rješenja, kao što su FTPS i SFTP.

3.4.1 FTPS

FTPS je naziv koji obuhvaća razne načine na koje FTP programi obavljaju siguran

protok podataka. Najčešća korištena metoda enkripcije je SSL (Secure Socker Layer). SSL je

Page 12: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

8

protokol koji je 1994. razvio Netscape. Služi za zaštitu prijenosa podataka preko Interneta, a opisan je u RFC 4217, “Securing FTP with TLS”.

SSL za šifriranje koristi dva odvojena ključa, javni (public) ključ poznat svima, i privatni (private/secret) ključ, poznat samo primatelju poruke. 3.4.1.1 Implicitni (bezuvjetni) SSL

Implicitni SSL zahtjeva od FTP klijenta da ima omogućen SSL. Veza se automatski podešava kao sigurna, i nema protoka teksta u čistom formatu između klijenta i poslužitelja. Takvi poslužitelji obično koriste priključak 990 i samo klijenti koji podržavaju SSL imaju dozvoljen pristup. Također nema potrebe za korištenjem naredbe AUTH jer je i podatkovna i naredbena veza zaštićena. 3.4.1.1 Eksplicitni (izričiti) SSL

Ukoliko se koristi eksplicitni SSL, FTP veza započinje uobičajeno (nekodirano). FTP klijent može odabrati želi li nastaviti uobičajenu FTP sesiju, ili izdati naredbu AUTH i prebaciti se na sigurnu FTP metodu. Također, ukoliko klijent potražuje osjetljive podatke, poslužitelj može zahtijevati da klijent pređe na sigurnu vezu. Prednost eksplicitnog SSL je što ne zahtjeva od klijenta da ima omogućen SSH, što omogućuje pristup poslužitelju i starijim klijentima.

3.4.2 SFTP (Secure FTP)

SFTP je program koji se pokreće preko Secure Shell veze (SSH). Tijekom SSH veze,

sve operacije koje se obavljaju, kodirane su, te se koristi provjera identiteta javnim ključem i kompresija. SFTP je interaktivan program za prijenos podataka, sličan FTP-u. Spaja se na određenog domaćina, a zatim ulazi u interaktivni komandni način rada, kao i FTP. Razlika je u tome što se SFTP može koristiti samo na SSH vezi, koja korisniku pruža više ovlasti nego FTP.

3.4.3 TLS (Transport Layer Security)

SSL i TLS su dvije verzije istog protokola. Postoje SSL verzija 2.0 i 3.0, te TLS

verzija 1.0 i 1.1. TLS 1.1 je SSL 3.1. Programi najčešće daju podršku za oba protokola (SSL/TLS). Kao i SSL, TLS ima implicitni i eksplicitni način rada. Iako su oba protokola gotovo ista, postoje male razlike. TLS koristi jači algoritam enkripcije, i ima mogućnost rada na različitim priključcima. Također, TLS verzija 1.0 ne može se zamijeniti sa SSL verzijom 3.0.

Page 13: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

9

4. FTP sa strane Klijenta

4.1 Autorizirani i anonimni pristup FTP-u (primjeri sesije)

4.1.1 Autorizirani pristup

Za prijavu na udaljeni poslužitelj potrebno je znati ime računala domaćina na koje se

želimo spojiti putem FTP-a (hostname ili IP adresa) te pristupne podatke (korisničko ime i zaporku). Dok je ime računala domaćina javno dostupno svima, pristupne podatke moramo zatražiti od administratora sustava obzirom da oni predstavljaju prvu crtu obrane na javnom poslužitelju, od zlonamjernih i neovlaštenih pokušaja spajanja.

Registrirani korisnik ima pravo čitanja, pisanja, brisanja i kretanja unutar svog matičnog direktorija (ukoliko administrator dozvoli korisniku, može se kretati i izvan svoga direktorija), pregledavati sadržaj, premještati datoteke sa udaljenog računala na svoje lokalno, te premještati sa lokalnog računala datoteke na udaljeno. Primjer autorizirane FTP sesije:

ftp> open ftp.lozic.info Connected to ftp.lozic.info. 220 (vsFTPd 2.0.5) User (ftp.lozic.info:(none)): lozic5 331 Please specify the password. Password: xxxxxxxx 230 Login successful. ftp> cd www 250 Directory successfully changed. ftp> dir 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. -rw-r--r-- 1 1714 1714 932 Sep 08 11:42 favicon.ico drwxr-xr-x 6 1714 1714 4096 Nov 09 08:03 flash -rw-r--r-- 1 1714 1714 3808 Nov 09 11:35 index.html drwxr-xr-x 2 1714 1714 4096 Dec 11 10:51 tmp 226 Directory send OK. ftp: 777 bytes received in 0,00Seconds 777000,00Kbytes/sec. ftp> cd tmp 250 Directory successfully changed. ftp> mkdir proba 257 "/www/tmp/proba" created ftp> cd proba 250 Directory successfully changed. ftp> put c:\tekst.txt 200 PORT command successful. Consider using PASV. 150 Ok to send data. 226 File receive OK. ftp: 689 bytes sent in 0,00Seconds 689000,00Kbytes/sec. ftp> dir 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. -rw-r--r-- 1 1714 1714 689 Dec 13 10:50 tekst.txt 226 Directory send OK.

Page 14: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

10

ftp: 67 bytes received in 0,00Seconds 67000,00Kbytes/sec. ftp> quit 221 Goodbye. C:\>

Ovaj primjer pokazuje povezivanje sa FTP poslužiteljem na kojem klijent ima

korisnički račun. Za uspješno prijavljivanje, bilo je potrebno unijeti korisničko ime i zaporku. Nakon prijave, u direktoriju tmp je kreiran novi direktorij proba, u koji je prenijeta jedna tekstualna datoteka sa lokalnog računala. Nakon uspješnog transfera, sesija je zatvorena.

4.1.2 Anonimni FTP

Anonimni FTP je javni tip veze koji ne zahtijeva posjedovanje osobnog korisničkog

računa za pristup udaljenom računalu. Za pristup računalima koji nude anonimni pristup, kao korisničko ime najčešće se koristi riječ anonymous (rjeđe ftp), dok se u polje za unos zaporke unosi elektronska adresa (e-mail). Dozvole i kretanje anonimnim korisnicima često su ograničeni, za razliku od korisnika koji imaju svoj račun na tom računalu. Time se osigurava sigurnost cijelog sustava. Uglavnom se anonimni korisnici stavljaju u ograničeno stablo direktorija sa pristupom samo za čitanje, što znači da ne postoji pravo podizanja osobnih datoteka na udaljeno računalo. Materijali, zanimljivi anonimnim korisnicima, pohranjeni su najčešće u direktoriju pub (skraćenica od engleske riječi public a znači javni), dok neki poslužitelji imaju i datoteku pod imenom ls-lR koja sadrži kompletnu listu datoteka na tom poslužitelju. Ukoliko te datoteke nema, ls-lR se može otipkati i kao naredba koja će izlistati sadržaj poslužitelja, što zna potrajati jako dugo. Primjer anonimne FTP sesije:

C:\>ftp ftp> open ftp.linux.hr Connected to ftp.linux.hr. 220 Welcome to the ftp.linux.hr FTP service. User (ftp.linux.hr:(none)): anonymous 331 Please specify the password. Password: 230-Ovo je ftp.linux.hr, FTP posluzitelj Hrvatske Udruge Linux Korisnika. 230-Pogledajte README datoteku za opis sadrzaja na nasem posluzitelju. 230-CD ISO imagei su na iso.linux.hr! 230- -- [email protected] 230 Login successful. ftp> dir *ont* 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. drwxrwsr-x 2 0 3000 150 Sep 04 1999 fonts 226 Directory send OK. ftp: 63 bytes received in 0,00Seconds 63000,00Kbytes/sec. ftp> cd fonts 250-console.tar.gz - fontovi i keymape za conzolu 250- fonts/ - razliciti fontovi u iso8559-2 standardu 250- keytables/croatian.map - keymap za hrvatsku tastaturu 250- keytables/crous.map - americki keymap koji hrvatska slova 250- dobiva uz pomoc altgr-a i slova gdje se 250- u hrvatskom rasporedu nalaze nasi znakovi 250-linux-iso8859-2-fonts.tar.gz -fontovi i "install" za hrvatske znakove za X11 250-type1_iso.tgz -ps fontovi u iso8859-2 za ghostscript

Page 15: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

11

250-accelX-hr.tgz - paket sa hrvatskim mapama za acceleratedX 250-wp8-hr.tar.gz - fontovi i program za instalaciju nasih fontova u wp8 250------------------------------------------------------------------------------- 250 Directory successfully changed. ftp> dir 200 PORT command successful. Consider using PASV. 150 Here comes the directory listing. -rw-rw-r-- 1 30532 100 656 Sep 04 1999 README -rw-r--r-- 1 30532 100 2426 Sep 04 1999 accelX-hr.tgz -rw-r--r-- 1 30532 100 13703 Sep 04 1999 console.tar.gz -rw-r--r-- 1 1003 100 2753923 Sep 04 1999 linux-iso8859-2-fonts.tar.gz -rw-r--r-- 1 30532 100 1635395 Sep 04 1999 type1_iso.tgz -rw-r--r-- 1 30532 100 3242304 Sep 04 1999 wp8-hr.tar.gz 226 Directory send OK. ftp: 435 bytes received in 0,00Seconds 435000,00Kbytes/sec. ftp> get wp8-hr.tar.gz 200 PORT command successful. Consider using PASV. 150 Opening BINARY mode data connection for wp8-hr.tar.gz (3242304 bytes). 226 File send OK. ftp: 3242304 bytes received in 16,28Seconds 199,11Kbytes/sec. ftp> mkdir proba 550 Permission denied. ftp> quit 221 Goodbye. C:\>

Ovaj primjer pokazuje povezivanje sa FTP poslužiteljem Hrvatske Udruge Linux

Korisnika, čije ime računala je ftp.linux.hr. Pristup je anonimni te se za pristup kao korisničko ime navodi riječ anonymous a umjesto zaporke unosi se elektronska adresa. Nakon uspješnog povezivanja, na ekranu se ispisuje pozdravna informativna poruka. Naredbom dir

*ont* koja je unesena nakon prijave, pretražuje se udaljeno računalo a kao rezultat dobiven je popis direktorija koji u svom nazivu sadrže tekst “ont“, u ovom slučaju samo direktorij fonts. Nakon ulaska u taj direktorij, preuzet je paket wp8-hr.tar.gz. Poslije uspješnog preuzimanja datoteke, pokušano je kreiranje direktorija, ali kako je anonimni korisnik ograničen samo na pregled i preuzimanje datoteka, ta akcija nije uspješno obavljena, te je ftp sesija zatvorena.

4.2 Aktivni i pasivni FTP

FTP protokol koristi dva priključka, podatkovni (data) priključak i naredbeni (command) priključak (kontrolni). Uobičajeno je priključak 21 naredbeni, a priključak 20 podatkovni, iako nije uvijek priključak 20 podatkovni. Koji će priključak biti, ovisi o načinu rada, a FTP protokol ima dva načina rada, aktivni i pasivni.

U aktivnom načinu, poslužitelj inicira podatkovnu vezu nakon klijentovog zahtjeva za transferom. U pasivnom načinu rada, klijent je taj koji inicira vezu, a poslužitelj odgovara. Obzirom da je TCP obostran, podaci mogu teći u oba slučaja, a glavna razlika trebala bi biti u sigurnosti. Pasivni način se češće koristi jer mnogi klijenti nisu u mogućnosti primiti nadolazeću vezu od poslužitelja.

Page 16: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

12

4.2.1 Aktivni FTP

U aktivnom načinu rada, kontrolnu konekciju inicira klijent, a podatkovnu poslužitelj.

Klijent se spaja sa nasumično odabranog neprivilegiranog priključka (N>1023), na FTP poslužiteljski naredbeni priključak, priključak 21. Nakon toga klijent osluškuje priključak N+1 i šalje FTP naredbu PORT sa svojom IP adresom i priključkom koji sluša, kao argumentima, na FTP poslužitelj. Oblik IP adrese i broja priključka je "h1,h2,h3,h4,p1,p2", gdje h1-h4 predstavljaju IP adresu, dok se broj priključka izračunava na slijedeći način: p1×256 + p2 = priključak. Na primjer, klijent čiji je IP 192.168.0.1 i koji osluškuje priključak 1025, poslati će naredbu “PORT 192,168,0,1,4,1“ (broj priključka je 1025, što je jednako 4x256 + 1). Poslužitelj se, zatim, spaja na klijentov definirani priključak, sa svog lokalnog priključka, koji je 20.

Sa poslužiteljske strane gledišta, da bi poslužitelj podržao aktivni način rada, obzirom na postavke vatrozida, slijedeći komunikacijski kanali trebaju biti otvoreni:

− poslužiteljski FTP priključak 21 za pristup od svuda − poslužiteljski FTP priključak 21 za priključke > 1023 − poslužiteljski FTP priključak 20 za priključke > 1023 − poslužiteljski FTP priključak 20 od priključke > 1023

4.2.2 Pasivni FTP

U pasivnom načinu rada, obje konekcije, i kontrolnu i podatkovnu, inicira klijent,

otvarajući dva nasumično odabrana neprivilegirana priključka (N>1023 i N+1). Prvi priključak (N>1023) spaja se na poslužiteljski priključak 21, ali umjesto slanja naredbe PORT, šalje naredbu PASV. Nakon ove naredbe poslužitelj otvara nasumice odabrani neprivilegirani priključak (P>1023) te klijentu nazad šalje naredbu PASV sa svojom IP adresom i brojem priključka na koji se klijent treba spojiti, kao argumentom (sintaksa je ista kao i u aktivnom načinu rada). Klijent zatim inicira konekciju sa priključka N+1 na definirani priključak na poslužitelju, za prijenos podataka.

Sa poslužiteljske strane gledišta, da bi poslužitelj podržao pasivni način rada, obzirom na postavke vatrozida, slijedeći komunikacijski kanali trebaju biti otvoreni:

− poslužiteljski FTP priključak 21 za pristup od svuda − poslužiteljski FTP priključak 21 za priključke > 1023 − poslužiteljski FTP priključci > 1023 od svuda − poslužiteljski FTP priključci > 1023 za udaljenje priključke > 1023

Napredni pasivni način se ostvaruje na isti način kao i pasivni, a jedina je razlika u tome

što poslužitelj šalje samo broj priključka, dok se za IP pretpostavlja da je isti.

Page 17: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

13

4.3 PASV i PORT sigurnost

4.3.1 PASV napadi

Kada klijent pošalje naredbu PASV, napadač se može spojiti na poslužiteljski TCP

priključak prije samog klijenta. Težina napada ovisi o tome što je slijedeći korak klijenta, a to može biti:

− RETR – u ovom slučaju napadač prima sadržaj datoteke, i time narušava sigurnost ukoliko ta datoteka nije javna. U međuvremenu klijent prima praznu datoteku i poruku od poslužitelja da je prijenos bio uspješan.

− LIST – dešava se isto što i nakon naredbe RETR − STOR – u ovom slučaju napadač može zamijeniti pravovaljanu datoteku s

nekom svojom. Time uvijek narušava sigurnost. U međuvremenu, ako je pravovaljana datoteka već pohranjena u klijentov TCP međuspremnik, klijent vjerojatno neće primiti nikakvu grešku o prijenosu, nego poruku od strane poslužitelja da je prijenos bio uspješan.

Protiv ove vrste napada postoji par mjera zaštite od strane poslužitelja:

− PASV IP zaštita - odbacuje podatkovnu vezu, ukoliko se njena IP adresa ne

poklapa sa klijentovom IP adresom. Ovakva zaštita je nedjelotvorna ukoliko i klijent i napadač koriste isti višekorisnički proxy poslužitelj ili višekorisnički host (domaćina).

− PASV SYN zaštita – podrazumijeva da se operativni sustav podesi tako da odbija sve SYN nakon prvog. Ovo zaustavlja napad jer klijent nakon prvog odbijenog pokušaja spajanja ne šalje više zahtjeve za ponovnim spajanjem.

− PASV ACK zaštita – prekida podatkovnu vezu ako, u vrijeme zahtjeva za transferom, postoje dvije prihvaćene veze na podatkovnom priključku. Ovakva zaštita ne zaustavlja uvijek napade; može se desiti da klijentova podatkovna veza bude izgubljena ili odgođena.

4.3.2 PORT napadi

Kada klijent pošalje naredbu PORT, napadač se može spojiti na klijentov TCP

priključak prije samog poslužitelja. Težina napada ovisi o tome što je slijedeći korak klijenta, a to može biti:

− RETR – napadač može zamijeniti pravovaljanu datoteku s nekom svojom. Time uvijek narušava sigurnost. U međuvremenu, ako je pravovaljana datoteka već pohranjena u poslužiteljski TCP međuspremnik, poslužitelj vjerojatno neće primiti nikakvu grešku o prijenosu, a klijentu će prenijeti poruku da je prijenos bio uspješan.

− LIST - dešava se isto što i nakon naredbe RETR − STOR – u ovom slučaju napadač prima sadržaj datoteke. Narušava sigurnost

ukoliko ta datoteka nije javno dostupna svima. U međuvremenu, poslužitelj zaprima praznu datoteku a klijenta obavještava da je prijenos bio uspješan.

Page 18: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

14

Zaštita od ove vrste napada je teža nego zaštita od PASV napada jer napadač može kreirati svoju vlastitu vezu prema FTP poslužitelju. Klijentu je nemoguće razlikovati nastalu vezu od pravovaljane veze, jer se i novonastala veza smatra pravovaljanom

RFC 959 zbog zahtjeva da se poslužitelj spaja sa lokalnog priključka 20 (veza sa priključka niskog broja često ima privilegije) ovaj problem dodatno pogoršava. Mnogi poslužitelji promišljeno ignoriraju ovo pravilo i umjesto priključka sa niskim brojem, kreiraju vezu na priključku sa visokim brojem.

Svi poslužitelji bi trebali odbijati PORT zahtjeve koji dolaze sa IP adrese koja je različita od klijentove. Također, trebali bi odbijati PORT zahtjeve prema priključcima nižim od 1024. Ova pravila bi eliminirala većinu mogućih opasnih spajanja

4.4 FTP naredbe

Ne postoji jedinstveni standard za definiranje FTP naredbi. One variraju od sustava do sustava, a najčešće se koristi UNIX izvedba FTP naredbi. Na drugim operativnim sustavima naredbe se uglavnom preklapaju sa UNIX izvedbom.

Popis FTP naredbi:

! cr macdef proxy send $ delete mdelete sendport status account debug mdir put struct append dir mget pwd sunique ascii disconnect mkdir quit tenex bell form mls quote trace binary get mode recv type bye glob mput remotehelp user case hash nmap rename verbose cd help ntrans reset ? cdup lcd open rmdir close ls prompt runique

Obzirom da je popis FTP naredbi poprilično veliki, slijedi opis samo najčešće korištenih, grupiranih po namjeni za izvršavanje točno određenih akcija.

I. Uspostava i prekidanje veze

− ftp – početak ftp sesije − open [hostname] – uspostavlja vezu sa navedenim udaljenim računalom − close – prekida se veza sa udaljenim računalom, ali ne zaustavlja izvođenje

programa − disconnect – naredba identična naredbi close − quit – prekida trenutačnu vezu s udaljenim računalom ako postoji, i završava rad

ftp programa − bye - naredba identična naredbi quit

Page 19: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

15

II. Promjena direktorija i istraživanje njegovog sadržaja

− cd [ime_direktorija] – mijenja aktivni direktorij na udaljenom računalu − cd.. – mijenja aktivni direktorij za jednu razinu prema gore − pwd – ispis radnog direktorija na udaljenom računalu − lcd [novi_direktorij] – mijenja aktivni direktori na lokalnom računalu u

novi_direktorij (unos naredbe lcd bez argumenta vraća osnovni korisnički direktorij kao aktivni)

− cdup – mijenja aktivni direktorij na udaljenom računalu za jednu razinu prema gore

− dir – ispisuje potpuni sadržaj (vlasnik, datum stvaranja, veličina, dozvole) aktivnog direktorija na udaljenom računalu

− ls – ispisuje samo imena datoteka u aktivnom direktoriju na udaljenom računalu

III. Odabir tipa prijenosa datoteka

− ascii – naredba mijenja tip prijenosa datoteka iz binarnog u ASCII − binary - naredba mijenja tip prijenosa datoteka iz ASCII u binarni

IV. Prijenos datoteka sa udaljenog računala

− get [ime_udaljene_datoteke] – prijenos jedne datoteke sa udaljenog računala na lokalno

− mget [imena_udaljenih_datoteka] – prijenos više datoteka sa udaljenog računala na lokalno

− recv – naredba identična naredbi get, ali se smatra zastarjelom i ne preporuča se koristiti ju

V. Prijenos datoteka na udaljeno računalo

− put [ime_lokalne_datoteke] – prijenos jedne datoteke sa lokalnog računala na udaljeno

− mput [ime_lokalnih_datoteka] – prijenos više datoteka sa lokalnog računala na udaljeno

− send - naredba identična naredbi put, ali se smatra zastarjelom i ne preporuča se koristiti ju

VI. Brisanje datoteka na udaljenom računalu

− delete [ime_udaljene_datoteke] – brisanje jedne datoteke na udaljenom računalu − mdelete [imena_udaljenih_datoteka] – brisanje više datoteka na udaljenom

računalu

Page 20: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

16

VII. Druge naredbe

− status – ispisuje informacije o trenutnom stanju ftp sesije − bell – mijenja prekidač kojim se određuje čuje li se zvučni signal nakon završetka

prijenosa svake datoteke − prompt – mijenja prekidač koji kontrolira potvrdu koju traže naredbe mget i mput

o prijenosu svake pojedine datoteke − hash – uključuje/isključuje ispisivanje znaka # nakon svakog uspješno prenesenog

bloka podataka − verbose – uključuje/isključuje prikazivanje odziva ftp poslužitelja i podatke o

statistici prijenosa − ! [naredba] – naznačena naredba izvršava se na lokalnom računalu (naredba ! bez

argumenata označava izlazak u interaktivnu ljusku na lokalnom računalu) − help [naredba] - ispisivanje informacija o naredbi iz lokalnog sustava pomoći

(ukoliko se ne navede argument, naredba help ispisat će se kratki popis svih ponuđenih ftp naredbi)

− ? [naredba] – naredba identična naredbi help

4.5 FTP greške i statusni kodovi

Tijekom FTP sesije korisnik prima od poslužitelja određene brojeve (Tablica 4.1). Ti brojevi su kodovi koji u većini slučajeva predstavljaju tijek komunikacije između poslužitelja i klijenta, dok u nekim slučajevima predstavljaju grešku.

Kodovi se dijele u pet glavnih skupina:

o 1xx - zatražena operacija se počela provoditi, ali klijent očekuje neki drugi kod da pošalje drugu naredbu

o 2xx - akcija je provedena uspješno, klijent može izdati novu naredbu. o 3xx - naredba je završila uspješno, ali klijent treba poslati dodatne informacije

kako bi se operacija mogla dovršiti o 4xx - naredba nije uspješno završila. Greška je privremena, i ako klijent

pošalje naredbu ponovo, postoji mogućnost da uspije. o 5xx - naredba nije uspješno završila. Greška je trajna, i ako klijent pošalje

naredbu ponovo, dobit će istu grešku.

Tablica 4.1 Popis kodova i objašnjena

Kod Opis 100 Zatražena operacija se počela provoditi, ali klijent očekuje neki drugi

kod da pošalje drugu naredbu 110 Poništi brojač prenesenih blokova 120 Usluga spreman za (n) minuta. 125 Podatkovna veza već je otvorena, započinje transfer 150 Označava da poslužitelj namjerava otvoriti novu konekciju na priključku 20 i

Page 21: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

17

početi slati podatke. 200 Akcija je provedena uspješno, klijent može izdati novu naredbu. 200 Naredba je valjana i prihvaćena. 202 Naredba nije izvršena 211 Obično rezultat naredbe STAT, uključuje neuniformne i "human-readable"

podatke o poslužitelju. 212 Status direktorija 213 Status datoteke 214 Rezultat naredbe HELP, npr. HELP RETR:

214 Syntax: RETR <sp> file-name 215 NAME je generički naziv operativnog sustava, npr. UNIX. Ovo je uobičajeno

odgovor na naredbu SYST, npr: 215 UNIX Type: L8 215 MACOS Server 215 NetWare system type.

220 Usluga je spremna za novog korisnika 221 Usluga zatvara kontrolnu vezu. 225 Podatkovna veza otvorena, nema transfera u tijeku 226 Zatvaranje podatkovne veze. Zahtijevana akcija sa datotekom izvršena

uspješno. 227 Ulazak u pasivni način rada 230 Ovaj kod pojavljuje se nakon uspješno prevedene autorizacije korisnika. 250 Potvrda uspješno obavljene akcije, npr. Pojavljuje se kao rezultat naredbe

MKD 257 Rezultat naredbe MKD ("make directory") 300 Naredba je završila uspješno, ali klijent treba poslati dodatne informacije

kako bi se operacija mogla dovršiti 331 Korisničko ime ispravno, poslužitelj zahtjeva zaporku, bilo da je riječ o

regularnom, nepostojećem ili anonimnom korisniku. 332 Potreban korisnički račun za pristup poslužitelju 350 Poruka se pojavljuje jer poslije izvršavanja nekog zahtjeva, treba upisati

dodatnu komandu ili informaciju za dovršetak zahtjeva 400 Naredba nije uspješno završila. Greška je privremena, i ako klijent

pošalje naredbu ponovo, postoji mogućnost da uspije. 421 Usluga nije dostupna, kontrolna veza se zatvara 425 Ne može se uspostaviti podatkovna veza 426 Akcija nije uspješno završila i veza je zatvorena 450 Zatražena akcija ne može se izvršiti, npr ako pokušamo upotrijebiti DELE

naredbu na datoteci nad kojom nemamo prava brisanja. 451 Zatražena akcija je prekinuta, lokalna greška u obradi 452 Zatražena akcija nije preuzeta. Nedovoljan prostor za pohranu na disku. 500 Naredba nije uspješno završila. Greška je trajna, i ako klijent pošalje

naredbu ponovo, dobit će istu grešku. 500 Greška u sintaksi, naredba nije prepoznata. 501 Greška u sintaksi parametra ili argumenta 502 Naredba nije primjenjiva 503 Slijed naredbi nije dobar, npr RNTO (Finish rename a file) nije došao odmah

nakon RNFR (Rename a file) 504 Naredba nije primjenjiva za taj parametar 530 Korisnik nije prijavljen na poslužitelj. Možda je poslao krivu zaporku ili

Page 22: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

18

korisničko ime, a možda je i omogućen samo anonimni pristup. 532 Potreban korisnički račun za pohranu podataka 550 Zatražena akcija ne može se izvršiti. Ovaj kod se pojavljuje kad klijent pošalje

zahtjev za nepostojećom datotekom, ili pokuša podići datoteku u direktorij gdje nema prava pisanja. Također, ako klijent pokuša napraviti ili obrisati direktorij ili datoteku tamo gdje nema prava na to.

552 Zatražena akcija ne može se obaviti; zbog ograničenja ili nedostatka diskovnog prostora datoteka nije spremljena na čvrsti disk

553 Zatražena akcija ne može se obaviti jer ime datoteke ne odgovara standardu operativnog sustava gdje se nalazi FTP poslužitelj. Npr, ime sadrži prazni znak, kontrolni znak ili hrvatski znak (č, ć, đ, ž, š)

Page 23: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

19

4.6 Specijalizirani FTP klijenti

FTP klijenti su specijalizirani programi koji omogućavaju razmjenu datoteka između lokalnog računala i poslužitelja. Postoji mnoštvo besplatnih i komercijalnih programa, a osnovna zajednička karakteristika i jednih i drugih je, da za uspješno spajanje na udaljeno računalo, korisnik treba navesti ispravno ime (ili IP adresu) poslužitelja, te korisničko ime i zaporku.

U ovom poglavlju opisani su FTP klijenti za Windows okruženje: - FTP Explorer - Cute FTP - FileZilla.

4.6.1 FTP Explorer

(http://www.ftpx.com)

Slika 4.1 Glavni prozor programa FTP Explorer

FTP Explorer je komercijalni FTP klijent, dosta popularan jer izgledom podsjeća na

Windows Explorer. Opcije koje su dostupne u neregistriranoj verziji, dovoljne su za kvalitetan rad prosječnom korisniku.

Page 24: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

20

Pri pokretanju ovog FTP klijenta pojavljuje se prozorčić u kojem odabiremo određenu vezu sa poslužiteljem. U tom prozorčiću se može kreirati novi profil, obrisati ili promijeniti već postojeći. Nakon odabira i uspostave veze sa poslužiteljem, otvara se glavni prozor FTP Explorera, sačinjen od tri osnovna dijela (Slika 4.1). Lijevi dio prozora služi za prikaz direktorija na poslužitelju, dok se u desnom dijelu prikazuju datoteke odabranog direktorija. Treći dio, FTP Log, nalazi se ispod ova dva, a prikazuje komunikaciju između FTP klijenta i poslužitelja, tj. naredbe i poruke koje se razmjenjuju.

Za preuzimanje datoteka sa poslužitelja potrebno je odabrati željeni direktorij gdje se datoteka (ili više njih) nalazi, označiti ju te odabrati opciju Download ili Download To. Nakon odabira opcije, FTP klijent preuzima datoteku sa poslužitelja na lokalno računalo u direktorij koji je predefiniran u opcijama (Download) ili direktorij koji se odabere, u tom trenutku, za pohranu (Download To). Podizanje datoteka na poslužitelj vrši se odabirom opcije Upload. Potrebno je odabrati direktorij na poslužitelju u koji će se pohraniti odabrana datoteka, a zatim opcijom Upload pokrenuti podizanje datoteke. I preuzimanje datoteka sa poslužitelja i podizanje na poslužitelj, popraćeni su prozorčićem koji informira o tijeku transfera.

Dvije glavne opcije, zbog kojih je FTP Explorer uvršten među kvalitetnije FTP klijente,

su: - Transfer Manager – prozorčić koji služi za provjeru detalja oko preuzimanja ili

podizanja datoteka (izvor, odredište, status svakog zahtjeva za transferom) - podrška za nastavak prekinutog transfera datoteka.

Page 25: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

21

4.6.2 CuteFTP

(http://www.cuteftp.com)

CuteFTP je komercijalni FTP klijent, popularan zahvaljujući jednostavnošću i naprednim opcijama.

Slika 4.2 Glavni prozor programa CuteFTP

Pri pokretanju FTP klijenta, pojavljuje se prozorčić u kojem se odabire određena veza sa poslužiteljem. U tom prozorčiću se može kreirati novi profil, obrisati ili promijeniti već postojeći. Nakon odabira i uspostave veze sa poslužiteljem, otvara se glavni prozor CuteFTP klijenta, koji se, osim alatne trake, sastoji od tri osnovna dijela (Slika 4.2). U lijevom dijelu ekrana prikazan je sadržaj odabranog direktorija na lokalnom računalu, a u desnom dijelu sadržaj odabranog direktorija na poslužitelju. Ispod ova dva dijela, nalazi se dio u kojem je prikazan status transfera.

CuteFTP podržava takozvani drag and drop, “povuci i spusti“ sistem. Za prijenos datoteka sa poslužitelja na lokalno računalo, i obrnuto, dovoljno je odabrane i označene datoteke povući iznad jednog dijela ekrana i spustiti na drugi. Jednostavnost transfera jedna je od mogućnosti koje ovaj FTP klijent čine popularnim.

Ovaj klijent podržava nastavak transfera datoteke, ukoliko dođe do oštećenja ili pucanja veze sa poslužiteljem. Također omogućuje promjenu sadržaja datoteke direktno na poslužitelju, promjene dozvole pristupa (chmod) a postoji i mogućnost unosa FTP naredbi.

Page 26: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

22

4.6.3 FileZilla

(http://filezilla-project.org/)

Slika 4.3 Glavni prozor programa FileZilla

FileZilla je besplatan FTP klijent, brz i pouzdan, sa dosta korisnih dodataka.

Za spajanje na udaljeno računalo, potrebno je pokrenuti Site Manager (File-> Site

Manager) ili se poslužiti brzom konekcijom, koja se nalazi pri vrhu prozora FTP klijenta. Sam prozor FTP klijenta podijeljen je u četiri osnovna dijela (Slika 4.3). Pri vrhu se nalazi prozorčić koji prikazuje komunikaciju između FTP klijenta i poslužitelja, tj. naredbe i poruke koje se razmjenjuju. Ispod toga, sa lijeve strane je dio odvojen za prikaz stabla direktorija te datoteka na lokalnom računalu, dok se na desnoj strani prikazuje stablo direktorija te datoteke na udaljenom računalu. Pri dnu je dio u kojem je prikazan status transfera.

FileZilla, za prijenos datoteka sa udaljenog računala na lokalno, i obrnuto, također podržava sistem “povuci i spusti“. Nastavak transfera datoteke, transfer datoteka većih od 4GB, Site Manager te promjena sadržaja datoteke online, samo su neke od naprednih opcija ovog FTP klijenta.

Page 27: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

23

Mnoštvo je drugih, besplatnih i komercijalnih programa na internetu, specijaliziranih za razmjenu datoteka između lokalnog računala i poslužitelja. Korisničko ime, zaporka te podaci nužni za spajanje na poslužitelj, u svim se programima upisuju na sličan način. Osim ovdje obrađenih, među popularnijim FTP klijentima nalaze se SmartFTP i WS_FTP LE.

4.7 Pristup FTP poslužitelju iz Web pretraživača

Osim specijaliziranih programa, FTP poslužitelju može se pristupiti i preko Web pretraživača. Za pokretanje anonimne sesije u polje za unos adrese unosi se ime poslužitelja u obliku ftp://imePosluzitelja.

Slika 4.4 Pristup FTP poslužitelju preko Internet preglednika Mozilla Firefox

Za spajanje na svoj korisnički račun na poslužitelju treba unijeti korisničko ime i ime

poslužitelja u slijedećem obliku: ftp://korisnickoIme@imePosluzitelja, nakon čeka treba unijeti i zaporku u za to predviđen prozorčić. Nakon spajanja, u pretraživaču se prikazuje sadržaj matičnog direktorija. Ovisno o pretraživaču, lista datoteka i direktorija može biti prikazana u obliku hiperveza ili kao obična lista bez hiperveza. Pored imena direktorija navedeni su datum i vrijeme kreiranja, a pored imena datoteka i njihova veličina, te odgovarajuća ikonica za pojedini tip datoteke.

Za preuzimanje datoteka sa poslužitelja, dovoljno je kliknuti na hipervezu željene datoteke (Slika 4.4), ili ukoliko ne postoji hiperveza, sistemom “povuci i spusti“ prenijeti željenu datoteku na lokalno računalo (Slika 4.5). Tim istim sistemom, “povuci i spusti“, datoteke se podižu na udaljeno računalo.

Page 28: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

24

Slika 4.5 Pristup FTP poslužitelju preko Internet preglednika Internet Explorer

4.8 FTP klijent iz komandne linije

FTP sesija može se pokrenuti i iz komandne linije, korištenjem programa Command

prompt, koji je sastavni dio Windows operativnog sustava, upisivanjem naredbe ftp. Nakon pokretanja FTP klijenta, potrebno je unijeti naredbu za spajanje na poslužitelj te navesti njegovo ime (open ime_poslužitelja). Ukoliko korisnik na udaljenom računalu posjeduje korisnički račun, treba unijeti svoje korisničko ime i zaporku, koja se iz sigurnosnih razloga ne prikazuje na ekranu (korisnici bez računa pristupaju kao anonimni, ako je poslužitelj omogućio tu opciju). Za prikaz svih naredbi koje je moguće izvršavati, dovoljno je pozvati naredbu help. FTP konekcija prekida se naredbom quit.

Page 29: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

25

5. Instalacija Serv-U FTP poslužitelja na operativnom sustavu Windows XP Professional

Serv-U je zaseban i samostalan program, a njegov rad je podržan na operativnim sustavima Windows 2000, Windows XP (Home i Professional), Windows Vista i Windows Server 2003. Za instalaciju ovog poslužitelja potrebna je izvršna datoteka (ServUSetup.exe) koja se može naći na službenim stranicama proizvođača. Nakon preuzimanja datoteke i pokretanja instalacije susrest ćemo se sa nizom obavijesti i upita. Prvi od upita je lokacija na koju želimo instalirati program. Ponuđen je primarni direktorij za instalaciju programa C:\Program Files\RhinoSoft.com\Serv-U. Nakon odabira lokacije, slijedi izbor komponenti koje želimo instalirati (Server program files, Administrator

program files), odabir imena prečice u Start izborniku, mogućnost kreiranja prečice na radnoj površini te sam proces instalacije. Kada se instalacija završi, treba pokrenuti Serv-U Administrator program. Prilikom prvog pokretanja programa, pokreće se Čarobnjak koji nas lakše vodi kroz iniciranje i podešavanje domena te korisničkih računa. Prvi upit odnosi se na veličinu prikaza sličica i izbornika (Enable small images with the menu items?). Ovu opciju treba onemogućiti ako korisnik koristi program za čitanje ekrana (slijepe osobe), u protivnom uključiti. Slijedeći zahtjev odnosi se na IP adresu računala. Polje treba ostaviti prazno ukoliko računalo ima dinamičku IP adresu, tj. ako se ona mijenja prilikom svakog novog spajanja računala na Internet. Nakon unosa IP adrese, treba unijeti opisno ime za domenu koja se kreira. To može biti IP ime (npr. ftp.test.info) ili bilo koje drugo. Zatim moramo izabrati želimo li da se Poslužitelj pokrene automatski, kada se pokrene operativni sustav (Install as system device?). Nakon postavki koje se tiču same domene, slijedi kreiranje korisničkih računa te njihovo podešavanje. Prvi upit omogućuje nam da dozvolimo/zabranimo spajanje anonimnim korisnicima. Ukoliko dozvolimo spajanje za anonimne korisnike, u slijedećem upitu moramo odrediti koji će direktorij biti njihov matični direktorij te da li ćemo anonimnom korisniku dozvoliti kretanje izvan tog direktorija ili ga zaključati unutra. Nakon anonimnog, nudi nam se kreiranje korisničkog računa. Prvo unosimo korisničko ime računa, a zatim i zaporku za korisnika. I za ovog korisnika moramo odrediti njegov matični direktorij te mogućnost kretanja izvan njega ili ne. Korisniku se na kraju dodjeljuju privilegije. Ako kreiramo korisnički račun za sebe, bilo bi dobro dodijeliti si privilegije administratora (System

Administrator). Ukoliko je račun kreiran za druge korisnike, najbolje je ne dodjeljivati nikakve privilegije (No Privilegie). S ovime završava Setup Čarobnjak, a sve postavke unesene ovim putem, mogu se promijeniti naknadno, unutar programa. Ukoliko zaobiđemo Čarobnjaka prvi put kada se pojavi, postavke možemo i naknadno, ručno, unijeti. Kada pokrenemo program Serv-U Administrator, u lijevom dijelu prozora kliknemo na << Local Server >>, čime pokrećemo FTP poslužitelj i dobivamo prikaz cijelog stabla. U donjem dijelu stabla označimo Domains, te u gornjem izborniku kliknemo na "Domains | New Domain". Dobijemo okvir za unos IP adrese računala. Kao što je objašnjeno u prethodnom dijelu, polje treba ostaviti prazno ukoliko računalo ima dinamičku IP adresu. Nakon toga unosimo opisno ime za domenu (npr. ftp.test.info), broj priključka te određujemo gdje će se snimati domene na lokalnom računalu (za mali broj domena preporuča se .INI datoteka, a za veći (>500) registry). Nakon uspješnog kreiranja domene, treba kreirati korisnike. Kliknemo na Domains, u lijevom dijelu prozora, pa odaberemo stavku Users. U

Page 30: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

26

gornjem izborniku kliknemo na "Users | New User" i slijedimo proceduru. Ukoliko želimo omogućiti spajanje anonimnim korisnicima, treba kreirati Anonymous račun. U prvi okvir za unos imena, upišemo Anonymous. U slijedećem okviru odabiremo matični direktorij za anonimne korisnike, a nakon toga odabiremo da li će oni biti zaključani unutar tog direktorija ili ne. Procedura je slična ukoliko želimo aktivirati korisnički račun. U gornjem izborniku kliknemo na "Users | New User", zatim upišemo korisničko ime računa, pa zaporku za korisnika. I za ovog korisnika odaberemo matični direktorij te mogućnost kretanja izvan njega ili ne (Slika 5.1).

Slika 5.1 Prikaz glavnog prozora FTP poslužitelja Serv-U i opcija vezanih za korisnika

Page 31: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

27

6. Instalacija FTP poslužitelja na operativnom sustavu Windows Server 2003

6.1 Instalacija FTP na Windows Serveru 2003 je podservis od IIS-a (Microsoft Internet Information

Services). IIS se ne instalira tijekom tipične instalacije Windows Server 2003 operativnog sustava, a čak i ako se naknadno instalira, opet se dodatno mora instalirati FTP. FTP Service se instalira korištenjem alata Add or remove programs u Control Panel-u. Kada otvorimo alat Add or Remove Programs, treba odabrati Add/Remove Windows Components, zatim označiti kvadratić ispred stavke Application Server te odabrati prikaz detalja za tu stavku. Prikazati će nam se detalji stavke Application Server, gdje treba označiti kvadratić ispred stavke Internet

Information Services (IIS), te kliknuti na prikaz detalja. U prikazu detalja IIS-a, označimo i odaberemo Common Files, File Transfer Protocol (FTP) Service i Internet Information

Services Manager. Odabir potvrdimo pritiskom tipke OK u prozoru detalja IIS-a, zatim potvrdimo promjenu i unutar stavke Application Server, te odaberemo Next za nastavak instalacije. Tijekom instalacije, od nas se zahtijeva unos Windows Server 2003 CD-a ili definiranje lokacije na disku gdje se nalaze Windows Server 2003 setup datoteke. Za kontrolu FTP poslužitelja, kreiranje novih domena, ili mijenjanje već postojećih treba pokrenuti IIS Maganer u Administrative Tools. Nakon pokretanja IIS Managera, u lijevom dijelu ekrana vidimo da je automatski već kreiran Default FTP Site, prilikom instalacije FTP poslužitelja. Za dodavanje nove domene kliknemo desnom tipkom na FTP

Sites i iz padajućeg izbornika odaberemo New -> FTP Sites. Time pokrećemo Čabornjaka (FTP Site Creation Wizard) koji će nas lakše voditi kroz kreiranje domene. Prvo polje koje treba popuniti je opisno ime domene. Zatim unosimo IP za domenu, te TCP priključak. Nakon toga trebamo ograničiti mogućnosti kretanja korisnika unutar matičnog direktorija FTP. Imamo tri izbora:

1. Do not isolate users – ovom opcijom dozvoljava se anonimni i autorizirani pristup, a korisnici se smještaju u direktorij koji je konfiguriran za FTP poslužitelj.

2. Isolate users – svaki korisnik na FTP poslužitelju ima konfiguriran svoj matični direktorij, te korisnik nije u stanju izlaziti izvan svog direktorija.

3. Isolate users using Active Directory – Korisnici se izoliraju korištenjem Active Directory. Matični direktorij svakog korisnika navodi se kao dio informacije Active Directory računa. Ova opcija primjenjuje se samo ukoliko se poslužitelj nalazi na Active Directory domeni.

Matični direktorij korisnika mora nositi isto ime kao i korisnik. Ukoliko se korisnici lokalnog računala spajaju sa svojim korisničkim računom, treba kreirati poddirektorij LocalUser unutar glavnog direktorija kojeg definiramo prilikom kreiranja FTP domene. Primjer: Ako je glavni direktorij smješten na lokaciji D:\FTP\, direktorij LocalUser kreira se unutar njega, D:\FTP\LocalUser\ a unutar LocalUser direktorija nalaze se matični direktoriji za svakog pojedinog korisnika (D:\FTP\LocalUser\korisnik1\, D:\FTP\LocalUser\korisnik2\, …)

Page 32: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

28

Ukoliko se spaja korisnik sa druge domene, tj. udaljenog računala, treba kreirati direktorij sa nazivom domene unutar glavnog direktorija kojeg definiramo prilikom kreiranja FTP domene. Primjer: Ako je ime domene nekoime.hr a glavni direktorij je na lokaciji D:\FTP\, treba kreirati poddirektorij sa imenom nekoime, D:\FTP\nekoime, unutar kojeg će se smjestiti pojedini korisnici sa te domene (D:\FTP\nekoime\udaljeniK1\, D:\FTP\nekoime\udaljeniK2\, …) Ukoliko odaberemo prvu opciju ili drugu opciju, i krenemo dalje, od nas se zahtijeva unos putanje do matičnog direktorija, te dodjeljivanje prava na čitanje/pisanje korisniku. Time završava podešavanje putem Čarobnjaka. Ukoliko odaberemo treću opciju, od nas se zahtjeva unos korisničkog imena, zaporke, te Active Directory domene.

6.2 Korištenje skripte Iisftp.vbs Korištenje skripte Iisftp.vbs omogućuje nam kreiranje, pokretanje, zaustavljanje, pauziranje, izlistavanje te brisanje domene putem konzolne aplikacije, umjesto preko grafičkog sučelja. Skripta se nalazi na lokaciji systemroot\System32. Prilikom izvršavanja ove skripte za jednu od akcija, korisnik treba biti član Administrator grupe.

6.2.1 Kreiranje domene

Prilikom kreiranja domene pomoću skripte, mogu se podesiti samo osnovni parametri. Za podešavanje drugih vrijednosti potrebno je pokrenuti IIS Manager. Sintaksa naredbe je:

iisftp /create Path SiteName iisftp /create Path SiteName[/b Port] [/i IPAddress] [/dontstart]

[/isolation {AD|Local} [/ADdomain DomainName /ADadmin [Domain\]User /ADpass

Password]] [/s Computer [/u [Domain\]User /p Password]]

Parametri koji se koriste su slijedeći: - Path - ovim se određuje lokacija matičnog direktorija. Mora biti lokalno, npr. D:\Test, a ukoliko ne postoji skripta će ga kreirati. Ovaj parametar mora se u naredbi nalaziti neposredno ispred parametra SiteName, u suprotnom skripta neće raditi ispravno. - SiteName - obavezan parametar, definira ime FTP domene. - /b Port - određuje broj TCP priključka (standardno je to 21) - /i IPAddress - određuje IP adresu FTP domene. Standardno podrazumijeva sve nedodijeljene, što znači da obuhvaća sve IP adrese na računalu koje nisu dodijeljene nekoj drugoj domeni. Ista vrijednost na svakom pojedinom IIS poslužitelju može se dodijeliti samo

Page 33: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

29

jednoj domeni. - /dontstart – ukoliko se navede ovaj parametar, FTP se ne pokreće automatski nakon kreiranja, što je obrnuto od primarne vrijednosti IIS-a. - /isolation{AD|Local} - omogućuje izolirani način rada, Active Directory i Local za jednog ili dva korisnika. Ako u sintaksi nije naveden ovaj parametar, domena neće koristiti izolirani način rada. - /ADdomainDomainName - ovaj parametar je ispravan ukoliko je vrijednost prethodnog parametra postavljena na AD, a označava ime Active Directory domene. - /ADadmin[Domain\]User - i ovaj parametar je ispravan samo ako je vrijednost parametra /isolation postavljena na AD. Označava ime administratora u obliku user, domain\user ili user@domain. - /ADpassPassword - parametar koji je, također, ispravan samo ako je vrijednost parametra /isolation postavljena na AD. Ovim se definira zaporka za administratora. - /sComputer - ovim se pokreće skripta na određenom udaljenom računalu. Ime računala ili IP adresu treba unijeti bez kose crte, a po osnovnoj vrijednosti to je lokalno računalo. - /u[Domain\]User - ovim se pokreće skripta sa posebnim ovlastima određenog korisničkog računa, a račun mora biti član Administrators grupe na udaljenom računalu. Po osnovnoj vrijednosti, skripta se pokreće sa dozvolama trenutnog korisnika na lokalnom računalu. - /pPassword - ovdje se definira zaporka za korisnički račun naveden u prethodnom parametru Primjer pozivanja skripte i unošenja parametara za kreiranje domene:

C:\>iisftp /create D:\Proba2 FTP_test /i 192.168.1.6 /dontstart Connecting to server ...Done. Server = BIMBICA-ZF1EBQ8 Site Name = FTP_test Metabase Path = MSFTPSVC/1322743063 IP = 192.168.1.6 Port = 21 Root = D:\Proba2 IsoMode = None Status = STOPPED C:\>

Ovim primjerom kreirana je domena FTP_ test, sa matičnim direktorijem D:\Proba, domeni pridružena IP adresa 192.168.1.6 te onemogućeno automatsko pokretanje prilikom završetka kreiranja. Odgovor koji se dobije nakon kreiranja domene sadrži još par informacija, kao što su ime poslužitelja, Metabase putanja, koja je analogna ključu registra u system registry, broj TCP priključka te IsoMode, tj. način izolacije.

Page 34: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

30

6.2.2 Pokretanje domene

FTP domena se pokreće automatski nakon kreiranja, osim ako to parametrom nije podešeno drugačije (parametar /dontstart koji se koristi prilikom kreiranja). Sintaksa naredbe je: iisftp/start FTPSite [FTPSite...] [/s Computer [/u [Domain\]User/p Password]]

Parametri koji se koriste su slijedeći: - FTPSite - obavezan parametar, koji određuje ime FTP domene ili Metabase putanju koja se unosi ukoliko postoji više FTP domena istog imena. - /sComputer - ovim se pokreće skripta na određenom udaljenom računalu. Ime računala ili IP adresu treba unijeti bez kose crte, a po osnovnoj vrijednosti to je lokalno računalo. - /u[Domain\]User - ovim se pokreće skripta sa posebnim ovlastima određenog korisničkog računa, a račun mora biti član Administrators grupe na udaljenom računalu. Po osnovnoj vrijednosti, skripta se pokreće sa dozvolama trenutnog korisnika na lokalnom računalu. - /pPassword - ovdje se definira zaporka za korisnički račun naveden u prethodnom parametru

Primjer pozivanja skripte i unošenje parametara za pokretanje domene:

C:\>iisftp /start FTP_test Connecting to server ...Done. Server MSFTPSVC/1322743063 has been STARTED

Ovim primjerom je pokazano pokretanje domene FTP_test, kreirane u prethodnom primjeru. Odgovor koji se dobije nakon pozivanja i izvršavanja naredbe govori da je spajanje na poslužitelj uspješno izvršeno te da je domena, čiji je Metabase ključ MSFTPSVC/1322743063, pokrenuta.

6.2.3 Zaustavljanje domene

Ukoliko primijetimo da se pokreće sporo ili ponaša neodgovarajuće, domenu možemo privremeno zaustaviti, pa ponovno pokrenuti (resetirati) poslužitelj, čime se mogu ukloniti privremeni problemi. Sintaksa naredbe je: iisftp/stop FTPSite [FTPSite...] [/s Computer [/u [Domain\]User/p Password]]

Page 35: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

31

Parametri koji se koriste su: - FTPSite - obavezan parametar, koji određuje ime FTP domene ili Metabase putanju koja se unosi ukoliko postoji više FTP domena istog imena. - /sComputer - ovim se pokreće skripta na određenom udaljenom računalu. Ime računala ili IP adresu treba unijeti bez kose crte, a po osnovnoj vrijednosti to je lokalno računalo. - /u[Domain\]User - ovim se pokreće skripta sa posebnim ovlastima određenog korisničkog računa, a račun mora biti član Administrators grupe na udaljenom računalu. Po osnovnoj vrijednosti, skripta se pokreće sa dozvolama trenutnog korisnika na lokalnom računalu. - /pPassword - ovdje se definira zaporka za korisnički račun naveden u prethodnom parametru Primjer pozivanja skripte i unošenje parametara za zaustavljanje domene:

C:\>iisftp /stop FTP_test Connecting to server ...Done. Server MSFTPSVC/1322743063 has been STOPPED

FTP_test, domena pokrenuta u prethodnom primjeru, ovim primjerom je zaustavljena. Poslužitelj se odazvao i povratna informacija koju je poslao kaže da je domena sa Metabase ključem MSFTPSVC/1322743063 zaustavljena.

6.2.4 Pauziranje domene

Jedina razlika između pauziranja i zaustavljanja domene jest u tome što prilikom pauziranja FTP dozvoljava svim trenutno pokrenutim procesima da izvođenje završe do kraja. Sintaksa naredbe je: iisftp/pauseFTPSite [FTPSite...] [/sComputer [/u[Domain\]User/pPassword]]

Parametri koji se koriste su slijedeći: - FTPSite - obavezan parametar, koji određuje ime FTP domene ili Metabase putanju koja se unosi ukoliko postoji više FTP domena istog imena. - /sComputer - ovim se pokreće skripta na određenom udaljenom računalu. Ime računala ili IP adresu treba unijeti bez kose crte, a po osnovnoj vrijednosti to je lokalno računalo. - /u[Domain\]User - ovim se pokreće skripta sa posebnim ovlastima određenog korisničkog računa, a račun mora biti član Administrators grupe na udaljenom računalu. Po osnovnoj vrijednosti, skripta se pokreće sa dozvolama trenutnog korisnika na lokalnom računalu. - /pPassword - ovdje se definira zaporka za korisnički račun naveden u prethodnom parametru

Page 36: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

32

Primjer pozivanja skripte i unošenje parametara za pauziranje domene:

C:\>iisftp /pause FTP_test Connecting to server ...Done. Server MSFTPSVC/1322743063 has been PAUSED

Domenu FTP_test, zaustavljenu u prethodnom primjeru, ponovo smo pokrenuli linijom koda C:\>iisftp /start FTP_test, te ju zatim pauzirali. Povratna poruka koja se dobije kaže da je domena sa Metabase ključem MSFTPSVC/1322743063 pauzirana. Ukoliko želimo opet staviti tu domenu u funkciju treba pozvati naredbu za pokretanje domene.

6.2.5 Izlistavanje domena

Izlistavanje domena koristi se za provjeru statusa i/ili značajki FTP domena. Može se provjeravati status za sve domene na lokalnom računalu, za domene na udaljenom računalu ili za jednu ili više točno određenih domena. Sintaksa naredbe je: iisftp/query [FTPSite [FTPSite...]]

[/s Computer [/u [Domain\]User/p password]]

Parametri koji se koriste su slijedeći: - FTPSite - obavezan parametar, koji određuje ime FTP domene ili Metabase putanju koja se unosi ukoliko postoji više FTP domena istog imena. - /sComputer - ovim se pokreće skripta na određenom udaljenom računalu. Ime računala ili IP adresu treba unijeti bez kose crte, a po osnovnoj vrijednosti to je lokalno računalo. - /u[Domain\]User - ovim se pokreće skripta sa posebnim ovlastima određenog korisničkog računa, a račun mora biti član Administrators grupe na udaljenom računalu. Po osnovnoj vrijednosti, skripta se pokreće sa dozvolama trenutnog korisnika na lokalnom računalu. - /pPassword - ovdje se definira zaporka za korisnički račun naveden u prethodnom parametru Primjer pozivanja skripte i unošenje parametara za izlistavanje domena: 1. izlistavanje svih domena

C:\>iisftp /query Connecting to server ...Done. Site Name (Metabase Path) Status IP Port ============================================================== Default FTP Site (MSFTPSVC/1) STOPPED ALL 21 Ivona FTP (MSFTPSVC/1200041712) STOPPED ALL 21 FTP_test (MSFTPSVC/1322743063) STARTED ALL 21

Page 37: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

33

Rezultat izlistavanja su sve domene na lokalnom računalu, sa imenom, Metabase ključem, statusom, IP adresom te priključkom. 2. izlistavanje samo jedne, određene, domene

C:\>iisftp /query FTP_test Connecting to server ...Done. Site Name (Metabase Path) Status IP Port ============================================================== FTP_test (MSFTPSVC/1322743063) STARTED ALL 21

U ovom primjeru dobiju se sve informacije kao i u prethodnom primjeru, ali samo za jednu, konkretnu domenu, FTP_test.

6.2.6 Podešavanje Active Directory User Isolation

Ova opcija koristi se za provjeru i podešavanje svojstava za Active Directory datoteke. Sintakse naredbi su: a) za provjeru stanja: iisftp /GetADProp UserID [/s Computer [/u [Domain\]User /p Password]]

b) za postavljanje određene vrijednosti: iisftp /SetADProp UserID {msIIS-FTPDir|msIIS-FTPRoot} PropertyValue [/s Computer [/u

[Domain\]User/p Password]]

Parametri koji se koriste su: - /GetADProp - vraća određenu vrijednost za određenog Active Directory korisnika - /SetADProp - postavlja određenu vrijednost za određenog Active Directory korisnika - UserID - obavezan parametar, kojim se precizira ID prijave Active Directory korisnika - msIIS-FTPDir|msIIS-FTPRoot - Obavezan parametar za određivanje svojstava matičnog direktorija. Određuje izolaciju na razini direktorija. - PropertyValue - Obavezan parametar za određivanje svojstava matičnog direktorija. Određuje vrijednosti matičnog direktorija i relativnih putanja. - /sComputer - ime računala ili IP adresa udaljenog računala (bez kose crte). Po osnovnoj vrijednosti to je lokalno računalo. - /u[Domain\]User - Ovim se određuje korisnički račun preko kojega se spaja na Active Directory. Račun mora biti član Administrators grupe na udaljenom računalu. Po osnovnoj vrijednosti, skripta se pokreće sa dozvolama trenutnog korisnika na lokalnom računalu. - /pPassword - definira se zaporka za korisnički račun naveden u prethodnom parametru

Page 38: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

34

Primjer pozivanja skripti:

a) provjera stanja: C:\>iisftp /GetADProp bimbica null

Dobiveni odgovor kaže da korisniku "bimbica" nema pridruženih vrijednosti, pa ćemo slijedećom naredbom podesiti svojstva matičnog direktorija. b) postavljanje određene vrijednosti:

C:\>iisftp /setADProp bimbica FTPDir FTP_test BIMBICA-ZF1EBQ8 The value of FTPDir for user bimbica has been set to Ivona_FTP

Nakon izvršavanja ove naredbe, još jednom pozivamo naredbu za provjeru stanja, koja pokazuje slijedeće vrijednosti:

C:\>iisftp /GetADProp bimbica Ivona_FTP

6.2.7 Brisanje domene

Sintaksa naredbe je: iisftp /delete FTPSite [FTPSite...] [/s Computer [/u [Domain\]User/p Password]]

Parametri koji se koriste su slijedeći: - FTPSite - obavezan parametar, koji određuje ime FTP domene ili Metabase putanju koja se unosi ukoliko postoji više FTP domena istog imena. - /sComputer - ovim se pokreće skripta na određenom udaljenom računalu. Ime računala ili IP adresu treba unijeti bez kose crte, a po osnovnoj vrijednosti to je lokalno računalo. - /u[Domain\]User - ovim se pokreće skripta sa posebnim ovlastima određenog korisničkog računa, a račun mora biti član Administrators grupe na udaljenom računalu. Po osnovnoj vrijednosti, skripta se pokreće sa dozvolama trenutnog korisnika na lokalnom računalu. - /pPassword - ovdje se definira zaporka za korisnički račun naveden u prethodnom parametru Primjer pozivanja skripte i unošenje parametara za brisanje domene:

C:\>iisftp /delete MSFTPSVC/26939560 Connecting to server ...Done. Server MSFTPSVC/26939560 has been DELETED

Ovim primjerom, pozivajući Metabase putanju u naredbi, izbrisana je domena "FTP test".

Page 39: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

35

7. Instalacija vsftpd poslužitelja na Linuxu (Red Hat distribucija) Tijekom instalacije Linux operativnog sustava (Fedora 4.0) treba odabrati grupe paketa koje želimo imati. Jedna od grupa zove se Poslužitelj, i u njoj se nalaze paketi za podešavanje različitih poslužitelja (web, ftp, e-mail, MySQL baza…). Ovdje već pri samoj instalaciji operativnog sustava možemo definirati instaliranje vsftpd poslužitelja. U grupi Poslužitelj odaberemo FTP poslužitelji čiji je osnovni paket upravo vsftpd. Ukoliko pri instalaciji operativnoga sustava ne snimimo paket vsftpd, može se naknadno instalirati uz pomoć programa RPM (Red Hat Package Manager). Potrebno je postaviti CD-ROM, pronaći odgovarajući paket na instalacijskom CD-u operativnog sustava te ga instalirati. Osoba koja pokreće instalaciju mora biti prijavljena kao super korisnik. Sintaksa kojom se postavlja CD te pokreće instalacija je slijedeća:

[root@localhost /]# mount media/cdrecorder [root@localhost /]# cd media/cdrecorder [root@localhost cdrecorder]# ll [root@localhost cdrecorder]# cd Fedora [root@localhost Fedora]# ll [root@localhost Fedora]# cd RPMS [root@localhost RPMS]# ll | more [root@localhost RPMS]# rpm –i vsftpd-2.0.3-1.i386.rpm

Ukoliko se paket nalazi na drugom računalu sintaksa je slijedeća

rpm –i ftp://ftp.netwarf.com/pub/RPMS/vsftpd-2.0.3-1.i386.rpm Vsftpd poslužitelj se instalira u slijedeće direktorije:

- /etc/vsftpd (konfiguracijska datoteka) - /etc/pam.d/vsftpd (PAM modul za zaštitu) - /etc/rc.d/init.d/vsftpd (skripta za pokretanje, zaustavljanje, ponovno pokretanje...) - /usr/sbin/vsftpd (izvršni program).

Page 40: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

36

8. Serv-U – mogućnosti i osnovne konfiguracijske postavke

8.1 Sigurnost Na razini poslužitelja postoji opcija Enable security, opcija za globalno ne/omogućavanje sigurnosti. Uključena je po osnovnoj vrijednosti, a gašenjem se svima dodjeljuje pravo brisanja/kopiranja/mijenjanja datoteka. Na razini domene, i na razini korisnika, mogu se definirati dozvoljene i zabranjene IP adrese i/ili IP imena. Pri definiranju se mogu koristiti i simboli '-' i '*' pa time zabrana može biti pojedinačna (135.56.21.1), a može se odnositi i na cijeli blok adresa (135.56.21.1-30 ili 135.56.21.*, 135.56.*.*, *.hr,) ( *.*.*.* odnosi se na sve IP adrese).

8.2 Način rada sa korisnicima

8.2.1 Dodavanje korisnika

Može se dozvoliti anonimni pristup i/ili pristup sa korisničkim imenom i zaporkom. Ako je dozvoljen anonimni pristup, na razini poslužitelja postoji opcija kojom se provjerava ispravnost unesene e-mail adrese kao zaporke (Check anonymous passwords). Ako je ova opcija ugašena, anonimni korisnik može upisati bilo što u polje za zaporku. Prilikom kreiranja korisničkog računa potrebno je odabrati kvalitetno ime (ilozic01 je sigurnije nego samo ilozic) i dobru zaporku. Na razini domene postoji par opcija za podešavanje zaporki – minimalna dužina (Minimum password length), složenost zaporke (Require complex passwords) i vremensko ograničenje trajanja zaporke (Password

expiration). Složenost zaporke zahtjeva od korisnika unos barem jednog velikog slova i barem jednog simbola koji nije abecedni (broj ili znak), dok vremensko ograničenje trajanja označava broj dana koliko vrijedi zaporka, nakon čega ističe a korisnik se može prijaviti jedino sa naredbom SITE PSWD, i niti jedna druga naredba se ne prihvaća dok se ne upiše nova zaporka. Kombinacijom ove tri opcije za podešavanje zaporke, korisnike se može natjerati da ih periodično mijenjaju i učine sigurnijima. Prilikom kreiranja korisničkog računa, svakom se može automatski kreirati i matični direktorij, ako ne postoji (Automatically create home directory). Matični direktorij je mjesto gdje se automatski smješta korisnik nakon pristupa, i svaki korisnik ga mora imati. Nakon kreiranja korisničkog računa, svakog korisnika se može smjestiti u jednu ili više određenih grupa. Grupe se koriste radi lakšeg grupiranja određenih korisnika u administrativne svrhe ili zbog lakše podjele određenih prava i opcija.

8.2.2 Brisanje korisnika

Na razini korisnika, pojedinačno, može se definirati automatsko brisanje ili blokiranje korisničkog računa (Automatically remove/disable account on date) na određeni datum.

Page 41: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

37

Račun se može privremeno i blokirati (Disable account) te onemogućiti spajanje, a da se pri tom sačuvaju sve njegove postavke.

8.2.3 Druge radnje sa korisnicima

Na razini poslužitelja i domene može se ograničiti maksimalan broj istovremeno spojenih korisnika (Max. No. of users) – prazno polje označava da nema ograničenja, dok nula ne dozvoljava pristup niti jednom korisniku. Korisnicima se, također, može privremeno zabraniti pristup ako se određen broj puta u određenom vremenskom intervalu pokušaju spojiti, npr. korisnika koji se u 60 sekundi probao spojiti više od 10 puta, privremeno se blokira na 5 minuta. Korisnik ne dobiva nikakvu poruku o razlogu blokade, a administrator ima uvid u blokirane IP adrese (Blocked IPs u Activity panel-u). Može se voditi i evidencija spajanja korisnika (Logging). Sprema se u posebnu datoteku, periodično (dnevno, tjedno, mjesečno, godišnje) ili se može pregledati u Serv-u prozoru za poruke. Ako se navedu određene IP adrese, klijenti koji se spajaju preko njih neće se prikazati u evidenciji.

8.3 Mogućnosti korisnika

8.3.1 Ograničenje diskovnog prostora

Za svakog korisnika pojedinačno (na razini korisnika) ili grupu, može se odrediti ograničenje diskovnog prostora (Quota). Omogućavanjem ove opcije, unosi se broj, tj. količina prostora s kojom korisnik raspolaže (MBytes). Također se može izračunati i trenutno zauzeće prostora na disku (Current, Calculate current).

8.3.2. Pristupi i zabrane za korisnike

Za pojedinog korisnika, ili grupu, mogu se definirati pravila za pristup direktorijima i datotekama, te koje radnje nad njima se mogu izvršavati (čitanje, pisanje, brisanje, izvršavanje datoteka, te kreiranje, uklanjanje i pregled direktorija). Posebno, korisniku se može onemogućiti uvid u sve datoteke sa atributom hidden (opcija Hide 'hidden' files). Korisniku se može ograničiti kretanje, tj. može ga se zaključati u svoj matični direktorij i onemogućiti kretanje izvan matičnog direktorija, čak i ako postoji neko pravilo koje mu dozvoljava pristup direktoriju izvan matičnoga. Također im se može dozvoliti da sami mijenjaju svoje zaporke. Određenom korisniku uvijek se može dopustit pristup, čak i kada je dosegnut maksimalan broj korisnika na poslužitelju.

Page 42: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

38

9. FTP na operativnom sustavu Windows Server 2003 - mogućnosti i osnovne konfiguracijske postavke

9.1 Sigurnost

Ukoliko, u IIS Manageru, kliknemo na ime kreirane FTP domene desnom tipkom, odaberemo prikaz svojstava domene (Properties) te otvorimo zadnju, petu karticu Directory

Security možemo definirati dozvole i zabrane pristupa FTP domeni pojedincu ili grupi. Po osnovnoj vrijednosti, svima je dozvoljen pristup. Postoje dvije opcije:

- dozvoljeni pristup (Granted access) - ukoliko odaberemo ovu opciju, dozvoljavamo pristup svima, osim točno određenim korisnicima ili grupama koje navedemo. - zabranjeni pristup (Denied access) - ovom opcijom zabranjuje se pristup svima, osim točno navedenim korisnicima ili grupama koje navedemo.

Pritiskom na tipku za dodavanje (Add) otvara se prozor u koji treba unijeti IP adresu

korisnika, ako se dodaje pojedinac ili Network ID i Subnet mask za grupu računala. Korisnici ili grupe brišu se sa liste klikom na tipku Ukloni (Remove).

9.2 Način rada sa korisnicima

9.2.1 Dodavanje korisnika

Dodavanje FTP korisnika direktno je povezano sa korisnicima na računalu. Prilikom

instalacije operativnog sustava, Windows Server 2003 automatski kreira određene korisničke račune za svoje potrebe i servise. Naknadno se mogu dodavati novi, brisati ili mijenjati stari računi. Ukoliko želimo otvoriti novi račun, treba pokrenuti Computer Management, do kojeg se dođe desnim klikom na Moje računalo te odabirom Manage iz izbornika (Computer Management se također nalazi i na listi alata Upravljački alati, koji se dobije klikom na tipku Start). Nakon pokretanja Computer Management-a, u lijevom dijelu programa, unutar System Tools dijela, treba pronaći ikonu Local Users and Groups te dvokliknuti na nju. Ovime dobijemo prikaz dviju mapa, korisnika i grupa na računalu (Users i Gropus). Da bi kreirali novog korisnika, desnom tipkom kliknemo na Users mapu te izaberemo New User... iz izbornika. Novi prozor koji se ovom akcijom otvorio, služi za kreiranje korisnika te unošenje osnovnih podataka:

• korisničkog imena • punog imena korisnika • opisa korisničkog računa • unosa zaporke

Također se mogu podesiti osnovne postavke:

• mora li korisnik promijeniti zaporku prilikom prvog spajanja • dozvoljava li se korisniku da sam mijenja zaporku • da li zaporka ističe nakon određenog vremena • da li je račun nakon kreiranja onemogućen.

Prozor Local Users and Groups, samo sa korisnicima i grupama, također se može

Page 43: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

39

dobiti ukoliko kliknemo na Start, odaberemo Pokretanje te u polje upišemo lusrmgr.msc.

9.2.2 Brisanje korisnika

Brisanje korisnika vrši se u prozoru Local Users and Groups ili unutar Computer

Management-a. Na listi korisnika nađe se odgovarajuće ime, desnom tipkom miša klikne, te odabere Brisanje. Korisnički račun može se trenutno blokirat, čime se korisniku onemogućuje spajanje, a zadržavaju se sve njegove postavke. Kada kliknemo na željeno korisničko ime, odaberemo prikaz svojstava u prvoj kartici te označimo kvadratić ispred opcije kojom definiramo blokiranje računa (Account is disabled).

9.2.3 Druge radnje sa korisnicima

U IIS Manageru možemo podesiti neke osnovne postavke. Ukoliko kliknemo na ime

kreirane FTP domene desnom tipkom, otvoriti će se izbornik iz kojeg odaberemo prikaz svojstava domene. Prozor svojstava podijeljen je na pet kartica u kojima se podešavaju određena svojstva. Prva kartica "FTP Site" sadrži postavke za FTP domenu gdje se, među ostalima nalazi i opcija kojom definiramo broj dozvoljenih spajanja (FTP site connectons) tj. koliko istovremeno spojenih korisnika može biti na domeni (slika 9.1). Ako odaberemo neograničeno (Unlimited), poslužitelj će prihvaćati nove korisnike dok god ne ostane bez memorije. Ukoliko odaberemo spajanje ograničeno na određen broj korisnika (Connection

limited to), trebamo unijeti broj korisnika koji istovremeno mogu biti spojeni. Kada se dosegne maksimalan broj korisnika, drugima koji se pokušaju spojiti pojavi se poruka da je poslužitelj trenutno zauzet. Preporučuje se broj dozvoljenih spajanja ograničiti na neki broj.

Slika 9.1 Podešavanje broja dozvoljenih istovremenih spajanja

Page 44: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

40

U prvoj kartici se nalazi i opcija kojom omogućujemo pohranjivanje aktivnosti korisnika (Enable logging). Ukoliko uključimo ovu opciju, na računalo će se spremati sve aktivnosti korisnika. Informacije se pohranjuju u ASCII datoteku ili ODBC bazu podataka, a format datoteke može biti Microsoft IIS Log Format (nepromjenjivi ASCII format), ODBC Logging (nepromjenjivi format kompatibilan sa tom bazom podataka) te W3C Extended Log Format File (promjenjivi ASCII format, označen po primarnoj vrijednosti). Pored opcije za pohranu podataka, postoji tipka Properties gdje određujemo kada će se kreirati nova datoteka sa podacima (vremenski ili ako dosegne određenu veličinu), gdje će se pohranjivati te koje podatke će sadržavati (datum, vrijeme, IP korisničkog računa, korisničko ime, IP domene, itd...).Pored ove opcije nalazi se i tipka kojom možemo provjeriti trenutnu sesiju (Current

Session), tj. listu korisnika koji su trenutno spojeni na FTP domenu.

9.3 Mogućnosti korisnika

9.3.1 Pristupi i zabrane za korisnike

Ukoliko, u IIS Manageru, kliknemo na ime kreirane FTP domene desnom tipkom,

odaberemo prikaz svojstava domene te otvorimo drugu karticu Security Accounts, možemo odrediti način pristupa FTP domeni. Ukoliko se dozvoli anonimni pristup, ovdje se definira korisnički račun koji koriste anonimni korisnici za pristup računalu. U polje User name unosi se korisničko ime koje će koristiti anonimni posjetitelji, a u polje Password odgovarajuća zaporka. Klikom na tipku Browse mogu se pretražiti i postaviti druge vrijednosti (npr. neko drugo računalo spojeno u mreži). Ispod ovih postavki stoji opcija koja, ukoliko se uključi, dozvoljava pristup na FTP domenu samo anonimnim korisnicima, dok korisnicima sa korisničkim imenom i zaporkom ne dozvoljava pristup.

9.3.2 Mogućnosti kretanja korisnika

Ukoliko korisnike želimo zaključati u svoj matični direktorij, prilikom kreiranja FTP

domene odabrati ćemo opciju Isolate users – tj. svaki korisnik na FTP poslužitelju imati će konfiguriran svoj matični direktorij, i neće biti u stanju izlaziti izvan njega. Ako odaberemo prvu opciju, Do not isolate users, korisnici se mogu slobodno kretati unutar svoga, ali i matičnih direktorija drugih korisnika.

9.3.3 Pravo čitanja i pisanja nad određenim direktorijem

U četvrtoj kartici Home Directory, korisnicima se dodjeljuju prava čitanja/pisanja nad

određenim direktorijem te određuje da li će se vršiti pohrana podataka o posjetima. Pohrana podataka radit će ukoliko je u prvoj kartici, FTP Site, omogućeno pohranjivanje aktivnosti korisnika.

9.3.4 Upravljanje sa zaporkama

Korisniku se mogu dozvoliti ili zabraniti neke akcije sa zaporkama. U prozoru Local

Users and Groups ili unutar Computer Management-a, na listi korisnika nađe se odgovarajuće ime, desnom tipkom miša klikne, te odabere prikaz svojstava. U glavnoj kartici

Page 45: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

41

(General) možemo odrediti mora li korisnik promijeniti zaporku prilikom prvog spajanja (User must change password at next logon), dozvoljava li se korisniku da sam mijenja zaporku (User cannot change password) te da li zaporka ističe nakon određenog vremena (Password never expires).

9.3.5 Ograničenje diskovnog prostora

Ograničenje diskovnog prostora ne može se podesiti za razini datoteke ili direktorija,

nego na razini diska ili korisnika i grupa. Ograničenje diskovnog prostora određuje administrator sustava i on je jedini na kojega se ne primjenjuju pravila o ograničenju diskovnog prostora; po osnovnoj vrijednosti ne postoje ograničenja za administratora.

Ograničenje diskovnog prostora koristi se u spoju sa NTFS, Group Policy i Active Directory tehnologijom. NTFS je datotečni sustav na kojem se podešava limit, Group Policy se koristi za određivanje granica, a Active Directory za sastavljanje liste korisnika nad kojima će se primijeniti pravila. Pored određivanja diskovnog limita, može se podesiti i granica nakon koje se dobije upozorenje o skoroj potrošnji slobodnog prostora.

Page 46: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

42

10. vsftpd poslužitelj na operativnom sustavu Linux, distribucija Fedora - mogućnosti i osnovne konfiguracijske postavke

10.1 Sigurnost Tijekom instalacije vsftpd poslužitelja, automatski se kreiraju datoteke:

- ftpusers - user_list - vsftpd.conf - vsftpd_conf_migrate.sh

Sadržaj datoteke vsftpd.ftpusers instalacije izgleda ovako (zadnja linija #lozic01 dodana je naknadno):

# Users that are not allowed to login via ftp root bin daemon adm lp sync shutdown halt mail news uucp operator games nobody #lozic01

U ovu datoteku se dodaju korisnička imena kojima se onemogućuje pristup i

korištenje FTP-a. Micanjem oznake “#“ ispred korisničkog imena “lozic01“, ta linija postaje aktivna i označava kraj svih FTP aktivnosti na poslužitelju za korisnika “lozic01“, bez obzira na sve druge postavke unutar drugih konfiguracijskih datoteka. Sadržaj datoteke vsftpd.user_list je slijedeći:

# vsftpd userlist # If userlist_deny=NO, only allow users in this file # If userlist_deny=YES (default), never allow users in this file, and # do not even prompt for a password. # Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers # for users that are denied. root bin daemon adm lp sync

Page 47: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

43

shutdown halt mail news uucp operator games nobody

Ovisno o postavkama unutar vsftpd.conf datoteke (userlist_deny=YES ili

userlist_deny=NO) vrijedi zabrana ili dozvola spajanja za korisnike unutar ove datoteke. Ukoliko je vrijednost userlist_deny=NO, dozvoljava se pristup samo korisnicima sa ove liste. Po osnovnoj vrijednosti je userlist_deny=YES, pa se svim korisnicima sa liste zabranjuje pristup. Time se podešava dvojna (dupla) zabrana, zbog veće sigurnosti. Kritični korisnici su navedeni u datoteci vsftpd.ftpusers koja inače služi samo za zabrane, ali su navedeni i u vsftpd.user_list koja inače služi za dozvoljavanje pristupa, ali je pristup opcijom userlist_deny=YES zabranjen.

Podešavanjem vatrozida može se dozvoliti ili zabraniti pristup određenim servisima (sshd, mysqld, vsftpd, ...) te IP adresama. Postoje dvije datoteke - /etc/hosts.deny i /etc/hosts.allow. U datoteci /etc/hosts.deny navedeni su servisi i IP adrese kojima se zabranjuje pristup. Primjer datoteke /etc/hosts.deny:

# hosts.deny ALL:61.129.117.104 vsftpd:220.123.186.60 vsftpd:61.* vsftpd:200.* sshd:200.*

Ovom datotekom zabranjen je pristup svim servisima sa adrese 61.129.117.104, pristup vsftpd servisu sa IP adrese 220.123.186.60, pristup vsftpd servisu bloku IP adresa koje počinju sa 200.*, te pristup sshd servisu bloku IP adresa koje počinju sa 200.*. U datoteci /etc/hosts.allow navedeni su servisi i IP adrese kojima se dozvoljava pristup. Primjer datoteke /etc/hosts.allow: # hosts.allow vsftpd:200.69.175.60 Iako je u datoteci /etc/hosts.deny zabranjen pristup cijelom boku IP adresa 200.*, ovom datotekom dozvoljava se pristup vsftpd servisu samo jednoj adresi iz cijelog tog bloka, IP adresi 200.69.175.60.

Određenim sistemskim korisničkim imenima, zbog sigurnosti, automatski se zabranjuje pristup i ta imena su navedena unutar vsftpd.ftpusers datoteke odmah po instalaciji vsftpd poslužitelja (root, bin, daemon, adm, lp, ...).

Page 48: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

44

10.2 Način rada sa korisnicima

10.2.1 Dodavanje korisnika

Korisnik se dodaje na razini operativnog sustava, te se nakon kreiranja korisnika u

datoteci /etc/passwd pojavljuje novi zapis sa informacijama. Zapis izgleda ovako: login_name:encrypted_password:user_ID:group_ID:user_information:login_directory:login

_shell

login_name –korisničko ime encrypted_password – zaporka korisnika user_ID – jedinstveni broj za identifikaciju korisnika dodijeljen od strane operativnog sustava group_ID - jedinstveni broj za identifikaciju grupe user_information – opis korisnika login_directory – matični direktorij korisnika login_shell – ljuska koju korisnik nakon prijave koristi za rad Dodavanje korisnika vrši se uz pomoć naredbe useradd. Neke od opcija koje se mogu koristiti prilikom dodavanja korisnika su: -u – UID, unosi se numerička vrijednost korisničkog ID-a.. ukoliko se ne unese vrijednost, korisniku se dodjeljuje broj automatski, kako je definirano unutar /etc/login.defs datoteke; -o – dozvoljava kreiranje korisnika sa duplim UID brojem; -g – GID, ime ili broj grupe kojoj se dodjeljuje korisnik pri kreiranju. -d – matični direktorij, ukoliko ne navedemo putanju, kreirat će se kako je definirano unutar datoteke /etc/default/useradd. -c – tekstualna informacija o korisniku, obično korisnikovo puno ime -m – kreira korisnički matični direktorij, ukoliko ne postoji, te kopira unutar njega sve što se nalazi u direktoriju /etc/skel/. -f – broj dana nakon kojih će račun biti privremeno nedostupan, kada istekne zaporka. Vrijednost '0' onemogućuje račun odmah po isteku zaporke, a -1 onemogućuje ovu opciju. -e – datum nakon kojeg prestaje vrijediti korisnički račun (oblika YYYY-M;-D.D.). -p – zaporka, u čistom tekstualnom formatu -M – korisnički matični direktorij neće se kreirati, čak i ako je unutar sistema, tj. u /etc/login.defs definirano da se kreira. -r – koristi se za kreiranje sistemskog računa. Ovom se korisniku dodjeljuje UID manji od onog definiranog unutar /etc/login.defs i njegova zaporka nikad ne ističe. Također, ovakvom korisniku ne kreira se matični direktorij, kako je definirano unutar zapisa /etc/login.defs, pa ako želimo kreirati matični direktorij, treba koristiti opciju –m. -l – ovom opcijom korisnik se ne dodaje na last login listu, tj. listu aktivnosti svih korisnika u nekom periodu ( last -10 je.izlist aktivnosti unutar zadnjih 10 dana, last ivona01 je izlist aktivnosti korisnika ivona01…)

Nakon kreiranja korisnika, potrebno je korisniku dodijeliti zaporku, jer se opcijom –p pri kreiranju, zapisuje zaporka u čistom tekstualnom obliku, i kao takva nije funkcionalna.

Page 49: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

45

Naredba za dodjeljivanje zaporke je passwd, a neke od važnijih opcija su: -d – brzi način da se onemogući zaporka određenom korisniku -n – minimalan broj dana koliko vrijedi zaporka, ukoliko korisnički račun podržava ovu opciju -x – maksimalan broj dana koliko vrijedi zaporka, ukoliko korisnički račun podržava ovu opciju -w – ova opcija predstavlja broj dana pred istek zaporke, u kojima će korisnik primati obavijest o isteku -i – predstavlja broj dana koji će proći prije nego zaporka koja je istekla postane nevažeća i račun bude onemogućen. Primjer dodavanja korisnika, te dodjeljivanja zaporke:

[root@localhost home]# useradd -c 'Ivona Lozic' bimbica [root@localhost home]# passwd bimbica Changing password for user bimbica. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. [root@localhost home]#

Nakon toga zadnja linija zapisa u /etc/passwd datoteci izgleda ovako: bimbica:x:501:501:Ivona Lozic:/home/bimbica:/bin/bash.

Korisnik se, po unaprijed definiranim postavkama, može automatski spajati na FTP poslužitelj.

10.2.2 Brisanje korisnika

Za brisanje korisnika, koristi se naredba userdel. Postoji par opcija koje se mogu

koristiti u kombinaciji sa tom naredbom:

-f – forsira brisanje korisnika, čak i ako je trenutno prijavljen, također forsira brisanje korisničkog matičnog direktorija, čak i ako neki drugi korisnik koristi isti matični direktorij. -r – briše sve datoteke unutar matičnog direktorija zajedno sa tim direktorijem. Primjer brisanja korisničkog računa „bimbica“:

root@localhost home]# userdel –f –r bimbica

Ovim primjerom obrisan je korisnički račun “bimbica“ te korisnikov matični direktorij i sve datoteke unutar njega.

Page 50: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

46

10.2.3 Druge radnje sa korisnicima

Ograničenje broja korisnika na poslužitelju odnosi se na broj istovremeno spojenih

korisnika ili na broj korisnika koji se spajaju sa iste IP adrese. Postoje dva načina ograničavanja broja korisnika:

1. Dodavanjem linije koda max_clients u datoteku /etc/vsftpd/vsftpd.conf određuje se maksimalan broj korisnika koji mogu biti istovremeno spojeni. Po osnovnoj vrijednosti, nema ograničenja, tj. vrijednost koja piše je '0'. Primjer max_clients=10

Ova linija označava da se istovremeno može spojiti deset korisnika. Kada se dosegne limit, svi drugi korisnici prilikom pokušaja spajanja dobiti će poruku o grešci.

2. Dodavanjem linije koda max_per_ip u konfiguracijsku datoteku, određuje se maksimalan broj korisnika koji mogu biti istovremeno spojeni sa iste IP adrese. Po osnovnoj vrijednosti, nema ograničenja, tj. vrijednost koja piše je '0'. Primjer max_per_ip=4

Ova linija označava da se istovremeno mogu spojiti 4 korisnika sa iste IP adrese. Ukoliko je dosegnut limit, svi drugi korisnici, sa te iste adrese, prilikom pokušaja spajanja dobit će poruku o grešci.

Editiranjem konfiguracijske datoteke, može se omogućiti pohrana aktivnosti korisnika. Linijom xferlog_enable=YES, u konfiguracijskoj datoteci, omogućuje se pohrana aktivnosti o preuzimanju i podizanju datoteka na poslužitelj. Možemo definirati lokaciju na koju će se pohranjivati datoteka sa tim informacijama (log datoteka). Po osnovnoj vrijednosti lokacija je xferlog_file=/var/log/vsftpd.log.

Opcija xferlog_file označava ime datoteke u koju se pohranjuje zapis transfera wu-ftp izgleda. Ovaj log se zapisuje samo ako su obje opcije, xferlog_enable i xferlog_std_format, omogućene. Također se zapisuje ako je podešena opcija dual_log_enable. Po osnovnoj vrijednosti lokacija je /var/log/xferlog. Također možemo odrediti da li će ta datoteka biti standardnog ftpd xferlog formata, xferlog_std_format=NO.

Ukoliko je omogućen ovaj format (xferlog_std_format), zapis transfera biti će

standardnog xferlog formata (wu-ftpd). Primarna vrijednost ove lokacije je /var/log/xferlog, ali se može promijeniti korištenjem opcije xferlog_file.

Opcija vsftpd_log_file označava ime datoteke koja bilježi log datoteku vstfpd izgleda. Ovaj log se zapisuje samo ako je opcija xferlog_enable omogućena a xferlog_std_format onemogućena. Izuzetno, ako je podešena opcija dual_log_enable, također se zapisuje, a ako je omogućena opcija syslog_enable, ne zapisuje se u ovu datoteku nego u sistemsku.

Page 51: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

47

Omogućavanjem opcije log_ftp_protocol=YES zapisuje se svaka transakcija između klijenta i poslužitelja (najdetaljniji mogući prikaz), pod uvjetom da je opcija xferlog_std_format onemogućena. Po osnovnoj vrijednosti je log_ftp_protocol=NO.

Ukoliko je omogućena opcija dual_log_enable, paralelno se kreiraju dvije datoteke na lokacijama /var/log/xferlog i /var/log/vsftpd.log. Opcija po primarnoj vrijednosti nije upaljena. Primjer xferlog datoteke (dvije izdvojene linije) i objašnjenje: Sat Jul 14 11:22:16 2007 6 83.131.254.8 9140 /home/lozic/index.php a _ i r lozic ftp 0 * c Sat Jul 14 11:22:19 2007 1 83.131.254.8 9140 /home/lozic/index.php a _ o r lozic ftp 0 * c Prva linija označava podizanje datoteke index.php na poslužitelj, dok druga označava preuzimanje datoteke index.php sa poslužitelja. Informacije koje se dobiju zapisom aktivnosti su slijedeće:

− datum − vrijeme − IP adresa korisnika − broj bita koji su preneseni − određeni direktorij gdje se vrši aktivnost (podizanje, preuzimanje, brisanje) − koja aktivnost je izvršena:

− ascii format: − a _ i (incoming, tj. podignuto) − a _ o (outgoing, tj. preuzeto) − a _ d (deleted, tj. izbrisano)

− binarni format − b _ i (incoming, tj. podignuto) − b _ o (outgoing, tj. preuzeto) − b _ d (deleted, tj. izbrisano)

− način pristupa: − a – oznaka za anonimne korisnike − g – oznaka za zaporku gosta − r – oznaka za lokalne, autorizirane, korisnike

− korisničko ime korisnika koji je obavio akciju − ime servisa koji se poziva (ftp) − način autorizacije:

− 0 – označava da nema autorizacije − 1 – označava RFC 931 autorizaciju

− ID autoriziranog korisnika ('*' se koristi kada ID korisnika nije dostupan) − Status izvršenja akcije:

− c – označava da je transfer u potpunosti obavljen (complete) − i – označava da transfer nije obavljen u cijelosti (incomplete)

Trenutno stanje na poslužitelju, tj popis korisnika FTP poslužitelja, može se dobiti

slijedećom naredbom: netstat | grep ftp

Page 52: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

48

Netstat naredba izlistava sve aktivnosti na mrežnom adapteru, "|" preusmjerava upit naredbi grep koja izlistava samo ftp priključke. Primjer rezultata izvršavanja naredbe:

tcp 0 0 server.net:ftp 83-131-68-18.:ecolor-imager ESTABLISHED tcp 0 0 ns2.server.net:ftp customer.telemaxx.net:18089 ESTABLISHED tcp 0 235 server.net:ftp adsllj163.tel.net.ba:16705 ESTABLISHED tcp 0 0 ns2.server.net:ftp xdsl-87-79-45:sgi-eventmond ESTABLISHED tcp 2534 0 server.net:ftp 83-131-38-162.adsl.net:62163 ESTABLISHED tcp 0 58 server.net:ftp SLTBA.net.t-com.hr:20638 ESTABLISHED

Umjesto prve nule može biti trenutačna vrijednost podizanja datoteke u bitima, a umjesto druge nule trenutačna vrijednost preuzimanja u bitima/sec u trenutku kada se uzima uzorak.

10.3 Mogućnosti korisnika

10.3.1 Pristupi i zabrane za korisnike

Pristup/zabrana spajanja za anonimne korisnike podešava se u datoteci

/etc/vsftpd/vsftpd.conf, linijom koda anonymous_enable=YES.

Ukoliko je linija anonymous_enable=YES nekomentirana (bez znaka '#' na početku)

dozvoljava se spajanje anonimnim korisnicima. Dodavanjem znaka '#' ispred koda, onemogućuje se spajanje anonimnim korisnicima.

Ukoliko je dozvoljen pristup anonimnim korisnicima, mogu se podesiti još neke dodatne opcije vezane uz njih:

• anon_upload_enable=YES

Omogućuje se anonimnim korisnicima podizanje datoteka na FTP poslužitelj. Podrazumijeva se da već postoji direktorij po kojem je korisniku dozvoljeno pisanje.

• #anon_mkdir_write_enable=YES

Anonimnom korisniku se zabranjuje kreiranje novih direktorija. Ukoliko želimo dozvoliti kreiranje, samo treba maknuti znak '#'.

• #chown_uploads=YES

#chown_username=drugiKorisnik

Sve datoteke podignute na FTP poslužitelj od strane anonimnog korisnika mogu se pripisati u vlasništvo nekom drugom korisniku. Ne preporučuje se da taj drugi korisnik bude “root”. Micanjem znaka '#' ispred obje linije koda, omogućuje se ova opcija, a sve datoteke pripast će korisniku pod imenom “drugiKorisnik”.

• deny_email_enable=YES banned_email_file=/etc/vsftpd/banned_emails Također se može definirati datoteka sa zabranjenim e-mail adresama za

Page 53: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

49

anonimne korisnike. Ova opcija je prividno korisna u suzbijanju eventualnih DoS (Denial of Service – napad uskraćivanjem resursa) napada. Prvom linijom se omogućuje ta opcija, a drugom definira mjesto gdje će biti pohranjena datoteka sa navedenim e-mail adresama.

Pristup se može također dozvoliti/zabraniti lokalnim korisnicima. Nekomentiranom linijom koda local_enable=YES omogućuje se pristup lokalnim korisnicima.

Linijom koda write_enable=YES omogućuje se pravo pisanja putem obrazaca ili FTP naredbi.

10.3.2 Mogućnosti kretanja korisnika

Podešavanjem slijedećih opcija, korisnicima se može ograničiti kretanje na njihov

matični direktorij, ili dozvoliti kretanje iznad njega:

• chroot_list_enable Ukoliko je aktivirana ova opcija, možemo kreirati listu lokalnih korisnika koji će se nakon prijave smještati u svoj matični direktorij i neće biti u mogućnosti izaći iznad njega. Značenje ove opcije je nešto drugačije ako je omogućena opcija chroot_local_user. U tom slučaju, lista lokalnih korisnika postaje lista korisnika kojima je dozvoljeno kretanje izvan matičnog direktorija. Datoteka koja sadrži listu korisnika je /etc/vsftpd.chroot_list, a može se promijeniti opcijom chroot_list_file. chroot_list_enable opcija je u početnim postavkama onemogućena.

• chroot_local_user Ako je omogućena ova opcija, lokalni korisnici se nakon prijave smještaju u svoj matični direktorij i nemaju mogućnosti izaći iznad njega. Opcija je u početnim postavkama onemogućena.

• chroot_list_file

Ovom opcijom definira se ime datoteke koja sadrži popis lokalnih korisnika koji nemaju mogućnost izlaska iz svog matičnog direktorija. Opcija ima smisla samo ako je opcija chroot_list_enable omogućena, a ako je omogućena i opcija chroot_local_user, onda ova lista poprima obrnuti smisao, tj. postaje lista korisnika kojima je dozvoljeno kretanje izvan matičnog direktorija. Lokalni korisnici koji nisu navedeni na ovoj listi, nisu ograničeni, a anonimni su ograničeni po osnovnoj vrijednosti. Po osnovoj vrijednosti lokacija ove datoteke je /etc/vsftpd.chroot_list.

Page 54: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

50

10.3.3 Pravo čitanja i pisanja nad određenim direktorijem

Postoje tri grupe dozvola rwx rwx rwx [tj. (vlasnik)(grupa)(ostali)]. Standardno svaka

novokreirana datoteka dobiva 644 što znači rw- r-- r--, tj. da vlasnik može čitati, pisati i brisati (ako želi i izvršavati mora dodati chmod +x imedatoteke), grupa može samo čitati, i svi ostali mogu samo čitati.

Svaki korisnik može pisati i čitati samo u svom /home/username/ direktoriju jer su tamo datoteke pod njegovim vlasništvom (UID i GID), osim ako administrator drugačije ne dozvoli. Ako je negdje omogućen direktorij sa dozvolom 777, što znači rwx rwx rwx, može pisati i tamo. Dozvole se mogu mijenjati slovima ili brojevima. Brojčano obilježje je slijedeće:

1 (--x) izvršavanje 2 (-w-) pisanje 3 (-wx) - pisanje i izvršavanje 4 (r--) čitanje 5 (r-x) čitanje i izvršavanje 6 (rw-) čitanje i pisanje 7 (rwx) čitanje, pisanje i izvršavanje

Primjer: Pravom 777 daje se mogućnost svima (vlasnik, grupa, ostali) da rade sve (čitaju, pišu, brišu i izvršavaju). Ovlasti nad tom datotekom/direktorijem onda izgledaju ovako: datoteka - rwx rwx rwx direktorij – d rwx rwx rwx Pravom 741 vlasnik dobiva dozvolu čitanja, pisanja, brisanja i izvršavanja, grupa ima pravo na čitanje, a svi drugi samo na izvršavanje. Ovlasti nad tom datotekom/direktorijem onda izgledaju ovako: datoteka - rwx r-- --x direktorij – d rwx r-- --x Ako damo pravo 100 onda samo vlasnik može izvršavati, a grupa i svi drugi ne mogu ništa. Ovlasti nad tom datotekom/direktorijem onda izgledaju ovako: datoteka --x --- --- direktorij d --x --- ---

10.3.4 Ograničenje diskovnog prostora

Za određivanje i podešavanje ograničenja diskovnog prostora postoji par programa za

editiranje. Jedan od njih je i setquota, program koji se izvršava iz komandne linije, a u kom se mogu definirati sustav, korisnici/grupe i nova diskovna ograničenja za taj sustav. Drugi program, koji se također izvršava iz komandne linije, a služi za određivanje ograničenja

Page 55: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

51

diskovnog prostora, zove se edquota. Omogućuje izmjenu već postojećih ograničenja, ili dodavanje novih. Ukoliko ne želimo nikakva diskovna ograničenja, limit treba podesiti na vrijednost 0. Naredbom repquota dobiva se sažetak o korištenju diskovnog prostora i limita na određenom sustavu. Za svakog korisnika ispisuje se trenutačni broj datoteka i prostor koji zauzima (kB), zajedno sa diskovnim ograničenjem kreiranim sa „edquota“ programom, ukoliko postoji.

Page 56: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

52

11. Skripte za automatizirano spajanje i transfer određene datoteke za Windows operativne sustave i Linux platforme

11.1. Primjer LINUX sesije Datoteka mojprogram sadrži konfiguracijski i izvršni dio:

#Konfiguracijski dio

HOST='123.123.123.123' USERNAME='ivonalozic' PASSWORD='mojalozinka' FILE='podaci.txt' #Izvršni dio

ftp -n $HOST <<END_SCRIPT quote USER $USERNAME quote PASS $PASSWORD send $FILE quit

Primjer pokretanja iz cron-a: 15 12 * * * /home/ivonalozic/mojprogram

11.2 Primjer Windows sesije # Izvršni batch program

FTP -s:konfiguracija.txt hostname (ili IP) # Konfiguracijska datoteka (konfiguracija.txt):

username password send C:\imedirektorija\imedata.txt quit

Primjer pokretanja iz Scheduler-a Otvoriti Control Panel, pa odabrati Scheduler Tasks te dodati novi zadatak za izvršavanje (Add Scheduler Task). Potrebno je pronaći putanju do batch skripte i podesiti vrijeme kada želimo da se program izvrši.

Page 57: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

53

12. Zaključak

Prije pojave Gopher i WWW protokola, jedino se uz pomoć FTP standarda mogao vršiti prijenos i razmjena podataka na umreženim računalima, bilo da je riječ o lokalnoj mreži ili Internetu. Iako danas WWW i druge samostalne aplikacije sve više preuzimaju na sebe osnovnu zadaću koju je imao FTP, a to je preuzimanje podataka sa udaljenog poslužitelja i spremanje na lokalno računalo i obrnuto, FTP i dalje omogućuje jednostavno i vrlo učinkovito povezivanje te razmjenu podataka između različitih računalnih platformi, premošćujući i rušeći barijere između nesrodnih operacijskih i datotečnih sustava bilo da se radi o UNIX, DOS, MacOS ili Windows platformi, FAT16, FAT32, NTFS ili EXT3 sustavu datoteka. Bilo da je riječ o komandnoj crti, konzoli ili grafičkom sučelju, za FTP to znači samo jedno – iznimno učinkovit prijenos podataka sa točke A na točku B. Bez obzira na računalnu platformu na kojoj se izvodi ili primjenjuje FTP u praksi, zauzima vrlo malo memorijskih i procesorskih resursa što je za poslužitelj iznimno važna osobina.

Sa gledišta krajnjeg korisnika, nema značajnijih razlika između testiranih poslužitelja,

s obzirom da svi oni podjednako kvalitetno obavljaju osnovnu zadaću za koju su namijenjeni, a to je prijenos podataka. Potpuno je drugačija slika, ako se problematika promatra očima administratora, koji je zadužen za davanje dozvola i prava svakom pojedinom korisniku u sustavu, koji vodi brigu o sigurnosti i zaštiti poslužitelja i podataka, koji treba u svakom trenutku brzo i učinkovito dodavati odnosno brisati korisnike ili nadzirati sustav sa nekoliko tisuća lokalnih ili udaljenih korisnika. Nije isto radi li administrator u grafičkom okruženju ili iz komandne crte ili koje sve mogućnosti ima na raspolaganju.

Testovi brzine pokazali su da sva tri poslužitelja rade podjednako brzo te da prijenos

podataka ne ovisi samo o korištenom programu i poslužitelju, već najviše ovisi o propusnosti i opterećenju mreže (LAN ili WAN) te manje o brzini i snazi računala.

Serv-U zaseban je i samostalan program, te se sve opcije podešavaju unutar samog

programa, neovisno o operativnom sustavu na kojem je instaliran (Tablica 12.1). Jednostavan je za održavanje i konfiguriranje. Serv-U ne zahtjeva visoka znanja ali zato nema niti visoke standarde sigurnosti. Zbog tih karakteristika, Serv-U poslužitelj dobar je za rad u manjoj ili većoj lokalnoj mreži (LAN), npr. uredskoj ili korporativnoj mreži gdje postoji potreba za razmjenom podataka između zaposlenika ili različitih odjela.

FTP na Windows Serveru 2003 i vsftpd na Linuxu, dva su daleko složenija ali ujedno i

moćnija FTP poslužitelja koji se naslanjaju na operativne sustave na kojima su instalirani. Većina opcija ovih poslužitelja ima dodatne podopcije koje se definiraju na nivou operativnog sustava (Tablica 12.1) stoga je njihova primjena u praksi složenija ali istovremeno omogućuje višu razinu sigurnosti brojne druge opcije, bilo da se radi o davanju ili uzimanju određenih korisničkih privilegija. Oba FTP poslužitelja instaliraju se brzo i relativno jednostavno. Iako oba programa imaju svoje prednosti i nedostatke, vsftpd se pokazao boljim jer pokriva veći broj opcija i mogućnosti za fino podešavanje. Budući da za svoj rad vsftpd koristi samo jednu konfiguracijsku datoteku, koja se može vrlo lako mijenjati u tekstualnom načinu rada, sama konfiguracija vsftpd na Linuxu je jednostavnija u odnosu na FTP na Windows Serveru 2003. Upravo ta osobina omogućuje učinkovito održavanje sustava bilo da je riječ o radu na lokalnoj mreži ili administriranju na daljinu putem TELNET odnosno puno sigurnijeg SSH protokola.

Page 58: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

54

Tablica 12.1 Popis mogućnosti i konfiguracijskih postavkiFTP poslužitelja FTP poslužitelji

Popis mogućnosti i konfiguracijskih postavki Serv-U FTP Vsftpd Dodavanje korisnika + (+) (+) Mogućnost autoriziranog pristupa + + + Mogućnost anonimnog pristupa + + + Anonimni korisnik ima pravo podizanja datoteka na FTP poslužitelj

+

Zabrana kreiranja direktorija za anonimne korisnike + Zabranjene elektroničke adrese za anonimne korisnike + Datoteka podignuta od strane anonimnog pripisuje se nekom autoriziranom korisniku

+

Račun nakon kreiranja može biti onemogućen (+)

Minimalna dužina zaporke + (+) Složenost zaporke + (+) Trajanje zaporke + (+) (+) Korisnici mogu sami mijenjati zaporku + (+) (+) Promjena zaporke nakon prvog spajanja (+) Koliko vrijedi račun nakon isteka zaporke (+) Broj dana pred istek zaporke, u kojima se korisnik obavještava o tome

(+)

Broj dana koji će proći prije nego zaporka koja je istekla bude nevažeća, a račun blokiran

(+)

Mogućnost kretanja korisnika izvan matičnog direktorija + + + Brisanje korisnika + (+) (+) Brisanje korisnika na određeni datum + (+) Privremeno blokirani korisnički račun + (+) (+) Maksimalan broj istovremeno spojenih korisnika + + + Maksimalan broj istovremeno spojenih korisnika sa iste IP adrese

+ +

Evidencija aktivnosti korisnika + + + Trenutno spojeni korisnici + + (+) Dozvoljene/zabranjene IP adrese + + + Lista korisničkih imena kojima je dozvoljen pristup + Lista korisničkih imena kojima nije dozvoljen pristup + Ograničenje diskovnog prostora + (+) (+) Trenutačno zauzeće diska + (+) (+) Pravo čitanja i pisanja nad određenim direktorijima + + + Pripomene:

+ - opcije se podešavaju unutar samog programa (+) - opcije se podešavaju na nivou operativnog sustava

Serv-U - poslužitelj je testiran na operativnom sustavu Windows XP Professional FTP - poslužitelj je testiran na operativnom sustavu Windows Server 2003

Vsftpd - poslužitelj je testiran na operativnom sustavu Linux, Red Hat distribucija (Fedora 4.0)

Page 59: SVEU ČILIŠTE U SPLITU - valentini-kozica.from.hrvalentini-kozica.from.hr/images/documents/diplomant/diplomski_ftp.pdf · Instalacija Serv-U FTP poslužitelja na operativnom sustavu

FTP poslužitelj

55

13. Literatura 1. Morimoto, R.: Windows Server 2003: rešenja i trikovi, Kompjuter biblioteka, Čačak,

2004. 2. TackettJ, Burnett S.: Linux, Strijelac, Zagreb, 1999. 3. Que development group (Ackermann E., Glines S., Roberts R., Kio P., Kee E., De

Monburn F., Mayleben G., Tanner M., Husain K., Hunsberger B., Blanton K., Pike M. A., Tolhurst W. A. ): UNIX u primjeni, Znak, Zagreb, 1995.

4. Reynolds J.: RFC 959 - File Transfer Protocol, s Interneta http://www.faqs.org/rfcs/rfc959.html, 1985.

5. Tulloch M.: Creating and Configuring FTP Sites in Windows Server 2003, s Interneta http://www.windowsnetworking.com/articles_tutorials/Creating-Configuring-FTP.html, 11.08.2004.

6. Eisenberg D.: chmod Tutorial, s Interneta http://catcode.com/teachmod/, 20.08.2005. 7. Bernstein D. J.: File Transfer Protocol, s Interneta http://cr.yp.to/ftp.html 8. University of Delaware: FTP, s Interneta http://www.udel.edu/topics/internet/ftp,

21.09.2004. 9. Ribak J.: Active FTP vs. Passive FTP, s Interneta,

http://www.slacksite.com/other/ftp.html 10. Boroš Ž.: FTP: kodovi grešaka, s Interneta http://sistemac.carnet.hr/node/119,

26.04.2004. 11. Rovers P.: Anonymous FTP, s Interneta http://www.faqs.org/faqs/ftp-list/faq/

13.11.1997. 12. Wikipedia: File system permissions, s Interneta

http://en.wikipedia.org/wiki/File_system_permissions#Octal_notation 13. man stranice (manual, Linux)