Использование FTP. Установка и настройка

01.04.2019

FTP весьма удобный способ обменяться с кем то различной информацией. Установив у себя ФТП сервер Вы сможете как принимать файлы, так и делиться своими файлами с другими. Все весьма удобно настраивается, на удаленном компьютере Ваш ФТП сервер выглядит как обычная папка, откуда даже проводником можно скопировать нужные файлы.

Существует несколько различных программ для того, чтобы из своего компьютера сделать FTP сервер. Они отличаются возможностями, надежностью, безопасностью, настройками и лицензиями. На мой взгляд одними из лучших серверов под Windows являются Serv-U и Gene 6.

Выбор софта личное дело каждого, но на этой странице я расскажу, как настроить Serv-U 6-той серии (версий 6.4.x.x).

Системные требования

  • Компьютер, почти любой.
  • Интернет, с внешним IP адресом , если вы собираетесь обмениваться или раздавать данные по интернету, либо любой, если требуется обменяться данными в пределах локальной сети.
  • Траффик желательно иметь анлимитный, но и на лимитных траффиках это реально — на них обычно учитывается только входящий траффик, а весь исходящий бесплатный. Соотношение где-то 50 к 1, то есть на каждые 50 мегабайт скачанного с Вас траффика вам закачается 1 мегабайт обратного (FTP команды, разная техническая информация). Ну если закачивается на вас, то наоборот.
  • Необходмо, чтобы было открыто несколько портов. По стандарту FTP требуется 2 порта: 21 для передачи команд и некий диапазон из верхних портов (скажем с 2000 по 3000) для передачи собственно данных. Если 21 порт у вас закрыт на вход (напримет московский Стрим фильтрует входящий траффик по этому порту, прикрывая это заботой о защите пользователей, и отключить эту фильтрацию нельзя), то его можно перенести на другой. Но в этом случае потребуется указывать порт при даче ссылки: "ftp://dimonius.homeip.net:22/" для 22 порта.
  • Если у вас стоит рутер (LAN-ADSL модем или WiFi модем), то может потребоваться дополнительная настройка, чтобы модем передавал данные по указанным в предыдущем пункте портам данные к компьютеру и обратно (это строго индивидуально для каждого роутера, поэтому я не буду поднимать тут этот вопрос).

Следует учитывать, что скорость Вашего исходящего канала будет делиться между всеми качающим, так что следует рассчитывать ресурсы и ставить адекватные лимиты по количеству качающих и скорости.

Так же есть вероятность, что Ваш антивирус предупредит Вас о том, что вы устанавливаете FTP сервер, с помощью которого будет доступ до фалов на Вашем компьютере (обычно они определяют его как "Program.Serv-U"), это нормально и не надо обращать на это внимание.

Установка и начальная настройка Serv-U

  1. Скачиваем Serv-U с моего FTP , либо с сайта производителя .
  2. Устанавливаем. Установка не отличается от установки других программ — надо просто указать папку установки и несколько раз нажать "Next".
  3. FTP сервер состоит из сервиса, и программы управления. После установки на последнем шаге Вам предложат запустить модуль администрирования (галочка Start Serv-U Administrator program), галку поставьте и запустится мастер настройки.
  4. По шагам отвечайте:
    • Enable small images with menu items — Yes
    • IP address — пусто
    • Domain name — "Local "
    • Install as system service — Yes
    • Allow anonymous access — Yes
    • Anonimous home directory — начальная папка, откуда будут начинать все FTP аккаунты. Например "c:\FTP " (папку при этом надо создать проводником).
    • Lock anonimous users in to their home directory — Yes
    • Create named account — No
  5. Первичная настройка произведена, и у Вас откроется основное окно программы настройки сервера.
  6. Для начала неплохо программу зарегистрировать (строка в дереве слева License).
  7. Дальше выбираем Settings и там настраиваем 3 закладки: "General ", "Dir Cache " и "Advanced " согласно иллюстрациям.
  8. Закладка "Activity" служит за контролем пользователей. На ней можно посмотреть кто сейчас зашел на сервер, кто что качает и через "Spy User" по правой кнопке мыши можно проследить за действиями конкретного пользователя с момента захода.
  9. Выделяем "Local" в "Domains". Справа появляются глобальные настройки сервера, которые мы настроили через мастер настройки. Если потребуется, то потом можно будет их поменять ли создать новый сервер с другими настройками (например на другом порту или если у Вас несколько сетевых карт, на разных IP адресах для разных подсетей).
  10. Теперь будем по очереди настраивать ветку "Local" в "Domains".
  11. Выделяем "Settings" и по очереди настраиваем закладки.
  12. Закладка "General" настраивается по картинке .
  13. "Virtual Path " весьма важная закладка, и Вам понадобится не один раз. На ней настраивается виртуальная файловая система. То есть независимо от того, где папка находится физически (на каком диске и в какой подпапке) на FTP сервере Вы можете разместить их и назвать как угодно, не затрагивая физические имена и положение.

    Нас будет интересовать верхняя табличка "Virtual path mapping", нижняя служит для создания ссылок на уже добавленные файлы и папки (скажем вы хотите добавить 1 папку сразу в 2 подпапки на FTP сервере). Нажимаем кнопку "Add" под верхним списком и вводим:

    • Physical path — путь к реальной папке или файлу. Можно выбрать через кнопку с ящичком справа от поля ввода. Для примера введем "C:\Video\"
    • Map physical path to — путь к которому мы прицепим нашу папку. Относительно "C:\FTP ", который мы вводили в пункте 4.6. В нашем примере это будет "C:\FTP", и тогда при заходе на сервер рользователи увидят в своей папке подпапку "Video".
    • Mapped file name — имя, который увидит пользователь. Для нашего примера скажем "Movies" (фильмы), а не абстрактное "Video".
    • Таким же образом добавляем остальные папки, к которым потом собираемся дать доступ.
  14. На "Dir access" можно добавить IP адреса и подсети, которым будет разрешен доступ или наоборот запрещен к текущему серверу. Это используется, если кто-то пытается взломать сервер целиком, или у Вас несколько серверов и надо запретить людям из одной подсети входить на другой сервер. В большинстве случев тут будет все пусто.
  15. "Messages" — можно настроить сообщения, которые будет сообщать сервер при подсоединнии, выходе клиента и в некоторых других случаях.
  16. "Logging" — тут можно оставить галочки по умолчанию, только в поле "Log file name" через кнопку "обзор" выбрать любой файл (скажем Log.txt в папке, где установлен сервер), и поставить внизу галочку "Enable logging to file". Это позволит посмотреть кто что делал и кто что сливал и заливал. Не забывайте время от времени чистить лог файл, а то он разрастется до весьма большого размера.
  17. "UL/DL Ratios" — позволяет настроить соотношения залитого к скачиваемому, но обычно настраивается по конкретным пользователям, а не по серверу в целом.
  18. На закладке "Advanced" оставляем все галочки по умолчанию.
  19. Раздел "Activity" дублирует такой же раздел выше, только для пользователей конкретного сервера. Так как обычно сервер настроен на одном компьютере один, то и раздел этот полностью дублирует такой же раздел выше.
  20. Настройка пользователей и групп описана в следующем разделе.
  21. Не забудьте открыть порты 21, 2000-2500 на Вашем файрволе. Поднимать FTP сервер без защиты компьютера файрволом — не самая лучшая идея.
  22. Если у Вас есть рутер, то в разделе "Port Mapping" (или просто "Mapping") в веб интерфейсе надо указать номер порта и указать транслировать их на IP адрес Вашего компьютера. При этом компьютер должен иметь статический адрес — это делается в свойствах содинения Windows (Пуск — Настройка — Сетевые подключения — Подключение по локальной сети (правкой кнопкой мыши) — Свойства — Internet Protocol (TCP/IP) — Свойства)

