greylistd это небольшой демон, написанный на python, созданый разработчиками Debian специально для реализации грейлистинга - технологии, позволяющей отсекать более 80% спама, практически не нагружая при этом сервер.
В числе дополнительных возможностей greylistd выделяется возможность его мониторинга с помощью mrtg, позволяющая получить наглядное представление о потоках полезных писем и спама. В этой статье будет описано как установить и запустить greylistd и настроить его мониторинг с помощью mrtg.
Мы будем предполагать что у нас уже есть работающий почтовый сервер на Exim под управлением Debian/Ubuntu.
Для начала установим greylistd:
apt-get install greylistd
Далее добавим в конфигурацию exim настройки для работы с greylistd. Сделать это нам поможет утилита greylistd-setup-exim4 из комплекта greylistd:
greylistd-setup-exim4 add
Обновим конфигурацию exim:
update-exim4.conf
И перезапустим exim:
invoke-rc.d exim4 restart
На этом вобщем-то всё. Грейлистинг уже работает, в чём можно убедиться просмотрев логи exim. Переходим к настройке мониторинга с помощью mrtg. Для начала установим mrtg:
apt-get install mrtg
Создадим директорию, куда будут складываться графики:
mkdir /var/www/mrtg
Теперь нам нужно привести файл /etc/mrtg.cfg примерно к такому виду:
WorkDir: /var/www/mrtg WriteExpires: Yes Refresh:300 Interval: 5 Language:russian Target[greylistd]: `/usr/bin/greylist mrtg` MaxBytes[greylistd]: 1 XSize[greylistd]: 600 YSize[greylistd]: 160 Title[greylistd]: greylistd statistics PageTop[greylistd]: <h1>greylistd statistics</h1> AbsMax[greylistd]: 1250000 Options[greylistd]: integer,nopercent,perhour YLegend[greylistd]: Emails per Hour ShortLegend[greylistd]: emails/h Legend1[greylistd]: Grey Emails per hour Legend2[greylistd]: White Email per hour
Далее создадим индексный файл для директории с графиками mrtg:
indexmaker --title="greylistd statistics" --columns=1 --output=/var/www/mrtg/index.html /etc/mrtg.cfg
Скорее всего почтовый сервер имеет веб-интерфейс, и потому для просмотра графиков достаточно настроить на имеющемся веб-сервере ещё один виртуальный хост с DocumentRoot в /var/www/mrtg. Если веб-интерфейса нет, то можно просто установить какой-нибудь лёгкий веб-сервер. Например thttpd. Для этого сначала нужно установить пакет thttpd:
apt-get install thttpd
Далее нужно привести файл /etc/thttpd/thttpd.conf к примерно такому виду:
port=80 dir=/var/www/mrtg chroot user=www-data cgipat=/cgi-bin/* throttles=/etc/thttpd/throttle.conf logfile=/var/log/thttpd.log charset=utf-8
И наконец перезапустить веб-сервер для вступления в силу новой конфигурации:
invoke-rc.d thttpd restart
На этом вобщем-то всё. Стоит только отметить что при даже при наличии уже работающего веб-сервера всё равно можно дополнительно установить thttpd и "посадить" его на нестандартный порт. Кроме того в любом случае доступ к статистике нужно ограничить только IP-адресами администраторов сервера. В случае использования thttpd это придётся делать средствами файрволла.
Приятной работы!
Anonymous 2009-08-31 13:13:18 (#)
Adding greylistd support to Exim 4 configuration files
/etc/exim4/exim4.conf.template : No such file or directory
/etc/exim4/exim4.conf.template : No such file or directory
...conf.d/acl/30_exim4-config_check_rcpt: No such file or directory
...conf.d/acl/40_exim4-config_check_data: No such file or directory
и чего творить дальше?