Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #68, ИЮЛЬ 2006 г.

царь-хостинг

_MIF_ (ROOT@SECURITYLAB.CO.IL)

Спецвыпуск: Хакер, номер #068, стр. 068-044-9


CreateHomeDir no

# Включаем квоты

Quota 1000:10

# Не пускать юзера, если на диске занято 95% места.

MaxDiskUsage 95

# Включаем лимиты на скорость download/upload

PerUserLimits 3:20

# Только IPv4

IPV4Only yes

Сам сервер сконфигурирован и готов, осталось настроить авторизацию через MySQL. Редактируем /usr/local/etc/ftp/pureftpd-mysql.conf:

# Работаем с MySQL через локальный сокет

MYSQLSocket /tmp/mysql.sock

# Юзер, пароль, база

MYSQLUser ftp

MYSQLPassword nhjhf21j

MYSQLDatabase pureftpd

# Храним пароли в открытом виде или зашифрованые md5

MYSQLCrypt cleartext

# SQL запрос, ответом которого будет пароль юзера

MYSQLGetPW SELECT Password FROM users WHERE User="\L"

# SQL запрос, ответом которого будет uid юзера. По умолчанию uid/gid можно

# указывать цифрами (1003:1003). Чтобы получить возможность указывать юзеров

# как user:group поменяй тип полей Uid и Gid в дампе:

# Uid VARCHAR(16) NOT NULL default '-1',

# Gid VARCHAR(16) NOT NULL default '-1',

MYSQLGetUID SELECT Uid FROM users WHERE User="\L"

MYSQLGetGID SELECT Gid FROM users WHERE User="\L"

# SQL запрос, ответом которого будет домашняя директория юзера (она станет для

# него рутовой)

MYSQLGetDir SELECT Dir FROM users WHERE User="\L"

# SQL запрос, ответом которого будет лимит на кол-во файлов

MySQLGetQTAFS SELECT QuotaFiles FROM users WHERE User="\L"

# SQL запрос, ответом которого будет квота юзера в мегабайтах

MySQLGetQTASZ SELECT QuotaSize FROM users WHERE User="\L"

# SQL запрос, ответом которого будет лимит скорости Upload для юзера (кб/с)

MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User="\L"

# SQL запрос, ответом которого будет лимит скорости Download для юзера (кб/с)

MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User="\L"

Конфиг фтп-сервера завершен. Осталось только создать базу MySQL с параметрами, которые мы указали в конфиге, и залить в эту самую базу дамп. phpMyAdmin у нас есть, так что с созданием юзера и базы проблем не возникнет. А дамп базы в природе существует в двух местах – глубоко в дебрях оффсайта pure-ftpd и на диске, прилагаемом к журналу. Надеюсь, вбить дамп в базу труда не составит. Также не забудь - чтобы ftpd запустился при старте системы – добавить в /etc/rc.conf строчки:

pureftpd_enable="YES"

pureftpd_config="/usr/local/etc/ftp/pure-ftpd.conf"

[статистика.]

Awstats 6.5 присутствует в портах FreeBSD, но версия 6.5 содержит очень опасную уязвимость, поэтому ставить мы будем ручками версию 6.6. Качай Awstats с оффсайта, или возьми дистрибутив на диске, прилагаемом к журналу. Разахривируй файл и устанавливай:

# mkdir /etc/awstats

# cd awstats-6.6/wwwroot/cgi-bin/

# mv awstats.model.conf /etc/awstats

# cp –rf * /home/пользователь/cgi-bin/

Все конфиги статистики будут находиться в папке /etc/awstats. Чтобы добавить там конфиг для определенного домена – скопируй файл awstats.model.conf, заменив model именем домена (без www). Например:

# cd /etc/awstats

# cp awstats.model.conf awstats.hosting.ru.conf

Сам конфиг Awstats довольно длинный, я укажу лишь основные параметры:

# Какой лог парсить

LogFile="/var/log/www/hosting.ru-acess.log"

Назад на стр. 068-044-8  Содержание  Вперед на стр. 068-044-10