Настройка пользователей и доступа

  1. Выделите ветку "Users" в Serv-U администраторе и нажмите Ins. Далее следует по очереди указать логин пользователя (лучше использовать английские буквы и цифры), пароль, начальную папку пользователя (которая будет показываться ему после логина, то есть папка, которую мы выбрали в пункте 4.6 раздела "Установка и начальная настройка Serv-U"), и ответить "Yes" на вопрос "Lock user into home dir".
  2. Если выделить созданного пользователя, то на закладке "Account" можно настроить поменять логин и пароль, заблокировать временно аккаунт (галка "Disable Account"), указать в каких группах состоит пользователь и его домашний каталог.
  3. На закладке "General" можно настроить основные настройки пользователя:
    • "Requre secure connection" — требовать безопасного соединения. Не нужна.
    • "Hide hidden files" — не показывать скрытые файлы. Обычно не нужна.
    • "Always allow login" — не нужна.
    • "Allow only X logins from one IP" — разрешать только X входов с одного ИП. Рекомендуется поставить 2-4 на общих аккаунтах и не заполнять на личных.
    • "Allow user to change password" — разрешать пользователю менять пароль. На общих аккаунтах не нужна, на личных можно поставить.
    Остальные поля не обязательны для заполнения, кроме "Idle timeout" (время простоя, через которое автоматически разорвется связь) — рекомендуется поставить 10 минут. Чтобы некорректно отключенные пользователи и ничего не делающие пользоватеди не занимали канал.
  4. Закладка "Dir Access" показывает папки, к которым у пользователя будет доступ. Предварительно папки надо добавить в настройки виртуальных путей (раздел "Установка и начальная настройка Serv-U", пункт 13). Там же у каждой папки ставится галочками вид доступа к этой папке: листинг (list), чтение файлов (read), запись (write), создание файлов (create), удалени (delete), запуск (execute). Тоже самое, кроме запуска есть и относительно подкаталогов, кроме этого есть галка "включая вложенные" (Inherit), чтобы теже самые настройки относились и к вложенным папкам и файлам. Часть папок и файлов тут может присутствовать на сером фоне — это то, к чему имеет доступ пользоватей, как член групп.
  5. Закладка "IP Access" регулирует доступ по ИП. Если вы хотите сделать себе личный доступ к важным папкам, скажем с работы, то имеет смысл ограничить доступ по ИП — только с работы или только из дома. Даже если вы случайно подцепите троян или кто-то сниффером узнает Ваш пароль, он не сможет заразить Ваши сайты или украсть важные данные.
  6. На "UL/DL Ratios" можно установить соотношения, то есть поставить условие, что пока Вам не зальют сколько-то мегабайт, слить будет нельзя. Пропорции можно регулировать, это удобно, когда Вы хотите вынудить людей с вами делиться. Правда никто не гарантирует, что Вам не зальют что-нибудь большое и совершенно не нужное, типа файла подкачки Windows или какого-нибудь не сжатого видео), а так же регулировать сколько можно заливать по объему, чтобы один пользователь полностью не забил Вам диск.
  7. И, наконец, на закладке "Quota" можно поставить лимиты по объему диска, выделенного на этот аккаунт (чтобы пользователи не заполнили весь диск)

Пароли для общего доступа можно ставить простые, но для аккаунтов с важными данными сложные — из маленьких и больших букв, цифр и спецсимволов.

Настройка DynDns

Если вы раздаете данные в интернете, и у Вас динамический IP то возникает проблема. При реконнекте, адрес меняется и надо как то узнать новый. Постоянно править информацию о ИП адресе не удобно как владельцу сервера, так и клиентам. Чтобы решить проблему можно зарегистрироваться на специальном сайте DynDns. После бесплатной регистрации Вам выдадут имя третьего уровня с выбранным Вами доментом второго уровня (типа dimonius.homeip.net или dimonius.dyndns.org), у этого сервиса весьма много различных доменов и есть из чего выбирать. Потом на компьютере ставится небольшая программка, где вводятся данные аккаунта и она при реконнекте обновляет данные на сайте DynDns и имя всегда ссылается на актуальный ИП адрес. если у Вас рутер, то многие из них умеют работать с DynDns прямо из коробки — достаточно просто зайти в соответствующий пункт в Веб интерфейсе рутера и ввести данные Вашего аккаунта.


