Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Tema_7_6_Spiski_Kontrolya_Dostupa (1).doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
88.58 Кб
Скачать

Тестирование acl

   Опция командной строки “-bh” - предоставляет способ тестирования вашей конфигурации ACL локально, путём запуска поддельной сессии SMTP, с которой вы взаимодействуете. Хост “relay-test.mail-abuse.org” предоставляет сервис для проверки вашей релейной конфигурации (для получения дополнительных деталей, смотрите раздел 39.40).

Определение, когда используются acl

   Для использования ACL, вы должны назвать их в одной из релевантных опций, в главной части конфигурации. Эти опции:

Опция

Где используется

acl_not_smtp

ACL для не-SMTP сообщений

acl_smtp_auth

ACL для AUTH

acl_smtp_connect

ACL для начала SMTP соединения

acl_smtp_data

ACL после завершения DATA

acl_smtp_etrn

ACL для ETRN

acl_smtp_expn

ACL для EXPN

acl_smtp_helo

ACL для HELO или EHLO

acl_smtp_mail

ACL для MAIL

acl_smtp_mailauth

ACL для параметра AUTH команды MAIL

acl_smtp_mime

ACL для контентного сканирования MIME-частей

acl_smtp_predata

ACL в начале команды DATA

acl_smtp_quit

ACL для QUIT

acl_smtp_rcpt

ACL для RCPT

acl_smtp_starttls

ACL для STARTTLS

acl_smtp_vrfy

ACL для VRFY

   Например, если вы устанавливаете

acl_smtp_rcpt = small_acl

то небольшой ACL, определённый выше, используется каждый раз когда exim получает команду RCPT в диалоге SMTP. Большинство тестов политик для входящих сообщений может быть сделано по прибытии команды RCPT. Отклонение RCPT должно вызвать ошибку адреса получателя содержащегося в команде RCPT, тогда как отклонение в другой момент времени может вызвать дальнейшие попытки MTA доставить сообщение. Поэтому, рекомендуется, чтобы вы делали как можно больше тестов во время RCPT.

Не-SMTP ACL

   Не-SMTP ACL применяется ко всем входящим неинтерактивным сообщениям, т.е. к пакетному SMTP он применяется также как и к не-SMTP сообщениям. Эта ACL работает лишь до функции“local_scan()”. Любые виды отклонения сообщений рассматриваются как постоянные, поскольку нет способа послать код временнной ошибки для этих видов сообщений. Многие условия ACL (например, проверки хостов, и проверки состояния SMTP-соединения - типа шифрования и аутентификации) неуместны и запрещены в этой ACL.

Acl подключения

   Проверка ACL заданная путём “acl_smtp_connect” происходит после теста заданного“host_reject_connection” (который, теперь, является аномалией) и любых сконфигурированных тестов TCP Wrappers.

ACL DATA

   Две ACL ассоциированны с командой DATA, поскольку это - двухстадийная команда, с двумя ответами посылаемыми клиенту. Когда получена команда DATA, обрабатывается ACL заданная путём“acl_smtp_predata”. Это даёт вам контроль после всех команд RCPT, но до получения самого сообщения. Этим даётся возможность дать отрицательный ответ на команду DATA до того, как переданы даные. Строки заголовков добавляемые путём MAIL или RCPT ACL невидимы в это время, но любые, которые тут заданы, видимы при работе ACL “acl_smtp_data”.    Вы не можете проверить содержимое сообщения, например, для проверки адресов в заголовках во время RCPT, или когда получена команда DATA. Такие тесты должны быть в ACL которая работает после получения сообщения, до посылки финального ответа на DATA.    Для обоих этих ACL, невоозможно отклонить индивидуальных получателей. Ответ о ошибке отклоняет всё сообщение. К сожалению, известны MTA, которые некорректно обрабатывают жёсткий (5xx) ответ на команду DATA (до или после данных) - они пытаются оставить сообщение в своей очереди, и пробуют доставить его позже, но - это их проблема, хотя они впустую тратят ваши ресурсы.

ACL MIME

   Опция “acl_smtp_mime” доступна лишь когда exim собран с расширением контентного сканирования. Для деталей, обратитесь к главе 40.

ACL QUIT

   ACL для SMTP-команды QUIT, является аномальной, результат ACL не затрагивает код ответа на QUIT, который всегда 221. Таким образом, фактически, ACL не управляет каким-либо доступом. Поэтому, разрешены лишь имена команд “accept” и “warn”.    Эта ACL может быть использована для задач типа специального логгинга конца SMTP-сессии. Например, вы можете использовать переменные ACL в другом ACL для подсчёта числа сообщений, получателей и т.п., и логгировать общее время QUIT используя один или более модификаторов“logwrite” в команде “warn”.    Предупреждение: Для этого могут использоваться лишь переменные “$acl_cx”, поскольку переменные “$acl_mx” сбрасываются после каждого входящего сообщения.    Вам не нужно ставить в конце “accept”, но если вы так поступаете, вы можете использовать модификатор “message”, для задания собственного текста, который посылается как часть 221 ответа на QUIT.    Эта ACL запускается лишь для “нормального” QUIT. Для определённых случаев катастрофических ошибок (например, ошибки открытия лог-файла, или когда exim паадет в результате катастрофической ошибки), все SMTP команды от клиента получают ответ о временной ошибке, пока не будет передана команда QUIT, или соединение не закроется. В этих специальных случаях, ACL QUIT не запускается.