Статья последний раз была обновлена 04.03.2023
Янв
26
2009
Настройка ProFTPD
ProFTPD – один из самых популярных, продвинутых ftp серверов. Содержит массу настроек и возможностей, легко расширяется за счет модулей. И что самое приятное для многих – его конфигурационный файл имеет подобный Apache синтаксис.
Во FreeBSD ProFTPD присутствует в портах в обычном виде и порта, который собирается сразу с поддержкой MySQL. Установим обычный порт, он с легкостью позволяет работать системным пользователям и практически не нуждается в настройке:
cd /usr/ports/ftp/proftpd make install clean
Как я уже упоминал, функционал у ProFTPD просто потрясающий, поэтому диалог вызываемый перед началом сборки – тоже огромный:
┌────────────────────────────────────────────────────────────────────┐ │ Options for proftpd 1.3.2.r3_1 │ │ ┌────────────────────────────────────────────────────────────────┐ │ │ │[ ] BAN Include mod_ban (Requires CTRLS) │ │ │ │[ ] CLAMAV Include mod_clamav │ │ │ │[X] CTRLS Include controls │ │ │ │[ ] DIGEST Include mod_digest │ │ │ │[ ] IFSESSION Include mod_ifsession │ │ │ │[ ] IPV6 Use IPv6 │ │ │ │[ ] LDAP Use LDAP │ │ │ │[ ] LDAP_TLS Use LDAP TLS (Requires LDAP, OPENSSL) │ │ │ │[ ] MYSQL MySQL auth (Can be combined with PGSQL) │ │ │ │[ ] NLS Use nls (builds mod_lang) │ │ │ │[ ] OPENSSL Include mod_tls │ │ │ │[ ] PGSQL Postgres auth (Can be combined with MYSQL) │ │ │ │[ ] QUOTA Include mod_quota │ │ │ │[ ] QUOTATAB_RADIUS include mod_quotatab_radius │ │ │ │[ ] RADIUS Include mod_radius │ │ │ │[ ] RATIO Include mod_ratio │ │ │ │[ ] README Include mod_readme │ │ │ │[ ] REWRITE Include mod_rewrite │ │ │ │[ ] TDS FreeTDS - Sybase & MS-SQL auth (Exclusive) │ │ │ │[ ] WRAP Include mod_wrap2 │ │ │ │[ ] WRAP_FILE Include mod_wrap2_file │ │ │ │[ ] WRAP_SQL Include mod_wrap2_sql │ │ ├─└────────────────────────────────────────────────────────────────┘─┤ │ [ OK ] Cancel │ └────────────────────────────────────────────────────────────────────┘
Немного остановимся на описании модулей:
mod_ban – предназначен для динамического бана, пользователей, отключает пользователя по описаным в настройках правилам. Например по количеству неправильных вводов пароля.
mod_clamav – позволяет проверять файлы помещаемые на FTP сервер с помощью бесплатного антивируса ClamAV
controls – включает модуль управления сервером ProFTPD
mod_digest – с помощью этого модуля можно обеспечить проверку целостности файлов при передаче
mod_ifsession – позволяет обеспечить дополнительные проверки пользователей
Use IPv6 – включает поддержку протокола IPV6
Use LDAP – ProFTPD сможет проверять авторизацию пользователей через LDAP
Use LDAP TLS – Включает шифрованный протокол LDAP
MySQL auth – Поддержка авторизации пользователей через базу MySQL
Use nls – Поддержка команды LANG, можно менять LOCALE во время диалога с сервером
mod_tls – Поддержка OpenSSL, обеспечивает FTPS протокол, протокол с шифрацией данных, так же этот модуль необходим для LDAP TLS
Postgres auth – Поддержка авторизации через базу PostgreSQL
mod_quota – Поддержка Quota, ограничения размер каталога помещенного на сервер
mod_quotatab_radius – С помощью этого модуля – сервер получает информацию о квоте пользователя через Radius сервер
mod_radius – Поддержка авторизации пользователей через Radius сервер
mod_ratio – Позволяет установить ограничение на скорость подачи команд серверу
mod_readme – Выводит файл при подсоединении к серверу
mod_rewrite – Позволяет в зависимости от определенного патерна изменять поведение сервера. Фактически по функциям аналогичен mod_rewrite Apache
FreeTDS – позволяет проводить авторизацию через MSSQL или Sybase сервер
mod_wrap2 – добавляет возможность контролировать доступ к серверу через libwrap (hosts.allow, hosts.deny)
mod_wrap2_file – Модуль позволяет определять дополнительный файл контроля, отличные от системных (hosts.allow, hosts.deny)
mod_wrap2_sql – позволяет хранить информацию для libwrap в базе SQL
Большая часть модулей, для простого сервера не требуется.
Перейдем к настройке сервера, конфигурационный файл /usr/local/etc/proftpd.conf:
ServerName "hilik.org.ua" ServerType standalone DefaultServer on ScoreboardFile /var/run/proftpd/proftpd.scoreboard Port 21 Umask 022 MaxInstances 30 CommandBufferSize 512 User nobody Group nogroup AllowOverwrite on DefaultRoot ~
Теперь нужно разрешить старт ProFTPD сервера, для этого добавим в rc.conf разрешение:
echo "proftpd_enable=YES" >>/etc/rc.conf
Теперь можно запускать ProFTPD сервер.
/usr/local/etc/rc.d/proftpd start
На этом настройка ProFTPD с минимумом функционала закончена.
http://www.hilik.org.ua/%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b9%d0%ba%d0%b0-proftpd/
Кандидат технических наук, доцент кафедры ИУ-6 (Компьютерные системы и сети) Московского государственного технического университета им. Н. Э. Баумана. Самый молодой в России PhD in Computer Science. Эксперт в области компьютерных технологий и программирования.
Стаж: 8 лет.
Образование: МГТУ им. Н. Э. Баумана, к.т.н.
- Как узнать IP-адрес по MAC-адресу - 07.04.2023
- Пинг проходит, а страницы в браузере не открываются - 07.04.2023
- Что если сайт пингуется «извне», но не открывается из под «локалки»? - 07.04.2023