Для регистрации и настройки домена требуется:
  1. Перейти на сайт DynDns , на форму регистрации.
  2. Ввести свой ник, пароль, почту. Выбрать поддомен вашего сайта.
  3. Скачать отсюда программку и установить ее.
  4. Ввести в ней данные аккаунта.
  5. Программка должна стартовать вместе с Windows, чтобы следить за изменением ИП адреса.

Настройка программы Serv-U FTP Server 6.4.

1. После запуска мастера установки появится ряд окон, в которых просто кликайте по кнопке «Next » (Далее):

2. После окончания подготовительных действий начнётся процесс установки, дождитесь его завершения:

3. После окончания процесса установки в появившемся окне нажмите «Close » (Закрыть), а в следующем окне — «Finish » (Закончить):

4. Через некоторое время на экране появится окно детальной настройки FTP-сервера. Нажмите кнопку «Next » (Далее):

5. Окно включения маленьких изображений в программе администрирования сервера. Выберите «Yes » (Да) и нажмите «Next » (Далее):

6. В следующем диалоге нажмите «Next » (Далее) для запуска сервера и подсоединению к нему:

7. Для нормального функционирования сервера в следующем диалоге в поле «IP address » (IP адрес) введите IP адрес своего компьютера в сети (например, 192.168.0.123). Если вы не знаете своего адреса, обратитесь к администрации сети за помощью:

8. В следующем диалоге оставьте всё как есть и нажмите кнопку «Next » (Далее):

9. В следующем окне происходит выбор, должен ли FTP-сервер запускаться сразу же после включения компьютера, или нет. Выберите «Yes » (Да) и нажмите кнопку «Next » (Далее):

10. Хотите ли вы разрешить анонимный доступ к своему серверу? Для того, чтобы все желающие могли свободно получать доступ к файлам, которые вы разместите на сервере, нужно в новом диалоге выбрать «Yes » (Да) и нажать на кнопку «Next » (Далее):

11. Указываем домашнюю директорию (папку) для сервера. Все, кто будут заходить к вам на сервер, попадут сразу же в неё.

Нажмите на кнопку, отмеченную на рисунке красным квадратом:

В появившемся окне обзора папок выберите нужную и нажмите «ОК »:

Следовательно, посетители, зайдя на ваш FTP-сервер, увидят что у вас находится в выбранной ранее папке. Нажмите кнопку «Next » (Далее):

12. Не разрешим посетителям выходить за пределы домашней папки (ради безопасности вашего компьютера). Выбираем «Yes » (Да) и нажимаем кнопку «Next » (Далее):

13. В следующем диалоге откажитесь от создания именованного аккаунта. Выберите «No » (Нет) и нажмите кнопку «Next » (Далее):

14. В новом диалоге нажмите кнопку «Finish » (Закончить), после чего подождите несколько секунд, пока изменения вступят в силу:

15. После всего перед вами откроется окно администрирования сервера. В колонке слева выберите подпункт «Settings » (Настройки) пункта « » меню «Serv-U Servers », а справа — закладку «General » (Основные), как показано на рисунке ниже. Для удобства все эти действия обычно обозначают так:

Serv-U Servers → → Settings → закладка General.

В этом окне выполните настройки, которые выделены на рисунке красным и нажмите кнопку «Apply » (Применить) снизу:

Serv-U Servers → → Settings → закладка Advanced.

Заполните поле «PASV port range » (Диапазон адресов PASV) как выделено на рисунке красным, и нажмите кнопку «Apply » (Применить) снизу:

17. Перейдите в расширенные настройки вашего домена:

Serv-U Servers → → Domains → Wizard Generated Domain → Settings → закладка Advanced.

Поставьте галочку у «Allow passive mode data transfers, use IP » (Разрешить пассивный режим передачи, использовать IP) и введите свой IP адрес в сети (такой же, который вы вводили несколькими пунктами ранее). Нажмите кнопку «Apply » (Применить) снизу:

18. Перейдите в настройки пользователей вашего домена:

Serv-U Servers → → Domains → Wizard Generated Domain → Users → Anonymous → закладка General.

Поставьте галочку и заполните поле, как показано на рисунке. Потом нажмите кнопку «Apply » (Применить) снизу:

19. Настройка завершена!

Перейдя в Serv-U Servers → → Activity можно просмотреть пользователей, подсоединенных к вашему серверу в данный момент.

Многие пользователи, подключаясь к большим локальным сетям, обнаруживают множество разрозненных внутренних FTP-серверов. В большинстве случаев на них находится различная информация, доступная для скачивания всем желающим: фильмы, образы игр и операционных систем, программные пакеты и т.п. Активные пользователи сети, общающиеся друг с другом, сталкиваются с необходимостью обмена данными. Передача данных на основе NetBios и Samba является далеко не оптимальным вариантом, поскольку не позволяет ограничивать скорость скачивания, а также создавать разделяемый доступ на основе паролей. Протокол FTP разрабатывался именно для того, чтобы дать другим пользователям возможность скачивать информацию с максимально допустимой скоростью и при минимальных накладных расходах в виде служебного трафика, соответственно он является одним из лучших решений. Поэтому в большинстве сетей преобладают пользователи, компьютеры которых превращены в небольшой FTP-сервер.

В настоящий момент на рынке представлено бесчисленное множество FTP-серверов. Среди них есть и простые, которые устанавливаются в несколько щелчков мышью, и сложные программные пакеты, предоставляющие широкий выбор дополнительных возможностей - таких, как учет трафика, одновременная работа нескольких серверов на разных портах и многое другое. В этом небольшом обзоре рассматривается программный FTP-сервер Serv-U 6.4.0.4, разработанный компанией RhinoSoft (http://www.rhinosoft.com/). Он является платным, однако для ознакомления можно бесплатно работать с ними с полной функциональностью в течение 30 дней. Сервер Serv-U поддерживает операционные системы на базе платформы Windows - Windows 2000/XP/2003.

Установка FTP-сервера

Установка сервера не составляет особого труда. Serv-U ставится как обычное программное обеспечение. После установки и первого запуска сервера автоматически запускается Wizard, который поможет настроить наиболее важные параметры программы. Рассмотрим последовательность установки FTP-сервера и возможные «подводные камни», которые могут привести к его неработоспособности:

  1. Встроенный Wizard попросит ввести IP-адрес сервера (Enter IP-address). Если сервер будет использоваться исключительно как локальный, без возможности зайти на него из Интернета, то в этом случае необходимо прописать локальный IP-адрес. Стоит учитывать, что IP-адрес может быть прописан вручную или выделен DCHP-сервером. В первом случае локальный IP-адрес можно узнать с помощью команды ipconfig /all , которая запускается из командной строки (Пуск -> Выполнить -> cmd , нажать клавишу Enter, а затем ввести команду). Во втором случае необходимо оставить поле IP-address пустым, при старте FTP-сервер автоматически определит адрес и присвоит ему порт 21 для работы. Поскольку доступ в Интернет может осуществляться по PPTP-туннелю, для доступа к FTP извне необходимо оставить строку пустой и запускать сервер после установки VPN-соединения, в противном случае Serv-U может не определить внешний IP-адрес.
  2. Необходимо указать название домена (Domain name). Если внешний IP-адрес в Интернете является статичным и ему присвоено доменное имя, то рекомендуется ввести его (домен). В противном случае можно оставить поле пустым или написать любое название.
  3. В третьем окне можно выбрать способ запуска FTP-сервера. Serv-U поддерживает запуск в качестве сервиса в системах NT, что избавляет пользователя от необходимости каждый раз загружать сервер при перезапуске системы.
  4. FTP-сервер Serv-U может быть публичным, если разрешен доступ для анонимных пользователей. Чтобы на сервер имели доступ исключительно авторизованные пользователи, необходимо отключить анонимный аккаунт на сервере.
  5. Затем Wizard предлагает выбрать корневую директорию для пользователей. Она будет основной для большинства FTP-пользователей, кроме тех, для кого корневая директория обозначена отдельно.
  6. В заключение можно определить доступ в корневую структуру диска, на котором находится корневая директория FTP-сервера, указанная в предыдущем окне. Настоятельно не рекомендуется давать пользователям такую возможность, поскольку существует вероятность копирования данных, не предназначенных для них.

После выполнения всех указаний Wizard FTP-сервер Serv-U автоматически запустится (рис. 1). Административную консоль можно свернуть в трей. Если никаких неполадок при запуске не произошло, буква «U» будет зеленой. Выключенный FTP-сервер отображается перечеркнутым значком, а наличие подключенных клиентов - темно-синей буквой «U».

Рис. 1. Административная консоль Serv-U

Настройки FTP-сервера Serv-U и его основные функциональные возможности

Основные настройки FTP-сервера Serv-U представлены в виде древовидной структуры и находятся в левой части административной консоли. Они расположены в верхнем разделе Settings (рис. 2).

Рис. 2. Основные настройки

Среди наиболее важных настроек безопасности отметим:

  • ограничения скорости передачи данных от сервера и к серверу для всех псевдосерверов. Для каждого псевдосервера можно указать файлы или папки, на которые это ограничение действовать не будет;
  • блокирование атак, которые проводятся с помощью метода FTP Bounce. В случае блокировки обмен данных с сервером разрешен только для клиентов; трансфер между двумя FTP-серверами запрещен;
  • защита от DDOS-атак и назойливых клиентов путем запрета на создание множественных подключений клиента в короткий промежуток времени;
  • поддержка SSL- и SSL v2-протоколов с сертификацией и обмен данными по защищенному каналу. Криптографическое шифрование по SSL v2 можно отключить;
  • конфигурирование портов через UPnP (Universal plug and play) для обхода маршрутизаторов, поддерживающих эту функцию. Таким образом, FTP-сервер может быть доступен в случае, если он получает доступ в Интернет через NAT-протокол.

Безусловно, большинство приведенных настроек поддерживается последними версиями других FTP-серверов. Однако во многих случаях именно эти настройки вызывают проблемы в работе сервера, а в программе Serv-U все настройки удобно сведены воедино, поэтому ими проще управлять.

Являясь продвинутым программным пакетом, Serv-U поддерживает создание нескольких доменов (псевдосерверов). Каждый из доменов конфигурируется отдельно от других. Псевдосервер может быть настроен на отдельный порт и IP-адрес - таким образом, одному компьютеру может соответствовать несколько серверов. Домен имеет отдельную базу пользователей и каталогов, к которым клиентам открыт доступ. Пользователей можно разделить на группы, для которых также можно установить корневую директорию. Пользователи могут быть отнесены к администраторам сервера; всего же существует четыре группы: Domain Administrator, Group Administrator, System Administrator и Read-Only Administrator, отвечающие за управление сервером или конкретным доменом. Пользователю могут быть назначены многочисленные настройки - такие, как скорость скачивания, доступ с определенного IP-адреса, индивидуальный доступ к папке, автоматическая смена пароля, квота на трафик и система рейтинга.

Нельзя обойти вниманием и поддержку функции Dynamic DNS, позволяющей автоматически определять внешний IP-адрес и менять его для псевдосерверов. Поддерживается программное обеспечение, которое используется системой динамического изменения DNS на сайте http://www.dns4me.com/. С помощью этой системы пользователи, получающие внешний IP-адрес в Интернете по PPTP-каналу, могут сопоставить его с доменным именем. В зависимости от выданного IP-адреса FTP-сервер автоматически меняет его и сопоставляет с доменным именем (для других подобных систем Serv-U не сможет правильно сопоставить доменное имя и адрес).

Создание пользователя

По умолчанию аккаунт анонимного пользователя включен, все настройки для него определяются установками в закладке Settings конкретного домена (псевдосервера). Чтобы создать уникального пользователя, который имел бы доступ только к определенным каталогам и файлам, необходимо во вкладке Users щелкнуть правой кнопкой мыши и выбрать New user (рис. 3). После этого запустится Wizard, с помощью которого устанавливаются основные настройки: имя пользователя, пароль и корневой каталог.

Рис. 3. Создание пользователя

Доступ к другим настройкам пользователя (рис. 4) можно получить, кликнув два раза мышкой по имени пользователя.

Рис. 4. Настройки пользователя

Виртуальные пути и протоколирование

Иерархия каталогов в операционных системах Windows несколько отличается от структуры в системах на базе Linux, где можно монтировать разделы жестких дисков в каталоги. В Serv-U существует подобная виртуальная структура папок. С помощью виртуальных путей можно свести в один каталог все жесткие диски, значительно упростив размещение файлов на них.

Сервер Serv-U поддерживает многоуровневое протоколирование служебной информации. Все записи сохраняются в едином файле с расширением *.log. Пользователь может настроить сообщения, которые будут прописаны в файле в меню Logging (рис. 5).

Рис. 5. Настройки записи в log-файл

Для каждого псевдосервера настройки могут быть указаны отдельно и выделен отдельный файл для сохранения. Информация записывается в простом и понятном опытному пользователю виде. В интернете существует множество различных решений для чтения log-файлов FTP-сервера Serv-U. Наиболее достойным программным пакетом является решение Sawmill 7, которое корректно отображает информацию, записанную в log-файлах, и выводит подробную статистику по посещениям, переданным файлам, пользователям и активности клиентов.

Блокировка и слежение за пользователями

Активность клиентов отображается в отдельном окне (рис. 6). Здесь приводится практически полная информация о текущем состоянии пользователя, файле или каталоге, к которому он обращался, скорости соединения, времени и количестве скачанной информации.

Рис. 6. Активность клиентов

При необходимости можно воспользоваться опцией слежения за пользователем (Spy on user). С ее помощью можно полностью проследить «движение» пользователя по FTP-серверу, просмотренные и скачанные файлы, а также суммирующий трафик. Функция слежения работает исключительно по IP-адресу и текущей сессии, следующая сессия этого пользователя уже не будет отображаться в меню просмотра.

Как и все FTP-серверы, Serv-U поддерживает блокировку конкретных пользователей (рис. 7). Она может осуществляться в течение некоторого промежутка времени или постоянно. Эти два вида блокировки настраиваются в разных меню. Блокировка на время относится ко всем пользователям всех доменов и выполняется через самое первое меню Activity . Время блокировки задается в секундах. Пользователь, блокируемый на неопределенный срок, определяется в настройках каждого домена отдельно.

Рис. 7. Блокировка пользователей

Тест на производительность

Для оценки максимальной скорости передачи данных сервера Serv-U был проведен небольшой тест. Два компьютера были подключенных друг к другу по гигабитной локальной сети. Один компьютер являлся клиентом FTP-сервера и скачивал с него файл объемом 4,5 Гбайт, а на другом ПК был установлен Serv-U. Оба компьютера работали под операционной системой Windows XP SP2.

В ходе этого экспресс-тестирования скорость передачи информации от сервера к клиенту составила около 120 Мбит/с, а от клиента к серверу - 80 Мбит/с. Оценивая результаты тестирования, следует учесть, что узким местом при передаче являлся не сам FTP-сервер, а пропускная способность интерфейсов жестких дисков. Поэтому можно с уверенностью сказать, что при правильной компоновке системы скорость будет еще выше.

Заключение

FTP-сервер Serv-U является хорошим решением для установки в домашних условиях и предоставления разделяемого доступа к файлам компьютера на основе протокола FTP. Благодаря поддержке многих способов защиты информации и методов борьбы со взломом, он способен надежно защитить данные не только домашних пользователей, но и малых офисов. Поддержка динамического DNS будет полезна домашним пользователям, которые получают новый внешний IP-адрес при каждом подключении к Интернету.

(shareware). Кроме того, есть несколько более простые Cerberus (free), а также любопытный русскоязычный проект ST FTP-Service (free). Ниже будет кратко рассмотрен процесс настройки некоторых из этих программ.

GuildFTPd 0.999.5

Мощный сервер, легко настраиваемый, с удобным интерфейсом и прекрасной реализацией виртуальной файловой системы (ВФС).

Установка и главное окно

Установка программы тривиальна. Вы установили программу на Ваш компьютер, запустили, и с интересом смотрите на главное окно программы:

Настройка программы.

1. Настройка основных параметров сервера (номер порта, максимальное количество коннектов, количество коннектов с каждого ip и др) осуществляется в правом нижнем окне. Если Вы это сделаете для группы System, то все группы нижнего уровня эти настройки унаследуют. Для любой выбранной Вами группы эти настройки по умолчанию можно перекрыть. В частности, я иногда использовал для разных имен пользователей разные номера портов.

2. Пункт меню Admin -> Options -> Server: впишите имя Вашего сервера, и несколько уменьшите детализацию сообщений сервера (передвинув бегунок “Log Level” влево), иначе файлы журнала быстро наберут сотни мегабайт:

3. Настройка доступа к серверу. Структура иерархии пользователей в GuildFTPd такова, что любой пользователь должен быть отнесен к какой-либо группе. При этом у Вас есть два основных пути:

  • построение фтп на основе личных логинов;
  • построение сервера на основе прямого входа в нужную директорию.

3.1. Построение фтп на основе личных логинов.

Предположим, что Вы решили организовать доступ для Ваших друзей к директории Documents, при этом каждый из них должен будет видеть уникальный набор директорий (т.е. Вы должны создать виртуальную файловую систему для каждого пользователя).

Алгоритм очень простой:

а) создаете группу, скажем, Team, и сразу сделайте общий для группы корневой каталог (root):

