Устанавливаем и настраиваем FTP-сервер. Часть 2
От теории — к практике. Создаем собственный FTP-сервер на примере программы Serv-U. Установка, настройка, управление пользователями, защита пароля и данных, а также многое другое.
Итак, после короткого знакомства с 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_Root\Incoming .
В Serv-U есть система шаблонов (Groups). Там можно указать права доступа для созданных директорий. Проще создать группу с правом чтения корневой папки и записи в .\incoming , а затем не прописывать всем пользователям такие же права, а добавлять им этот шаблон. Итак, идем по дереву настроек в «Domains -> FtpName -> Groups» и создаем там новую группу (New Group), называем ее, например, guest. Проходим на вкладку «Dir Access», и добавляем там два наших каталога — C:\FTP_Root и C:\FTP_Root\Incoming .
Даем на них права доступа. Для 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_Root\Incoming , но скачать его оттуда он не сможет (таким образом, ваш сервер невозможно будет использовать для несанкционированной транзитной пересылки файлов).
Теперь создаем какого-нибудь более полномочного пользователя. Для экономии времени скопируем «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:\Doc\Music) показывалась в c:\FTP_Root как будто она подкаталог FTP_Root. Нажимаем «Add» и заполняем: «Physical path» — каталог, к которому надо сделать ссылку, пишем c:\Doc\Music, «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:password@mycomputer.no-ip.com — браузер (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.
Источник
Настроить serv u ftp
Вы хотите быстрый надёжный FTP-сервер? Разработчики RhinoSoft.com постарались учесть Ваши пожелания. Изначально Serv-U не даёт всем пользователям полный доступ к Вашему компьютеру из сети. Чтобы разграничить права между отдельными категорями пользователей, обладающими разными привелегиями, необходимо знать, как настроить программу.
Для нормальной работы Serv-U достаточно создать один домен с единственным пользователем.
Если Вы планируете использовать программу в режиме безопасного FTP-сервера, то есть шифрующую трафик с использованием SSL/TLS, Вы должны создать собственный SSL сертификат сервера. Это уникальный секретный ключ Вашего сервера, учавствующий в процессе шифрования трафика. Подробная информация по включению режима secure-FTP (безопасный FTP-сервер) в следующих выпусках рассылки.
Установка
Запустите дистрибутив программы. В процессе инсталяции Вам будет предложено: обновить существующую версию, изменить параметры установки, указать путь к папке программы, запустить службу FTP-сервера и минимально сконфигурировать его работу. Для нормальной работы сервера Вам необходимо последовательно пройти все этапы.
В дистрибутив программы заложена возможность установки FTP-сервера Serv-U с одинаковыми параметрами на множество операционных систем. Для этого необходимо запустить программу с ключом:
ServUSetup.exe /S /M=
/S запустит установку в «фоновом» режиме
/M= указать путь к текстовому файлу с параметрами установки
Файл с параметрами установки может иметь следующие строки:
Источник
Как сделать у себя FTP сервер
Выбор 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
- Скачиваем Serv-U с моего FTP, либо с сайта производителя.
- Устанавливаем. Установка не отличается от установки других программ — надо просто указать папку установки и несколько раз нажать «Next».
- FTP сервер состоит из сервиса, и программы управления. После установки на последнем шаге Вам предложат запустить модуль администрирования (галочка Start Serv-U Administrator program), галку поставьте и запустится мастер настройки.
- По шагам отвечайте:
- 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
- Первичная настройка произведена, и у Вас откроется основное окно программы настройки сервера.
- Для начала неплохо программу зарегистрировать (строка в дереве слева License).
- Дальше выбираем Settings и там настраиваем 3 закладки: «General», «Dir Cache» и «Advanced» согласно иллюстрациям.
- Закладка «Activity» служит за контролем пользователей. На ней можно посмотреть кто сейчас зашел на сервер, кто что качает и через «Spy User» по правой кнопке мыши можно проследить за действиями конкретного пользователя с момента захода.
- Выделяем «Local» в «Domains». Справа появляются глобальные настройки сервера, которые мы настроили через мастер настройки. Если потребуется, то потом можно будет их поменять ли создать новый сервер с другими настройками (например на другом порту или если у Вас несколько сетевых карт, на разных IP адресах для разных подсетей).
- Теперь будем по очереди настраивать ветку «Local» в «Domains».
- Выделяем «Settings» и по очереди настраиваем закладки.
- Закладка «General» настраивается по картинке.
- «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».
- Таким же образом добавляем остальные папки, к которым потом собираемся дать доступ.
Настройка пользователей и доступа
- Выделите ветку «Users» в Serv-U администраторе и нажмите Ins. Далее следует по очереди указать логин пользователя (лучше использовать английские буквы и цифры), пароль, начальную папку пользователя (которая будет показываться ему после логина, то есть папка, которую мы выбрали в пункте 4.6 раздела «Установка и начальная настройка Serv-U»), и ответить «Yes» на вопрос «Lock user into home dir».
- Если выделить созданного пользователя, то на закладке «Account» можно настроить поменять логин и пароль, заблокировать временно аккаунт (галка «Disable Account»), указать в каких группах состоит пользователь и его домашний каталог.
- На закладке «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 минут. Чтобы некорректно отключенные пользователи и ничего не делающие пользоватеди не занимали канал.
- Закладка «Dir Access» показывает папки, к которым у пользователя будет доступ. Предварительно папки надо добавить в настройки виртуальных путей (раздел «Установка и начальная настройка Serv-U», пункт 13). Там же у каждой папки ставится галочками вид доступа к этой папке: листинг (list), чтение файлов (read), запись (write), создание файлов (create), удалени (delete), запуск (execute). Тоже самое, кроме запуска есть и относительно подкаталогов, кроме этого есть галка «включая вложенные» (Inherit), чтобы теже самые настройки относились и к вложенным папкам и файлам. Часть папок и файлов тут может присутствовать на сером фоне — это то, к чему имеет доступ пользоватей, как член групп.
- Закладка «IP Access» регулирует доступ по ИП. Если вы хотите сделать себе личный доступ к важным папкам, скажем с работы, то имеет смысл ограничить доступ по ИП — только с работы или только из дома. Даже если вы случайно подцепите троян или кто-то сниффером узнает Ваш пароль, он не сможет заразить Ваши сайты или украсть важные данные.
- На «UL/DL Ratios» можно установить соотношения, то есть поставить условие, что пока Вам не зальют сколько-то мегабайт, слить будет нельзя. Пропорции можно регулировать, это удобно, когда Вы хотите вынудить людей с вами делиться. Правда никто не гарантирует, что Вам не зальют что-нибудь большое и совершенно не нужное, типа файла подкачки Windows или какого-нибудь не сжатого видео), а так же регулировать сколько можно заливать по объему, чтобы один пользователь полностью не забил Вам диск.
- И, наконец, на закладке «Quota» можно поставить лимиты по объему диска, выделенного на этот аккаунт (чтобы пользователи не заполнили весь диск)
Пароли для общего доступа можно ставить простые, но для аккаунтов с важными данными сложные — из маленьких и больших букв, цифр и спецсимволов.
Источник