Как да ползваме правилно FTP протокола

Предназначение на FTP протокола

Самото име на протокола показва неговото основно предназначение – протокол за трансфер на файлове. Масовата употреба на протокола се свежда до следното: потребител от локален компютър има възможност да се свърже с отдалечен сървър и да качи на сървъра или да изтегли от него файлове и директории.

За целта потребителя трябва да има създаден FTP акаунт на този сървър и той може да оперира само в директорията, до която акаунта има право на достъп.

Създаване на FTP акаунт

Когато закупите хостинг акаунт от ICN.bg, системата автоматично създава FTP акаунт с името на основния CPanel потребител, който ползва паролата за достъп до контролния панел.

основен ФТП потребител

Смяната на паролата за достъп до CPanel означава смяна на паролата и на основния ФТП потребител.

Допълнителни акаунти могат да се създават от Контролния панел на хостингa -> FTP-акаунти.

допълнителни фтп акаунти

Препоръчамe ви винаги да ползвате генератора на пароли,
интегриран в Cpanel.

90% от пробивите (хакването) на хостинг акаунтите става през FTP по следната схема:

По много начини на компютъра на потребителя може да се инсталира троянски кон, който краде данните за достъп до ФТП и ги препраща на отдалечен сървър.

От този сървър предварително програмиран скрипт се логва с данните на вашият FTP потребител и добавя вредния код.

По-късно в статията ще ви покажа как може да се защитите от такъв пробив в сигурността на вашия хостинг акаунт.

Никога не подценявайте сигурността на вашите акаунти, без значение CPanel, FTP, имейл или друг.
Никога не ползвайте потребителското име за парола, 123456 или шест еднакви цифри или букви.

Можете да ползвате вградения в CPanel генератор на пароли по следния начин:

  1. кликате на бутона Password Generator

създаване на фтп акаунт

  1. от линка Advanced Options имате възможност да настроите броя и вида на символите – препоръчам ви да оставите настройките по подразбиране за максимална сигурност.
  2. избирате си парола чрез бутона Generate Password
  3. копирайте паролата в отделен файл и маркирайте полето I have copied this password in a safe place.
  4. Натиснете бутона Use Password

генератор на пароли

При въвеждане на потребителското име, системата ви предлага като опция достъп до директория с името на потребителя.

Ако създавате акаунт за определен потребител и желаете той да има достъп само до една определена директория, трябва да приемете предложението.

достъп до поддиректория

Ако желаете потребителя да има достъп до основната директория publichtml трябва да изтриете предложената директория (в примера: /test ) от полето за въвеждане и там да остане само publichtml.

достъп до основната директория

Така този потребител ще има достъп до основната директория и всички нейни поддиректории.

След създаването на акаунта потребителя има на разположение следните опции: смяна на парола, промяна на дисковото пространство на акаунта и изтриване на акаунта.

опции на ФТП акаунта

Много трябва да внимавате когато решите да изтриете даден FTP акаунт защото системата ви предлага две опции:

  1. изтриване само на акаунта
  2. изтриване на акаунта и файловете

изтриване на ФТП акаунт

Ако сте дали достъп на потребителя, който желаете да изтриете, до основната директория public_html и маркирате втората опция, системата ще изтрие цялата директория !

Препоръчаме от тук да ползвате само опцията Delete Account, а периодично през FTP програма да изтривате ненужните файлове и директории в хостинг акаунта.

Инсталиране на FTP клиент FileZilla

За работа с FTP протокола препоръчаме използването на безплатния FTP клиент FileZilla. Програмата може да се изтегли от този адрес:

http://filezilla-project.org/download.php

фтп програма FileZilla

Важни настройки на FileZilla (и всеки друг FTP клиент)

Най-важните настройки на FTP програмата са следните:

  1. изберете програмата да работи в пасивен режим

фтп настройки пасивен режим

  1. изберете програмата да ъплоудва в бинарен режим – това е особено важно ако сайта ви ползва java script framework – jquery, mootools, spry ...

фтп настройки бинарен режим

  1. задайте стойност на едновременните връзки макс. 8, тъй като в много хостинг компании броят на едновременните връзки е ограничен на 10.

фтп настройки брой на едновременни връзки

При ICN.bg няма ограничение в броят
на едновремениите FTP конекции

Права на директории и файлове

Темата е много обширна и предлага твърде много опции.
Това, което е необходимо да знаете за начало е следното:

Правата се разделят на три основни групи:

четене – писане – изпълнение

Ето как изглеждат директории и файлове на сървъра, отворени с ФТП програмата FileZilla:

chmod права на файлове и директории

Tова изображение означава следното:

Файлът index.php е собственост на потребителя potrebitel и групата potrebitel. Собственикът на файла potrebitel има право да чете и пише във файла, групата potrebitel има право само да чете от този файл, същото се отнася и за една трета категория собственици – others (други), на които в общия случай се дават права като тези на групата или по-ниски.

В нашият пример директорията style (забележете буквата d – означава директория) има права 755, докато файлът index.php има права 644.

Това са препоръчителните права на директории и файлове за вашият
ICN хостинг акаунт: директории - 755 и файлове - 644

Промяна правата на файлове и директории

ФТП програмата ви дава възможност да променяте правата и на директориите, и на файловете по следния начин:

Кликате с десен бутон върху името на директорията style, в падащото меню кликате File permissions

промяна права chmod на директории и файлове

Ако желаете да промените не само правата на директорията, но и на файловете в нея, маркирайте полето Recurse into subdirectories и маркирайте радиобутона както е показано на картинката:

промяна права на директории

По същия начин може да променяте правата на всеки един файл:

промяна права на файлове

Ползване на SFTP протокол

Ако ползвате хостинг план с включен SSH достъп, FileZilla ви дава възможност да ползвате криптирана връзка със сървъра.
Програмата се настройва по следния начин:

В менюто Site Manager

FileZilla site manager

се въвеждат данните за SSH достъп: IP адрес на сървъра, потребителско име, парола и порт:

SFTP настройки на FileZilla

Може да си изтеглите за тест и програмата WinSCP от този адрес http://winscp.net/eng/download.php, която също поддържа SFTP протокол.

Сигурност при ползване на FTP

Хостинг от ICN ви дава една много сигурна защита от пробив през FTP протокола, както споменах по-рано в статията.

Защитата се състои в създаването на файл *allowftpuser* в специална директория на хостинга, в който се въвеждат IP адресите на компютрите, от които влизате в хостинга чрез FTP програма – може да се въвеждат повече от един IP адрес.

По този начин дори шпионска програма да ви открадне данните за ФТП достъп, тя не може да се логне в FTP aкаунта от друг адрес, извън списъка въведен във файла *allowftpuser*

Тази защита работи само за основния ФТП потребител, така че за да постигнете ефекта на защитата трябва да изтриете всички останали FTP акаунти (не забравяйте – само акаунтите, а не акаунтите и файловете!)

За създаването на този файл, моля свържете се с техническата поддръжка на ICN.Bg - support@icn.bg

Какво означават FTP логовете

Винаги, когато има проблем с добавени файлове в хостинг акаунта ние генерираме FTP лог файл, в който сървъра дава подробна информация относно достъпа, файла и извършените с него операции.

Но за да има потребителя полза от този файл, той трябва да разбере какво означава написаното в него. Нека разгледаме един запис в FTP лог файла:

Thu Dec 16 12:15:23 2004 16 192.168.1.2 97280 /opt/app/ftp/labs/labs2/file b _ i r labs2 ftp 1 * c

Thu Dec 16 12:15:23 2004 – време на конекцията

16 – време за изпълнение на трансфера в секунди

192.168.1.2 – IP адрес, от който е направен трансфера

97280 – размер на трансферирания файл в битове

/opt/app/ftp/labs/labs2/file – абсолютен път до файла

b – бинарен режим на трансфер, другата опция е: a = ASCII

