FTP сервер

Настройка изоляции FTP пользователей в Windows Server 2016/2012 R2

Перейдем к настройке изоляции пользователей FTP. Изоляция FTP пользователей настраивается на уровне сайта FTP, а не всего сервера и позволяет организовать собственный домашний каталог для каждого пользователя. В настройках FTP сайта откройте пункт FTP User Isolation.

В этом разделе имеются несколько настроек. Первые две не предполагают изоляции пользователей:

  • FTP root directory (ftp‑сессия пользователя начинается с корневого каталога ftp-сайта);
  • User name directory (пользователь начинает работу с физического/виртуального каталога с именем пользователя. Если каталог отсутствует, сессия начинается с корневого каталога ftp-сайта).

Следующие 3 опции представляют различные режимы работы изоляции пользователей:

  • User name directory (disable global virtualdirectories) – предполагает, что ftp-сессия пользователя изолирована физическим или виртуальным каталогом имя которого соответствует имени пользователя ftp. Пользователи видят только собственный каталог (для них он является корневым) и не могут выйти за его рамки (в вышестоящий каталог дерева FTP). Любые глобальные виртуальные каталоги игнорируются;
  • User name physical directory (enable global virtual directories) – предполагается, что FTP-сессия пользователя ограничена (изолирована) физическим каталогом с именем учетной записи пользователя FTP. Пользователь не может перейти выше своего каталога по структуре FTP. Однако пользователю доступны все созданные глобальные виртуальные каталоги;
  • FTP home directory configured in Active Directory – FTP-пользователь изолируется в рамках своего домашнего каталога, заданного в настройках его учетной записи Active Directory (свойства FTPRoot и FTPDir).

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

Выберите нужный режим изоляции (я использую второй вариант изоляции ftp пользователей).

При любых изменениях настроек FTP сайта в IIS желательно перезапускать службу Microsoft FTP Service (FTPSVC).

Настройка FTP сайта в Windows Server, предоставление прав пользователям

Запустите Server Manager и откройте консоль управления IIS (Internet Information Service Manager).

Создайте новый FTP сайт (Sites ->Add FTP Site).

Имя FTP сайта: MyTestSite

Корневой каталог FTP сайта: C:\inetpub\ftproot

Для защиты передаваемых по сети ftp-данных возможно настроить SSL (в этом случае все передаваемые по сети данные и пароли/учетки ftp-пользователей будут зашифрованы), но в нашей демонстрации это не обязательно. Все остальные настройки оставляем стандартными.

Вы можете управлять FTP сайтом с помощью модуля PowerShell WebAdministration. Напримерм, чтобы создать новый FTP сайт достаточно выполнить команды:

Import-Module WebAdministration#Задаем имя FTP сайта$FTPSiteName = 'New FTP Site'#Каталог FTP сайта$FTPRoot = 'E:\www\FTPRoot'#порт FTP сайта$FTPPort = 21New-WebFtpSite -Name $FTPSiteName -PhysicalPath $FTPRoot -Port $FTPPort

Выберите новый FTP сайт и в секции FTP Authentication (Аутентификация) отключите анонимную аутентификацию Anonymous Authentication. Basic Authentication должна быть включена.

FTP служба на Windows Server 2016 / 2012 R2 может использовать два типа учетных записей: доменные или локальные. В зависимости от типа учетной записи есть различия в структуре каталогов FTP и настройках изоляции пользователей. Мы будем использовать локальные учетные записи Windows.

Создайте FTP пользователей, допустим, это будут учетные записи ftp_user1, ftp_user2 и ftp_user3. Также создайте группу ftp_users, в которую включим этих пользователей. Создать пользователей можно в разделе Local Users and Groups консоли Computer Management.

Также можно создать пользователей и группы из командной строки (или с помощью PowerShell). Создайте локальную группу:net localgroup ftp_users /add

Создайте нового локального пользователя:

net user ftp_user1 /add *

Добавьте пользователя в группу:

net localgroup ftp_users ftp_user1 /add

Точно так же создайте еще двух пользователей.

Предоставьте созданной группе ftp_users права (RW) на каталог C:\inetpub\ftproot.

Внутри каталога C:\inetpub\ftproot создадйте каталог с именем LocalUser (имя должно полностью соответствовать, это важно!!!). Затем внутри C:\inetpub\ftproot\LocalUser создайте три каталога с именами созданных вами пользователей: ftp_user1, ftp_user2, ftp_user3.

Примечание. В зависимости от типа учетных записей необходимо создать следующую структуру каталогов (под %FtpRoot%\ подразумевается корень сайта FTP, в нашем случае это C:\inetpub\ftproot\):

Тип учетной записи Синтаксис именования домашних каталогов
Анонимные пользователи %FtpRoot%\LocalUser\Public
Локальная учетная запись Windows %FtpRoot%\LocalUser\%UserName%
Доменная учетная запись Windows %FtpRoot%\%UserDomain%\%UserName%
Специальные учетки IIS Manager или ASP.NET %FtpRoot%\LocalUser\%UserName%

Вернитесь в консоль IIS и в разделе сайта FTP Authorization Rules создайте новое правило (Add Allow Rule), в котором укажите, что группа ftp_users должна иметь права на чтение и запись (разрешения Read и Write).

Диагностики неполадок и устранение ошибок при работе с FTP

При возникновении ошибок подключения по FTP рекомендуем выполнить следующие действия.

1. Получите актуальные параметры подключения к хостингу

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

2. Проверьте настройки FTP-клиента и операционной системы

  • Убедитесь, что ваш FTP-клиент настроен согласно нашим инструкциям. Мы рекомендуем использовать для подключения FTP-клиент и пассивный режим работы.
  • Проверьте настройки антивирусного ПО, брандмауэра, установленных на вашем компьютере, и сетевого оборудования (например, роутера). FTP-клиенту должен быть разрешен доступ к сети.

3. Проверьте сетевое соединение

При возникновении технических неполадок на канале связи от вашего интернет-провайдера до сервера хостинга могут возникать ошибки подключения или наблюдаться низкая скорость передачи данных. Необходимо выполнить диагностику с помощью программы WinMTR.

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

Настройка программы FTP сервера

Установка FileZilla Server

Скачайте и установите любой FTP-сервер, который вам нравится, или с которым вы привыкли работать. Мы для примера скачаем бесплатную программу Filezilla Server с официального сайта: https://filezilla-project.org/download.php?type=server

Запустите скачанный установочный файл:

Нажмите Далее:

Нажмите Отклоняю:

Нажмите Отклоняю ещё раз:

Нажмите Установить:

Нажмите I agree:

Next:

Next:

Install:

Настройка FTP-сервера FileZilla

Запустите интерфейс программы.

Войдите в настройки: меню Edit -> Settings:

Теперь нужно настроить пассивный режим FTP.

1) Выберите раздел Passive mode settings;

2) Установите галку Use custom port range;

3) Задайте удобный для вас диапазон портов для использования в пассивном режиме;

4) В поле Use the following IP пропишите ваш внешний IP;

5) Нажмите кнопку OK для сохранения настроек.

Теперь необходимо настроить учётные записи пользователей и указать домашние директории.

Войдите в меню Edit и выберите Users:

В разделе General нажмите Add:

Введите имя пользователя и нажмите OK:

1) Установите галку возле Password. Этим вы укажете, что для данной учётной записи будет требоваться пароль.

2) Задайте пароль для данной учётной записи;

3) Перейдите в раздел Shared folders:

В разделе Shared folders нажмите Add:

и выберите папку, которая будет открыта данному пользователю для доступа через протокол FTP. После выбора общей папки нажмите OK:

Задайте разрешения для данного пользователя в папке.

В области Файлы вы можете разрешить или запретить следующие операции с файлами :

В области Папки вы можете разрешить или запретить следующие операции с папками :

  • Создание;
  • Удаление;
  • Просмотр списка;
  • Просмотр вложенных папок.