Ясно, что он уже должен существовать на диске. Обратите внимание - виртуальное выбранного каталога «\». Затем назначим соответствующие права. Получаем следующее:

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

Кроме того, существуют общепринятые соглашения по именам каталогов, находящихся в корневом, в частности: \pub - здесь лежат данные, доступные для публичного (анонимного) скачивания; \upload - сюда будут заливать для Вас; \incoming и некоторые другие. Я думаю, что для частного сервера этим соглашениям следовать необязательно.

б) начинаете набивать группу пользователями (Admin -> Add User):

в) создаете ВФС для каждого (см. а)):

И получаете:

Примечание. Вы можете открыть доступ ко всему диску, скажем, таким образом:

Физическая директория K:\FTP является для Вас корневой, а физические диски - каталогами. Тогда в ftp-клиенте Вы увидите следующее:

Файл picture1.jpg как раз находится в каталоге K:\FTP, и Вы сможете его увидеть еще раз, если в этот каталог пойдете по физическому пути.

3.2. Построение сервера на основе прямого входа в нужную директорию.

Здесь Вам не надо создавать множество логинов. Вы создаете один (а то и вовсе используете анонимный вход, для чего вводите имя anonymous , а поля паролей оставляете пустыми), но в правах root-директории снимаете флажок с пункта “list”. А потом просто добавляете туда директории. Не зная полного имени в каталог не попасть.

