Лабораторная работа №13. Антиспам (ASSP)

Основные теоретические сведения

Цель: Изучить работу почтового сервера, получить практические навыки работы по защите от спама.

Почтовый сервер, сервер электронной почты, мейл-сервер — в системе пересылки электронной почты так обычно называют агент пересылки сообщений (англ. mail transfer agent, MTA). Это компьютерная программа, которая передаёт сообщения от одного компьютера к другому. Обычно почтовый сервер работает «за кулисами», а пользователи имеют дело с другой программой — клиентом электронной почты (англ. mail user agent, MUA).

Спам (англ. spam) — рассылка коммерческой и иной рекламы или подобных коммерческих видов сообщений лицам, не выражавшим желания их получать. Также, название распространяемых материалов. Распространителей спама называют спамерами.

В общепринятом значении термин «спам» в русском языке впервые стал употребляться применительно к рассылке электронных писем. Незапрошенные сообщения в системах мгновенного обмена сообщениями (например, ICQ) носят название SPIM (англ.)русск. (англ. Spam over IM).

Доля спама в мировом почтовом трафике составляет от 60% (2006) до 80% (2011). Самый большой поток спама распространяется через электронную почту. В настоящее время доля вирусов и спама в общем трафике электронной почты составляет по разным оценкам от 70 до 95 процентов

Anti-Spam SMTP Proxy (ASSP) - это ПО с открытым исходным текстом, платформонезависимый SMTP прокси сервер, в котором реализованы белые списки и фильтрация на основании теоремы Байеса.

Антиспамовый сервер собирает письма со спамом и нормальную почту, потом на основании вероятности встречи слов из анализируемого письма в каждой из коллекций (спам или не-спам) сервер делает вывод о том, является ли письмо спамом или нет.

Другие возможности ASSP:

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

Задания к лабораторной работе

  • На две виртуальные машины установить почтовый сервер Zimbra Collaboration Server. (На странице загрузки, можете посмотреть, какие системы поддерживаются)
  • Установите зависимости <sudo apt-get install libgmp10 libperl5.18 unzip pax sysstat sqlite3 dnsmasq wget libaio1>
  • Откройте <nano /etc/hostname>. Измените имя хоста на «mail.sit.local»
  • Узнайте ip-адрес <ifconfig>.
  • Откройте <sudo nano /etc/hosts>. Добавьте строку «192.168.1.113 mail.sit.local mail» , где 192.168.1.113 ваш ip-адрес.
  • Откройте <sudo nano /etc/dnsmasq.conf> И добавьте туда:

server=192.168.1.113

domain=sit.local

mx-host=sit.local, mail.sit.local, 5

mx-host=mail.sit.local, mail.sit.local, 5

listen-address=127.0.0.1

  • Перезагрузите виртуальную машину <sudo reboot>
  • Скачайте Zimbra для своей системы https://www.zimbra.com/downloads/zimbra-collaboration-open-source
  • Извлеките архив и перейдите в паку, которую извлекли из архива.
  • Запустите установку. <sudo ./install.sh>
  • Согласитесь с лицензионным соглашением. Y.
  • Устанавливайте все пакеты ( Выбираете Y), кроме zimbra-dnscache (Выбирайте N, так как уже используем dnsmask).
  • Когда появится меню введите 6 и нажмите Enter.
  • Введите 4 и нажмите Enter, введите пароль администратора, минимум 6 символов.
  • Введите r и нажмите Enter, для возврата в главное меню, затем введите a и нажмите Enter, чтобы принять изменения.
  • На запросы «Save configuration data to a file» и «The system will be modified - continue?» введите y.
  • Ждите пока Zimbra не установится
  • Чтобы проверить работу, можете ввести <su - zimbra> <zmcontrol status>.
  • Подключитесь к Zimbra в браузере https://192.168.1.113/ или к странице администратора https://192.168.1.113:7071/
  • На одну из виртуальных машин, для защиты от спама, установите ASSP (Anti-Spam SMTP Proxy Server). http://sourceforge.net/projects/assp/ . Скачайте и разархивируйте ASSP.
sudo apt-get install build-essential pmtools libterm-readline-perl-perl libterm-readline-gnu-perl libyaml-perl libtext-glob-perl libnumber-compare-perl libio-compress-perl libemail-mime-perl libemail-send-perl libemail-valid-perl libfile-readbackwards-perl libwww-perl libmime-types-perl libmail-dkim-perl libmail-spf-perl libmail-srs-perl libnet-cidr-lite-perl libnet-dns-perl libnet-ldap-perl libnet-smtp-server-perl libthreads-perl libthread-queue-any-perl libtie-dbi-perl libschedule-cron-perl libio-socket-ssl-perl libdbd-anydata-perl libdbd-csv-perl libdbd-ldap-perl libdbd-mock-perl libdbd-odbc-perl libdbd-mysql-perl libfile-find-rule-perl libfile-slurp-perl libfile-which-perl libfile-chmod-perl liblinux-usermod-perl libcrypt-rc4-perl libtext-pdf-perl libsmart-comments-perl libcam-pdf-perl libpdf-api2-perl imagemagick perlmagick poppler-utils xpdf libauthen-sasl-perl libnet-snmp-perl libsnmp-base libsnmp-dev libsnmp-perl snmp libsnmp-*-perl libsnmpkit-dev libregexp-optimizer-perl libnet-smtp-tls-perl liblingua-stem-snowball-perl liblingua-identify-perl unzip libberkeleydb-perl

sudo apt-get install tesseract-ocr tesseract-ocr-*

sudo apt-get install libmodule-signature-perl libtest-pod-perl libtest-pod-coverage-perl libarchive-zip-perl

sudo apt-get install libssl-dev

sudo cpan

[…]

Would you like to configure as much as possible automatically? [yes]

[…]

Would you like me to automatically choose some CPAN mirror

sites for you? (This means connecting to the Internet) [yes]

cpan> install Test::Perl::Critic

cpan> install CPAN

cpan> reload cpan

cpan> force install Mail::SPF::Query

cpan> install Net::IP::Match::Regexp Net::SenderBase Net::Syslog Thread::State Sys::MemInfo Crypt::CBC Crypt::OpenSSL::AES DBD::Log DBD::MVS_FTPSQL DBD::Multiplex DBD::Ovrimos DBD::PgPP DBD::Sprite DBD::Template DBD::mysqlPP DBIx::AnyDBD LEOCHARRE::DEBUG LEOCHARRE::CLI PDF::Burst Image::OCR::Tesseract PDF::GetImages PDF::OCR PDF::OCR2 Mail::DKIM::Verifier Convert::Scalar Unicode::GCString Sys::CpuAffinity

cpan> exit

sudo apt-get install clamav clamav-daemon

sudo freshclam

sudo /etc/init.d/clamav-daemon start

sudo apt-get install libfile-scan-perl

sudo cpan

cpan[1]> test File::Scan::ClamAV

cpan[1]> look File::Scan::ClamAV

/.cpan/build/File-Scan-ClamAV-1.91-Ik8fWD# make install

/.cpan/build/File-Scan-ClamAV-1.91-Ik8fWD# exit

cpan[1]> exit

Скачайте ASSP и настройте его:

http://sourceforge.net/projects/assp/

unzip ASSP_2.3.3_13137_install.zip

sudo mkdir -p /usr/share/assp

sudo mv -f assp/* /usr/share/assp

rm -rf assp ASSP_2.3.3_13137_install.zip Install.txt MacOSX-launchd.txt quickstart.txt Win32-quickstart-guide.txt

sudo chown -R nobody:nogroup /usr/share/assp

sudo chmod 755 /usr/share/assp/assp.pl

sudo nano /etc/init.d/assp
Contents:

===

#!/bin/sh -e

# Start or stop ASSP

#

# original version by Ivo Schaap <ivo@lineau.nl> had issues on Debian4. Modified by atramos.

#

### BEGIN INIT INFO

# Provides:          ASSP (Anti-Spam SMTP Proxy)

# Required-Start:    $syslog, $local_fs

# Required-Stop:     $syslog, $local_fs

# Default-Start:     2 3 4 5

# Default-Stop:      0 1 6

# Short-Description: Start ASSP

# Description:       Enable service provided by daemon.

### END INIT INFO

PATH=/bin:/usr/bin:/sbin:/usr/sbin

case “$1” in

start)

echo -n “Starting the Anti-Spam SMTP Proxy”

cd /usr/share/assp

perl assp.pl 2>&1 > /dev/null &

;;


stop)

echo -n “Stopping the Anti-Spam SMTP Proxy”

kill -9 ps ax | grep "perl assp.pl" | grep -v grep | awk '{ print $1 }'

;;

restart)

$0 stop || true

$0 start

;;

``*)``

echo “Usage: /etc/init.d/assp {start|stop|restart}”

exit 1

;;

esac

exit 0

===
  • sudo chmod 755 /etc/init.d/assp
  • sudo /usr/share/assp/assp.pl
  • Нажмите Ctrl+C
  • sudo update-rc.d assp defaults
  • sudo /etc/init.d/assp start
  • Переходим на http://antispam_host:55555
  • login:root
  • pass:nospam4me
  • Через машину без ASSP, отправляйте спам на машину с ASSP. Скриптов для генерации спама в интернете полно, но нужен такой, где можно использовать свой почтовый сервер (Например, можете использовать Social Engineer Toolkit). Посмотрите, как блокируется спам и как система обучается.

Вопросы к лабораторной работе

  1. Что такое почтовый сервер?
  2. Принцип работы почтового сервера.
  3. Что такое спам?
  4. Что такое ASSP?
  5. Как работает ASSP?
  6. Можно ли полностью защитить почтовый сервер от спама?
  7. Какие еще угрозы почтовому серверу существуют?
  8. Какие методы защиты почтового сервера существуют?

Составьте отчет о выполнении лабораторной работы.

Включите в него копии экрана и ответы на вопросы лабораторной работы.