An-Ultimate-Guide-to-Setting-Up-FTP-Server-to-Allow-Anonymous-Logins

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

Рубрики:

LFCS

Метки:

, , , ,

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

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

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

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

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

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

 

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

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

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

 

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

 

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

 

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

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

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

 

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

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

 

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

 

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

 

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

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

 

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

 

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

 

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

SELinux-–-Enable-FTP-on-Home-Directories

 

 

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

 

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

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

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

 

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

 

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

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

 

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

 

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

 

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

В FirewallD

 

Для IP-tables

 

 

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

 

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

 

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

 

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

 

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

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

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

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

 

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

FTP-Web-Directory-Browsing

 

 

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

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

 

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

Verify-FTP-Connection

 

 

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

 

Выводы

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

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

 

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

 

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

 

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

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

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

 

 

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

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

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

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

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

LFCS

Метки:

, , , ,

Больше похожих постов

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

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

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню