На нашем портале ежедневно выкладываются материалы способные помочь студентам. Курсовые, шпаргалки, ответы и еще куча всего что может понадобиться в учебе!
Комплексная защита информационных систем. Лабораторная работа. Современная система обмена электронной почты.
Цель работы: Изучить современные почтовые системы, получить опыт работы с протоколами POP3 и SMTP . Получить понятия, опыт программирования и работы с сетевыми сниферами. Содержание: Методический материал. Порядок проведения работы. Текст программы снифера
Методический материал
Все элементы данной схемы были нами подробно рассмотрены на лекциях. В данной лабораторной работе в качестве MTA будет использован пакет Postfix, А в качестве MDA пакет Popa3d. Следует учесть, что конфигурация рассматриваемая нами на лабораторной работе является простейшей, и пригодной лишь для проведения лабораторных испытаний, использоваться на практике данная конфигурация без дополнительной доработки не может в следствии ее множественных уязвимостей. Одной из цели данной работы является получение практических навыков работы с протоколами SMTP и POP3
Рассмотрим их по подробнее:
Протокол SMTP – Sample Mail Transfer Protocol (Простой протокол пересылки почты).
Работа этого протокола имеет следующие этапы: 1. Этап приветствия: команда HELO server (server – это либо localhost либо доменное имя стороннего MTA пересылающего почту). 2. Этап представления: команда MAIL FROM: email (email – адрес электронной почты отправителя). 3. Этап указания назначения: команда RCPT TO: email (email – адрес электронной почты получателя). 4. Этап передачи данных: команда DATA (передача данных заканчивается при получение последовательности <CR><LF>.<CR><LF>, где <CR><LF> - перевод строки). 5. Этап завершения сессии команда QUIT
Протокол POP3 – Post Office Protocol v.3 (Почтовый офисный прокол версии 3). Работа этого протокола имеет следующие этапы: 1. Этап аутентификации: команды user имя и pass пароль , на этом этапе разрешается или отклоняется дальнейшая работа с сервером POP3. 2. Этап командного режима: выполнении запросов к POP3 серверу, возможны следующие команды: stat – показать статистику почтового ящика (количество сообщений и их общий размер). list – показать список сообщений и размер каждого. retr номер_сообщения – получить почтовое сообщение по его номеру top номер_сообщения количество_строк_после_заголвка – получить заголовок сообщения и если указан второй параметр количество строк после заголовка (данная команда не поддерживается в popa3d). dele номер_сообщения удалить сообщение с данным номером.
dele номер_сообщения удалить сообщение с данным номером. 3. Этап завершения сессии команда quit. Второй целью данной лабораторной работы служит изучение работы сетевых сниферов. Сетевые сниферы это программы для перехвата и анализа трафика идущего через сетевые интерфейсы. Наиболее распространенными сниферами являются tcpdump и ethereal, также можно выделить утилиту ngrep – поиск нужных нам строк в трафике по регулярному выражению. В данной лабораторной работе мы не будем использовать данные утилиты а напишем свой простой сетевой снифер, для получения представления об устройстве данного класса программ. Порядок проведения работы: 1. Открыть виртуальную машину с операционной системой Linux. 2. Загрузить из сетевой папки каталог lab6 3. Перейти в каталог lab6, инсталлировать пакеты командой:./install.sh 4. Добавить пользователя операционной системы командой: sudo useradd (свое имя в английской транскрипции, в нижнем регистре)Скобки писать не надо. 5. Задать для нового пользователя пароль: sudo passwd (ваше имя заданное useradd)Скобки писать не надо. 6. Подключиться к SMTP серверу и отправить себе письмо командой: telnet localhost 25
7. Подключиться к POP3 серверу командой:telnet localhost 110, получить отправленное письмо, примерный сценарий сессии с протоколом POP3.
8. Получить статистику по работе почтового сервера командой: pflogsumm -e /var/log/mail.log | more 9. Запустить снифер, командой sudo ./snif.py ,открыть второй терминал и начать POP3 сессию, перехватить свои логин и пароль примерно как показано на рисунке № 3 :
Текст программы снифера. #!/usr/bin/env python #-*-coding:utf8-*- import socket from select import select import sys _ERR = '''
Для запуска снифера необходимы права суперпользователя. Запустите программу командой sudo %(prog)s ''' %{'prog':sys.argv[0],} try: s = socket.socket(socket.AF_INET, socket.SOCK_RAW, 6) except: print _ERR sys.exit(1) s.setsockopt(socket.IPPROTO_IP , socket.IP_HDRINCL, 1) s_list = [] s_list.append(s) while len(s_list)>0: sockets = select(s_list, [], [], 0) for s_ready in sockets: print repr(s.recv(1024))