- special-action-flag – показва дали с файла са извършени някои от следните специфични допълнителни действия:
C компресиране
U декомпресиране
T архивиране
не е извършено никое от горните действия

i – посока на трансфера: i= качване, о=сваляне

r – информация за достъпа – може да бъде едно от следните:
a - (anonymous) анонимен
g - (guest) гост
r - (real) реален потребител

labs2 – име на логнатия FTP потребител

ftp – името на процеса – обикновено ftp

1 – метод на удостоверяване (authentication-method).
Може да бъде едно от следните:
0 няма
1 RFC931 удостоверяване съгласно посочената инструкция

  • - показва ID на удостоверения потребител. Ако този идентификационен номер не е наличен, се изписва символа *.

c – статус на завършване.
c – завършен трансфер (complete transfer)
i - незавършен трансфер (incomplete transfer)

Подробна информация за FTP статус кодове и кодове за грешки може да намерите на този адрес: http://kb.globalscape.com/KnowledgebaseArticle10142.aspx също така обърнете внимание на линка Common Winsock Error Codes (complete list of Winsock error codes) тъй като проблем в операционната система на вашия компютър може да е причина за неуспешна конекция с FTP сървъра.

Ограничение в броя на файловете, които ФТП програмите показват.

Ако имате директория с 5 хиляди снимки и я отворите с ФТП програма, с ужас ще установите, че снимките са останали само две хиляди! Не се притеснявайте :)

Това е лимит в самият ФТП протокол. Файловете са си на мястото и може да ги преброите ако имате SSH достъп с командата:

ls -1 | wc -l

Затова ако е възможно, ограничете броя на файловете в директориите до две хиляди за да може да ползвате пълноценно ФТП достъпа до тях.

FTP през браузер

FTP протокола може да се ползва през браузер само за изтегляне на файлове като се въведе домейна с префикс ftp://domain.tld , след което браузера отваря регистрационна форма, в която се въвеждат потребителското име и паролата на FTP акаунта.

След това директориите и файловете в акаунта се листват в таблица, от която файловете могат да се изтеглят на локалния компютър.

Anonymous FTP

Това е възможност посетители без FTP акаунт да могат да качват и теглят файлове на и от вашият сайт. Тази практика представлява компромис със сигурността на акаунта въпреки, че е възможно да се постигне задоволително ниво на сигурност при правилно задаване на права на директориите и файловете.

Препоръчаме този потребител да бъде изтрит, и ако има необходимост потребителите на вашият сайт да теглят или качват файлове, да им създадете отделен акаунт с права до една единствена директория или да създадете паролно защитена директория, от която да се теглят файлове и на която да има форма за ъплоуд.

Най-важното за FTP протокола накратко

Ще повторя накратко най-важните неща, които трябва да знаете за да се възползвате максимално от възможностите на ФТП протокола за управлението на вашия хостинг акаунт.

  1. Ползвайте само основния ФТП потребител като създадете филтър на IP адресите за достъп.
  2. Когато създавате нови потребители, давайте им достъп само до определена директория.
  3. Изтривайте временно създадените акаунти.
  4. При изтриване на FTP акаунт внимавайте дали изтривате само акаунта или акаунта заедно с файловете.
  5. Уверете се, че ФТП програмата работи в пасивен режим, че ъполоудва файловете в бинарен режим и броят на едновременните конекции е по-малък от десет.
  6. Ако хостинг плана ви включва SSH достъп, ползвайте SFTP протокол.
  7. Смяната на паролата за достъп до контролния панел на хостинга означава и промяна на паролата за достъп на основния FTP потребител и промяна на паролата за SSH достъп.
  8. Ползвайте права на директории 755 и на файловете 644. Конфигурационни и други файлове може да ползват и по-ниски права (ако инсталираният софтуер позволява) - 600, 400, 444 като по този начин се повишава нивото на сигурност на вашия хостинг акаунт.
  9. Ползвайте винаги последната версия на FTP програмите, не ползвайте хакнати платени програми – това е много сигурен начин да си инсталирате троянски кон и десетки дупки в операционната система.