Greylisting — это метод защиты пользователей электронной почты от спама . Агент передачи почты (MTA), использующий greylisting, будет «временно отклонять» любое письмо от отправителя, которого он не распознает. Если письмо является легитимным, исходный сервер повторит попытку после задержки, и если прошло достаточно времени, письмо будет принято.
Сервер, использующий серый список, временно отклоняет электронную почту из неизвестных или подозрительных источников, отправляя коды ответа 4xx («перезвоните позже»), как определено в протоколе Simple Mail Transfer Protocol (SMTP). Ожидается, что полнофункциональные реализации SMTP будут поддерживать очереди для повторных попыток передачи сообщений в таких случаях [1] , и поэтому, хотя законная почта может задерживаться, она все равно должна дойти. [2]
Временное отклонение может быть выдано на разных этапах диалога SMTP, что позволяет реализации сохранять больше или меньше данных о входящем сообщении. Компромисс заключается в большем объеме работы и пропускной способности для более точного сопоставления повторных попыток с исходными сообщениями. [3] Отклонение сообщения после получения его содержимого позволяет серверу сохранять выбор заголовков и/или хэш тела сообщения. [ необходима цитата ]
В дополнение к внесению в белый список хороших отправителей, greylister может предоставлять исключения . Greylisting обычно можно переопределить с помощью полностью проверенного соединения TLS с соответствующим сертификатом. Поскольку у крупных отправителей часто есть пул машин, которые могут отправлять (и повторно отправлять) электронную почту, IP-адреса, которые имеют самые значимые 24 бита (/24), считаются эквивалентными, или в некоторых случаях записи SPF используются для определения пула отправки. Аналогично, некоторые системы электронной почты используют уникальные обратные пути для каждого сообщения, например, переменный обратный путь конверта (VERP) для списков рассылки, схему перезаписи отправителя для пересылаемой электронной почты, проверку тега адреса возврата для защиты от обратного рассеивания и т. д. Если требуется точное совпадение адреса отправителя, каждое электронное письмо из таких систем будет задерживаться. Некоторые системы greylisting пытаются избежать этой задержки, исключая переменные части VERP , используя только домен отправителя и начало локальной части адреса отправителя. [ необходима ссылка ]
Greylisting эффективен против инструментов массовой рассылки писем, используемых спамерами, которые не ставят почту в очередь и не пытаются ее повторно доставить, как это обычно делает обычный почтовый транспортный агент . Задержка доставки также дает черным спискам в реальном времени и аналогичным спискам время для идентификации и пометки источника спама. Таким образом, эти последующие попытки с большей вероятностью будут определены как спам другими механизмами, чем до задержки greylisting. [ необходима цитата ]
Главное преимущество с точки зрения пользователя заключается в том, что серый список не требует дополнительной пользовательской настройки. Если сервер, использующий серый список, настроен соответствующим образом, конечный пользователь заметит задержку только при первом сообщении от определенного отправителя, при условии, что отправляющий почтовый сервер идентифицирован как принадлежащий к той же белой группе, что и предыдущие сообщения. Если почта от одного и того же отправителя неоднократно попадает в серый список, возможно, стоит обратиться к администратору почтовой системы с подробными заголовками задержанной почты. [ необходима цитата ]
С точки зрения администратора почты, преимущество двоякое. Greylisting требует минимальной настройки для запуска и работы с периодическими изменениями любых локальных белых списков. Второе преимущество заключается в том, что отклонение электронной почты с временной ошибкой 451 (фактический код ошибки зависит от реализации) очень дешево с точки зрения системных ресурсов. Большинство инструментов фильтрации спама очень интенсивно используют ресурсы ЦП и памяти. Останавливая спам до того, как он попадет в процессы фильтрации, используется гораздо меньше системных ресурсов. [ необходима цитата ]
Самый большой недостаток серых списков заключается в том, что для нераспознанных серверов они разрушают почти мгновенную природу электронной почты, которую ожидают пользователи. Почта с нераспознанных серверов обычно задерживается примерно на 15 минут и может задерживаться до нескольких дней для плохо настроенных систем отправки. Объяснение этого пользователям, привыкшим к немедленной доставке электронной почты, вероятно, не убедит их в том, что почтовый сервер, использующий серые списки, ведет себя правильно. [ необходима цитата ]
Это может быть особой проблемой для веб-сайтов, которые требуют создания учетной записи и подтверждения адреса электронной почты перед их использованием, или когда пользователь почтового сервера Greylisting пытается сбросить свои учетные данные на веб-сайте, который использует подтверждение сброса пароля по электронной почте. Если отправляющий MTA сайта плохо настроен, Greylisting может задержать отправку первоначальной ссылки на электронную почту. В крайних случаях задержка доставки, вызванная Greylister, может превышать срок действия токена сброса пароля, отправленного по электронной почте. В этих случаях может потребоваться ручное вмешательство для внесения почтового сервера веб-сайта в белый список, чтобы электронное письмо, содержащее токен сброса, можно было использовать до истечения срока его действия. [ необходима цитата ]
Когда почтовый сервер занесен в серый список, продолжительность времени между первоначальной задержкой и повторной передачей является переменной; сервер серого списка не контролирует и не видит задержку. [4] SMTP говорит, что интервал повтора должен быть не менее 30 минут, в то время как время отказа должно быть не менее 4–5 дней; [1] но фактические значения сильно различаются в зависимости от программного обеспечения почтового сервера. [5]
Современные приложения для работы с серыми списками (например, Postgrey для операционных систем типа Unix) автоматически вносят в белый список отправителей, которые доказали свою способность восстанавливаться после временных ошибок, [6] независимо от предполагаемой спам-склонности отправителя. [ необходима ссылка ]
Реализация также обычно включает возможность вручную добавлять некоторые почтовые серверы в белый список. [ необходима цитата ]
Один из анализов грейлистинга 2007 года считает его совершенно нежелательным из-за задержки отправки почты и ненадежным, поскольку, если грейлистинг станет широко распространенным, спамеры смогут адаптировать свои системы, чтобы обойти его. Вывод заключается в том, что цель грейлистинга — сократить объем спама, который необходимо анализировать серверному программному обеспечению для фильтрации спама, что требует больших ресурсов, и сэкономить деньги на серверах, а не уменьшить количество спама, достигающего пользователей. Вывод: «[Грэйлистинг] очень, очень раздражает. Гораздо раздражает больше, чем спам». [7]
Текущая спецификация SMTP (RFC 5321) четко гласит, что «клиент SMTP сохраняет ответственность за доставку этого сообщения» (раздел 4.2.5) и «сообщение, которое не может быть передано немедленно, ДОЛЖНО быть поставлено в очередь и периодически повторяться отправителем» (раздел 4.5.4.1). Поэтому большинство MTA будут ставить в очередь и повторять сообщения, но небольшое количество этого не делает. [2] [4] [8] Обычно они обрабатываются с помощью белых списков или списков исключений. [ необходима цитата ]
Кроме того, законная почта может не быть доставлена, если повторная попытка исходит с другого IP-адреса, чем исходная попытка. Когда источником электронной почты является ферма серверов или она выходит через какой-либо другой вид ретрансляционной службы, вполне вероятно, что следующую попытку предпримет сервер, отличный от исходного. Для обеспечения отказоустойчивости сети их IP-адреса могут принадлежать к совершенно не связанным блокам адресов, тем самым игнорируя простую технику определения наиболее значимой части адреса. Поскольку IP-адреса будут разными, сервер получателя не сможет распознать, что серия попыток связана, и отклонит каждую из них по очереди. Это может продолжаться до тех пор, пока сообщение не выйдет из очереди, если количество серверов достаточно велико. Эту проблему можно частично обойти, проактивно идентифицируя такие фермы серверов как исключения. Аналогично, исключения должны быть настроены для многосетевых хостов и хостов, использующих DHCP . [2] В крайнем случае отправитель может (законно) использовать другой адрес IPv6 для каждого исходящего SMTP-подключения. [ требуется цитата ]
Сервер-отправитель, подвергшийся серому списку, может также повторно попытаться доставить почту на другой принимающий почтовый сервер, если принимающий домен имеет более одной записи MX. Это может вызвать проблемы, если все такие хосты не реализуют одну и ту же политику серого списка и не используют одну и ту же базу данных. [2]
, которые неоднократно показывают, что могут пройти серый список, заносятся в "белый список клиентов", для которого серый список больше не применяется.