Как создать свой почтовый индекс

Конкурс: Самый активный News Maker. Заработай немного БАБЛА

Elite

# | Сообщение добавлено 17.12.2008 09:22:57

Отредактировано 17.12.2008 09:24:33 by superhacker

Расскажу тебе как это делается на примере ОС freeBSD 6.2

Итак

В FreeBSD по умолчанию программой передачи почты является sendmail. Sendmail может также принимать входящие соединения по сети, и доставлять почту в локальные почтовые ящики или перенаправлять их другой программе.

Первым шагом в настройке почтового сервера будет создание почтовой группы и пользователя. Делается это так:

pw groupadd mail – создается группа с названием mail

pw adduser alex –g mail –d /nonexistent –c “andrew” –s /sbin/nologin – создаётся пользователь и сразу помещается в группу mail, а также задаются параметры которые защищают пользователя от локального входа под ним в систему.

sendmail использует следующие конфигурационные файлы:

/etc/mail/access Файл базы данных доступа sendmail

/etc/mail/aliases Синонимы почтовых ящиков

/etc/mail/local-host-names Список хостов, для которых sendmail принимает почту.

Файл access:

Файл в кеотором находится список IP адресов или сетей, имеющих доступ к почтовому серверу, а также параметры доступа. Которые определяются как: OK, REJECT, RELAY .

OK — параметр по умолчанию, разрешено отправлять почты на этот хост, если адрес назначения почты принадлежит локальной машине.

REJECT – соединения с сетями или хостами с этим параметром отбрасываются.

RELAY — разрешена передача через этот сервер почты с любым адресом назначения.

В этом файле вписываем нашу сеть и домен

Файл aliases:

aliases обеспечивает общесистемный механизм перенаправления почты локальных получателей. Вносим в этот файл пользователя которого мы создали

Файл local-host-names:

В этом файле находится список сетей и имен доменов, принимаемых сервером в качестве локальных. Нужно поместить в этот файл домены и сети, для которых sendmail должен принимать почту. В нашем случае, почтовый сервер должен принимать почту для домена home.com.ua и сети 192,168, файл local-host-names должен выглядеть например так:

home.ru

192.168

80.80.100.10

Следующим этапом настройки будет установка программы qpopper.

Qpopper — это MDA (агент доставки электронной почты) применяется в unix подобных ОС.

Делаем это опять же через порты. Качаем с интернета пакеты:

qpopper4.0.9-ipv6—20060626.diff.gz ;

qpopper4.0.9.tar.gz;

gmp-4.2.1.tar.gz.

После чего копируем в каталог /usr/ports/distfiles.

Пишем команду whereis qpopper, и выдаётся сообщение:

Qpopper: /usr/ports/mail/qpopper

Потом производим инсталляцию qpopper: make —C /usr/ports/mail/qpopper install clean.

После инсталляции программы перегружаем систему. Чтобы защитить систему от почтовых вирусов, нужно будет установить антивирус. Стандартным антивирусом FreeBSD является ClamaV. Поэтому следующим пунктом будет установка антивируса.

Установка и настройка Postfix

Postfix достаточно быстрый, надежный, и гибко конфигурируемый сервер. Все остальные его плюсы и минусы могут быть найдены в интернете. Например, на сайте opennet.ru. Я выбрал его потому, что sendmail настроенный с касперским, все ж частично пропускал вирусы.

Сначала необходимо добавить соответствующих пользователя и группу в group и master.passwd

# ee group

postfix:*:12345:postfix

postdrop:*:12346:postfix

# ee master.password

postfix:*:12345:12345::0:0:postfix daemon:/noexistent:/sbin/nologin

Далее потребуется указать все пути для установки, ничего не меняем:

temp_dir: [/usr/local/src/postfix-2.0.16]

config_directory: [/etc/postfix]

daemon_directory: [/usr/libexex/postfix]

command_directory: [/usr/sbin]

sendmail_enable=»NONE»

Проверяем наличие sendmail:

top | grep senmail

Если получен результат, т.е. sendmail присутствует в процессах:

killall sendmail

Правим main.cf — основной конфигурационный файл postfix:

# cd /etc/postfix

# ee main.cf

Далее будет приведены строки, и необходимые для них комментарии, на которые стоит обратить особое внимание. Готовый файл можно взять здесь.

myhostname = relay.your_host.ru

# запись MX для всшего домена. Необходимо помнить, что эта запись должна быть у вашего провайдера. Если вы сами держите зону DNS, то она соответственно должна присутствовать в вашей зоне DNS.

mydomain = your_domain.ru

# запись для домена

inet_interfaces =

192.168.0.254, localhost, 123.123.123.10

#здесь указаны интерфейсы, котореы будут «слушать» 25 порт, т.е внешняя, внутреняя и localhost. Можно также указать слово «all».

mydestination = $myhostname, localhost, $mydomain

