Loading

Переход на Pure-FTPd

14.12.2010 - 14:29

После серии взломов в интернете серверов, через уязвимости в ProFTPD, решил перейти на более достойного кандидата - Pure-FTPd.

Pure-FTPd — свободный FTP-сервер для операционных систем семейства UNIX, распространяется по лицензии BSD. Основное внимание уделяется безопасности и простоте настройки. Очень функционален, встроенная поддержка UTF-8, локализация на русский.

Добавим в /etc/make.conf поддержку русского языка:

[root@srv /etc]#cat >>/etc/make.conf
PORTSDIR?=      /usr/ports
# pure-ftpd
.if ${.CURDIR} == ${PORTSDIR}/ftp/pure-ftpd
WITH_LANG=              russian
.endif

Устанавливаем из портов:
[root@srv /]# cd /usr/ports/ftp/pure-ftpd
[root@srv /usr/ports/ftp/pure-ftpd]# make config && make install clean

После установки добавим для автозапуска в /etc/rc.conf:

[root@srv /]# echo 'pureftpd_enable="YES"' >> /etc/rc.conf

Идем править конфиг:

[root@srv /]# cp /usr/local/etc/pure-ftpd.conf.sample /usr/local/etc/pure-ftpd.conf

Мой конфиг:
[root@srv /]# cat  /usr/local/etc/pure-ftpd.conf

# Делаем Chroot на ка каждую директорию пользователя.
ChrootEveryone     yes

# Совместимость с кривыми клиентами.
BrokenClientsCompatibility     no

# Максимальное число одновременных подключений.
MaxClientsNumber     50

# Работа демоном.
Daemonize     yes

# Разрешаем не более 8-ми раз соединится с одного адреса.
MaxClientsPerIP     8

# Логирование.
VerboseLog     yes

#Показывать скрытые файлы(.)?
DisplayDotFiles             yes

# Сделать этот FTP-сервер, только для анонимных пользователей?
AnonymousOnly               no

# Запретить анонимоусов?
NoAnonymous                 yes

# Суслог, по дефолту "ftp".
SyslogFacility     ftp

# Не резольвить имена хостов в логах.
DontResolve     yes

# Через 10 мин. простоя соединение разорвется.
MaxIdleTime     10

# Ограничим число вложенных каталогов и файлов в листинге,
# первая цифра - число файлов, вторая - количество вложенных директорий.
LimitRecursion     2000 8

# Разрешить анонимным пользователям создавать новые директории?
AnonymousCanCreateDirs     no


# Если система загружена больше чем в данном случае значении "4", то загрузка прирывается.
MaxLoad     4

# Диапазон портов пассивного соединения. То же укажите в своем фаерволе.
PassivePortRange          30000 50000

# Максимальная скорость для загрузки анонимоусами в KB/s
#AnonymousBandwidth     100

# Максимальная скорость для всех юзеров (включая анонимов) в KB/s.
#UserBandwidth     200

# Маска создания директории:маска создания файлов.
Umask     133:022

# Подключатся разрешается пользователям UID которых начинается от - 1000.
MinUID                      1000

#Запрет команды FXP, эта команда позволяет одному FTP серверу скачивать со второго сервера.
AllowUserFXP     no
AllowAnonymousFXP     no

# Запрет на чтение файлов начинающихся с точки (.files).
ProhibitDotFilesRead     no

# Запрет на запись файлов начинающихся с точки (.files).
ProhibitDotFilesWrite     no

# Запрет на перезапись файлов, файлы будут автоматически переименовываться с добавлением цифры - версии файла.
AutoRename     no

# Запретить анонимным пользователям загружать новые файлы, если значение "no" - upload разрешён.
AnonymousCantUpload         yes

# Добавить PID  в каждуж строчку лога?
LogPID     yes

# Отключить команду CHMOD. Пользователи не смогут менять атрибуты на файлы.
NoChmod     yes

# Пользователи закачивать, но не удалять файлы.
KeepAllFiles     yes

#Сервер будет создавать домашние папки, если они отсутствуют.
CreateHomeDir     yes

# Файл pid-процесса FTP-сервера.
PIDFile     /var/run/pure-ftpd.pid

# Запретить закачку файлов на сервер, если занято 99% диска.
MaxDiskUsage     99

# Слушаеть только IPv4 адреса в режиме standalone (по дефолту, IPv4 и IPv6 включены).
IPV4Only     yes

# IPv6 говорим не слушать.
IPV6Only     no

# Указываем кодировку, для того, чтобы наш FTP видел русские символы.
FileSystemCharset koi8-r
ClientCharset cp1251

Проверяем работоспособность:

[root@srv /]# /usr/local/etc/rc.d/pure-ftpd start

Проверяем есть ли его процессы:

[root@srv /]# sockstat | grep pure
root     pure-ftpd  22929 3  dgram  -> /var/run/logpriv
root     pure-ftpd  22929 4  tcp4   *:21                  *:*

Ваша оценка: Нет Средняя: 5 (2 голосов)

Комментарии:


MarackObama аватар

Не может скачать при установке из портов или pkg_add -r. То ли сайт недоступен, то ли одно из двух.



admin аватар

При установке из портов, если сценарий установщика не находит нужный пакет, его можно самостоятельно скачать и положить в каталог /usr/ports/distfiles.