Бруй В.В., Карлов С.В. - Linux-сервер - пошаговые инструкции - инсталляции и настройки (1077321), страница 87
Текст из файла (страница 87)
В рассматриваемом примере регистрируются все события, связанные с почтовым сервером. Это означает, что если выпосылаете, получаете, отправляете и т. д. почту, то все действия будут зарегистрированы в файле/var/log/maillog.Строка:allow_domain_literals = falseиспользуется для запрещения обработки почтовых адресов в формате mailbox@212.111.80.33, который может быть использован для рассылки спама, задействуя ваш почтовый сервер.Строка:never_users = root:daemon:bin:sync:namedопределяет список локальных пользователей, которым запрещено получать почту. В рассматриваемом примере пользователи root, daemon, bin, sync и named не смогут получать почту.
Для доставки служебныхсообщений, адресованных этим пользователям, используется файл /etc/mail/aliases.Строка:host_lookup = *указывает на необходимость преобразования всех IP-адресов, содержащихся в заголовках входящей почты,в имена хостов. Эта опция снижает производительность почтового сервера. На сильно загруженных серверах эта строка должна быть закомментирована.Строка:trusted_users = mailопределяет список пользователей, от имени которых запущенны процессы, которые имеют возможность отправлять сообщения без указания поля Sender. Эта опция используется для обеспечения нормальной работы антивирусного и антиспамерского программного обеспечения. Элементы списка пользователей разделяются двоеточием.Строки:gecos_pattern = ^([^,:]*)gecos_name = $1обеспечивают добавление в заголовки сообщений дополнительных сведений, содержащихся в поле gecos.Строка:freeze_tell = postmasterуказывает на необходимость сообщения на некоторый почтовый адрес - в рассматриваемом примереpostmaster@test.bruy.info - о «замороженных» сообщениях (т.
е. сообщениях, которые невозможно доставить).Строка:auto_thaw = 1hопределяет интервал времени, по истечении которого производится повторная попытка доставки «замороженного» сообщения.Строка:ignore_bounce_errors_after = 30mопределяет интервал времени, по истечении которого производится повторная попытка доставки «замороженного» сообщения с игнорированием всех ошибок.Строка:timeout_frozen_after = 7dопределяет интервал времени, в течение которого «замороженные» сообщения должны быть удалены.Строки:received_header_text = "Received: \${if def:sender_rcvhost {from ${sender_rcvhost}\n\t}\{${if def:sender_ident {from ${sender_ident} }}\${if def:sender_helo_name {(helo=${sender_helo_name})\n\t}}}}\by ${primary_hostname} \382Часть 7.
Программное обеспечение для организации службы электронной почты${if def:received_protocol {with ${received_protocol}}} \(Exim ${version_number} #${compile_number})\n\t\id ${message_id}\${if def:received_for {\n\tfor <$received_for>}}"определяют содержание заголовков, добавляемых к каждому входящему сообщению.Строка:system_filter = /etc/mail/system-filterопределяют имя и местоположение файла, содержащего фильтры, используемые для блокирования доставкинежелательных сообщений.Строка:message_body_visible = 5000определяет максимальное количество строк сообщения, просматриваемое фильтрами.Строка:message_size_limit = 10Mопределяет максимально допустимый размер обрабатываемых сообщений.Строка:smtp_accept_max = 2048определяет максимальное число обрабатываемых подключений к SMTP-серверу.
На небольших почтовыхсерверах с целью предотвращения DoS-атак это значение следует уменьшить, например, до 512.Строка:smtp_connect_backlog = 256определяет максимальное число ожидаемых SMTP-соединений. В случае, если число установленных соединений превысит величину, определенную в этой строке, последующие попытки будут отменены на уровнеTCP/IP.Строка:queue_onlyотменяет немедленную доставку новых сообщений и помещает их в очередь.Строка:split_spool_directoryпредписывает разбить каталог для входящей почты на 62 подкаталога, что повышает производительностьсистемы.Строка:queue_run_max = 1определяет максимальное количество процессов, обслуживающих очередь.
Если установлено значениебольше единицы, то возможна одновременная обработка сообщений в очереди несколькими процессами.Строка:remote_max_parallel = 1определяет максимальное количество процессов, которые могут быть использованы для доставки сообщений. Если установлено значение больше единицы, то возможна одновременная доставка нескольких сообщений.Строки:rfc1413_hosts = *rfc1413_query_timeout = 0sповышают производительность сервера за счет запрета идентификационных соединений, описанных в RFC1413.Строки:smtp_banner = "Welcome on our mail server!\n\This system does not accept Unsolicited \Commercial Email\nand will blacklist \offenders via our spam processor.\nHave a \nice day!\n\n${primary_hostname} ESMTP Exim \${version_number} ${tod_full}"определяют содержание сообщения, получаемого удаленной системой при установке соединения с SMTPсервером.В разделе ACL CONFIGURATION описываются списки контроля доступа для входящих сообщений.Каждый раздел главного конфигурационного файла, кроме MAIN CONFIGURATION SETTINGS, начинается со строки, содержащей ключевое слово begin и название раздела.
Для рассматриваемого раздела это begin acl.Строка:check_recipient:начинает описание свода правил для входящих сообщений.Строка:Глава 27. Exim – почтовый транспортный агент383accept hosts = :разрешает прием сообщений, отправителем которых является локальный SMTP-сервер.Строка:denylocal_parts= ^.*[@%!/|]запрещает получать сообщения, содержащие в локальной части почтового адреса символы @, %, !, / и |.Эти символы практически никогда не используются в локальной части почтового адреса, но могут использоваться при попытках обхода правил блокирования сообщений.Строки:denysenders= *@dbm;/etc/mail/access.db : \dbm;/etc/mail/access.dbзапрещают получать сообщения с почтовых адресов, содержащихся в файле базы данных/etc/mail/access.db.Строка:require verify= senderзапрещает получать почту, если адрес отправителя не определен.Строки:denymessage= unrouteable addresshosts= !127.0.0.1/8:0.0.0.0/0!verify= recipientзапрещают получение сообщений, если они не адресованы локальному хосту, и запрещают проверку отправителя сообщения с локального хоста.Строки:accept domains= +local_domainsendpassmessage= unknown userverify= recipientразрешают прием входящих сообщений только для локального хоста в случае, когда пользователь, которомуадресовано сообщение, существует.Строка:accept hosts= +relay_hostsразрешает прием сообщений с внешних хостов, обслуживаемых конфигурируемым SMTP-сервером.Строки:accept hosts= +auth_relay_hostsendpassmessage= authentication requiredauthenticated = *разрешают прием сообщений откуда угодно, в случае успешной аутентификации.Строка:denymessage= relay not permittedслужит признаком окончания свода правил списка контроля доступа check_recipient.Строки:check_message:acceptразрешают прием сообщений, прошедших фильтрацию правилами, установленными в списке контроля доступа с именем check_recipient.Дополнительная информация об опциях, используемых в этом разделе, может быть получена из файла документации /var/tmp/exim-html-4.10/doc/html/spec_37.html.В разделе ROUTERS CONFIGURATION определяются способы обработки почтовых адресов и способы доставки сообщений.Строка:begin routersопределяет начало раздела.Строки:dnslookup:driver = dnslookupdomains = ! +local_domainstransport = remote_smtpignore_target_hosts = 0.0.0.0 : 127.0.0.0/8no_moreописывают маршрутизатор, предназначенный для определения имени удаленных хостов-отправителей сообщений.Строки:system_aliases:384Часть 7.
Программное обеспечение для организации службы электронной почтыdriver = redirectallow_failallow_deferdata = ${lookup{$local_part}lsearch{/etc/mail/aliases}}user = mailfile_transport = address_filepipe_transport = address_pipeописывают маршрутизатор, предназначенный для пересылки сообщений в соответствии с определеннымиранее псевдонимами.Строки:userforward:driver = redirectcheck_local_userfile = $home/.forwardno_verifyno_expncheck_ancestorallow_filtermodemask = 002file_transport = address_filepipe_transport = address_pipereply_transport = address_replyописывают маршрутизатор, предназначенный для отправки сообщений. При этом строка:file = $home/.forwardразрешает использование для перенаправления сообщений файлов .forward, находящихся в домашнихкаталогах пользователей.
Эти файлы также могут быть использованы для создания пользовательских фильтров, например, помещающих письма из спамерских рассылок в отдельный почтовый ящик или выполняющих функции автоответчика.Строки:localuser:driver = acceptcheck_local_usertransport = local_deliveryописывают маршрутизатор, предназначенный для доставки сообщений локальным пользователям.Дополнительная информация об опциях, используемых в этом разделе, может быть получена из файла документации /var/tmp/exim-html-4.10/doc/html/spec_14.html.В разделе TRANSPORTS CONFIGURATION определяются механизмы доставки сообщений адресатам.Строка:begin transportsопределяет начало раздела.Строки:remote_smtp:driver = smtpописывают транспорт, ответственный за доставку сообщений с помощью SMTP-соединений.Строки:local_delivery:driver = appendfilefile = /var/mail/$local_partdelivery_date_addenvelope_to_addreturn_path_addgroup = mailmode = 0600описывают транспорт, ответственный за локальную доставку сообщений в пользовательские почтовые ящики традиционного BSD-формата.Строки:address_pipe:driver = pipereturn_outputописывают транспорт, ответственный за доставку сообщений в соответствии с настройками псевдонимов ифайлами $home/.forward.Глава 27.