Установка Postgrey в Centos
Postgrey это небольшой демон грейлистинга. В данном случае он будет устанавливаться на CentOS 5.2 в связке с postfix. Что такое грейлистинг в данной заметке я описывать не буду, предлагаю воспользоваться поиском по сайту, ибо уже несколько статей описывающих что это я публиковал.
Перед началом подключим дополнительный репозитарий RPMforge. Собственно это краткий перевод с wiki CentOS
Скачиваем пакет rpmforge для своего дистрибутива. Проверь что у вас можно командой uname -i:
#i386
wget http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
#x86_64
wget http://apt.sw.be/redhat/el5/en/x86_64/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
Устанавливаем ключ DAG GPG:
rpm —import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
Проверяем скаченный пакет:
rpm -K rpmforge-release-0.3.6-1.el5.rf.*.rpm
Устанавливаем пакет:
rpm -i rpmforge-release-0.3.6-1.el5.rf.*.rpm
Выполняем команду:
yum check-update
На этом первая подготовительная часть завершена.
Установка Postgrey из репозитариев
Запускаем установку:
yum install postgrey
После установки пакета добавляем в /etc/postfix/main.cf раздел
smtpd_recipient_restrictions =
permit_mynetworks
…
reject_unauth_destination
check_policy_service inet:127.0.0.1:10023
Запускаем postgrey и создаем стартовый скрипт для автозапуска:
/usr/sbin/postgrey —inet=10023 -d
не забываем в файле автозапуска поставить параметр запускающий постгрей на нужном порту.
типа OPTIONS=»—inet=127.0.0.1:10023″ вписать в нужное место.
В дальнейшем изучаем
man postgrey
Установка Postgrey из исходников
Скачиваем. Последняя версия 1.32:
wget http://postgrey.schweikert.ch/pub/postgrey-1.32.tar.gz
Распаковываем:
tar zxvf postgrey-1.30.tar.gz
Переходим в распакованную директорию:
cd postgrey-1.32
Добавляем пользователя postgrey:
useradd postgrey
Меняем пользователю postgrey шелл на /sbin/nologin:
vipw
Создаем директорию
mkdir /var/spool/postfix/postgrey
Даем пользователю postgrey права на эту директорию:
chown postgrey /var/spool/postfix/postgrey
Перемещаем демона
mv postgrey /usr/local/sbin/
Редактируем postfix, добавляя строчку check_policy_service inet:127.0.0.1:10023 в конец секции smtpd_recipient_restrictions. Данное действие описывалось и выше и абсолютно одинаково в обоих случаях установки.
vi /etc/postfix/main.cf
smtpd_recipient_restrictions =
permit_mynetworks
…
reject_unauth_destination
check_policy_service inet:127.0.0.1:10023
Перемещаем нужные файлики в нужное место:
mv postgrey_whitelist_clients /etc/postfix
mv postgrey_whitelist_recipients /etc/postfix
Опять запускаем postgrey:
/usr/sbin/postgrey —inet=10023 -d
В обоих случаях установки если postgrey не запускается на этом этапе и выдает длинное сообщение об ошибке пугаться не стоит. Смотрите первую строку, там сказано что ему не хватает. В моем случае пришлось доставить 4 перловых модуля.
Единственное наверно преимущество в установке postgrey руками, а не из репозитариев в том, что новая версия 1.32 вышла недавно и я что то не заметил в репозитариях пакета для неё.
На этом все, продолжение следует по мер изучения man postgrey 🙂