FTP протокол

FTP (File Transfer Protocol), је стандардни протокол за пренос података на интернету, прецизније на TCP/IP мрежама као што је интернет. Као примере за најчешћу употребу, можемо навести пренос садржаја веб сајта/презентације према хостинг серверима (upload) и преузимање фајлова/датотека са сервера неке од file sharing мрежа (download).

FTP протокол се широко примењује код свих апликација које имају потребу за преносом података са сервера, било да је у питању преузимање антивирус дефиниција или најновијe ажурирање софтвера које је постављено на FTP сервер произвођача.

FTP је присутан, практично од самих почетака интернета. У периоду његовог настанка, када се комуникација између рачунара вршила путем конзолне сесије (почетак деведесетих и раније) FTP је коришћен као средство за размену података, тако што су команде куцане у оквиру command prompt прозора. Треба нагласити да је FTP протокол старији и од TCP/IP протокол стека чији је данас саставни део. Први FTP стандард (RFC 114) објављен је далеке 1971 године.

FTP протокол је заснован на стандардној клијент-сервер архитектури и за успостављање сесије према изабраном серверу биће вам потребан FTP клијент. За ову сврху могу послужити file или веб браузери који интегришу FTP клијента, као што су Виндовс Експлорер, Интернет Експлорер, Фајерфокс, или нека од многобројних FTP клијент апликација доступних за преузимање у бесплатној или комерцијалној верзији.

Filezilla FTP клијент – интерфејс

FTP клијент апликације су практично графички интерфејс и проширења за стандардни сет FTP наредби које су подразумевано расположиве у оквиру свих озбиљних оперативних система, био то Unix, MAC OS или Виндовс. У оквиру Виндовс command prompt-а можете укуцати наредбу FTP праћену адресом вашег FTP сервера, пример: FTP imeservera.domen или FTP ip_adresa_servera

Уколико је све OK, примићете поруку да је сесија између вас и FTP сервера успостављена, биће приказани параметри сесије и позив да унесете корисничко име, а потом и договарајућу лозинку. Листинг расположивих FTP наредби можете добити уносом команде help.

Коју год форму FTP клијента да користите, биће вам потребни подаци у виду адресе сервера (УРЛ или IP адреса) и података за логовање (username и password). Поједини сервери (они који хостују јавно доступне податке, најчешће програме или апдејте) омогућују „anonymous“ логовање при чему се као username наводи стандардно anonymous или FTP. Једна од популарних апликација за FTP транспорт је FileZilla, софтвер отвореног кода под GNU лиценцом у варијанти FTP клијента и FTP сервера.

Поред имплементације FTP клијента у оквиру Виндовс file и веб браузера, Мајкрософт укључује и FTP Server у свим верзијама Виндовс 7 оперативног система као опциону ставку коју је потребно укључити у оквиру Turn Windows features on or off секције. FTP Server при томе није део Internet Information Servisa (IIS), у смислу да се може укључити независно од њега.

Технички аспекти

Карактеристично за FTP протокол је да се комуникација одвија коришћењем два засебна порта, у складу структуром комуникације која се састоји од контролне и дата сесије (преноса података). Комуникација увек започиње контролном сесијом и одвија се на стандардном порту 21 сервера, док клијент који иницира комуникацију то чини са произвољног порта.

Пошто је клијент креирао контролну сесију, он серверу прослеђује своју IP адресу и одговарајући (други) порт за дата сесију (пренос података). Server сада поседује потребне информације за креирање дата сесије ка клијенту (IP адресу и порт за дата сесију клијента) и може да почне пренос података, стандардно са свог порта 20. Клијент прихвата пренос података и ова процедура може да ради без проблема у ситуацијама када клијент није ограничен firewall правилима. Овакав тип FTP конекције назива се и активна сесија.

Основни проблем са оваквим сесијама су ограничења приступа од споља другом (data) порту којег је FTP клијент назначио током контролне сесије. Када је клијент иза firewall-а, покушај приступа споља овом порту биће детектован као нерегуларни саобраћај, а проблем са приступом од споља постоји и ако је адреса клијента у NAT конфигурацији. Подсетимо се: сервер треба да иницира дата сесију са свог порта 20 ка дата порту клијента.

Проблем недоступности од споља дата порту клијента, решава се тзв. пасивном сесијом. Различитост пасивне у односу на активну сесију огледа се у чињеници да и дата сесију уместо сервера сада иницира клијент. По успостављању контролне сесије, клијент ће уместо стандардне PORT команде, проследити PASV (passive) команду. Реакција сервер на PASV команду: сервер ће (уместо клијента) отворити одговарајући порт за дата сесију и информацију проследити клијенту PORT командом.

Клијент затим са свог дата порта иницира сесију за пренос података што за firewall не представља проблем. FTP протокол није креиран да задовољи повећане сигурносне захтеве. Сам протокол не подржава енкрипцију и сви подаци, како контролне сесије у форми текста, тако и транспорта података су необезбеђени и изложени неовлашћеном приступу свакоме ко је у стању да их пресретне током транспорта на мрежи.

Сигурносни аспекти

Имплементација SSL протокола на FTP је иницијално урађена 1996. године у форми FTPS (FTP Secure). Старија Implicit FTPS варијанта користи различите портове у односу на стандардни FTP и урађена је тако да захтева коришћење SSL или TLS конекције у комуникацији (нема преговарања о методи конекције и сервер ће одбити комуникацију ако није иницирана стандардном secure методом).

У Explicit FTPS варијанти, клијент мора експлицитно да захтева secure комуникацију и уђе у процес преговарања о методи енкрипције, а у слућају да је не захтева, сервер може прихватити unsecure комуникацију или је одбити/ограничити.

Мајкрософт FTP сервер – испоручује се и уз Виндовс 7 OS као бесплатни додатак – интерфејс

У недостатке FTP протокола, убројаћемо још и непостојање механизма за контролу интегритета података који се преносе. Пошто не постоји начин да клијент провери да ли је примио комплетан садржај, механизми за проверу интегритета података се имплементирају на нивоу апликација, ван самог протокола.

Закључак

FTP клијент функције свакодневно користимо као интегрални део разних апликација а да најчешће тога нисмо свесни. За наменско приступање подацима на неком FTP серверу сасвим коректно ће послужити Виндовс или Интернет експлорер или неки од бесплатних FTP клијената, у зависности од потреба. Компаративну листу FTP клијената можете погледати на Википедији, разврстано по већем броју критеијума, међу којима је и врста лиценце.

FTP Server (посебно његова сасвим употребљива бесплатна варијанта) може бити занимљив фирмама и организацијама, али и као решење за личну употребу у ситуацијама када постоји потреба за редовним дељењем фајлова са особама ван матичног мрежног окружења. Предност у односу на трансфер фајлова мејл комуникацијом или коришћењем неког јавног FTP сервиса је у непостојању ограничења (величина фајла, број истовремених трансфера и контрола садржаја).

Сва ова ограничења се код FTP сервера (и оних бесплатних) могу дефинсати, али у ситуацији када поседујете свој FTP сервер, те величине сами контролишете, а сервер можете покренути или искључити према потреби. Листа FTP сервер софтвера која укључује и податке о врсти лиценце под којим су објављени такође се налази на Википедији.

Текст је преузет са угашеног блога ИТ модул и оригинални аутор овог текста је Бранислав Колар. Компјутераш ИТ блог објављује текстове са тог блога како ризница знања са те локације не би отишла у заборав.