После того, как вы зададите разрешения для данного пользователя в текущей папке, нажмите OK для сохранения настроек:

Как создать сервер FTP, работающий через Интернет

Создать такой сервер не так уж и сложно. Единственная проблема, которую вам предстоит решить – это изменение IP-адреса роутера. Лучше использовать службу динамического DNS, которая поможет серверу справиться с проблемой изменяющихся IP-адресов маршрутизатора. Чтобы реализовать такие службы на вашем сервере, понадобится использование посторонних сервисов, которые будут следить за изменением IP-адреса. Но лучше использовать встроенные возможности маршрутизатора.

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

Чтобы активировать свои настройки программы для управления сервером, вам необходимо войти в меню Settings. Там вы увидите множество подпунктов для управления настройками. Нажмите на пункт Generals и перед вами откроются основные настройки сервера. В поле Listen on this port вы сможете прописать нестандартный порт для TCP-линий. Учтите, что хоть уровень защиты сервера повысится при изменение порта, но вам нужно будет каждый раз указывать нестандартный номер для TCP-линий при создании очередного сеанса. Многие советуют не применять нестандартный порт в тех случаях, если вы пользуетесь FTP только по локальной сети.

В остальном настройки FileZilla можно оставить без изменений. Разве что укажите в Welcome Message приветственное сообщение, которое будет выводиться клиентам, подключенным к вашему серверу. Также для повышения уровня безопасности можете прописать конкретный IP-адрес, через который будут происходить клиентские подключения – укажите это в пункте IP Binding. Кроме того, вы сможете настроить фильтр IP-адресов, таким образом создав подобие бана для вашего сервера для нежелательных пользователей.

Если планируете использовать FTP сервер для подключения к Интернету, то обязательно нужно перенастроить раздел Passive mode settings. Во-первых, вам нужно отметить галочку возле Use custom port range и прописать новый порт в предельном диапазоне значений от 50000 до 50020. Также вам нужно будет указать IP-адрес в пункте IPv4 specific, но поскольку вы используете динамическую DNS-службу, то у вас будет имя хоста, которое и нужно будет прописать в пункте Use the following IP.

В остальном стандартные настройки вполне подходят для реализации любых целей при помощи FTP. Также вы можете зайти во вкладку Security settings, где находятся конфигурации безопасности, но и там уже все настроено предельно эффективно. В частности, в этом разделе указан запрет для входа на сервер по соединениям, используемым для DDoS-атак.

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

Создаём FTP сайт с поддержкой SSL

Далее нужно создать FTP сайт. В консоли IIS щелкаем ПКМ по узлу Sites и создаем новый FTP сайт (Add FTP).

Указываем имя и путь к корневому каталогу FTP сайта (у нас каталог по-умолчанию C:\inetpub\ftproot).

На следующем шаге мастера в разделе SSL сертификатов выбираем созданный нами сертификат.

Осталось выбрать тип аутентификации и права доступа пользователей.

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

На этом завершаем работу мастера. По умолчанию SSL защита является обязательной и используется для шифрования как команд управления так и и передаваемых данных.

FileZilla Server

What We Like

  • Intuitive interface.

  • Perform file transfers simultaneously.

  • Supports secure file transfers.

  • Bookmarks for fast connections.

What We Don’t Like

  • Can’t edit files from inside the app.

  • Does not refresh folder views automatically.

  • 15-minute timeout is a nuisance.

FileZilla Server is an open source and completely free server application for Windows. It can administer a local server as well as a remote FTP server.

You can choose which ports the program should listen on, how many users can be connected to your server at once, the number of CPU threads the server can utilize, and timeout settings for connections, transfers, and logins.

Some security features include auto-banning an IP address if it fails to successfully login after so many attempts, an option to enable FTP over TLS with the ability to disallow unencrypted FTP, and IP filtering so that you can prevent certain IP addresses or even IP address ranges from connecting to your FTP server.

It’s also really easy to take your server offline or quickly lock the FTP server with one click, to ensure that no new connections to your server can be made until you unlock it.

