Настройка и принцип работы Serv-U. Использование FTP

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, чтобы следить за изменением ИП адреса.

(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 . Чтобы избавиться от назойливого пользователя, внесите его адрес в бан-лист.

Обзор настройки FTP-сервера под Windows на примере Serv-U 6.4.

1. Что же такое — «FTP»?

Для чего вообще писался этот текст? Уже много раз меня спрашивают начинающие пользователи многих локалок — «как обменяться файлами с соседом»? Ведь соединиться через сетевое окружение, как это было раньше, уже не получается — в локалке запретили протокол NetBIOS, отвечающий за поддержку сетевых возможностей Windows. Кстати, сделано это было не просто так, а из-за того, что этот протокол — одна из наиболее опасных дырок в защите компьютеров, так как именно через эту дырку попадает большая часть вирусной заразы...

Наверняка, многие слышали про FTP, но не все знают, что это не таинственное заклинание древних инков, а английское сокращение, расшифровывающееся как File Transfer Protocol — протокол передачи файлов. Это один из базовых протоколов Интернета, разработанных для обмена информацией. В отличие от HTTP, который служит главным образом для передачи web-текстов и изображений, FTP применяется для обмена произвольными файлами, часто большого размера.

Кроме того, FTP удобен для «путешествия» по каталогам удаленного компьютера и для доступа к большой, разветвленной файловой структуре. HTTP и FTP поддерживают авторизацию, то есть вы можете сделать так, что только зная логин и пароль к вам смогут попасть. Чтобы предоставить свои папки для других пользователей, вам необходимо установить FTP сервер, а у пользователей должны быть FTP клиенты. С помощью клиента пользователи могут не только скачивать с вас файлы, но и закачивать свои файлы к вам.

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

Немного пояснений:

Для обмена файлами существуют и другие способы — пиринговые клиенты (типа DC++, Emule, Torrent), HTTP, FTP и еще несколько вариантов. Но пиринговые клиенты требуют сложной настройки и содержимое общих ресурсов доступно для скачивания всем.

Доступ к файлам на удаленном компьютере по протоколу FTP осуществляется с помощью программ, которые называются FTP-клиентами (в качестве примитивного FTP-клиента может использоваться www-браузер, например Opera, Firefox или Microsoft Internet Explorer). Практически все современные операционные системы включают также FTP-клиент для работы в командной строке, который так и называется «ftp».
Если у вас есть интернет, то вы можете получить доступ к большому количеству информации, расположенной в различных уголках Сети. Для использования FTP необходим так называемый FTP-клиент, подключающийся к FTP-серверу (сервер, откуда скачиваются данные). Анонимный FTP позволяет подключаться к серверу даже не будучи на нем зарегистрированным (не имея на нем логина и пароля). Как правило, в качестве логина (имени пользователя) указывается anonymous, а в качестве пароля — ваш e-mail. Это делается на больших серверах для того, чтобы каждый мог скачать, к примеру, бесплатный дистрибутив Linux или какие-нибудь другие полезные программы.

Файлы передаются в нескольких режимах — режим ASCII (сокращение от American Standard Code for Information Interchange) используется для передачи преимущественно текстовых файлов (не забывайте, что HTML, по своей сути, тоже текстовый файл). Binary режим, как следует из названия, используется для передачи двоичного кода (проще говоря, используется для нетекстовых файлов, например, картинок).
Когда мы бродим по интернету, открываем сайты, то используем HTTP — этот протокол специально предназначен для загрузки веб-страниц. В то же время HTTP используется и для загрузки файлов. Поэтому у многих пользователей возникает закономерный вопрос — зачем использовать FTP для закачки, если это позволяет делать HTTP? Каждый из этих протоколов задумывался для своих целей. Как мы уже выяснили, FTP был разработан специально для передачи файлов, поэтому этот процесс в нем реализован наиболее эффективно, чем больше размер файла, тем более оправдано использование FTP.

Понятия «клиент» и «сервер» часто встречаются в компьютерной литературе. Сервер — это программа или компьютер, предоставляющий свои ресурсы клиентам. Сервер принимает запросы от клиента и выполняет затребованные действия.
Любой сервер представляет собой программу, службу (в терминах Windows) или демон (daemon, в терминологии Unix). Любая служба принимает запросы от клиентов на том или ином пограммном порте — через этот порт огранизуется установка соединения и передача данных. Например, сервер FTP по умолчанию принимает запросы от клиентов на порте 21 .

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

Резюмируя, можно сказать, что HTTP — более универсальный протокол, который, конечно, можно использовать для закачки файлов. Однако если вы хотите выжать из интернет-канала максимум и произвести закачку как можно быстрее, есть смысл поискать нужный файл на FTP-сервере. FTP адрес выглядит так:

где user — это имя пользователя, двоеточие — это разделитель для программы между именем пользователя и паролем, password — это пароль. Собачка означает разделение между данными о пользователе и адресом. Дальше идёт непосредственно адрес. Это может быть IP-адрес, а может быть и буквенное значение (как например, ftp.microsoft.com). После адреса опять идёт двоеточие, которое разделяет адрес и номер порта подключения. По умолчанию этим портом является порт 21, но может быть и другой, назначаемый администратором сервера.
Адрес может выглядеть и так: ftp://212.199.28.50 . Это будет означать, что имя пользователя — anonymous, паролем является e-mail адрес, а порт — 21-й.

В качестве клиентской программы удобно использовать следующие программы — Total (Windows) Commander, FAR, FlashFXP, CuteFTP, SmartFTP и даже некоторые менеджеры загрузок, такие как FlashGet и Download Master, у которых FTP клиент встроен в программу.

2. Выбор FTP сервера

На рынке присутствует огромное количество FTP серверов, от микроскопических (для разовой пересылки) и до серверов уровня предприятия (рассчитаных на миллионы одновременных подключений). Для домашних и полупрофессиональных целей достаточно нескольких возможностей:

Поддержка нескольких доменов (IP адресов). Это надо в том случае, если у вас на компьютере есть локальная сеть и интернет. И вы хотите сделать FTP сервер только для локалки или только для интернета. Или для того и другого.

Поддержка нескольких пользователей и их прав. Например, пользователь Вася может качать с вас эротические картинки, а другие не смогут:)

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

