FTP-сервер своими руками

Максим Афанасьев

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

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

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

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

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

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

Заключение

 

Многие пользователи, подключаясь к большим локальным сетям, обнаруживают множество разрозненных внутренних 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-адрес при каждом подключении к Интернету.

 

В начало В начало

КомпьютерПресс 10'2007

Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует