Что такое FTP-сервер
Рассказываем о преимуществах и принципах работы файлового сервера и FTP-протокола.
FTP-сервер (файловый сервер) — это компьютер, использующийся для передачи данных по протоколу FTP. С помощью него сервер обрабатывает запросы клиентов, определяет их права, разрешая скачивать или загружать файлы. Клиент же может управлять передачей данных, отправляя специальные команды.
Применение FTP-сервера
Эффективный обмен данными. В отличие от протокола HTTP, FTP передает только файлы, без служебной информации. Как следствие: данные передаются быстрее. Поэтому FTP-сервер — это популярное решение для удаленного обмена данными между компьютерами. Проще говоря, его можно использовать как хранилище и файлообменник.
Резервное копирование данных. Помимо передачи файлов, FTP-серверы также применяют как средство резервного копирования данных. В зависимости от задачи FTP-серверы могут послужить недорогим и эффективным решением. Чтобы понять, при чем здесь резервное копирование, важно разобраться в принципе работы протокола.
Что такое протокол FTP и как он работает
Наиболее подробно работа FTP-протокола описана в отдельной статье. Ниже выделим основные принципы.
FTP-протокол (File Transport Protocol, протокол передачи файлов) — средство прямой отправки файлов по сети между отправителем (сервером) и получателем (клиентом). В модели OSI считается протоколом прикладного уровня.
FTP использует два различных канала данных: командный канал и канал данных.
Первый передает сообщения о действиях и ответах от сервера клиенту и наоборот. Второй канал передает сами файлы, без служебной информации и команд.
Передача файлов по FTP
FTP поддерживает два режима работы: активный и пассивный. От выбора зависит алгоритм установки сессии.
Активный режим
- Клиент устанавливает связь с сервером и отправляет запрос с нестандартного порта P (P > 1024) на 21 порт сервера.
- Сервер генерирует и отправляет ответ на порт P клиента.
- Сервер устанавливает связь для передачи данных клиенту через 20 порт. При этом данные отправляются на P+1 порт клиента.
Если на пути передачи находится межсетевой экран, использовать активный режим невозможно. Либо потребуется постоянно перенастраивать правила на межсетевом экране.
Пассивный режим
- Клиент соединяется с сервером и через 21 порт сообщает, что необходимо работать в пассивном режиме. Запрос отправляется с нестандартного порта P (P > 1024).
- Сервер определяет нестандартный порт X для канала передачи данных (X > 1024) и посылает на порт P ответ с номером порта X.
- Клиент устанавливает связь для передачи данных через порт P+1 на порт X.
Важно отметить, что установка соединения и передача данных осуществляется по протоколу Telnet, который считается небезопасным, поскольку передаваемые данные не шифруются. Но существуют модификации протокола, способные устанавливать безопасные соединения.
Безопасность
При подключении к серверу проверяются клиентские учетные данные, позволяя узнать подлинность пользователя. Но простой авторизации и аутентификации недостаточно для обеспечения достаточной безопасности, если вы работаете с конфиденциальной информацией.
Как было сказано ранее, по умолчанию FTP не обеспечивает безопасное соединение, так как не шифрует трафик. То есть злоумышленники могут перехватывать пакеты для чтения имен, паролей и остальных файлов.
Чтобы этого избежать, можно использовать альтернативные протоколы — SFTP, FTPS или FTPES. Шифрование FTP с помощью этих протоколов обеспечивает защиту данных, ограничивая возможности злоумышленников — например, прослушку или кражу данных.
FTPS- и SFTP-протоколы
FTPS (File Transfer Protocol + SSL) — этот тот же протокол FTP, но с функционалом по созданию зашифрованных сессий с помощью протокола SSL/TLS.
SFTP (Secure File Transport Protocol) — отдельный протокол, основанный не на FTP, а протоколе SSH. Он полностью шифрует трафик, вместе с данными об аутентификации.
Преимущества и недостатки FTP-сервера
Недостатки сервера FTP
- FTP не обеспечивает безопасность. Все файлы отправляются открытым текстом и подключившийся к каналу злоумышленник может полностью их прочесть.
- Серверы передачи файлов не проверяют источник отправки на подлинность. Это делает сервер уязвимым перед хакерскими атаками вроде DDoS.
- Сложно отслеживать действия пользователей, загруженные и скаченные файлы с сервера.
Плюсы сервера FTP
- FTP умеет быстро передавать большие объемы данных. Из-за отсутствия шифрования и записи системных данных процесс передачи быстрее.
- С помощью FTP одновременно можно передавать несколько разных файлов или каталогов.
- Передача может быть возобновлена. Если передача файла прерывается, можно не беспокоиться о потере прогресса. FTP поддерживает функцию бесшовного восстановления — для этого используется команда rest.
Как создать и настроить FTP-сервер
Встроенные инструменты Windows
Создать FTP-сервер можно с помощью встроенных инструментов Windows:
1. Откройте панель управления и перейдите в раздел Программы и компоненты:
2. Во вкладке слева выберите пункт Включение или отключение компонентов Windows.
3. Раскройте IIS, FTP-сервер и поставьте галочки напротив Расширяемость FTP и Служба FTP. Также проверьте папку Средства управления веб-сайтом, поставьте галочки напротив пунктов Консоль управления IIS и Служба управления IIS:
4. Далее FTP-сервер необходимо настроить. В панели управления нужно выбрать раздел Администрирование.
5. В следующем перечне откройте Диспетчер служб IIS.
6. Разверните список слева, кликнув ПКМ на раздел Сайты, выберите Добавить FTP-сайт.
7. В следующем окне введите название сервера и выберите путь к папке.
8. Выберите IP-адрес для сервера.
9. Выберите правила доступа — с проверкой логина и пароля или анонимный.
10. Далее настройте брандмауэр Windows — для этого его нужно выбрать в панели управления.
11. Перейдите к дополнительным параметрам, раскройте пункт Правила для входящих подключений, найдите Входящий трафик FTP и включите его.
Клиенты смогут сами присоединяться к серверу, если вы выполните следующие пункты:
1. В панели управления откройте раздел Администрирование и выберите пункт Управление компьютером.
2. Откройте пункт Локальные пользователи, раскройте папку Группы и кликните на Создать группу.
3. Добавьте в группу конкретных пользователей или создайте новых, кликнув по полю Локальные пользователи.
FileZilla Server
Создать FTP-сервер можно с помощью сторонних утилит. Наиболее простой, распространенный и удобный — FileZilla Server. Это решение также поддерживает SSL, что гарантирует безопасность передачи данных.
1. Для начала работы загрузите FileZilla Server. При установке выберите порт администратора или воспользуйтесь предложенным.
2. После завершения установки запустите приложение и подключитесь к серверу в качестве администратора. Для этого используйте имя и пароль, которые вы ввели во время установки.
3. Откройте Server-Configure. В Server Listeners можно указать адреса, которые будет прослушивать сервер.
4. В разделе Rights management выберите Users и создайте нового пользователя.
5. В Virtual path впишите виртуальный путь до каталога. Чтобы сразу попасть в корень папки, введите обратный слеш. В Native path укажите полный путь к папке с файлами.
6. Перейдите в раздел Network Configuration wizard — в нем можно указать диапазон портов, на которых будет работать сервер, а также установить внешний IP-адрес для подключения пользователей.
Настройка проброса портов на роутере
Для работы FTP-серверу требуется два типа портов: управляющий (21 по умолчанию) и порты для передачи данных.
Для управляющего порта в конфигурации роутера введите статический адрес сервера, во внешних и внутренних портах укажите порт 21.
По аналогии создайте второе правило, но во внешних и внутренних портах укажите диапазон используемых сервером портов.
Как подключиться к серверу FTP
Через проводник Windows
Введите в адресную строку проводника путь до сервера: ftp://<имя_хоста>
. В появившемся окне введите логин и пароль пользователя. Готово — в окне проводника должны появиться файлы и директории FTP.
Через браузер
Инструкция похожа на предыдущую. В адресной строке браузера впишите путь до сервера: ftp://<имя_хоста>
. В появившемся окне введите логин и пароль пользователя. После вы получите доступ к содержимому FTP-сервера.
Через FileZilla Client
Загрузите FileZilla Client на устройство и через менеджер сайтов добавьте FTP-сервер. В качества хоста укажите IP-адрес FTP-сервера и порт. Ниже введите логин пользователя и пароль. Нажмите кнопку Соединиться — в левом окне программы отобразится содержимое FTP-сервера.
Заключение
FTP-сервер относительно прост для настройки и использования. Он позволяет быстро скачивать и загружать большие объемы данных, однако не может обеспечить необходимый уровень безопасности. Поэтому необходимо использовать его усовершенствованные версии, такие как SFTP или FTPS. Хотите узнать о них подробнее? Следите за обновлениями в Академии Selectel.