Установка FTP сервера на Windows 7

FTP сервер Windows 7: удобный способ хранения и передачи данных

FTP (от англ. File Transfer Protocol — протокол передачи файлов) — протокол, используемый для передачи файлов в ТСР-сетях.

На сегодня используется преимущественно для загрузки информации с клиентского устройства на хостинг-серверы. Рассмотрим FTP сервер Windows 7.

Протокол был создан в 1971, еще задолго до появления стека TCP/IP, который увидел свет лишь в конце 70-х годов.

Изначально, в своей первой редакции, протокол использовал один и тот же канал для передачи команд и передачи данных.

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

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

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

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

Данная проблема характерна для всех ранних версий протоколов (например, почтовых SMTP, POP, IMAP), разработанных до появления механизмов шифрования SSL, TLS.

Для решения этой проблемы рекомендуем использовать протокол передачи файлов с TLS-защитой — FTPS, при таком подходе шифруются два канала — канал управления и канал передачи данных.

В рамках этой статьи мы рассмотрим создание FTP-сервера на базе ОС Windows 7.

Шаг 4. Создание FTP-пользоватей и назначение прав

4.1. Пуск.

4.2. В поле поиска вводим «Управление компьютером», без кавычек.

4.3. Выбираем соответствующий пункт меню.

4.4. Переходим в меню, расположенное в левой колонке — «Локальные пользователи». Нажимаем правой кнопкой мыши на пункт «Группы», выбираем «Создать группу».

4.5. Назовем группу «»FTP users»», а в поле описание дадим ее короткую характеристику, чтобы спустя время можно было быстро вспомнить назначение этой группы.

4.6. Создадим пользователей, для которых будет доступен FTP-сервер.

Для этого в предыдущем меню «Локальные пользователи», нажимаем правой кнопкой мыши на пункте «Пользователи», выбираем «Новый пользователь» и заполняем поля как показано на рисунке.

4.7. После этого необходимо добавить пользователей в ранее созданную группу «FTP users».

Для этого нажимаем правой кнопкой мыши на учетной записи пользователя, выбираем пункт «Свойства», вкладка «Членство в группах», кнопка «Добавить», «Дополнительно», «Поиск», выбираем группу, нажимаем «ОК».

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

4.8. Следующим шагом будет установка прав доступа для группы «FTP users».

Для этого необходимо перейти к каталогу FTP-сервера (п.2.6), нажать на нем правой кнопкой мыши, «Свойства», вкладка «Безопасность», «Добавить», «Дополнительно», «Поиск», выбираем группу «FTP users», «ОК», выбираем «Полный доступ», «ОК».

4.9. Перейдем в панель управления FTP-сервером (п.2.1-2.4), после чего обратимся к меню «Правила авторизации FTP».

4.10. Правой кнопкой мыши по пустому месту, «Добавить разрешающее правило авторизации», в поле «Указанные роли или группы пользователей» вписываем нашу группу «FTP users», в поле «Разрешения» ставим галочку на «Чтение», «ОК».

Данные разрешения позволят заходить в папку FTP-сервера пользователям, состоящим в группе «FTP users», и производить операцию чтения, т.е. просмотра.

Совет! Для того чтобы пользователи могли помещать в каталог FTP-сервера файлы и каталоги, а также переименовывать и удалять их, необходимо установить галочку в поле «Запись».

4.11. Перейдем в предыдущее меню и настроим «Ведение журнала FTP».

Выставляем максимально допустимый размер файла журнала — 1Гб или 1048576 байт, этого размера вполне достаточно для ведения подробного журнала.

На этом настройка FTP-сервера завершена.

Настройка FTP сервера на Windows 7, Windows 8 / 8.1

Демонстрация настройки FTP сервера, который можно поднять на домашнем компьютере за 5-10 минут.

FTP сервер Windows 7: удобный способ хранения и передачи данных 5 (100%) 1 голос

Доброго времени суток, дорогие читатели! Как Вы поняли из заголовка, сегодня поговорим про FileZilla Server и создание своего FTP сервера как такового.

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

О том, что такое FTP, если кто-то вдруг не в курсе, Вы можете узнать в этой моей статье «Что такое FTP и как им пользоваться » или сразу приступать к чтению (в рамках данной статьи есть пару слов о самом протоколе).

Поехали.

Подготовка к установке своего FTP-сервера

Как и обещал, для начала кратко о том, что такое FTP для тех, кто не знает:

FTP (от англ. File Transport Protocol) — это протокол передачи данных, который позволяет получить доступ к файлам на удаленном сервере. В данной технологии различают две стороны, серверную (FTP сервер) и клиентскую (FTP клиент). В случае, если вы хотите поделиться своей коллекцией музыки или художественными изысканиями, Вам понадобится FTP сервер, т.е место куда все будут подключаться и скачивать всё, что Вы разрешили. Как раз о том, как это настроить, и пойдет речь в данной статье.

Хочется сразу отметить, что в статье будет рассматриваться вариант домашнего использования, без хитрых и тонких настроек, которые используются в случае с полноценными корпоративными серверами.

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

Скачать его можно, например, по этой ссылке.

Хотите знать и уметь, больше и сами?

Мы предлагаем Вам обучение по направлениям: компьютеры, программы, администрирование, сервера, сети, сайтостроение, SEO и другое. Узнайте подробности сейчас!

Записаться к содержанию

Установка FTP FileZilla Server

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

На первом окне нужно согласиться с лицензионным соглашением, нажмите “I Аgree”.

Далее надо выбрать тип установки. Всего их пять:

  • Стандартный (Standart) — вариант для установки с нуля для полного функционирования сервера.
  • Полный (Full) — почти тоже самое, но так же в папку установки будут скопированы исходный код программы, на случай, если вы что-то захотите в ней изменить.
  • Только FTP сервис (Service only) — устанавливается непосредственно FTP сервис, без доступа к нему через интерфейс. Полезно, если вы планируете управлять своим файлохранилищем с другого компьютера.
  • Интерфейс управления (Interface only) — в отличие от предыдущего пункта, ставится только графическая оболочка управления сервером, но не он сам. Используйте, если вы хотите удаленно получить доступ к своему FTP серверу.
  • Выборочная установка (Custom) — Вы вольны выбирать, что хотите поставить на свой компьютер.

Для первой установки рекомендую выбрать стандартный вариант (Standart). Нажмите «Next».

На следующем окне необходимо выбрать папку установки, например, “C:\Program Files\FileZilla Server”. После выбора переходите к следующему окну (Next).

Теперь установщик попросит нас выбрать способ установки и запуска сервера.

Есть три варианта:

  • Как службу и запускать при входе в систему
  • Как службу и запускать вручную
  • Простая установка, запускать вручную

Рекомендуется выбрать первый или второй вариант. Разница лишь в том, что во втором случае для работы сервера, Вам необходимо будет переходить в «Панель управления — Администрирование — Управление службами», находить там службу в списке и запускать её самостоятельно, надавив на кнопочку запуск.

Порт и первичный запуск FileZilla Server

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

Так же по-умолчанию, отмечена опция запустить сервер после установки (Start Server after setup completes). Можете оставить эту галочку, а можете убрать. Дело Ваше. Сделав оное, переходим к последнему окну, используя кнопочку Next.

Здесь выбираем варианты запуска интерфейса.

Их опять же три:

  • При вход в систему, для всех пользователей
  • При входе в систему, для текущего пользователя
  • Вручную

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

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

И третий вариант задает параметр запуска только вручную, т.е оный не будет стартовать вместе с системой вовсе.

Напомню, что интерфейс представляет собой нечто вроде административной программы, которая позволяет следить за состоянием сервера, запускать-останавливать и настраивать оный.

Галочка (Start Interface after setup completes) в данном окне, опять же, задает запуск интерфейса сразу в конце установки.

Ну и, разобравшись со всем оным, наконец-то можно начать установку сервера (используя, само собой, кнопочку «Install») 🙂

Первичная настройка FTP FileZilla Server

Итак, после установки, при первом запуске интерфейса, появится маленькое окошко, где требуется указать адрес и порт для подключения, а так же пароль администратора (при первой установки его нет). Можно отметить опцию «Всё время подключаться к этому серверу» (Always connect to this server). Нажимаем «Ok».

Хочется подчеркнуть, что это есть подключение к серверу локально, а именно, подключение к интерфейсу администрирования, т.е выдавать адрес 127.0.0.1 и порт 14147 для друга, который захочет подключиться, бесполезно. О внешних адресах, паролях и явках, необходимых для подключения к серверу, будет написано по ходу статьи.

Теперь перейдем к настройкам. Это делается путем перехода по адресу «Edit -> Settings» или кликом на кнопку на панели интерфейса:

Перед вами откроется окно настроек. На первой вкладке (General Settings) можно задать следующие параметры:

Сверху вниз по скриншоту:

  • Порт, по которому клиенты будут подключаться к серверу
  • Максимальное количество клиентов
  • Количество потоков
  • Различные таймауты (три штуки)

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

Вторая настройка отвечает за максимальное количество подключений. По-умолчанию значение параметра стоит “0”, это означит, что их количество не ограничено. Менять этот параметр стоит в том случае, например, если Ваш интернет канал не справляется с нагрузкой, т.к к Вам подключается уж очень много людей.

Остальное можно оставить без изменений, т.к для домашнего использования настройки оптимальны.

Поехали дальше.

Углубленная настройка FileZilla Server — пользователи, приветстве и прочее

В следующем подпункте можно настроить приветственное сообщение, которое будут видеть пользователи при подключении. Например: “Сервер Заметок Сис. Админа на FileZilla Server! :)”. Здесь же можно воспользоваться, так называемыми, текстовыми параметрами. Например, можно задать вывод для клиентов версии ftp-сервера. Для этого введите, помимо приветствия, сочетание символов %v . В месте где Вы их введете, будет автоматически выводится вышеупомянутая версия.

Далее переходим на подпункт “IP bindings”. Здесь настраиваются IP-адреса, по которым будет доступен наш FTP сервер. Если Вам хочется, чтобы сервер был доступен только из локальной сети, то вместо звёздочки, следует указать ваш локальный IP-адрес, как например, 192.168.1.5. В противном случае, здесь трогать ничего не стоит.

В подпункте “IP Filter” можно задать IP адреса (или их диапазон), которым будет запрещено подключаться к Вашему серверу, а так же задать исключения из заданного диапазона (второе поле).

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

Вкладка “Passive mode settings” регламентирует параметры для пассивного подключения к серверу и отклик оного.

Менять здесь что-либо стоит только в том случае, если Вы подключены к интернету не напрямую, а через роутер, на котором обитает фаерволл и NAT. В этом случае может потребоваться указать в поле «Use the following IP» свой внешний IP-адрес (можно узнать у провайдера или в интерфейсе роутера), а так же задать диапазон портов (Use custom port range), через которые клиент сможет подключаться к Вашему серверу в пассивном режиме.

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

Идем далее. В пункте настроек “Security Settings” задаются ограничения на входящие и исходящие соединения типа “сервер-сервер”. Здесь ничего менять не стоит.

Раздел настроек “Miscellaneous” содержат малозначительные для домашнего фтп-сервера настройки. Например, такие как “Не показывать пароль в лог-файлах” (Don’t show passwords in message log), “Запускать интерфейс свернутым” (Start minimized), а так же размеры буферов передачи. Трогать здесь, в общем-то, ничего не нужно.

На вкладке “Admin Interface Settings” можно задать IP-адрес и порт, по которым будет доступен интерфейс управления сервером (тот самый, что мы вначале использовали как 127.0.0.1 и 14147, т.е, если есть желание, то Вы можете их сменить). Кроме того, можно указать IP-адреса, которым разрешено подключаться к нему.

Раздел настроек “Logging” позволяет включать запись лог-файлов (Enable logging to file), настроить их максимальный размер (Limit log file size to), писать все в один файл (Log all to «FileZilla Server.log») или для каждого дня создавать отдельный (в этом случае можно ограничить их максимальный срок хранения).

Вкладка “GSS Settings” отвечает за использования протокола Kerberos GSS. Для обычного использования эта опция не требует настройки.

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

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

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

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

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

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

Первоначальная настройка аккаунтов пользователей (users) и шары (share) в FileZilla Server

Теперь настроим доступы пользователей, а именно их аккаунты, пароли, папки и тп.
В качестве примера создадим самого, так сказать, распространенного пользователя и дадим ему доступ.

Итак, для добавления нового аккаунта следуем, в главном окне интерфейса, по пути “Edit -> Users”. Перед нами предстанет окно работы с пользователями.

Для добавления нового необходимо нажать “Add”. Далее необходимо будет задать его имя, например, anonymous, и принадлежность к группе (в нашем случае указывать не будем). Задаем, жмем “Ok”.

Теперь для нашего нового пользователя можно задать пароль и ограничение по количеству соединений. При необходимости сделайте оное, выставив галочку «Password» и указав его (пароль) в окошке напротив. Настоятельно рекомендуется использовать пароли для пользователей в целях безопасности.

Далее переходим на вкладку “Share Folders”. Здесь, собственно, мы задаем к каким именно папкам пользователь будет иметь доступ. Делается это просто: жмем “Add” и выбираем нужную папку на диске. Слева можно задать права доступа к ней: только чтение — “Read”, запись — “Write”, удаление — “Delete” и возможность изменения существующих файлов в директории — “Append”. Ниже можно разрешить создание, удаление, получение списка файлов и распространение разрешений на подкаталоги.

Задаём необходимые Вам параметры и папки и.. Жмакаем ОК

На этом первоначальная настройка закончена. Для домашнего пользования большего и не надо 😉

Настройка ftp-сервера IIS на Windows 7

Иногда проще и быстрее передать файл через собственный ftp-сервер, чем закачивать на файлообменник. Ниже рассмотрена процедура установки и настройки ftp-сервера IIS, входящего в состав Windows 7.

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

FTP-сервер входит в состав служб IIS. Для его установки открываем Панель управления -> Программы -> Включение или отключение компонентов Windows. Раскрываем раздел Службы IIS и ставим галочки напротив следующих компонентов: Служба FTP и Консоль управления IIS.

Установка службы FTP

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

Открываем Панель управления -> Система и безопасность -> Администрирование -> Управление компьютером (можно быстрее: меню Пуск -> правый клик на Компьютер -> в меню выбрать пункт Управление). В открывшемся окне раскрываем группу Службы и приложения и открываем Диспетчер служб IIS. В окне Подключения выбираем папку Сайты, затем в правом окне Действия нажимаем на ссылку Добавить FTP-сайт.

Создание FTP-сайта

В мастере создания ftp-сайта указываем его название и расположение (по умолчанию c:\inetpub\ftproot).

Название и расположение сайта

Далее указываем параметры привязки и SSL. Раздел привязка оставляю без изменений. Опцию «Запускать ftp-сайт автоматически» отключаю (ftp мне нужен только время от времени). В разделе SSL выставляю опцию «Без SSL».

Параметры привязки и SSL

В следующем окне оставляем все без изменений и нажимаем Готово.

Сведения о проверке подлинности и авторизация

Сайт создан. Теперь можно перейти к дополнительным параметрам для тонкой настройки (например ограничить максимальное количество одновременных подключений). Выделите только что созданный сайт, справа в панели Действия нажмите на Дополнительные параметры.

Дополнительные параметры

Следующий этап — настройка брандмауэра Windows. Откройте Панель управления -> Система и безопасность -> Брандмауэр Windows -> Дополнительные параметры. В разделе «Правила для входящих подключений» находим и активируем «FTP-сервер (входящий трафик)» и «FTP Server Passive (FTP Passive Traffic-In)». Последнее правило позволяет подключаться ftp-клиенту в пассивном режиме.

Открываем порт 21 (входящий)

Открываем порты 1023-65535 (пассивный режим)

В разделе «Правила для исходящего подключения» находим и активируем «FTP Server (FTP Traffic-Out)».

Открываем порт 20 (исходящий)

Если в системе установлен дополнительный брандмауэр (Comodo, Outpost и т.п.), то в нем также необходимо открыть порт 21 (TCP) для входящих подключений и порт 20 (TCP) для исходящих.

Если подключение к Интернет осуществляется с помощью маршрутизатора, и вы хотите сделать свой сервер доступным интернет-пользователям, тогда необходимо настроить проброс портов на маршрутизаторе. На моем Dlink DI-804HV это выполняется в разделе Virtual Server.

Настройка маршрутизатора

192.168.10.4 — ip-адрес ftp-сервера в локальной сети.

Настройка прав пользователей.

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

Открываем Панель управления -> Система и безопасность -> Администрирование -> Управление компьютером (Пуск -> правый клик на Компьютер -> в меню выбрать пункт Управление). Далее раскрываем группу Локальные пользователи и группы (данная настройка доступна только в редакциях Бизнес и Максимальная). Правый клик на папке Группы, в меню выбираем Создать группу.

Создание группы пользователей ftp (1)

Вводим название группы — Пользователи FTP, описание (можно не вводить) и нажимаем кнопку Создать.

Создание группы пользователей ftp (2)

Теперь необходимо создать пользователя. Делаем правый клик на папке Пользователи и в меню выбираем Новый пользователь.

Создание пользователя ftp (1)

Вводим имя пользователя (например ftp_user_1), пароль (не менее 6 символов), выставляем галочки напротив опций «Запретить смену пароля пользователем» и «Срок действия пароля не ограничен».

Создание пользователя ftp (2)

Пользователь создан. Теперь необходимо присвоить ему ранее созданную группу Пользователи ftp. Для этого открываем свойства пользователя и переходим на закладку «Членство в группах». По умолчанию новому пользователю присваивается группа Пользователи, удаляем ее. Нажимаем кнопку Добавить -> Дополнительно -> Поиск. Откроется список групп пользователей. Выбираем группу Пользователи FTP и нажимаем Ok. В итоге получаем:

Создание пользователя ftp (3)

Нажимаем Ok и переходим к следующему этапу.

На этапе создания ftp-сайта нам было необходимо выбрать рабочий каталог (c:\inetpub\ftproot). Теперь для группы «Пользователи FTP» необходимо настроить права доступа к этому каталогу. Открываем c:\inetpub в проводнике, открываем свойства папки ftproot, переходим на закладку Безопасность и нажимаем кнопку Изменить. В открывшемся окне нажимаем кнопку Добавить и выбираем группу «Пользователи FTP» (как при создании пользователя). Устанавливаем уровень прав — «Полный доступ» и нажимаем Ок.

Установка прав доступа к папке ftproot

Последний этап. Вновь открываем Диспетчер служб IIS и выделяем наш ftp-сервер (Test FTP). В панели управления ftp-сайтом выбираем «Правила авторизации FTP». Добавляем разрешающее правило. В открывшемся окне выбираем опцию «Указанные роли или группы пользователей». Внизу в текстовом поле руками прописываем название нашей группы (Пользователи FTP), далее ставим галочки в разделе Разрешения напротив Чтение и Запись и нажимаем Ок.

Добавляем правило авторизации FTP

На этом настройка завершена.

В начале мы не выбрали опцию автоматического запуска сервера, поэтому не забываем запустить его вручную (правый клик на названии сайта -> Управление FTP-сайтом -> Пуск).

Как подключиться?

Вариант с использованием проводника Windows.
Открываем Компьютер (Vista, Win 7) или Мой Компьютер (XP).
Для анонимного доступа просто вводим в адресную строку адрес сервера (ftp://192.168.10.4).
Чтобы войти с именем пользователя и паролем вводим адрес вида: ftp://:@. Например ftp://ftp_user_1:qwerty@192.168.10.4 — для подключения из локальной сети. Для подключения из Интернет локальный адрес заменяем на внешний или на доменное имя.

Как настроить анонимный доступ?

Как сделать свой ftp-сервер доступным из Интернет?

Если компьютер подключен к Интернет на прямую, то никаких дополнительных действий предпринимать не нужно.

Если компьютер подключен к Интернет через роутер, тогда в панели управления роутера необходимо настроить форвардинг порта TCP 21 (часто это еще называют виртуальным сервером). Настройка форвардинга порта на примере D-link DI-804.

Ссылки по теме:

  • Настройка веб-сервера (IIS + PHP + MySQL) на Windows 7
  • Настройка WebDAV на IIS (Windows 7)
  • Настройка DDNS — как сделать постоянный доступ к ftp-серверу без использования статического внешнего ip-адреса.

Полное руководство по настройке FTP-сервера для разрешения анонимных подключений — LFCS часть 18

x Подписывайтесь на обновления нашего блога и добавляйтесь к нам в социальные сети: Facebook | Вконтакте | Youtube | Instagram | Twitter. Мы готовим высококвалифицированных специалистов для IT-компаний и помогаем с трудоустройством, поэтому записывайтесь на курсы Cisco от Академии Cisco, курсы Linux от Linux Professional Institute, курсы по кибербезопасности на платформе SEDICOMM University. Получите бесплатную консультацию по курсам. Спасибо, что Вы с нами!

Сейчас, когда значительно место в нашей жизни занимает облачное хранилище, может быть странно говорить об обмене файлами с помощью FTP (File Transfer Protocol).

Тем не менее, он по-прежнему используется для обмена файлами, где безопасность не является важным аспектом, например, для массовой загрузки документов.

Именно по этой причине изучение того, как настроить FTP-сервер и включить анонимную загрузку (без аутентификации), по-прежнему является актуальной темой.

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

Вы можете больше узнать о пассивных и активных режимах (которые мы здесь не будем рассматривать подробно) в Active FTP vs. Passive FTP.

Тем не менее, давайте начнем!

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

Чтобы настроить FTP на нашем сервере, мы установим следующие пакеты:

# yum install vsftpd ftp # aptitude install vsftpd ftp # zypper install vsftpd ftp

Пакет vsftpd представляет собой реализацию FTP-сервера. Имя пакета — «Very Secure FTP Daemon (очень безопасный FTP-демон)». С другой стороны, ftp — это клиентская программа, которая будет использоваться для доступа к серверу.

Имейте в виду, что во время экзамена вам будет предоставлен только один VPS, где вам потребуется установить как клиент, так и сервер, так что это точно такой же подход, которому мы и последуем в этой статье.

В CentOS и openSUSE вам необходимо будет запустить службу vsftpd:

# systemctl start vsftpd && systemctl enable vsftpd

В Ubuntu необходимо запустить vsftpd и установка начнется автоматически после необходимых загрузок файлов. Если нет, вы можете запустить её вручную с помощью:

$ sudo service vsftpd start

После установки и запуска vsftpd мы можем перейти к настройке нашего FTP-сервера.

В любой момент вы можете обратиться к man vsftpd.conf для дальнейших настроек. Мы установим наиболее распространенные варианты и упомянем их цель в этом руководстве.

Как и в любом другом файле конфигурации, перед внесением изменений важно сделать резервную копию оригинала:

# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.orig

Затем откройте файл /etc/vsftpd/vsftpd.conf (основной файл конфигурации) и отредактируйте следующие параметры, как указано ниже:

1. Убедитесь, что вы разрешаете анонимный доступ к серверу (мы будем использовать каталог /storage/ftp для этого примера — там мы будем хранить документы для доступа анонимных пользователей) без пароля:

anonymous_enable=YES no_anon_password=YES anon_root=/storage/ftp/

Если вы опустите последний параметр, каталог ftp по умолчанию будет /var/ftp (домашний каталог выделенного пользователя ftp, который был создан во время установки).

2. Чтобы включить доступ только для чтения (таким образом отключив загрузку файлов на сервер), установите следующую переменную в НЕТ:

write_enable=NO

Важно: используйте только шаги №3 и №4, если вы хотите отключить анонимные логины.

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

local_enable=YES

Если SELinux находится в режиме принудительного исполнения, вам также необходимо установить флаг ftp_home_dir, чтобы FTP разрешал писать и читать файлы в своих домашних каталогах:

# getsebool ftp_home_dir

Если же нет, вы можете включить его с помощью:

# setsebool -P ftp_home_dir 1

Ожидаемый результат показан ниже:

4. Чтобы ограничить пользователей, прошедших проверку подлинности, в своих домашних каталогах, мы будем использовать:

chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list

С приведенными выше настройками chroot и пустым файлом /etc/vsftpd/chroot_list (который вы должны создать), вы ограничите ВСЕХ пользователей системы в своих домашних каталогах.

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

Если вы хотите разрешить такой доступ определенному пользователю за пределами своих домашних каталогов, вы можете вставить имена пользователей в /etc/vsftpd/chroot_list, по одному на строку.

5. Кроме того, следующие настройки позволят вам ограничить доступную пропускную способность для анонимных логинов (10 КБ) и пользователей с проверкой подлинности (20 КБ) в байтах в секунду и ограничить количество одновременных подключений на каждый IP-адрес до 5:

anon_max_rate=10240 local_max_rate=20480 max_per_ip=5

6. Мы будем ограничивать канал данных TCP-портами с 15000 по 15500 на сервере. Обратите внимание, что это произвольный выбор, и вы можете использовать другой диапазон, если хотите.

Добавьте следующие строки в /etc/vsftpd/vsftpd.conf, если они еще не присутствуют:

pasv_enable=YES pasv_max_port=15500 pasv_min_port=15000

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

ftpd_banner=This is a test FTP server brought to you by sedicomm.com

,
8. Теперь не забудьте перезапустить службу, чтобы применить новую конфигурацию:

# systemctl restart vsftpd $ sudo service vsftpd restart

9. Разрешите FTP-трафик через брандмауэр (для firewalld):

В FirewallD

# firewall-cmd —add-service=ftp # firewall-cmd —add-service=ftp —permanent # firewall-cmd —add-port=15000-15500/tcp # firewall-cmd —add-port=15000-15500/tcp —permanent

Для IP-tables

# iptables —append INPUT —protocol tcp —destination-port 21 -m state —state NEW,ESTABLISHED —jump ACCEPT # iptables —append INPUT —protocol tcp —destination-port 15000:15500 -m state —state ESTABLISHED,RELATED —jump ACCEPT

Также нам потребуется загрузить модуль ядра ip_conntrack_ftp:

# modprobe ip_conntrack_ftp

И добавить его в автозагрузку. В CentOS и openSUSE это означает добавление имени модуля в IPTABLES_MODULES в /etc/sysconfig/iptables-config следующим образом:

IPTABLES_MODULES=»ip_conntrack_ftp»

тогда как в Ubuntu вам необходимо добавить имя модуля (без команды modprobe) в нижней части /etc/modules:

$ sudo echo «ip_conntrack_ftp» >> /etc/modules

10. И последнее, но не менее важное: убедитесь, что сервер прослушивает сетевые сокеты IPv4 или IPv6 (но не оба одновременно!). В нашем примере мы будем использовать IPv4:

listen=YES

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

Тестирование FTP-сервера в Linux

Мы создадим обычный файл PDF (в данном случае, файл vsftpd.conf в формате PDF) в /storage/ftp.

Обратите внимание, что вам может потребоваться установить пакет ghostcript (который есть в пакете ps2pdf) отдельно или использовать другой файл по вашему выбору:

# man -t vsftpd.conf | ps2pdf — /storage/ftp/vstpd.conf.pdf

Для тестирования мы будем использовать оба веб-браузера (перейдя на ftp://Your_IP_here) и используя клиент командной строки (ftp). Посмотрим, что произойдет, когда мы вводим этот FTP-адрес в нашем браузере:

Как вы можете видеть, файл PDF, который мы сохранили ранее в /storage/ftp доступен.

В командной строке введите:

# ftp localhost

И введите анонимное имя пользователя:

Чтобы скачать файлы с помощью командной строки, используйте команду get, а затем имя файла, например:

# get vsftpd.conf.pdf

Выводы

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

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

# grep -Eiv ‘(^$|^#)’ /etc/vsftpd/vsftpd.conf

Обратите внимание, что есть другие директивы конфигурации, которые мы не рассматривали в этой статье, поскольку они установлены по умолчанию, поэтому никаких изменений с нашей стороны не было внесенно:

local_enable=NO write_enable=NO local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES ftpd_banner=This is a test FTP server brought to you by Tecmint.com listen=YES listen_ipv6=NO pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES anon_max_rate=10240 local_max_rate=20480 max_per_ip=5 anon_root=/storage/ftp no_anon_password=YES allow_writeable_chroot=YES pasv_enable=YES pasv_min_port=15000 pasv_max_port=15500

Ниже приведённая директива:

xferlog_enable=YES

включит журнал /var/log/xferlog. Убедитесь, что вы находитесь в этом файле во время устранения неполадок.

Кроме того, не стесняйтесь оставлять нам отзывы, используя форму комментариев ниже, если у вас есть вопросы или комментарии к этой статье.

Стать сертифицированным системным администратором Linux

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 21 января, а следующая 18 февраля, 18 марта, 22 апреля, 20 мая, 17 июня, 22 июля, 19 августа, 23 сентября. Что Вы получите?

  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.

Как проходит обучение?

  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.

А еще поможем Вам:

  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.

Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.

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

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