Янв 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 с минимумом функционала закончена.

Добавить в закладки:

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Украинская Баннерная Сеть