На этом Ваш сервер готов к работе, для его запуска/выключения нажмите кнопку “on”, или выберите меню Admin -> Allow Logins.

4. Дополнительно. Настройка сообщений сервера: Admin -> Server Messages

5. Дополнительно. Установка плагинов. Рекомендую установить плагин для просмотра статистики (на сайте авторов):

6. Дополнительно. Запрещение доступа на сервер: View -> View Ban List . Чтобы избавиться от назойливого пользователя, внесите его адрес в бан-лист.

Gene6 FTP Server v3.10.0.2

Разработчик: Gene6 SARL
Размер дистрибутива: 4,01 Мб
Распространение: условно бесплатная Gene6 FTP Server - один из лучших FTP-серверов с расширенным администрированием и высоким уровнем безопасности передаваемых данных. Программа позволяет открывать доступ к данным для конкретных пользователей или групп пользователей через их учетные записи, управлять правами доступа для файлов и каталогов и ограничивать доступ по IP-адресам. При этом может быть создано нескольких виртуальных узлов FTP и ограничено число соединений (для IP, домена, пользователя), а также установлены сроки действия учетных записей. Предусмотрена и возможность более тонкой настройки прав доступа конкретных пользователей, для которых несложно, например, определить максимальный размер закачиваемых на FTP-сервер файлов, сделать какие-то файлы в открытой папке заблокированными или наоборот, доступными, определить лимиты скорости при скачивании и закачивании файлов, установить интервалы времени доступности FTP-сервера и т.д. Имеется поддержка ODBC баз данных, возможно сжатие передаваемых данных (MODE Z), а для обмена важными файлами может использоваться 128-битное SSL-шифрование. В реальном времени ведется подробная статистика активности на FTP-сервере, записываемая в log-файлы и визуально отображаемая в текстовом и графическом виде. Предусмотрены средства удаленного администрирования, позволяющие добавлять, изменять, удалять учетные записи пользователей, а также изменять все доступные настройки доменов удаленно (как если бы администратор находился у компьютера, на котором запущен сервер). Существует возможность делегировать администрирование другому администратору посредством создания новой учетной записи пользователя с ограниченными правами администратора. Подключение удаленного администрирования шифруется при помощи SSL и запускается на собственном настраиваемом порте. Программа (имеется русскоязычная версия) представлена в двух редакциях: Standard и Professional. На домашних пользователей рассчитана стандартная редакция, допускающая использование двух доменов с 25 параллельными соединениями. Демо-версия программы полностью функциональна в течение 30 дней, стоимость коммерческой версии Standard edition составляет 59,95 долл. На сайте разработчика можно скачать русскоязычную документацию. Программа включает два модуля - движок FTP-сервера и FTP-Администратор. Движок FTP-сервера работает как системная служба (то есть на автомате запускается при загрузке Windows), интерфейса не имеет и отвечает за включение/отключение сервера, FTP-Администратор обеспечивает доступ к настройкам сервера и запускается через меню Пуск. Значок FTP-сервера всегда находится в системном трее, и по виду этого значка несложно понять, когда сервер включен, когда отключен, и когда на него зашел какой-нибудь пользователь.

Для настройки FTP-сервера требуется запустить FTP-Администратор и ввести пароль администратора (он указывается при установке программы). Окно администратора включает две панели - на левой содержится перечень настраиваемых элементов, на правой раскрывается структура выбранного элемента. Первым делом нужно создать домен, активировав на левой панели вкладку "Домены", вызвав из контекстного меню на правой панели команду "Новый домен" и введя имя домена. Если внешний IP-адрес в интернете является статичным и ему присвоено доменное имя, то в качестве имени домена его и рекомендуется ввести, в противном случае можно указать любое имя. Здесь же можно ограничить максимальное число клиентов, подключенных одновременно к FTP-серверу (например, пятью) и количество соединений от одного из них (обычно рекомендуют ограничивать одним либо двумя соединениями с одного IP-адреса).

В следующих двух окнах, где будет идти речь об IP-адресе (по умолчанию там стоит "*", что означает для всех IP), используемом порте (по умолчанию задействован 21-й порт) и типах журналов, в случае динамического IP-адреса нужно оставить настройки по умолчанию. Однако при наличии статичного IP-адреса необходимо ввести его вместо символа "*" - именно этот адрес и будет использоваться доменом. Если вы не знаете своего IP-адреса, то его можно посмотреть с помощью команды ipconfig, которая запускается из командной строки (Пуск > Выполнить > cmd, нажать клавишу Enter, а затем ввести команду). Если в поле IP-адреса останется "*", то при каждом старте FTP-сервер будет автоматически определять адрес и присваивать ему 21-й порт для работы.

Что касается последнего окна, то если вы планируете открыть анонимный доступ к FTP-серверу, следует указать в нем домашний каталог - то есть каталог на вашем компьютере, который увидят анонимные пользователи.

Теоретически сразу после этого FTP-сервер уже будет готов к приему анонимных пользователей. Вместе с тем, можно провести и более тонкую настройку сервера. В частности, для него несложно определить список персональных пользователей (либо групп пользователей) с паролями, логинами и расширенными правами доступа. Осуществляется это с помощью команды "Новый пользователь", вызванной из контекстного меню после активации вкладки "Пользователи" - по минимуму для пользователя вводится имя с паролем и указывается домашний каталог. При необходимости, для отдельных пользователей можно также ограничить срок жизни их учетных записей, установить права доступа, определить время доступа и скорость передачи, ввести маску на доступные и заблокированные файлы, в целях безопасности указать IP-адреса, с которых данные пользователи будут подключаться, и т.д.

Кроме того, можно воспользоваться поддержкой виртуальных папок и помимо домашнего каталога разрешить пользователю доступ в ряд других ваших папок (они могут находиться и на разных дисках), которые в таком случае копировать в домашний каталог не потребуется - достаточно просто установить для них виртуальный и реальный пути. В итоге, входящий на ваш FTP пользователь увидит все доступные для него папки так, как если бы они все лежали в одной домашней папке. При желании, несложно также настроить для отдельных пользователей блокирование доступа к определенным типам файлов.

В плане безопасности может иметь смысл включить блокирование трансфера между двумя FTP-серверами (для конкретных пользователей - раздел "Дополнительно" на вкладке "Пользователи"), ограничить число попыток входа и настроить использование SSL для шифрования передаваемых данных (через свойства конкретного домена). А также запретить доступ к FTP-серверу с конкретных IP-адресов ("Информация " > "Временный запрет") и др. Ну а если у вас IP-динамический, и вас не вдохновляет каждый раз после подключения к интернету сообщать друзьям свой новый IP, то придется зарегистрироваться на одном из сервисов Dynamic DNS (например, No-ip.com). А затем создать там хост, который будет указывать на ваш FTP-сервер - пусть это будет, serghome.myftp.org, поскольку и сам домен мы назвали сходным образом. Также придется скачать, установить и настроить клиента динамического обновления (данная операция будет на автомате предложена в ходе регистрации). На следующем этапе придется скорректировать настройки сервера, подправив в свойствах домена ("Домен" > "Свойства" > "Привязка IP") параметр "Перенаправить PASV IP", где потребуется ввести полученное доменное имя и задать диапазон портов пассивного режима. После этого пользователи смогут попасть на ваш FTP-сервер, указывая в FTP-клиенте в качестве адреса строку вида serghome.myftp.org.

Активность пользователей четко протоколируется и сохраняется в логах - так, можно проверить, кто в данный момент подключен к серверу, и что он делает, оценить трафик домена, просмотреть историю подключений и т.п. Все эти данные представлены на вкладке "Информация".

Serv-U 8.0.0.7

Разработчик: Rhino Software, Inc.
Размер дистрибутива: 8,76 Мб
Распространение: условно бесплатная Serv-U - мощный, стабильный и относительно несложный в установке и настройке FTP-сервер, обеспечивающий гибкое администрирование. Программа позволяет открывать доступ к FTP-серверу конкретным пользователям или группам пользователей, устанавливать для них права на запись/чтение/изменение для каталогов и файлов, а также контролировать доступ по IP-адресам. Возможна одновременная работа нескольких пользователей, максимально допустимое число которых нетрудно ограничить. Для каждого из подключений несложно задать максимальную скорость операций upload/download. Предусмотрена поддержка компрессии "на лету" Zlib, обеспечивающая увеличение скорости передачи данных, и поддерживается функция Dynamic DNS, что позволяет автоматически определять внешний IP-адрес и менять его для псевдосерверов. Ведется подробная статистика активности на FTP-сервере, записываемая в логи, где можно узнать имя, под которым зашел пользователь, IP-адрес его компьютера, интересующие его папки, осуществленные операции и др. Программа (имеется русскоязычная локализация) представлена в нескольких редакциях, среди которых для домашнего пользователя интерес может представлять лишь редакция Bronze. Демо-версия программы полностью функциональна в течение 30 дней, после чего за нее придется заплатить 199,95 долл., либо использовать бесплатно как версию Personal, но тогда уже придется ограничиться одним доменом, двумя параллельными соединениями и пятью пользовательскими учетными записями, что, в принципе, достаточно, например, для обмена данными с друзьями. В редакции Bronze домен может быть также только один, но возможно уже 25 параллельных соединений и до 50 учетных записей.

Программа включает два модуля - агент FTP-сервера и консоль управления. Агент интерфейса не имеет, работает как служба и отвечает за включение/отключение сервера, что производится через системный трей. Панель управления обеспечивает настройку параметров FTP-сервера и запускается через меню Пуск. После запуска Агента значок FTP-сервера появляется в системном трее и своим видом сигнализирует о состоянии сервера (включен/отключен) и наличии либо отсутствии на нем пользователей. Настройка FTP-сервера проходит под контролем мастера (он запускается автоматически после установки и первого запуска программы), что позволит избежать ошибок. Первым делом программа спросит имя домена - если внешний IP-адрес в интернете является статичным и ему присвоено доменное имя, то рекомендуется ввести его, в противном случае поле можно оставить пустым или написать любое название. Если адрес динамический, а это не устраивает, то разработчики рекомендуют воспользоваться системой динамического изменения DNS на сайте Dns4me.com . После ее настройки FTP-сервер научится автоматически менять выданный провайдером IP-адрес и сопоставлять его с доменным именем. Затем нужно будет определить протоколы и порты, которые будут использоваться данным доменом, и ввести IP-адрес сервера.

На следующем этапе программа поинтересуется, не желает ли владелец FTP-сервера сразу создать аккаунты пользователей, и если да, то нужен ли для этой цели мастер. В случае выбора в пользу мастера в открывшемся окне потребуется указать имя пользователя, пароль и доступный ему каталог вкупе с правами доступа в отношении этого каталога - тут возможны только два варианта: "доступ только для чтения" и "полный доступ". После выполнения всех указаний мастера FTP-сервер Serv-U автоматически запустится.

Естественно, что добавить пользователей можно и позже - непосредственно из консоли управления, активировав раздел "Пользователи" и щелкнув на кнопке "Добавить". При этом потребуется указать не только все вышеперечисленные данные, но также можно будет уточнить еще множество разнообразных параметров. Например, запретить/разрешить запись, добавление, удаление и запуск файлов из каталога, ограничить размер содержимого каталога и установить для данного пользователя доступ только с определенного IP-адреса. Настроить виртуальные пути доступа к каталогам, находящимся вне домашнего каталога пользователя, ввести приветствие, посылаемое ему после авторизации и др. Настройки параметров групп пользователей осуществляются примерно таким же образом.

Помимо добавления пользователей и регулирования их прав, в консоли управления также корректируется множество других параметров. Так, в разделе "Лимиты и настройки сервера" можно установить разного рода ограничения, которые могут действовать в определенное время суток либо определенный день недели: ограничить максимальное число сессий, скорость загрузки/выгрузки данных (общую либо для конкретного пользователя), блокировать методы анти-таймаута и слишком часто подключающихся пользователей и т.п.

В ходе работы FTP-сервера ведется подробная статистика активности пользователей - в частности, учитывается информация о текущем состоянии пользователя, файлах или каталогах, к которым он обращался, длительности сессий, скорости загрузки/выгрузки и т.п. Стоит отметить, что на наш субъективный взгляд, предыдущие версии Serv-U были удобнее, интуитивно понятнее и шустрее в работе. Последняя версия, протестированная нами в ходе подготовки материала, особого восторга не вызвала. Точнее, не порадовала новая консоль управления, капитально тормозящая и имеющая совершенно иной и, как нам показалось, не очень хорошо продуманный интерфейс, нежели старые версии.

FileZilla Server 0.9.31

Разработчик:
Размер дистрибутива: 2,72 Мб
Распространение: бесплатная FileZilla Server представляет собой FTP-сервер с поддержкой SSL-шифрования и расширенным администрированием. Он обеспечивает создание анонимного либо парольного (для отдельных пользователей или групп) доступа к данным и позволяет управлять правами доступа для файлов и каталогов, а также ограничивать доступ по IP-адресам. Предусмотрено введение ограничений на доступ к FTP-серверу в целом, либо для каждого пользователя по отдельности, а также ограничение общего количества подключений и максимальной скорости скачивания. Имеется поддержка сжатия передаваемых данных (MODE Z), а для обмена важными файлами может использоваться 128-битное SSL-шифрование. В реальном времени ведется подробная статистика активности на FTP-сервере, по которой несложно контролировать имевшие место подключения, что позволит всегда быть в курсе того, что конкретно делали на сервере подключившиеся к нему пользователи. Возможно удаленное администрирование. Программа совершенно бесплатна и, как и большинство прочих FTP-серверов, она состоит из двух основных компонент. Первая - это сам FTP-сервер, работающий как системная служба (то есть он не имеет собственного интерфейса), настраивающаяся при установке на автоматический запуск. Вторая представляет собой консоль управления, предназначенную для настройки параметров FTP-сервера.

При первом старте программа предложит ввести данные сервера, к которому предполагается подключиться - следует оставить предложенный IP-адрес (127.0.0.1 - это IP-адрес, с помощью которого компьютер может обратиться по сети к самому себе) и номер порта без изменений.

Для того чтобы пользователи смогли заходить на ваш FTP-сервер, первым делом необходимо создать хотя бы одну учетную запись - например, для анонимного доступа к серверу (то есть для пользователя с именем anonymous). Сделать это можно через меню Edit > Users. В открывшемся окне редактора учетных записей вначале следует щелкнуть на кнопке Add и ввести имя пользователя.

Для предоставления пользователю доступа к конкретным папкам требуется активировать вкладку Shared folders, щелкнуть по кнопке Add, указать домашнюю папку и определить права доступа к ней. При этом ее нужно определить в качестве корневого каталога для пользователя, нажав кнопку Set as home dir. Этого уже достаточно для посещения анонимными пользователями вашего FTP. Создание учетной записи для конкретного пользователя ничем принципиальным не отличается за исключением того, что для него придется указать не только логин, но и пароль.

На доступ к серверу несложно ввести ограничения - как в целом, так и для каждого отдельного пользователя. Общесерверные ограничения устанавливаются в окне настроек сервера Edit > Settings, ограничения для отдельных пользователей - в окне настроек учетных записей Edit > Users. Например, для отдельных пользователей на вкладке Speed limits можно установить ограничения по скорости доступа (отдельно на скачивание и закачку) - постоянные либо по расписанию. А на вкладке IP Filter несложно установить ограничения по разрешению/запрещению на доступ в отношении конкретных IP-адресов. Указывать можно как отдельные IP-адреса, так и их диапазоны, что позволяет, например, запретить доступ сразу целой подсетке, разрешив его, тем не менее, отдельному доверенному пользователю внутри нее. Аналогичные установки могут быть заданы и в отношении всех пользователей в целом, но уже в окне настроек сервера.

Для сервера в целом (Edit > Settings) на вкладке General settings можно установить ограничение на количество подключающихся одновременно пользователей, задать таймауты для разрыва соединения в случаях, когда подключившийся пользователь не отвечает, и установить ограничения в отношении конкретных IP-адресов. На вкладке Security settings - заблокировать межсерверные передачи файлов без участия пользователя, на вкладке Speed limits ограничить общую скорость скачивания/закачки, а на вкладке Autoban - блокировать множественные подключения пользователя в короткий промежуток времени.

В случае динамического IP-адреса для сопоставления его с доменным именем в настройках сервера (Edit > Settings) потребуется активировать вкладку Passive mode settings, включить на ней флажок Use the following IP и указать в соответствующем поле имя домена.

Активность пользователей фиксируется и отражается в главном окне программы, где можно увидеть имена подключавшихся пользователей, их IP-адреса, время подключения и произведенные ими операции.