Пт, 22.09.2017, 18:27
Форум інформатиків України
Головна Реєстрація Вхід
Вітаю Вас, Гість · RSS
Вітання на форумі
Незнайомець
Вітаємо на форумі,
Незнайомцю!

   
зареєструйтесь
Перед реєстрацією обов’язково прочитайте:
Оновлення Учасники Пошук
Особисті повідомлення
Видавництво ’’Аспект’’ Видавництво

Сторінка 1 з 11
Модератор форуму: Bandalak, Ktara, НІКОЛЯ, volevikt 
Форум інформатиків » РОЗДІЛ ІХ: ІНТЕРНЕТ, МЕРЕЖІ, ХОСТІНГ » 9.8 Рубрика системного адміністратора » Настройка почтового сервера Exim (советы по оптимизации)
Настройка почтового сервера Exim
Andrey123q Дата: Сб, 25.12.2010, 10:26 | Повідомлення № 1
Досвідчений учасник
Повідомлень: 1236
Нагороди: 3
Рейтинг: 84
Сразу оговорюсь опыта в настройке и использования почтовых серверов не очень много потому прежде всего хотелось бы получить советы по оптимизации. Статей по настройке связки Exim+dovecot+mysql+postfixadmin+... в интернете очень много потому, чтобы не дублировать информацию, приведу только свои конфиги и ссылки на статьи. Конфиг собирал по материалу из статей.
ОС SLES 11. Установлен Exim, mysql, dovecot, clamav, postfixadmin

По ниже приведенному конфигу:
1) данные о пользователях хранятся в mysql
2) как IMAP- и POP3-сервер используется dovecot
3) антиспам настроен средствами exim
4) для отправки писем используется open relay smtp сервер провайдера (т.к. пров не прописал ptr запись)
5) для перенаправления почты с одних ящиков на другие и как групповые аккаунты используются алиасы
6) для управления доменами и виртуальными почтовыми аккаунтами используется postfixadmin

Вопрос: чего не хватает, что нужно было бы добавить? Сервер пока не введен в действие, потому хотелось бы нормально настроить, особенно антиспам.

/etc/exim/main.conf



# Полное имя сервера.
primary_hostname = linux1.domain.in.ua

# Данные для подключения к MySQL серверу.
hide mysql_servers = 127.0.0.1/postfix/postfix/mypass

# Cписок локальных доменов.
domainlist local_domains = domain.in.ua

# список хостов с которых разрешён релей.
hostlist relay_from_hosts = localhost : 127.0.0.0/8 : 192.168.0.0/16

# Cписки контроля доступа - ACLs
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data
acl_smtp_mail = acl_smtp_mail
acl_smtp_mime = check_mime

# Интерфейс к сканеру вирусов
av_scanner = clamd:/var/lib/clamav/clamd-socket
#spamd_address = 127.0.0.1 783

# Имя домена котрое будет добавляться для локальных отправителей, локальных получателей.
qualify_domain = domain.in.ua
qualify_recipient = domain.in.ua

# Никакая доставка не должна осуществляться от имени пользователя “root”..
never_users = root

#--host_lookup = *
#--sender_unqualified_hosts = +relay_from_hosts
#--freeze_tell = postmaster@domain.in.ua

# Делать вызовы “ident” для всех входящих SMTP подключений.
rfc1413_hosts = *
rfc1413_query_timeout = 5s

# Период повторных попыток доставки сообщений об ошибке.
ignore_bounce_errors_after = 2d

# Период через который exim удалит то, что так и не смог доставить.
timeout_frozen_after = 7d

#smtp_accept_max = 50

# максимальное число сообщений принимаемое за одно соединение
# от удалённого сервера (или пользователя)..
smtp_accept_max_per_connection = 25

# чё-то про логи и борьбу с флудом - я так понимаю -
# максимальное число сообщений записываемых в логи
smtp_connect_backlog = 30

# Максимальное число коннектов с одного хоста
smtp_accept_max_per_host = 20

# размер сообщения.
message_size_limit = 35M

#recipients_max = 2
#helo_allow_chars = _
#smtp_enforce_sync = true

# ---Списки контроля доступа---

begin acl
acl_check_rcpt:
accept hosts = :
control = dkim_disable_verify

deny message = Restricted characters in address
domains = +local_domains
local_parts = ^[.] : ^.*[@%!/|]

deny message = Restricted characters in address
domains = !+local_domains
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./

deny message = HELO/EHLO require by SMTP RFC
!senders = :
condition = ${if eq{$sender_helo_name}{}{yes}{no}}
delay = 30s
deny message = We don't allow domain literals, sorry - many spam...
hosts = !+relay_from_hosts:*
!senders = :
condition = ${if isip{$sender_helo_name}{yes}{no}}

accept local_parts = postmaster
domains = +local_domains

require verify = sender

accept hosts = +relay_from_hosts
control = submission
control = dkim_disable_verify

accept authenticated = *
control = submission
control = dkim_disable_verify

require message = relay not permitted
domains = +local_domains : +relay_to_domains

require verify = recipient

#accept domains = +relay_to_domains
#endpass
#message = unrouteable address2
#verify = recipient
accept

acl_smtp_mail:
deny message = Sender e-mail blacklisted locally (contact postmaster@domain.in.ua )
log_message = Sender address $sender_address in /etc/exim/blacklist_senders
!senders = /etc/exim/whitelist_senders
#!hosts =
senders = /etc/exim/blacklist_senders
deny message = Host is listed in $dnslist_domain
log_message = Host is listed in $dnslist_domain \
If you think that the system is mistaken, please report details to postmaster@domain.in.ua
!senders = /etc/exim/whitelist_senders
#!hosts =
dnslists = sbl.spamhaus.org : \
xbl.spamhaus.org : \
pbl.spamhaus.org : \
sbl-xbl.spamhaus.org : \
zen.spamhaus.org
accept

# Проверка вложений
check_mime:
warn decode = default
deny message = Blacklisted file extension detected ($mime_filename)
condition = ${if match \
{${lc:$mime_filename}} \
{\N(\.wav|\.cpl|\.pif|\.bat|\.scr|\.lnk|\.com|\.exe|\.cls)$\N}
\
{1}{0}}
accept

# Проверка на вирусы
acl_check_data:
deny message = This message contains a virus or other harmful content ($malware_name)
demime = *
malware = *
accept

# ---Конфигурация роутеров---
begin routers

# Копирование всех исходящих сообщений
message_all_out_copy:
driver = redirect
unseen
senders = *@domain.in.ua
data = audit@domain.in.ua

# Копирование всех входящих сообщений
message_all_in_copy:
driver = redirect
unseen
senders = !*@domain.in.ua
data = audit@domain.in.ua

#dnslookup:
#driver = dnslookup
#domains = ! +local_domains
#transport = rmail

rmail_router:
driver = manualroute

system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup mysql{SELECT goto FROM alias WHERE address='${quote_mysql:$local_part@
$domain}' OR address='${quote_mysql:@$domain}'}}

dovecot_user:
driver = accept
condition = ${lookup mysql{SELECT goto FROM alias WHERE address='${quote_mysql:$local_
part@$domain}' OR address='${quote_mysql:@$domain}'}{yes}{no}}
transport = dovecot_delivery
# OR address='${quote_mysql:@$domain}'}{yes}{no}}

rmail_router:
driver = manualroute
transport = rmail
route_list = * relay.prov.net

# ---Конфигурация транспортов---
begin transports

remote_smtp:
driver = smtp

rmail:
driver = smtp
hosts = relay.prov.net

dovecot_delivery:
driver = appendfile
user = postfix
group = postfix
mode = 0660
mode_fail_narrower = false
envelope_to_add = true
return_path_add = true
/etc/exim/exim.conf lines 115-170/231 78%

directory = /usr/vmail/$local_part@$domain
maildir_format

address_pipe:
driver = pipe
return_output

address_reply:
driver = autoreply

# Повторная доставка
begin retry
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h

begin rewrite

# Аутентификация
begin authenticators
plain_login:
driver = plaintext
public_name = PLAIN
server_condition = ${lookup mysql{SELECT '1' FROM mailbox WHERE username = '${quote_my
sql:$2}' AND password = '${quote_mysql:$3}'} {yes}{no}}
server_set_id = $2

fixed_login:
driver = plaintext
public_name = LOGIN
server_prompts = "Username:: : Password::"
server_condition = ${lookup mysql{SELECT '1' FROM mailbox WHERE username = '${quote_my
sql:$1}' AND password = '${quote_mysql:$2}'} {yes}{no}}
server_set_id = $1

fixed_cram:
/etc/exim/exim.conf lines 171-227/231 97%

driver = cram_md5
public_name = CRAM-MD5
server_secret = ${lookup mysql{SELECT password FROM mailbox WHERE username = '${quote_
mysql:$1}'}{$value}fail}
server_set_id = $1


/etc/dovecot/dovecot.conf



base_dir = /var/run/dovecot/
protocols = pop3 imap imaps
listen = *
disable_plaintext_auth = no
ssl = no
login_dir = /var/run/dovecot/login
login_user = dovecot
login_trusted_networks = 192.168.0.0/16
mail_location = maildir:/usr/vmail/%n@%d
first_valid_uid = 21
first_valid_gid = 1
protocol imap {
mail_plugin_dir = /usr/lib/dovecot/modules/imap
}
protocol pop3 {
mail_plugin_dir = /usr/lib/dovecot/modules/pop3
}
protocol managesieve {
}
protocol lda {
mail_plugin_dir = /usr/lib/dovecot/modules/lda
}
auth_username_format = %Ln@domain.in.ua
auth_debug = yes
auth default {
mechanisms = plain
passdb sql {
args = /etc/dovecot/dovecot-sql.conf
}
userdb sql {
args = /etc/dovecot/dovecot-sql.conf
}
user = root
}
dict {
}
plugin {
}

/etc/dovecot/dovecot-sql.conf



driver = mysql
default_pass_scheme = MD5-CRYPT
#PLAIN
connect = host=127.0.01 dbname=postfix user=postfix password=mypass
password_query = SELECT username as user, password FROM mailbox WHERE username = '%n@domain.in.ua' AND active='1'
user_query = SELECT maildir AS home, 51 AS uid, 51 AS gid FROM mailbox WHERE username
= '%n@%d' AND active ='1'

Ссылки:
http://ss.lg.ua/node/1816
http://sadmin.pp.ua/pochtov....in.html
http://www.lissyara.su/article....ixadmin
http://trac.ungrund.org/system/browser/exim4/psu/exim4.conf

Відредаговано: Andrey123q - Сб, 25.12.2010, 13:56
Jokerz Дата: Нд, 26.12.2010, 16:57 | Повідомлення № 2
Хостер
Повідомлень: 1191
Нагороди: 4
Рейтинг: 97
я еще подключил spamassasin и GreyListing или как там,может написал с ошибками пишу по памяти.
Andrey123q Дата: Нд, 02.01.2011, 11:30 | Повідомлення № 3
Досвідчений учасник
Повідомлень: 1236
Нагороди: 3
Рейтинг: 84
Jokerz, что вы используете в Spamassassin: Байесовскую фильтрацию, обработку DNSBL, Sender Policy Framework, DomainKeys, DKIM, Razor ?
У Вас и почтовик наверное посерьезнее, тысячи адресов ?
Форум інформатиків » РОЗДІЛ ІХ: ІНТЕРНЕТ, МЕРЕЖІ, ХОСТІНГ » 9.8 Рубрика системного адміністратора » Настройка почтового сервера Exim (советы по оптимизации)
Сторінка 1 з 11
Пошук:


© Форум інформатиків України, 2007-2017.