Лабораторная работа №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). Посмотрите, как блокируется спам и как система обучается.
Вопросы к лабораторной работе¶
- Что такое почтовый сервер?
- Принцип работы почтового сервера.
- Что такое спам?
- Что такое ASSP?
- Как работает ASSP?
- Можно ли полностью защитить почтовый сервер от спама?
- Какие еще угрозы почтовому серверу существуют?
- Какие методы защиты почтового сервера существуют?
Составьте отчет о выполнении лабораторной работы.
Включите в него копии экрана и ответы на вопросы лабораторной работы.