FTP

Fra IT2
Hopp til: navigasjon, søk

File Transfer Protocol (FTP) er en oppbygd på klient-tjener arkitekturen og er knyttet til applikasjonslaget i OSI-modellen. Protokollen blir brukt til å håndtere filer på TCP/IP baserte nettverk. FTP kan brukes anonymt eller bruker-passord autentisert tilkobling. FTP programmer fåes både med og uten GUI og har en egen standardisert syntaks. Første RFC[1] fro protokollen ble utgitt i 1971. De to mest vanlige overføringsmetodene til protokollen er ASCII for ren tekst og binært også kalt "IMAGE").

Grunn for utviklingen av protokollen

  • Oppfordre til deling av data.
  • Fjerne hindringen ved deling av data på tvers av forskjellige filsystemer.
  • Sende og motta data på en trygg og sikker måte.

Sikkerhet

FTP protokollen tilbyr i utgangspunktet overføringer som er ukryptert. Dette skyldes at protokollen ble utviklet før SSL var tilgjengelig. Det har i ettertid kommet krypterte løsninger slik som SFTP (SSH File Transfer Protocol) og FTPS. FTPS tilbyr SSl eller TLS kryptering.

Protokoll

FTP virker utelukkende over TCP. Protokollen er en åpen standard definert i RFC 0959. Det er etterhvert laget en mengde programmer basert på denne standarden. Protokollen definerer bruk av port 20 og 21. Andre porter kan benyttes i tillegg. Port 21 er kontrollporten (også kalt kommandoporten) som klienter sender kommandoer over og som tjeneren lytter og svarer på. Overføringen skjer på port 20 og/eller andre porter avhengig av filoverføringsmodus.

Aktiv modus

Klienten sender PORT-kommandoen til tjeneren med beskjed om et tilfeldig valgt portnummer større enn 1023 som klienten vil lytte på. Tjeneren sender først et svar samme vei tilbake, og så åpner den dataoverføringsforbindelsen mellom sin egen port 20 og klientens tilfeldig valgte port. Dette er noe herk å få til hvis en brannmur er imellom, uten å åpne alle porter på brannmuren fra 1024 og oppover.

Passiv modus

Klienten sender PASV-kommandoen til tjeneren som betyr at klienten er i passiv modus. Så er det tjeneren som velger et (tilfeldig) portnummer større enn 1023 og sender det som en PORT-kommando til tilbake til klienten. Klienten åpner dataoverføringsforbindelsen mellom den spesifiserte porten hos tjeneren og en selvvalgt port hos seg selv. Port 20 er altså ikke involvert. I mange FTP-tjenere er det mulig å spesifisere et utvalg av porter som skal brukes i passiv modus.

Utvidet passiv modus

Det er som passiv modus, bare at tjeneren ikke sender sin ip-adresse som en del av svaret på klientens forespørsel. Klienten må da anta at ip-adressen er uendret. Utvidet passiv modus ble introdusert i RFC 2428 i september 1998.

Fordeler

  • Åpen løsning: Det finnes mange programmer som benytter protokollen. Dersom ikke disse fyller behovene man har, står man fritt til å lage egne program.
  • Billig. På grunn av tilgang til standarden er mange ftp-program enten inkludert i annen programvare, eller kan hentes gratis.
  • Funksjonell. Så godt som all filhåndtering kan utføres uavhengig av hvilken maskin de ligger på.

Ulemper

  • All kommunikasjon går ukryptert og kan derfor leses av alle som har tilgang til kommunikasjonen mellom de impliserte maskinene.
  • Protokollen er vanskelig å håndtere for en brannmur. Port 21 er inaktiv under dataoverføringen, noe som kan medføre at forbindelsen opphører. (Dataoverføringen vil normalt bli fullført likevel, men kan gi tilsynelatende feilmeldinger.) Det kan tenkes at dataoverføring blir forsøkt på andre porter enn port 20, noe som ofte vil stoppes av brannmuren. Flere overføringer kan gå parallelt, som også krever spesiell håndtering av brannmuren.
  • Det kan være mulig å be ftp-serveren å levere en fil på en tredje maskin. Selv om dette er ment å være en nyttig egenskap, har det i en del sammenhenger vært benyttet til illegal virksomhet.

Tjener

En FTP-tjener er et dataprogram som gjør det mulig for andre datamaskiner med en FTP-klient å bruke protokollen FTP for å laste opp eller laste ned filer til datamaskinen som FTP-tjeneren kjører på. Administratoren av FTP-tjeneren setter opp hvilke kataloger brukeren av FTP-klienten skal ha tilgang til og hvorvidt brukeren er berettiget til å laste opp eller ned filer i de ulike katalogene.

Til Unix

  • ProFTPD - funksjonsrik, følger med mange distribusjoner
  • vsftpd - rask og sikker, brukes stadig mer på store FTP-sider
  • WU-FTPD - den mest brukte blant sider med anonym FTP-tilgang

Klient

En FTP-klient er et dataprogram som ved hjelp av FTP-protokollen lar en bruker enten laste opp eller ned filer til en FTP-tjener fra sin datamaskin til datamaskinen som FTP-tjeneren kjører på. Mange FTP-klienter koster penger, men det finnes gratis FTP-klienter som er like gode. Den mest kjente gratisklienten er nok Filezilla, som er en Open source FTP-klient.

Til Windows

Til Linux

Til Macintosh

Web-baserte FTP-klienter

Det finnes flere web-baserte FTP-klienter. phpWebFTP er blant dem. Det er en installasjon av den på thorrune.net, mens den offisielle hjemmesiden er her, på v-wijk.net