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

пламенный почтовик

ВОЛЬФ Д. А. AKA PAYHASH

Спецвыпуск: Хакер, номер #069, стр. 069-040-5


Ну что же, приступим непосредственно к самой сборке и установке sendmail. Переходим из каталога cf/cf/ на два уровня выше и выполняем скрипт Build:

terminal# cd ../../

terminal# ./Build -c

Далее выполняем Build install:

terminal# ./Build install

С установкой sendmail покончено. Теперь необходимо выполнить условия, описанные в конфигурационном файле относительно директив

confCACERT_PATH,confCACERT,confSERVER_CERT,confSERVER_KEY, confCLIENT_CERT,confCLIENT_KEY. Создаем каталог /etc/mail/certs, копируем в него файлы sendmail.key и sendmail.crt (которые у нас уже имеются) и заходим в этот каталог:

terminal# mkdir /etc/mail/certs

terminal# cp /tmp/sandbox/sendmail.key /tmp/sandbox/sendmail.crt \

/etc/mail/certs/

terminal# cd /etc/mail/certs

Теперь нужно избавиться от пароля в секретном файле sendmail.key. Свершим это при помощи программы rsa:

terminal# openssl rsa -in sendmail.key -out sendmail.pem

В результате мы получили секретный файл sendmail.pem. И я думаю, что закономерный вопрос, возникший у читателя относительно файла sendmail.pem в конфигурационном файле sendmail.mc, исчерпан :).

Назначаем права 700 на каталог с сертификатами /etc/mail/certs, а файлы /etc/sandbox/sendmail.key,

/etc/sandbox/sendmail.csr и /etc/sandbox/sendmail.crt нужно удалить:

terminal# chmod -R 700 /etc/mail/certs

terminal# cd /tmp/sandbox

terminal# rm sendmail.key sendmail.csr sendmail.crt

Перед тем, как запускать sendmail, нам необходимо создать некоторых хешей и просто файлов, необходимых для работы sendmail. Поэтому изволь почитать соответствующее руководство на нашем диске :).

terminal# cd /etc/mail

Если файла aliases нет, создаем его:

terminal# touch aliases

Обязательно делаем newaliases:

terminal# newaliases

Создаем файл с доверительными и недоверительными хостами:

terminal# touch access

terminal# makemap hash access.db < access

terminal# touch virtusertable

terminal# makemap hash virtusertable.db < virtusertable

terminal# makemap hash mailertable.db < mailertable

terminal# touch local-host-names

Осталось только запустить sendmail и проверить наличие поддержки шифрования (если запустить sendmail не получается, возможно, где-то допущена ошибка). Смотрим логи:

terminal# sendmail -bd -q10m

terminal# openssl s_client -host localhost -port 465

[5 минут – полет нормальный?]

Если все прошло нормально, то программа s_client сможет подключиться на порт 465 (защищенный порт SMTP/SSMTP), а нам на экран выпадет сертификат сервера с публичным ключом. SMTP-службу мы защитили, осталось защитить службу POP, иначе теряется весь смысл защиты почтового сервера. В качестве POP-демона мы рекомендуем использовать программу popa3d, написанную русским хакером Solar Designer (Sergey Samoyloff). Программа является официальным дистрибутивом для FreeBSD и находится в портах FreeBSD /usr/ports/mail/popa3d.

В исходных кодах по умолчанию popa3d настроена для сборки под Linux-машину, поэтому нужно привести необходимые рекомендации по корректировке этого демона для BSD-систем. Итак, скачиваем последний дистрибутив popa3d с сайта Solar Designer’а www.openwall.com/popa3d. Распаковываем дистрибутив с «попой», заходим в каталог с его исходными кодами, открываем файл params.h на редактирование и находим строчки:

Назад на стр. 069-040-4  Содержание  Вперед на стр. 069-040-6