Защита почты от спама и фишинга: актуальные угрозы и передовые решения. Основные способы защиты от спама Спам и методы защиты от него


Согласно статистике более 80ти процентов вредоносных программ проникают в локальную сеть именно через электронную почту. Лакомым куском для хакеров служит и сам почтовый сервер – получив доступ к его ресурсам, злоумышленник получает полный доступ к архивам электронных писем и спискам электронных адресов, что позволяет получить достаточно много информации о жизнедеятельности фирмы, ведущихся в ней проектах и работах. В конце концов даже списки электронных адресов и контактов могут быть проданы спамерам или использованы для дискредитации компании путем проведения атак на эти адреса или составления поддельных писем.

Спам является на первый взгляд гораздо меньшей угрозой, чем вирусы. Но:

  • большой поток спама отрывает сотрудников от выполнения их задач и приводит к увеличению непроизводственных расходов. По некоторым данным после прочтения одного письма сотруднику требуется до 15ти минут для вхождения в рабочий ритм. Если же в день приходит более сотни нежелательных сообщений, то их необходимость их просмотра существенно нарушает текущие планы работы;
  • спам способствует проникновению в организацию вредоносных программ, замаскированных под архивы либо использующих уязвимости почтовых клиентов;
  • большой поток писем, проходящих через почтовый сервер, не только ухудшает его работоспособность, но и приводит к уменьшению доступной части канала интернет, росту расходов на оплату этого трафика.

С помощью спама могут быть проведены и некоторые виды атак, использующих методы социальной инженерии, в частности фишинговые атаки, когда пользователю приходят письма, замаскированные под сообщения от вполне легальных лиц либо организаций, с просьбой совершить какие-либо действия – например, ввести пароль к своей банковской карте.

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

Описание решения

Предлагаемое решение по защите почтовой системы предприятия обеспечивает:

  • защиту от компьютерных вирусов и другого вредоносного программного обеспечения, распространяемого с помощью электронной почты;
  • защиту от спама, как поступающего в компанию по электронной почте, так и распространяемого по локальной сети.

В качестве дополнительных модулей системы защиты могут быть установлены модули;

  • защиты от сетевых атак на почтовый сервер;
  • антивирусной защиты самого почтового сервера.

Компоненты решения

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

  • принятой в компании политики информационной безопасности;
  • использующихся в компании операционных систем, средств управления, систем защиты;
  • ограничений бюджета.

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

В качестве примеров приведем варианты “Экономичный” и “Стандартный”

Вариант “Экономичный” построен на базе операционной системы Линукс и максимального использования свободных продуктов. Состав варианта:

  • подсистема защиты от вирусов и спама на основе продуктов компаний Лаборатория Касперского, Dr.Web, Symantec. В случае использования в компании демилитаризованной зоны рекомендуется вынести систему защиты почтового трафика в нее. Необходимо отметить, что продукты, предназначенные для работы в демилитаризованной зоне, обладают большим функционалом и большими возможностями по обнаружению спама и атак, чем стандартные, что улучшает защищенность сети;
  • подсистема межсетевого экранирования на основе стандартных для операционной системы Линукс файервола iptables2 и средств управления;
  • подсистема обнаружения атак на основе Snort.

Анализ защищенности почтового сервера может быть поведен с помощью Nessus

В решение на базе варианта “Стандартный” входят следующие подсистемы:

  • подсистема защиты сервисов почтового сервера и почтового шлюза от вредоносных программ на базе решений от Лаборатории Касперского, Dr.Web, Eset, Symantec или Trend Micro;
  • подсистема межсетевого экранирования и обнаружения атак на базе Kerio Firewall ли Microsoft ISA.

Анализ защищенности почтового сервера может быть поведен с помощью XSpider

Оба приведенных варианта по умолчанию не включают в себя модулей защиты мгновенных сообщений и веб-почты
Как вариант “Экономичный ”, так вариант “Стандартный ” могут быть реализованы на основе сертифицированных ФСБ и ФСТЕК программных продуктов, что позволяет поставлять их в государственные учреждения и компании с повышенным уровнем требований к безопасности.

Преимущества предлагаемого решения

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

Необходимо отметить, что полноценная система защита может функционировать только, если в компании действуют политика информационной безопасности и ряд других документов. В связи с этим компания Azone IT предлагает услуги не только по внедрению программных продуктов, но и по разработке нормативных документов и проведению аудита.

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

Введение в проблему

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

Ранее испытанные способы защиты

Самую большую угрозу почтовым ящикам представляют программы, качающие сайты и берущие из текста страниц почтовые адреса. Они качают либо только ваш сайт, либо бродят, как поисковые системы, по всей сети. Если ваш сайт небольшой, вполне достаточно защиты такой автозаменой текста:

]+href=)([""]?)mailto:(+)()@".
"()(+.{2,4})2([ >])~i", "1"mailto:[email protected]"
onMouseover="this.href="mai" + "lto:3" + "4" + "%40" + "5" + "6";"7", $text); ?>

К сожалению, она не сработает, если у вас большой сайт. Скажем, spectator.ru, автор которого одним из первых стал использовать этот метод. Будь я спамером, я бы залез в персональные настройки, поставил галочки "не показывать ушки", 1000 отзывов на странице, и отловил куки Proxomitron’ом. Потом качалкой или php-скриптом выкачал бы страницы с комментариями (подставив куки с настройками) и при помощи регулярного выражения выловил адреса. Получил бы небольшую базу для рекламной рассылки.

Была ещё пара способов защиты, в которых ссылка mailto: автоматически заменяется на кукую-либо другую, но эффект оставался прежний - при нажатии на неё системный клиент создавал бы письмо по нужному адресу. Оба они не выдержали критики.

Знакомьтесь: ежовые рукавицы

Очевидно, сложно придумать другой способ защиты кроме уже испытанного - предоставления формы на сайте для отправки сообщения. Займёмся её проектированием. Достоинства способа очевидны: никто уже не сможет достать из вашего сайта адреса для своей спамерской базы данных. Отсылать сообщения, спрятав свой адрес, как это делают спамеры, не получится - веб-сервер зафиксирует его IP-адрес. Списки публичных анонимных прокси-серверов регулярно обновляются, и заблокировать доступ с них легко.

Формоотправитель

Начнём именно с него, потому что это самая сложная часть.

Устанавливая формоотправитель на сайте, важно защитить его от хулиганских атак, которые могут быть ничуть не легче спама. Поэтому нам придётся приложить большие усилия в этом направлении.

Во-первых, защитимся от глупых двойных нажатий и отправки множества одинаковых запросов. Идея такова: сообщение не будет отправлено, если перед этим пользователь не открыл страницу с формой, а, открыв страницу с формой, можно отправить сообщение только один раз. Сделать это можно при помощи встроенных в PHP сессий. При открытии страницы с формой мы запустим сессию, в которую сохраним переменную, скажем $flag. Идентификатор сессии выведем как спрятанный элемент в самом конце формы. Пользователь вводит сообщение и отправляет форму. Получая форму, скрипт запускает сессию и проверяет наличие и значение переменной $flag. Если переменная не существует, значит это повторное нажатие, письмо не отсылается и выдаётся сообщение об ошибке. Если переменная есть, и данные формы нас устроили (заполнены нужные поля), скрипт отсылает письмо и удаляет сессию.

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

* отправлять сообщения по одному и тому же адресу чаще определенного периода
* отправлять один и тот же текст по разным адресам
* и просто слишком часто пользоваться формоотправителем - скажем, не более 10 сообщений в сутки на одного пользователя

ID сессии выводим в самом конце формы, чтобы хакеру требовалось скачивать всю форму и разбирать её, что сложнее, чем просто отправлять HTTP-запросы. Естественно, формоотправитель будет выдавать сообщения об ошибках в написании сообщения, требование указать обратный адрес и т.п.

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

Замена адресов в тексте

Теперь формоотправитель готов, и нужно заменить все email`ы на ссылки на него. Конечно же, вручную делать этого не стоит. Для себя я написал скрипт, автоматически заменяющий адреса на ссылки к формоотправителю.

…Минусы: большее время на расстановку ссылок (компенсирующееся каталогом ссылок), пользователь, наводя курсор на ссылку, не видит, по какому адресу он попадет. (Дмитрий Смирнов, "Идеальный авторский проект, гипертекстуальность")

Все упомянутые минусы легко устранимы, если использовать код аналогичный тому, который я сейчас опишу и покажу.

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

Итак, что делает заменитель адресов. Он ищет в тексте ссылки "mailto:", выбирает из них адреса, отправляет запрос в базу, чтобы подсчитать (count(*)), сколько адресов из тех, что на странице, есть в специальной таблице. Если на странице новые адреса, то их число будет больше, чем результат запроса. В таком случае делается запрос, в котором выбираются значения адресов, и уже существующие в таблице исключаются из списка. Оставшийся список отправляется в таблицу INSERT-запросом.

Что касается ID адресов, то, на мой взгляд, лучше использовать что-то, что посетитель сайта не мог бы подобрать. Представляете, на формоотправитель ведёт ссылка /email.php?id=10 ? Какой соблазн подставить туда 11, 12 и т.д. и попробовать отправить им всем сообщение. Поэтому в качестве идентификаторов я решил использовать md5-хэш от адресов. Подбирать хэш вряд ли кто возьмётся. В случае с каталогом ссылок можно обойтись и ID, но тогда придётся выбирать из базы все значения, а для замены адресов на их хэши всё гораздо проще.

Выполняется команда вида

]+href=)". "([""]?)mailto:(+@+". ".{2,4})2(.*?>)~ie", ""12"/email.php?email=". urlencode(md5("3")). ""4"", $text); ?>

…которая заменяет адреса на их хэши. Остальные адреса, находящиеся в тексте, я не решился заменять на ссылки, а сделал простую замену на адреса типа vasya_at_pupkin_dot_ru. Код автозаменителя так же есть в архиве.

Итог

Прятать почтовые адреса от посетителей довольно просто. Механизм автозамены не требует дополнительных усилий, и вы можете писать страницы сайта дальше, как будто бы ничего не произошло. Сложности возникают при защите формоотправителя от веб-хулиганов. Эта защита требует больших усилий и сложного кода, поэтому пока что я не стал использовать на сайте написанный код. Вы можете скачать архив с заменителем адресов и формоотправителем, только очень прошу: не ставьте его на свой сайт в том виде, в котором скачали, я сам не знаю, насколько надёжно он работает.

Какие существуют методы борьбы со спамом?

Существуют два основных метода защиты почтового сервера от спама: защита от поступления спама на этапе получения почтовым сервером и «отделение спама» от остальной почты уже после получения почтовым сервером.

Среди первого метода наиболее популярны такие способы как использование DNS Black List (DNSBL), Greylisting и различные задержки при отправке почты; использование различных технических средств, таких как проверка существования пользователя на отправляющей стороне (callback), проверка «правильности» отправляющего сервера такими методами как наличие записи в реверсной зоне DNS, легальности имени при установке SMTP-сессии (helo), проверка SPF записи (для работы этого в DNS записи о хосте используется соответствующая запись о легальных серверах отправителей).

Среди методики анализа содержимого письма наиболее популярны такие методы как проверка по различным алгоритмам, таким как поиск особых ключевых слов рекламного характера или на основе теоремы Бейеса. Алгоритм на основе теоремы Бейеса содержит в себе элементы теории вероятности, изначально обучается пользователем на письма которые по его мнению являются спамом и в дальнейшем отделяет по характерным признакам сообщения в которых содержится спам.

Итак, рассмотрим более подробно данные методы фильтрации электронной почты.

Черные списки или DNSBL (DNS Black Lists)

В черные списки заносятся адреса, с которых производится рассылка спама. Широко используются такие списки, как «открытые ретрансляторы» и «открытые прокси», и различные списки динамических адресов, которые выделяются провайдерами для конечных пользователей. Благодаря простоте реализации использование этих черных списков производится через службу DNS.

Серые списки или грейлистинг (Greylisting)

Принцип действия серых списков (Greylisting) основан на тактике рассылки спама. Как правило, спам рассылается в очень короткое время в большом количестве с какого-либо сервера. Работа серого списка заключается в намеренной задержке получения писем на некоторое время. При этом адрес и время пересылки заносится в базу данных серого списка. Если удалённый компьютер является настоящим почтовым сервером, то он должен сохранить письмо в очереди и повторять пересылку в течение пяти дней. Спам-боты, как правило, писем в очереди не сохраняют, поэтому спустя непродолжительное время, прекращают попытки переслать письмо. Экспериментальным путём установлено, что в среднем время рассылки спама составляет чуть больше часа. При повторной пересылке письма с этого же адреса, если с момента первой попытки прошло необходимое количество времени письмо принимается и адрес заносится в локальный белый список на достаточно длительный срок.

Анализ эффективности

Первые два метода позволяют отсеивать около 90% спама еще на этапе доставки в почтовый ящик. Уже доставленную почту можно разметить средствами анализа содержимого письма, например, используя программу SpamAssassin. Данный продукт позволяет на основе особых алгоритмов добавлять в заголовки письма соответствующие строки, а пользователь, на основе почтовых фильтров в почтовом клиенте, может отфильтровать почту в нужные папки почтовой программы.

Заключение

Разумеется, существуют и другие способы защиты от спама, наиболее действенными, к сожалению, на данный момент являются превентивные меры, такие как не оставлять свой реальный электронный почтовый ящик на сайтах, форумах и досках объявлений, используя для подобных нужд временные адреса, которые в последствии можно удалить, в случае необходимости публикации почтового ящика на сайте вместо текста использовать графическое изображение и тому подобные меры.

Подключить и настроить GreyListing вы можете через панель ISPmanager в разделе "Возможности"

Более подробно о настройке методов борьбы со спамом через панель управления Вы можете узнать здесь DNSBL и здесь Greylisting.

Черные списки

Черные списки включают IP-адреса, с которых производится рассылка спама.

Для настройки перейдите в раздел Защита от спама -> Черные списки и нажмите кнопку "Создать" . В поле Отправитель укажите IP-адрес почтового сервера (либо первые цифры из этого адреса), почтовый домен, либо отдельный адрес электронной почты, для которого пересылка почты будет запрещена (в зависимости от установленного почтового клиента форматы записи будут различаться).

Серые списки (Greylisting)

Принцип действия серых списков основан на тактике рассылки спама. Как правило, спам рассылается в очень короткое время в большом количестве с какого-либо сервера. Работа серого списка заключается в намеренной задержке получения писем на некоторое время. При этом адрес и время пересылки заносится в базу данных серого списка. Если удалённый компьютер является настоящим почтовым сервером, то он должен сохранить письмо в очереди и повторять пересылку в течение пяти дней. Спам-боты, как правило, писем в очереди не сохраняют, поэтому спустя непродолжительное время прекращают попытки переслать письмо. При повторной пересылке письма с этого же адреса, если с момента первой попытки прошло необходимое количество времени письмо принимается и адрес заносится в локальный белый список на достаточно длительный срок. Одним из недостатков метода является возможность возникновения задержки доставки почты от 15 минут и более, в зависимости от настроек сервера отправителя.

Настройка серых списков производится в модуле Greylisting , где необходимо указать требуемые параметры. Greylisting в панели ISPmanager работает через два приложения - Milter-greylisting и Postgrey, которые необходимо сначала активировать в разделе Возможности .

Блокировка dnslb

DNSBL (DNS blacklist) - списки хостов, хранимые с использованием системы DNS. Почтовый сервер обращается к DNSBL и проверят в нем наличие IP-адреса, с которого он принимает сообщение. Если адрес находится в этом списке, то оно не принимается сервером, а отправителю отсылается соответствующее сообщение

В разделе Защита от спама выберите Блокировка dnsbl , нажмите кнопку "Создать" и добавьте новый список блокировки dnsbl. В поле Список блокировки укажите доменное имя списка блокировки. С этого сервера будет запрашиваться информация о наличии того или иного почтового сервера в чёрном списке.

Здесь вы можете найти самые распространенные списки блокировки: http://www.dnsbl.info/dnsbl-list.php

Лимит сообщений

Еще один способ борьбы со спамом - это установка ограничения на количество сообщений.

Данный функционал доступен, если у вас установлен Exim.

SpamAssasin

Программа SpamAssasin (SA) позволяет произвести анализ содержимого уже доставленного письма. Вы можете добавить в заголовки письма соответствующие строки, а пользователь, на основе почтовых фильтров в почтовом клиенте, может отфильтровать почту в нужные папки почтовой программы.

Чтобы иметь возможность использовать SA в панели ISPmanager, активируйте его в модуле Возможности . По умолчанию, после активации будет включена функция автоматического самообучения, но, помимо этого, эффективность задержания спама, можно значительно повысить с помощью «ручного» обучения фильтра .

Настройка почтового ящика и почтового домена

Для полного отключения проверки на Greylisting для какого-либо адреса или домена получателя (например, если вы не хотите, чтобы почта подвергалась данной проверке) перейдите в модуль

Для защиты почтовых серверов применяются следующие технологии:

Существуют два основных метода защиты спама: защита от поступления спама на этапе получения почты сервером и отделение спама от остальной почты после получения.

Чёрные списки. В черные списки заносятся IP-адреса, с которых производится рассылка спама.

Серые списки или грейлистинг. Принцип действия серых списков основан на тактике рассылки спама. Как правило, спам рассылается в очень короткое время в большом количестве с какого-либо сервера. Работа серого списка заключается в намеренной задержке получения писем на некоторое время. При этом адрес и время пересылки заносится в базу данных серого списка. Если удалённый компьютер является настоящим почтовым сервером, то он должен сохранить письмо в очереди и повторять пересылку в течение пяти дней. Спам-боты, как правило, писем в очереди не сохраняют, поэтому спустя непродолжительное время прекращают попытки переслать письмо. При повторной пересылке письма с этого же адреса, если с момента первой попытки прошло необходимое количество времени письмо принимается и адрес заносится в локальный белый список на достаточно длительный срок.

DNSBL (DNS blacklist) – списки хостов, хранимые с использованием системы DNS. Почтовый сервер обращается к DNSBL и проверят в нем наличие IP-адреса, с которого он принимает сообщение. Если адрес находится в этом списке, то оно не принимается сервером, а отправителю отсылается соответствующее сообщение

Лимит сообщений . Установка ограничения на количество сообщений.

Программа SpamAssasin (SA) позволяет произвести анализ содержимого уже доставленного письма. SpamAssassin поставляется с большим набором правил, которые определяют, какие письма являются спамом, а какие нет. Большинство правил основано на регулярных выражениях, которые сопоставляются телу или заголовку сообщения, но SpamAssassin также использует и другие методики. В документации SpamAssassin эти правила называются «tests».

Каждый тест имеет некоторую «стоимость». Если сообщение успешно проходит тест, эта «стоимость» добавляется к общему баллу. Стоимость может быть положительной или отрицательной, положительные значения называются «spam», отрицательные «ham». Сообщение проходит через все тесты, подсчитывается общий балл. Чем выше балл, тем больше вероятность, что сообщение является спамом.

У SpamAssassin"а есть настраиваемый порог, при превышении которого письмо будет классифицировано как спам. Обычно порог таков, что письмо должно подойти по нескольким критериям; срабатывание только одного теста недостаточно для превышения порога.

Для защиты сайтов от спама используются следующие технологий:

1. Каптча-картинка . Т.е. пользователю показывается произвольный текст, который пользователь должен ввести для совершения какого-либо действия.

2. Текстовые каптчи – абонент должен ввести ответ на предложенный вопрос, для подтверждения своих действий.

3. Интерактивная каптча – мало распространённый, но очень полезный вид защиты. Например, пользователя для подтверждения действий, попросят решить легкий паззл-головоломку – например собрать картинку из трех-четырех частей.







2024 © gtavrl.ru.