# параметр, определяющий имена доменов для получения почты. Если нужно использовать почту для нескольких доменов, не нужно указывать их здесь. Для этого существует специальный файл. (domain)

unknown_local_recipient_reject_code = 550

#Код ошибки для неизветных локальных получателей почты.

mynetworks = 192.168.0.0/24, 127.0.0.0/8, 123.123.123.10

# параметр, определяющий каким сетям разрешно релэить через postfix.

virtual_alias_maps = hash:/etc/postfix/virtual

virtual_alias_domains = /etc/postfix/domain

#Хэш для виртуальных алиасов и поддержки нескольких доменов при необходимости.

smtpd_recipient_restrictions = permit_mynetworks, check_client_access hash:/etc/postfix/client_access, check_sender_access hash:/etc/postfix/sender_access, reject_unauth_destination,reject_rbl_client list.dsbl.org, reject_rbl_client relays.ordb.org, reject_rbl_client dynablock.wirehub.net, reject_rbl_client

blackholes.wirehub.net, reject_rbl_client dnsbl.njabl.org

# параметр, опредялющий разрешения для получателей. Именно здесь можно прицепить различные фильтры, такие как проверка recepient black list и т.д.

header_checks = regexp:/etc/postfix/header_checks

body_checks = regexp:/etc/postfix/body_checks

#также еще один важный момент, на котором бы хотелось остановиться, это параметры headers_check и body_cheks. Если вкупе с postfix, поставить какой-нибудь спам-фильтр, то это даст возможость фильтровать входящую почту. Файлы headers_check и body_cheks могут быть взять отсюда или отсюда и отсюда.

smtpd_banner = ESMTP Mail Server v1,0 (Build 2195)

# поменяем вывеску, для повышения секьюрности.

alias_maps = hash:/etc/postfix/aliases

# база с алиасами

# в качестве меры безопасности, лучше использовать алиасы. Далее будет показано, как это сделать.

Сохраняем main.cf и переходим к созданию дополнительных конфигурационных файлов.

check_client_access отвечает за возможноть релеить через постфикс тем или иным пользователям вне вашей сети, т.е. его можно сделать открытым для некоторых пользователей, хотя такое обычно редко используют. Например:

# ee client_access

123.123.132.10 OK

В этом случае для любого клиента с IP 123.123.132.10 этот релей будет окрытым. Не забудем сделать хэш:

# makemap hash client_access.db < client_access

После этого создаем файл virtual.db. Это делается для повышения безопасности. Совсем правильно будет поставить postfix в jail, если вы не собираетесь предоставлять услуги как провайдер. В одной из ман я расскажу как сделать jail. Насколько я в курсе, jail есть только во FreeBSD, и это еще один плюс в выбор этой ОС в качестве маршрутизатора.

# cd /etc/postfix

# ee virtual

# makemap hash virtual.db < virtual

Естественно, что пользователи popuser1 и popuser2 должын быть в master.passwd в группе mail, например:

popuser1:sEcRTk2kDnF1E:1000:6::0:0:popuser1:/nonexistent:/sbin/nologin

Если нужно принимать почту на несколько доменов, то раскомментируем нужную строку в main.cf и создадим файл domain, в котором столбиком пропишем все те домены, для которых получаем почту. Необходимо также помнить, что для всех этих доменов должна быть соответствующая MX запись в DNS.

# ee domain

your_domain.ru

another.your_domain.ru

Соответственно, можно указать пользователей различных доменов в virtual

popuser2 _domain.ru'; document.write(''); document.write(addy_text15304); document.write('< /a >'); //- >n

# makemap hash virtual.db < virtual

Еще один важный момент, на котором нужно остановиться — это возможность отправки почты пользователями, находящимися ВНЕ вашей локальной сети, так как по умолчанию postfix им позволить отправлять только пользователям вашей сети. Итак, раскомментируем соответствующую строку в main.cf и создадим файл:

# ee sender_access

Часто приходилось видеть, как вирусописатели любят использовать e-mail admin@ для своих гнусных целей, поэтому неплохо было бы запретить хождение с этого адреса:

Не забываем создать хэш:

# makemap hash sender_access.db < sender_access

Не забудем подправить /etc/postfix/aliases и создать хэш, чтобы была возможномть получать, почту на root, postmaster, etc.

На этом устновка postfix без касперского закончена, проверяем, что все изменения корректны:

# postfix check

Если все в порядке, пробуем запустить:

# postfix start

# sockstat |grep :25

postfix smtpd 31082 6 tcp4 192.168.1.250:25 *:*

postfix smtpd 31082 7 tcp4 127.0.0.1:25 *:*

postfix smtpd 31082 8 tcp4 123.123.123.10:25 *:*

root master 226 11 tcp4 192.168.1.250:25 *:*

Источник: www.hackzone.ru

Категория: Онлайн-шоппинг

Похожие статьи: