1. Устанавливаем sendmail и cyrus
# apt-get install sendmail sasl2-bin cyrus-imapd
2. Редактируем sendmail.mc подключаем локальный мейлер cyrus, в виде опции - блеклисты, включаем поддержку tls и sasl, разрешаем отправку только авторизованным пользователям и только с использованием tls
include(`/etc/mail/tls/starttls.m4')dnl
include(`/etc/mail/sasl/sasl.m4')dnl
TRUST_AUTH_MECH(`LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
define(`confAUTH_OPTIONS', `A p y')dnl
define(`confAUTH_MECHANISMS', `LOGIN PLAIN DIGEST-MD5 CRAM-MD5')dnl
dnl #
FEATURE(`dnsbl', `zen.spamhaus.org', `550 SPAM detected - message from $`'&{client_addr} rejected - see http://www.spamhaus.org/')dnl
FEATURE(`dnsbl', `dul.dnsbl.sorbs.net', `550 SPAM detected - message from $`'&{client_addr} rejected - see http://www.dul.dnsbl.sorbs.net/')dnl
FEATURE(`dnsbl', `bl.spamcop.net', `550 SPAM detected - message from $`'&{client_addr} rejected - see http://spamcop.net/bl.shtml')dnl
FEATURE(`dnsbl', `bl.csma.biz', `550 SPAM detected - message from $`'&{client_addr} rejected - see http://bl.csma.biz/')dnl
FEATURE(`dnsbl', `dnsbl.njabl.org', `550 SPAM detected - message from $`'&{client_addr} rejected - see http://njabl.org/')dnl
FEATURE(`dnsbl', `dnsbl.sorbs.net', `550 SPAM detected - message from $`'&{client_addr} rejected - see http://dnsbl.sorbs.net')dnl
FEATURE(`dnsbl', `cbl.abuseat.org', `550 SPAM detected - message from $`'&{client_addr} rejected - see http://cbl.abuseat.org/')dnl
define(`confLOCAL_MAILER', `cyrus')dnl
dnl # Default Mailer setup
MAILER_DEFINITIONS
MAILER(`local')dnl
MAILER(`smtp')dnl
MAILER(`cyrus')dnl
3. Формируем фейковый сертификат и приватный ключ для Cyrus
openssl req -new -nodes -out req.pem -keyout key.pem
openssl rsa -in key.pem -out new.key.pem
openssl x509 -in req.pem -out ca-cert -req -signkey new.key.pem -days 999
mkdir /var/imap
cp new.key.pem /var/imap/server.pem
rm new.key.pem
cat ca-cert >> /var/imap/server.pem
chown cyrus:mail /var/imap/server.pem
chmod 600 /var/imap/server.pem # Your key should be protected
echo tls_ca_file: /var/imap/server.pem >> /etc/imapd.conf
echo tls_cert_file: /var/imap/server.pem >> /etc/imapd.conf
echo tls_key_file: /var/imap/server.pem >> /etc/imapd.conf
openssl rsa -in key.pem -out new.key.pem
openssl x509 -in req.pem -out ca-cert -req -signkey new.key.pem -days 999
mkdir /var/imap
cp new.key.pem /var/imap/server.pem
rm new.key.pem
cat ca-cert >> /var/imap/server.pem
chown cyrus:mail /var/imap/server.pem
chmod 600 /var/imap/server.pem # Your key should be protected
echo tls_ca_file: /var/imap/server.pem >> /etc/imapd.conf
echo tls_cert_file: /var/imap/server.pem >> /etc/imapd.conf
echo tls_key_file: /var/imap/server.pem >> /etc/imapd.conf
Правим /etc/imapd.conf с целью разрешить управлять ящиками через imap. Снимаем комментарий со строки:
admins: cyrus
Проверяем, что открыт протокол imap в /etc/cyrus.conf - мы не будем использовать этот протокол по прямому назначению, он нужен только для управления почтовыми ящиками утилитой cyradm. Рабочий и основной пртокол это imaps
imap cmd="imapd -U 30" listen="imap" prefork=0 maxchild=100
imaps cmd="imapd -s -U 30" listen="imaps" prefork=0 maxchild=100
Задаем пароль для пользователя cyrus (администратора cyrus)
# saslpasswd2 cyrus
Создаем нового пользователя sasl
# saslpasswd2 -c user
Создаем почтовый ящик для пользователя myuser
# cyradm --user=cyrus localhost
localhost.localdomain> cm user.myuser
5. Собственно это все. В дальнейшем обслуживание системы сводится к добавлению пользователей в базу sasl и создании новых почтовых ящиков для них в cyrus.
Не забываем запустить saslauthd и настроить его на работу с базой sasl а не PAM
Редактируем /etc/default/saslauthd и включаем:
START=yes
MECHANISMS="sasldb"
Update: Как узнать какой из блеклистов срабатывает чаще всего? Я использовал вот такую команду:
$ cat /var/log/mail.log | grep SPAM | perl -ne 'print "$1" if /(http:.*)/igs' | sort | uniq -c | sort -bn
10 http://njabl.org/
97 http://www.spamhaus.org/
149 http://www.dul.dnsbl.sorbs.net/
215 http://dnsbl.sorbs.net
378 http://spamcop.net/bl.shtml
459 http://cbl.abuseat.org/
Комментариев нет:
Отправить комментарий