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

Неприступный почтовик

Антон Карпов, toxa@cterra.ru

Спецвыпуск: Хакер, номер #051, стр. 051-036-2


В качестве операционной системы для построения высокопроизводительного надежного почтового сервера выберем FreeBSD 5.3 - лучшую серверную операционную систему на сегодняшний день ;). Детально процесс обновления системы до 5.3-STABLE описан в этом же номере, так что будем считать, что у тебя уже имеется свежая система с актуальным деревом портов. Поехали!

Первым делом ставим daemontools и ucspi-tcp.

# cd /usr/ports/sysutils/daemontools

# make install clean

# echo 'svscan_enable="YES"' %26gt;%26gt; /etc/rc.conf

# mkdir /var/service

С ucspi-tcp придется немного повозиться. Дело в том, что для доступа к нашему будущему pop3/smtp-серверу с использованием безопасного ssl-соединения нужно пропатчить ucsp-tcp на предмет умения работы с SSL. По каким-то причинам этот патч отсутствует во FreeBSD-порте ucspi-tcp. Так что придется применить его руками.

# cd /usr/ports/sysutils/ucspi-tcp

# make patch

# wget http://www.nrg4u.com/qmail/ucspi-tcp-ssl-20020705.patch.gz

# gunzip ucspi-tcp-ssl-20020705.patch.gz

# cd work/ucspi-tcp-0.88

# patch %26lt; ../../ucspi-tcp-ssl-20020705.patch

# cd ../../

# make install clean

# rm ucspi-tcp-ssl-20020705.patch

Ничто не идеально. И софт djb тоже. Его основная проблема в том, что написан он был давно и "на раз". "Чистая" версия qmail обделена многим из той функциональности, которая требуется от современных почтовых серверов. SSL, TLS, SMTP AUTH, Greylisting, поддержка LDAP - все эти и многие другие возможности добавляются в qmail сторонними патчами, за которые автор qmail не отвечает. Так что если окунешься в мир программного обеспечения djb, будь готов запутаться в patch’ах, patchkit’ах, и patch’ах к patchkit’ам ;).

Вам письмо!

Пришло время ставить qmail в качестве pop3/smtp-сервера. Нас интересует порт с поддержкой SMTH-аутентификации и TLS.

# cd /usr/ports/mail/qmail-smtp_auth+tls

# make WITH_QMAILQUEUE_PATCH=yes WITH_BIG_TODO_PATCH=yes install clean

Авторизацию будем выполнять с помощью утилиты checkpassword.

# cd /usr/ports/security/checkpassword %26%26 make install clean

Затем сообщим системе, что у нас теперь qmail вместо sendmail:

# vi /etc/mail/mailer.conf

#sendmail /usr/libexec/sendmail/sendmail

#send-mail /usr/libexec/sendmail/sendmail

#mailq /usr/libexec/sendmail/sendmail

#newaliases /usr/libexec/sendmail/sendmail

#hoststat /usr/libexec/sendmail/sendmail

#purgestat /usr/libexec/sendmail/sendmail

sendmail /var/qmail/bin/sendmail

send-mail /var/qmail/bin/sendmail

mailq /var/qmail/bin/qmail-qread

newaliases /var/qmail/bin/newaliases

hoststat /var/qmail/bin/qmail-tcpto

Назад на стр. 051-036-1  Содержание  Вперед на стр. 051-036-3