You also have full access to the creation of users and groups with FileZilla Server, which means you can throttle bandwidth for some users and not others and provide select users with permissions like read/write, but others with only read access, etc.

Download For:

Устранение проблем

Для решения проблем в работе FTP-сервера можно просмотреть файл журнала. Файлов может быть несколько и они находятся в каталоге /var/log/proftpd. Основной — proftpd.log.

Для просмотра вводим команду:

tail -f /var/log/proftpd/proftpd.log

По умолчанию, настройка лога в конфигурационном файле proftpd выглядит так:

TransferLog /var/log/proftpd/xferlog
SystemLog   /var/log/proftpd/proftpd.log

При необходимости, можно настроить дополнительный файл журнала:

ExtendedLog                     /var/log/proftpd/access.log WRITE,READ write
ExtendedLog                     /var/log/proftpd/auth.log AUTH auth

* в данном примере в файле /var/log/proftpd/access.log будут храниться логи обращения к файлам; /var/log/proftpd/auth.log — аутентификации.

Не забываем перезагрузить сервис:

systemctl restart proftpd

Как подключиться к FTP-серверу через терминал Linux

В Linux к FTP можно подключиться через системное приложение «Терминал». Это очень похоже на использование командной строки в Windows. Последовательность абсолютно та же – набираем команду ftp и активируем ее нажатием на кнопку Enter. Потом пишем open ссылка_на_хост. Не забываем, что затем надо указать логин и пароль.

Вот примеры доступных опций:

  •       Is – отображение списка файлов и папок.
  •       get – скачивание файла.
  •       mget – скачивание документов определенного формата. Например, mget * – все данные в каталоге, mget *, php – файлы формата php.
  •       put – загрузка файла на ресурс.
  •       mput – загрузка нескольких документов единого формата.
  •       mkdir – создание нового каталога.
  •       rmdir – удаление каталога.
  •       delete – удаление файла.
  •       bye – завершение работы.
  •       close – выход из текущего сеанса и возврат в контекст командной строки FTP.
  •       status – отображение статуса FTP клиента.

В Linux предусмотрен и другой вариант подключения к FTP. Сначала надо установить нужный пакет, дав вот такой запрос:

sudo apt-get install curlftpfs

Следом нужно предоставить права на определенную папку:

sudo chmod 777 ~/ftp

Теперь производится монтирование ftp-директории:

sudo curlftpfs -o allow_other ftp://user: password@server.ru /home/virtdiver/ftp/

Если работать необходимо от имени пользователя, то вводится вот такая опция:

-o allow_other

Для размонтирования FTP-папки используем такую команду:

sudo umount ~/ftp

Остаточные настройки FTP сервера — скорости, шифрование и тп

Далее у нас “Speed Limits”. Оная может помочь ограничить скорость входящих и исходящих соединений. Есть два пути ограничения: задать постоянное ограничение на все время или создать правила на конкретный день и/или час. Ограничения задаются в килобайтах.

Вкладка “Filetransfer compression” позволяет включить режим сжатия файлов при передаче. При этом можно настроить минимальный и максимальный уровни сжатия, а так же указать IP-адреса, для которых не будет использоваться компрессия. Трогать что-либо совсем не обязательно.

Чтобы настроить защищенное соединение между клиентом и сервером, надо перейти к пункту настроек “SSL/TLS Settings”. Здесь нужно включить поддержку этих протоколов и указать пути к закрытому ключу, файлу сертификата и пароль. Для среднестатистического пользователя в этом нет необходимости, поэтому в этой статье рассматриваться не будет.

И наконец, можно включить автоматический бан пользователей после n-ых попыток неудачных подключений, и время бана. Для этого стоит перейти на вкладку “Autobans” и, если Вам оное необходимо, то выставить галочку «Enable automatic bans», указать в графе «Ban IP adress after» количество попыток после которых будет осуществляться блокировка, а так же время блокировки в поле «Ban for».

Оное бывает нужно, чтобы нежелательные личности не спамили Ваш сервер своими попытками подключений.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector