Установка и настройка ProFTPD(FTP-сервер).

На данный момент под Linux популярно ставить два сервера: ProFTPD и vsftpd(Very Secure FTP Daemon). Но vsftpd мне честно не нравиться, хотя бы тем что он последний раз  обновлялся в 2015 году. По этому я остановлюсь на  ProFTP.

apt-get install proftpd

Во время установки, вас попросят выбрать как будет работать сервер. Выбираем standalone.

Ну а теперь настройки nano /etc/proftpd/proftpd.conf

Найдем и раскомпрометируется строчку:

DefaultRoot ~ что бы пользователи не могли выйти из домашнего каталога.

RootLogin off    пользователь root не может зайти на сервер. Если нету добавляем.

RequireValidShell on    пользователи кому запрещен shell не могут войти.

AllowOverwrite on       перезапись файлов разрешена.

На этом собственно самая простая настройка закончена. Перезапускаем сервер.

/etc/init.d/proftpd restart

Но это далеко не все возможности этого сервера.

Давайте добавим еще виртуальных пользователей.

Для начала нам надо сделать файл с пользователями. ProFTP умеет работать и MySQL, но не в этой статье.

ftpasswd — -passwd — -file=/etc/proftpd/ftpd.passwd — -name=test — -uid=33 — -gid=33 — -home=/var/www/test.ru — -shell=/bin/false

Создадим пользователя test c uid и gid 33,домашней директорией /var/www/test, shell /bin/false. Указание id группы и пользователя помогут избежать проблем с правами на файл. Например 33 по умолчанию у пользователя Apache(www-data).

В итоге у нас получиться файл ftpd.passwd  с похожим содержанием:

test:$3ret732fghaF$Jsdfrterethfdfg/HrRE.:33:33::/var/www/html:/bin/false

Кстати, изменить пароль пользователя можно следующей командой:

ftpasswd — -passwd — -name=test — -change-password  —file /etc/proftpd.passwd

Для AuthGroupFiles, используем —group:

ftpasswd —group —name=group-name —gid=group-id —member=user-member1 \ —member=user-member2 … —member=user-memberN

Теперь поменяем настройки сервера nano /etc/proftpd/proftpd.conf

RequireValidShell off иначе виртуальный пользователь не сможет войти. Не проверять если шелл.

AuthUserFile /etc/proftpd/ftpd.passwd путь к файлу с пользователями.

# Use only AuthUserFiles when authenticating, and not the system’s /etc/passwd
AuthOrder mod_auth_file.c если мы хотим что бы только виртуальные пользователи входили.

Перезагружаем /etc/init.d/proftpd restart.

Защитить сервер от подбора паролей можно с помощью Fail2Ban .

Более подробно  о файле конфигурации вы можете почитать на официальном сайте http://www.proftpd.org/docs/example-conf.html , Успехов.

Denian/Ubuntu. На других Linux дистрибутивах  установка может отличаться.

 

P.S. Обнаруженный в модуле mod_copy баг затрагивает все версии ProFTPd вплоть до 1.3.5b включительно, однако опасность грозит только тем серверам, где модуль включен по умолчанию — особенно это касается таких дистрибутивов, как Debian и Ubuntu. Так как для указанных ОС обновленной версии ProFTPD пока нет, лучший вариант — отключить опасный модуль в настройках сервера. 

Более 1 миллиона серверов оказались под угрозой кибератак из-за критической уязвимости в программном обеспечении ProFTPD. Уязвимость позволяет удалённо выполнить произвольный код и получить доступ к информации на FTP-сервере.