Возможность ограничения скорости передачи и количества одновременно подключающихся пользователей. Каждый пользователь — нагрузка на процессор и винчестер вашего компьютера. Когда их много и все одновременно качают с вас файл, ваш компьютер может очень сильно тормозить. Для того, чтобы пользователи не мешали вам и друг другу, их число можно ограничить. То есть скажем двое сидят на вашем FTP, а остальные, кто пытается подключится к вашему серверу — получают сообщение вроде «Слишком много народу. Попробуйте зайти попозже».

Возможность наблюдения за действиями подключенного пользователя. Это полезно для ведения статистики, настройки, да и просто интересно, кто чем занимается на вашем сервере:)
В принципе, компания Microsoft начиная с Windows 2000 включает в поставку свой FTP сервер. Но он весьма неудобен как в наладке, так и в работе, и имеет множество ограничений. Перепробовав множество продуктов, я выбрал для себя сервер «Serv-U FTP Server», как наиболее отвечающий поставленным выше условиям. Именно о нем я и буду рассказывать дальше.

Также профессиональным и стабильным считается Gene6 FTP Server . Лично мне еще очень нравится совмещенный HTTP/FTP/Mail/DNS/DHCP бесплатный Small HTTP Server . Он отличается простотой и очень малым количеством занимаемой оперативной памяти (порядка 800 Кбайт!!!).

3. Установка FTP сервера Serv-U

Для примера установки возьмем «Serv-U.FTP.Server.v6.4.0.4.Corporate.Edition», этот архив вы можете найти в конце статьи. Распаковав его, вы получите файл «ServUSetup.exe» — это инсталлятор сервера, и файл «keygen.exe» — генератор лицензионного ключа для программы. Ну или вы не хотите пользоваться нелицензионным софтом, вы можете заплатить за использование программы разработчику:)
Запускаем инсталлятор.
Согласившись с лицензией, говорим, куда надо поставить сервер.
Теперь нас попросят указать нужные компоненты. Для установки серверра нам нужны оба.
Если вы купили программу, теперь можете ее зарегистрировать как описано в руководстве к ней. А для остальных последовательность действий такова: справа внизу, в трее, у вас появится значок: это значит, что сервер пока выключен. Необходимо выйти из этой программы, выбрав Exit и запустить keygen, сгенерировать ключ — он будет автоматически скопирован в буфер обмена.
Установка программы-сервера закончена. Щелкаем правой кнопкой мыши по иконке и выбираем из всплывающего меню «Start Administrator...»

4. Настройка сервера, создание учетных записей

Запустив программу администрирования, мы увидим окно следующего вида:

В Главном меню программы находятся основные управляющие элементы, но подробно мы их изучать не будем, вы сами сможете это сделать потом, прочитав справку к программе. То же самое касается элементов управления и статус-панели. Принцип настройки сервера такой — в дереве настроек мы выбираем нужный раздел и в панели настроек и отчетов видим одну или несколько закладок с настройками и (или) статистикой. Для начала создадим свой FTP сервер. Войдя в раздел «Local server», вы сможете управлять установленным у вас на машине сервером. При входе в раздел в панели настроек появится следующая информация:

Если поставить галочку на пункте «Start automatically», ваш сервер будет стартовать вместе с Windows при каждой загрузке. Далее идет статус сервера (зеленый цвет — работает, красный — выключен). Далее кнопка, включающая/выключающая сервер. И кнопка, задающая главный пароль администратора. Если вы его зададите, никто кроме вас не сможет менять настройки вашего сервера. Здесь и далее я буду описывать только основные ходы для развертывания своего FTP сервера, об остальных дополнительных возможностях вы можете узнать из справки к программе. Для начала проведем настройку глобальных параметров сервера, войдя в раздел «Settings».

В закладке «General» нам интересны пункты:

Max. Upload speed: максимальная скорость загрузки файлов на ваш сервер с клиента
Max. Download speed: максимальная скорость отдачи файлов клиентам (всем вместе — это глобальная настройка)
Max. no. of users: максимальное количество одновременно подключившихся клиентов (также глобальная настройка)
Delete partially uploaded files: если клиент пытался закачать к вам на сервер файл, но не до конца его закачал, надо ли удалять такой незавершенный файл. Если стоит галка — то удалять.
Во всех остальных закладках оставляем настройки по умолчанию.

В разделе «Activity» можно посмотреть отчет о работе программы, добавить IP адрес в список запрещенных IP адресов, или отправить сообщение подключенным клиентам. Углубляться в эти возможности мы не будем, поэтому идем к следующему разделу.

Раздел «Domains» — основной рабочий инструмент администратора. Пока в нем пусто. Правой кнопкой мыши щелкнем на пустой панели настроек и выберем из меню пункт «New Domain» (можно просто нажать клавишу Ins). Появится мастер создания домена. В первом окне вам предложат выбрать IP адрес, по которому будет «жить» ваш FTP сервер. Если оставить поле пустым, сервер будет отвечать по всем адресам (например и в локалке и в интернете). Если сервер делается только для локалки — из выпадающего списка выберите свой IP адрес в локальной сети:

Нажав кнопку «Next», переходим к следующему вопросу — надо ввести имя домена. Если вы делаете интернетовский FTP, можете в качестве названия ввести его адрес, это даст возможность не запутаться при большом количестве доменов. А можете просто ввести название своего FTP, к примеру «Мой FTP сервер»:

Снова «Next», выбираем порт для FTP сервера. Стандартно для FTP используется 21 порт TCP, но если вы хотите спрятать ваш FTP порт от сканеров, можете указать другой, главное, чтобы на нем не сидела другая программа. Также не забудте открыть этот порт в файрволе или брэндмауэре (если он у вас стоит), иначе никто не сможет попасть к вам на FTP сервер! Выбор порта для домена позволяет организовать несколько FTP на разных портах с разным содержимым. Именно для этого и нужны домены.

2 раза нажимаем «Next» и выходим из мастера. Видим вот такой экран глобальных настроек домена:

Элементы в закладке «Domain» означают:

Name: имя домена
Domain IP address: IP адрес домена
Domain type: где храняться настройки домена (в INI файле или в реестре)
Security: поддерживать ли SSL секретность
FTP port number: номер порта сервера
Enable dynamic DNS: используется в интернете при работе службы DynDNS
Domain is... (online/offline): текущее состояние домена (зеленый — включен, красный — выключен)
Put Domain offline: кнопка выключения домена

Теперь проведем «тонкую настройку» полученного домена. Для этого перейдем в раздел «Settings» нашего домена:

В закладке «General» обращаем внимание на следующие значения:

Max no. of users: максимум клиентов, которые могут одновременно подключится к домену.
Minimum password length: минимальная длина пароля для пользователя. Если не задано — не проверяется

На закладке Vitual Paths указываются виртуальные папки и пути в ним! Папке дается виртуальное имя (Vitual name) которое и будет отображаться у пользователя, вошедшего по ftp, вместо реального. При этом эти папки надо разрешить хотя бы для чтения (Read) в настройках у каждого конкретного пользователя. Как это сделать — читай ниже.
Mapped to — это путь к папке пользователя, к котрой будет присоединяться (монтироваться) виртуальная папка. К ней также у пользователя должен быть доступ.

Еще одна закладка, на которую можно обратить внимание - «Messages»:

Здесь можно заменить стандартные сообщения сервера на свои собственные, к примеру с названием своего FTP или почтовым адресом для связи. Внимание! Сообщения могут быть только на английском языке или написаны транслитом!
Идем в раздел «Users» и создаем нового пользователя также, как создавали до этого домен. Появится мастер создания пользователя. Для начала вас попросят ввести имя пользователя. Под этим именем пользователь будет заходить на ваш FTP. Если FTP открыт для всех, то в качестве имени надо использовать имя anonymous . Для любого другого пользователя у вас попросят ввести пароль, для пользователя anonymous пароль спрашивать не будут. Далее указываем начальный каталог, в котором будет содержимое вашего FTP, видимое для данного пользователя:

Далее на вопрос следует ответить «Yes». Мастер завершится, новый пользователь создан. Сервер готов к работе. Некоторые тонкости настройки, например как подцеплять каталоги с других дисков, вы сможете посмотреть в видеофайле, идущем с этим архивом.

5. Проверка работы

Запустите свой FTP клиент, выберите создание нового соединения, в параметрах соединения укажите адрес FTP сервера, порт (если он не стандартный) и имя/пароль пользователя (если не указывать, то будет использован пользователь anonymous и в качестве пароля подставится нечто, напоминающее E-Mail адрес (мало кто указывает свой реальный e-mail). Не забудте указать прокси сервер, если вы соединяетесь не на прямую! Теперь попробуйте подключиться к своему FTP серверу. Если все сделано правильно, сервер должен ответить сразу.
Можно также обратиться в своему серверу через браузер в пассивном режиме: ftp://login:password@ваш_ip или просто ftp://localhost.

P.S. Не забудьте, что если вы закрыты от внешнего мира файрволом или роутером, то в них необходимо открыть порт 21 на входящие подключения (в роутере из WAN в LAN с любого ip).

Дистрибутив Serv-U FTP Server v6.4 Corporate Edition с видеоинструкцией можно скачать .

2,5мб
2. запускаем установку и устанавливаем

3. запускаем программу администрирования Serv-U Administrator

И следуем с мастером настройки шаг за шагом:

  • отвечаем YES на опцию показа картинок в меню, нажимаем NEXT
  • нажимаем NEXT для запуска сервера
  • ждем несколько секунд пока не стартует служба и вводим свой локальный IP (необязательно, но желательно), например 192.168.1.2 , нажимаем NEXT
  • вводим имя нашего домена (можно ввести все что угодно), нажимаем NEXT
  • отвечаем YES для запуска сервера в качестве системной службы, нажимаем NEXT
  • Отвечаем положительно что мы хотим создать АНОНИМНОГО пользователя, нажимаем NEXT
  • Указываем папку на диске, которая будет являться самой «верхней» для нашего анонимного пользователя, нажимаем NEXT
  • Отвечаем положительно на вопрос что мы хотим блокировать пользователя только в родительской папке, нажимаем NEXT
  • Создаем пользователя с именем (опционально, потом можно их добавить еще хоть 100 штук), для которого можно определить другие права, такие как скорость скачивания, другую родительскую папку, даже другой доступ по ip-адресам, права на запись и создание папок на сервере и т.п., нажимаем NEXT
  • Вводим имя создаваемого пользователя, нажимаем NEXT
  • Создаем для него пароль, нажимаем NEXT
  • Указываем для него родительскую папку, можно туже самую что и для анонимного пользователя, нажимаем NEXT
  • На вопрос о блокировании пользователя только в домашней папке отвечаем по своему усмотрению, нажимаем NEXT
  • Указываем есть ли у пользователя какие либо админские привелегии (лучше не надо), нажимаем NEXT
  • Процесс основной настройки закончен. Нажимаем FINISH.

    После завершения работы мастера запустится главное окно программы администрирования.

  • Заходим в главные настройки созданного пользователя, например anonymous’а. расставляем галочки. В данном примере мы прячем с глаз скрытые файлы в папках и говорим что разрешено не более 2х подключений с одного IP. Также указываем максимальную скорость скачивания и закачивания на сервер. В нашем примере разрешено качать с сервера максимум на скорости 50кбайт/с и максимальное число пользователей которое может подключиться с этим именем равно 5ти
  • На закладке GENERAL в подменю SETTINGS нашего домена (не пользователя)
    указываем диапазон РАЗРЕШЕННЫХ посетителей с адресов по маскам, чтобы все внешние подключения были закрыты!

    в данном примере указан диапазон всех адресов пользователей webstream, которым надо естественно разрешить заходить:

    87.103.240.0-87.103.255.255 90.189.128.0-90.189.255.255 193.16.106.0-193.16.106.255 213.228.64.0-213.228.95.255 213.228.96.0-213.228.103.255 213.228.112.0-213.228.119.255 217.70.96.0-217.70.127.255

    И запрещенных по маске *.*.*.*

    ВАЖНО указывать «запрещенный» диапазон после списка всех разрешенных, иначе доступ заблокируется ко всем

    Просто вводим любой шаблон адресов, предварительно выбрав сверху режим ALLOW = РАЗРЕШИТЬ либо DENY = ЗАПРЕТИТЬ и жмем кнопку ADD

  • Далее заходим в SETTINGS еще выше – в настройки LOCAL SERVER
    И указываем там такие вот «галочки», из описания с сайта nnm.ru

    Следуем дальше по дереву настроек Serv-U Administrator, в "Settings ->

  • После этого переходим на закладку ADVANCED и указываем то что ниже на картинке, не забываем указать порты для PASV режима
    Вероятно, ваш FTP-сервер находится за NAT. В таком случае на NAT надо настроить функцию "Port Forwarding". Во-первых, для порта на котором он отвечает. Во-вторых, как я уже описывал ранее, для клиентов работающих в режиме "PASV", необходимы еще какие-то порты, на которые они будут коннектиться. Именно для этого в Serv-U есть соответствующая настройка "Local Server -> Settings -> Advanced -> PASV port range", в которой указываем некий незанятый диапазон, например 32769-32784 и форвардим его на NAT.
  • Также очень вероятно что вы не хотите кидать все выкладываемые файлы/папки в одну специально выделенную папку.
    Для того чтобы на сервере ваши папки разбросанные по всему диску/дискам выглядели так словно они все находятся в одной используем ВИРТУАЛЬНЫЕ папки!

    Для этого заходим в меню SETTING нашего DOMAIN(домена) на закладку VIRTUAL PATHS и жмем в верхней части окна кнопку ADD, запустится мастер настройки папки

  • На 1 шаге мы указываем физическое местоположение нашей папки в компьютере
  • Далее мы указываем куда наша папка должна «поместиться»
  • Далее мы придумываем имя для нашей виртуальной папки, например MY_MUSIC
  • Жмем FINISH и переходим к настройкам пользователя, чтобы дать ему права доступа на эту папку, иначе он увидит просто пустую папку или вообще ее не увидит.
    Для этого щелкаем по выбранному пользователю и переходим на закладку DIR ACCESS. Жмем ADD и снова указываем путь к ФИЗИЧЕСКОЙ ПАПКЕ НА ДИСКЕ, которая станет у нас виртуальной! Расставляем галочки вроде чтения/записи (включать запись категорически не рекомендуется, лучше для этого выбрать отдельную пустую папку и доступ по паролю, а то удалят вам еще или вирусов напустят, тем более что входящий трафик все не бесплатен и накачают вам гигабайтов 10 мусора легко, если вы не ограничите размер)
  • После всех этих процедур заходим в настройки модема и настраиваем проброс портов (port forwarding).
    Ниже приведены ссылки на настройки с картинками для некоторых модемов, если вашего модема нет в списке, то на тот же сайте находим свой модем или похожий и делаем аналогично.

    Нам нужно пробросить порт 21 до своего компьютера, на котором запущен сервер SERV-U. Если мы в SERV-U задали другой порт (к примеру 7130), то при пробросе указываем что при обращении по внешнему порту 21 нужно переходить на 7130 внутренний. Serv-U также требует пробросить диапазон портов TCP и UDP 50000-50004.

  • Не забываем также про файрвол на вашем компьютере. Нужно разрешить для приложения ServUDaemon.exe общение с Интернетом для всех вышеназванных портов
    TCP 21 (или другой указанный в программе)

    TCP и UDP диапазоны 50000 – 50004 и 32769 – 32784

    В принципе этого уже достаточно для работы, но кому интересно ниже приведена более подробная инструкция с сайта http://nnm.ru
    Устанавливаем и настраиваем FTP-сервер.

    По многочисленным просьбам как сделать и настроить FTP-сервер,сам не стал мучиться,но нашел очень хорошее описание этого процесса.
    Статья большая,но все рассписанно от и до,строго следуйте инструкциям и будет у Вас свой FTP-сервер.Перепечатано с разрешения автора.

    Как и хорошая книга-с картинками,от себя добавлю,на этом примере можно настроить большенство известных FTP-серверов,у всех принцип работы один и тот же,ну а кто каким будет пользоваться это уже вам решать.

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

    Протокол FTP (File Transport Protocol), созданный специально для передачи файлов, работает по двум портам. Клиент коннектится к серверу (по умолчанию на 21-й порт) и передает ему команды, а для передачи файлов сервер коннектится к клиенту, и уже по этому каналу передаются файлы. Такой режим (сервер коннектится к клиенту) называется "PORT", и его невозможно использовать пользователям выходящим в интернет через NAT, поэтому был придуман режим, где для передачи файлов клиент сам устанавливает второе соединение - это называется "PASV" или "пассивный FTP-протокол".

    Microsoft Internet Explorer только начиная с версии 5.5 научился работать в PASV-режиме (соответствующую опцию можно включить в его параметрах). Однако режим "PORT" сдаваться не стал - в продвинутых FTP-клиентах (как, например, GuteFTP , FTP-Voyager , и даже Total Commander) можно указать диапазон портов для PORT-режима, которые форвардить на NAT к вашей машине и эти клиенты будут просить сервер коннектится именно на эти порты.

    Есть два варианта передачи данных - Binary и ASCII. В режиме "Binary" данные передаются любые, но немного медленнее; в режиме "ASCII" могут передаваться только текстовые файлы. Режим передачи выбирается клиентом, и обычно автоматически устанавливается ASCII-режим для TXT-, HTML-, INI-файлов и прочих явно текстовых. Лучше всегда и для всех файлов использовать режим "Binary".

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

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

    Во-вторых, возможно шифрование всего FTP-трафика (FTP SSL/TLS). Это не позволит злоумышленникам получить все те файлы, которые вы передавали. Однако отмечу, что стандартные клиенты, изначально присутствующие в Windows (Internet Explorer и ftp.exe), никаких этих методов защиты от перехвата не имеют, поэтому пользователи вашего FTP-сервера должны будут использовать альтернативные FTP-клиенты - CuteFTP или FTP-Voyager.

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

    Часть 2
    Итак, после короткого знакомства с FTP-протоколом в первой части нашего материала мы незамедлительно приступаем к установке и настройке собственного FTP-сервера. Сразу отметим, что в Windows 2000/XP имеется встроенный FTP-сервер (Панель управления -> Установка и удаление программ -> Установка компонентов Windows -> Internet Information Services -> Служба FTP). Однако, он очень примитивен, неудобен, и небезопасен - поэтому его мы ставить не будем.

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

    Serv-U состоит из двух частей - Serv-U Administrator для настройки и управления FTP-сервером, и собственно FTP-сервера. Serv-U Administrator может быть установлен и на другом компьютере, через него можно удаленно управлять FTP-сервером Serv-U. Для управления служба FTP-сервера использует TCP-порт 43958. Поэтому, во избежание взлома, установите на управление пароль (в меню "Set/Change Password"), желательно длинный. Опция "Start automatically (system service)" позволяет автоматически запускать FTP-сервер, причем он будет работать независимо от того, кто на компьютере залогинен. В ином случае FTP-сервер будет запускаться только когда вы запустите Serv-U Administrator.

    Теперь настраиваем брандмауэр. Нам необходимо разрешить входящие и исходящие соединения по TCP-протоколу для процессов Servuadmin.exe и Servudaemon.exe.

    Следуем дальше по дереву настроек Serv-U Administrator, в "Settings -> General". Тут есть смысл включить как минимум три важные опции. "Block FTP_bounce attacks and FXP" - это защита от передачи трафика между двумя FTP-серверами (клиент злоумышленника может установить сеанс от имени другого сервера, запустить перекачку и уйти, а вы будете впустую забивать место на диске и терять купленный лимит трафика). "Block users who connect more than ..." - защита от попыток подбора пароля какого-либо FTP-аккаунта. "Block anti time-out schemes" - защита от попыток обойти лимиты времени сессии, данные тому или иному аккаунту. Также тут можно ограничить общую скорость приема (upload), отдачи (download) и количество одновременно обслуживаемых пользователей (это глобальная настройка, далее мы сможем такие лимиты создать отдельно для разных аккаунтов).

    Теперь создаем сервер. Для этого проходим по дереву настроек в "Domains", нажимаем правую кнопку мыши и выбираем во всплывающем "New Domain". В окне настроек поле "Domain IP Address" оставляем пустым, "Domain name" - указываем какое-нибудь имя, например "FtpName" (оно необходимо только нам), "Domain port number" - это порт, на котором будет отвечать FTP-сервер, пока укажем стандартное значение - 21. "Domain type" указывает где будут храниться настройки сервера, лучше их хранить в INI-файлах.

    Теперь сервер создан (по-английски - "Domain"). Можно организовать несколько серверов (в этой ветке дерева настроек), на разных портах, только смысла для обычных пользователей в этом нету.

    В дереве настроек в разделе "Domains -> FtpName" включаем поддержку шифрования "Security -> Allow SSL/TLS ans regular sessions". Сейчас немного отвлечемся от самого сервера и разберемся с портами и IP.

    Во-первых, серверу необходимо знать свой внешний (интернетовский) IP-адрес. Если адрес статический, то все просто - вписываем его в "Domain IP address". А вот если IP-адрес динамический (как, например, в "Стрим"), то придется воспользоваться службами DynamicDNS, где вам присвоят доменное имя, которое будет указывать на ваш IP, постоянно отслеживать и обновлять его изменения.

    В частности, такая бесплатная услуга есть на NO-IP.com , там вы можете создать своему компьютеру какой-нибудь домен 3 уровня в интернете, например, mycomputer.no-ip.com. Там же можно скачать клиент No-IP dynamic update client, который будет постоянно связываться с No-IP.com и проверять/обновлять ваш IP-адрес. О настройках этого клиента рассказывать не буду, но могу посоветовать его настройки не менять, кроме параметра "When updating via NAT/Router/Proxy address ONLY" - его лучше выставить на "every 5 minutes". Итак, поставив клиент и зарегистрировавшись на No-IP.com, ставим в настройках нашего FTP галку на "Enable dynamic DNS" и переходим на появившуюся вкладку "Dynamic DNS". Там прописываем адрес, зарегистрированный в No-IP.com.

    Во-вторых, настала пора разобраться с портами. Многие провайдеры блокируют входящие соединения на 21-ом порту. Чтобы эту проблему обойти, следует выбрать любой другой незанятый порт, например 32768, и вписать его на вкладке "Domain в FTP port number". Но запомните, что если порт отличен от 21, то клиентам вы должны давать ссылку не ftp://mycomputer.no-ip.com, а ftp://mycomputer.no-ip.com:32768.

    Вероятно, ваш FTP-сервер находится за NAT. В таком случае на NAT надо настроить функцию "Port Forwarding". Во-первых, для порта на котором он отвечает. Во-вторых, как я уже описывал ранее, для клиентов работающих в режиме "PASV", необходимы еще какие-то порты, на которые они будут коннектиться. Именно для этого в Serv-U есть соответствующая настройка "Local Server -> Settings -> Advanced -> PASV port range", в которой указываем некий незанятый диапазон, например 32769-32784 и форвардим его на NAT.

    Настраиваем дальше. В меню "Domains -> FtpName(наш сервер) -> Settings" на вкладке "Logging" включаем режим ведения лог-файла для system messages, security messages, files downloads, file uploads, IP names, FTP commands, FTP replies - все это не сильно увеличит лог, но поможет локализовать проблемы. Указываем название лог-файла и включаем галку "Enable logging to file". На других вкладках ничего настраивать не нужно - по умолчанию там все подходит для большинства пользователей.

    Теперь будем создавать пользователя. Для начала - гостя. Сначала надо создать на диске папку, которая будет корневой директорией нашего FTP. Например, создадим C:FTP_Root. Далее необходимо создать папку, в которую все смогут заливать файлы (скачивать мы им [гостям] оттуда не дадим), например, сделаем C:FTP_RootIncoming.

    В Serv-U есть система шаблонов (Groups). Там можно указать права доступа для созданных директорий. Проще создать группу с правом чтения корневой папки и записи в.incoming, а затем не прописывать всем пользователям такие же права, а добавлять им этот шаблон. Итак, идем по дереву настроек в "Domains -> FtpName -> Groups" и создаем там новую группу (New Group), называем ее, например, guest. Проходим на вкладку "Dir Access", и добавляем там два наших каталога - C:FTP_Root и C:FTP_RootIncoming.

    Даем на них права доступа. Для FTP_Root - только Read и List, для Incoming - только Write-Create-Inherit. Такие права обозначают: Read - чтение файлов, Write - запись файлов, Append - дозапись файлов, Delete - удаление файлов, Execute - запуск выполняемых файлов на серверной машине (очень опасное право, не давайте его никому), List - показ списка подкаталогов, Create - создание подкаталога, Remove - удаление подкаталога, Inherit - все подкаталоги будет иметь аналогичные права (иначе, к ним никаких прав и доступа не будет, если только они не прописаны самостоятельно). Строчки каталогов можно перемещать вверх-вниз. При использовании наследования (Inherit), это актуально - верхняя строчка имеет высший приоритет разрешения.

    Итак, теперь создаем гостевого пользователя. Идем в "Domains -> FtpName -> Users" и создаем пользователя "Anonymous" (это стандартное имя гостя, иначе это будет не гость). В качестве начальной директории (Home Directory) указываем C:FTP_Root. На вопрос "Lock user in home directory?" отвечаем "Yes" - это упростит работу пользователя.

    Теперь - важный пункт - в настройках этого пользователя (Anonymous) проходим на вкладку "Dir Access" и удаляем там автоматически созданную строчку в FTP_Root (обратите внимание, что она наследует права чтения в Incoming). Теперь на вкладке "Account" добавляем в Group(s) группу guest, нажимаем "Apply". Возвращаемся обратно в "Dir Access" и смотрим. Тут появились FTP_Root и Incoming, причем редактировать их нельзя - это пользователь получил те самые права для гостей из шаблона "guest".

    Итак, гостя мы создали. Он может скачивать любые файлы из каталога C:FTP_Root (исключая подкаталоги) и закачать какой-нибудь файл в C:FTP_RootIncoming, но скачать его оттуда он не сможет (таким образом, ваш сервер невозможно будет использовать для несанкционированной транзитной пересылки файлов).

    Теперь создаем какого-нибудь более полномочного пользователя. Для экономии времени скопируем "Anonymous" и переименуем. Поднимаемся по дереву настроек в "Users", выбираем (не раскрываем) "Anonymous" и делаем в контекстном меню "Copy User".

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

    Теперь идем на вкладку "Dir Access". Обратите внимание, что так как он входит в группу "guest", корневой каталог и incoming у него уже прописаны. Пусть этот пользователь сможет качать, к примеру, нашу музыку. Для этого добавляем путь к музыкальным файлам и даем права Read-List-Inherit (пользователь сможет скачивать любые файлы и подкаталоги).

    Однако, если пользователь сейчас подключится, то он не увидит никакого каталога с музыкой, а увидит только FTP_Root. Поэтому нужно сделать на него ссылку из FTP_Root, причем не средствами Windows, а средствами самого Serv-U. Идем по дереву настроек в "Domains -> FtpName -> Settings" на вкладку "General, Virtual path mapping".

    Нужно сделать так, чтобы папка музыкой (например, c:DocMusic) показывалась в c:FTP_Root как будто она подкаталог FTP_Root. Нажимаем "Add" и заполняем: "Physical path" - каталог, к которому надо сделать ссылку, пишем c:DocMusic, "Mapped to" - каталог, в котором эту ссылку надо поместить - у нас это всегда будет C:FTP_Root, "Vitual name" - имя этого виртуального подкаталога в FTP_Root, например, Music. Готово.

    В "Virtual path mapping" вы можете разместить какие угодно ссылки, но увидят их только те кто в "Dir Access" имеет соответствующие права. Например, в нашем случае, гость не увидит каталога Music.

    Чтобы Ivanov при скачивании музыки не занимал особо сильно наш сетевой канал, идем на вкладку "General" его аккаунта и указываем "Max download speed".

    Кстати, расскажу еще как нашему пользователю Ivanov входить на FTP. Просто набрав ftp://mycomputer.no-ip.com, он войдёт как гость, а не как Ivanov. Логин и пароль можно вставить непосредственно в адрес ftp://Ivanov:[email protected] - браузер (FTP-клиент) это поймет и использует. Либо следует изучить настройки FTP-клиента, чтобы найти где в нем при подключении указывается имя и пароль для не гостевого входа.

    Теперь создадим еще одного пользователя, который будет иметь доступ к каким-либо секретным документам, и потому нельзя допустить взлома его аккаунта. Копируем его из Anonymous, и называем, например, Petrov. Идем на вкладку "General" его аккаунта. Тут есть два интересных с точки зрения безопасности пункта.

    Во-первых, Password type. Если указать "OTP S/KEY MD5", то пароль злоумышленники не перехватят. Если указать "Regular password", то это будет стандартная процедура обмена паролями и его могут перехватить. Пользователь выбрать режим паролей не может, это надо сделать на сервере.

    Во-вторых, Require secure connection. Password type обеспечивает только защиту пароля, но не пересылаемых данных. Установка шифрованного соединения обеспечивает и защиту данных, и защиту пароля. Причем, если галку на "Require secure connection" не ставить, то шифрованное соединение пользователь может сам по желанию выбрать, а если галка стоит, то пользователь будет обязан использовать шифрованное соединения, иначе его не пустят. Кстати, большинство клиентов не поддерживают при шифровании OTP-пароли - ибо это избыточно, потому Password type сделайте "Regular password" если для этого аккаунта могут быть шифрованные соединения.

    Напомню, что штатные FTP-клиенты Windows ни OTP-пароли, ни шифрование не поддерживают - для применения этих мер защиты пользователям надо использовать, например, CuteFTP.

    Когда все настроено, очевидно, вам захочется самим поглядеть как это все работает. Это возможно, и идти к другому компьютеру вовсе необязательно (кроме, разве что, проверки настроек брандмауэра или NAT). Используя для этого локальный адрес (127.0.0.1), набираем в браузере или FTP-клиенте адрес ftp://127.0.0.1 (если порт по умолчанию 21), или ftp://127.0.0.1:32768 (если порт нестандартный, например, 32768). Готово. Вы можете абсолютно полноценно таким образом испытывать все возможности своего сервера. Однако учтите, что в пассивном режиме (PASV), если ваш FTP-сервер за NAT, то для обмена данными сервер укажет клиенту внешний IP, и соединение будет невозможно. Потому для проверки используйте обычный PORT-режим в FTP-клиентах.

    P.S. Кстати, если что непонятно, то у Serv-U есть отличная контекстная справочная система, вызываемая нажатием клавиши "F1".

    Ребилд: Morpheus aka OROPCHVPCHV | Fastus

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



    Понравилась статья? Поделиться с друзьями: