Простой протокол передачи почты(smtp)
Передача данных в ТСР
Клиент Сервер
Отправка данных, АСК=0 à
ß Подтверждение данных, АСК=1
Клиент Сервер
Отправка данных, АСК=0 ОШИБКА!!! à
Повторная отправка данных, АСК=0 à
ß Подтверждение данных, АСК=1
Лекция №10.
Протоколы прикладного уровня TCP/IP
Протоколом прикладного уровня называется протокол верхнего уровня эталонной модели, который обеспечивает взаимодействие различных сетевых приложений. Прикладные протоколы стека протоколов ТСР как правило, работают на транспортных протоколах ТСР или UDP.
1. Протокол передачи файлов FTP
Это протокол прикладного уровня стека протоколов ТСР, предназначенный для передачи файлов с помощью транспортного протокола ТСР. Для передачи с помощью FTP используется сервер и клиент, каждый из которых состоит из нескольких процессов. Сервер состоит из процесса интерпретации команд и передачи данных. Клиент состоит из пользовательского интерфейса, интерпретатора команд и процесса передачи данных.
Кроме того, между двумя этими процессами устанавливаются 2 соединения: командное соединение (на сервере – порт 21) и соединение для передачи данных ( на сервере – порт 20). Сервер когда запускается связывает с собой 2 эти порта.
Интерпретатор – интерпретирует пользовательские команды в команды FTP, выполняет команды и управляет процессом передачи данных. Команды передаются только по командному соединению
Основные команды FTP:
- USER имя_пользователя – идентифицирует пользователя, пытающегося получить доступ к файлам
- PASS пароль – отсылает пароль пользователя на сервер
- QUIT – закрывает командное соединение.
- PORT h1, h2, h3, h4, p1, p2 – устанавливает номер порта соединения для передачи данных.
h1-4 – байты IP адреса 4 версии
p1,p2 – байты порта.
- PETR имя_каталога/имя файла – получает файл из процесса передачи данных FTP-сервера
- STOR имя_каталога/имя_файла – отправляет файл в процесс передачи данных
- DELE имя_каталога/имя_файла – удаляет файлы на ftp-сервере
- RMD имя_каталога – удаляет каталог на сервере
- MKD имя_каталога – создание каталога на сервере
В ответной команде сервер отправляет ответ, состоящий из одного трехзначного числа и символического описания.
150 OK to send data
220 FTP server ready
331 User name okay, need password
Первая цифра:
1-команда принята к выполнению, но еще не завершена
2-выполнение команды успешно завершено
3-команда принята и ожидается дополнительная команда
4-в данный момент команда не может быть выполнена
5-команда принципиально не может быть выполнена
Вторая цифра:
0-синтаксическая ошибка
1-информационное сообщение
2-сообщение относится либо к управляющему соединению, либо к соединению передачи данных
3-сообщение об аутентификации пользователя и его правах
4-не определено
5-сообщение о состоянии файловой системы
Третья цифра - окончательно идентифицирует ответ.
Пример передачи файла. (С-сервер, К-клиент)
С: (ожидается соединение)
К: Устанавливает комнадное соединение, Порт сервера 21
С: 220. Сервер готов работать с новым пользователем
К: USER Andrei
С: 331 (Имя пользователя правильное, нужен пароль)
К: PASS masterkey
С: 230 Login successful (Пользователь вошел в систему)
К: PORT 192, 168,1,1,0,20 (Запрос нового соединения для передачи данных)
С: 200 Command OK. (Команда принята)
К: Устанавливает соединение для передачи данных, порт сервера 20
К: RETR file.doc (так файл будет называться на сервере)
С: 150 OK to send data. (Файл отправлен)
С: 226 File receive OK. (Передача завершена).
К: (Завершает соединение для передачи данных)
К: QUIT (намерен выйти)
С: 221 goodbye (Завершение сеанса)
К: (завершает командное соединение)
2. Протокол передачи гипертекста (HTTP)
Протокол прикладного уровня передачи данных по сети с использованием транспортного протокола ТСР (RFC 2616 HTTPv1.1)
Данный протокол может так же использоваться в качестве транспортного протокола в других протоколах. Основой HTTP является технология клиент-сервер. Клиенты отсылают запросы, в которых содержатся методы предоставления доступа к ресурсу и универсальный идентификатор ресурса. Обычно такие ресурсы хранятся на сервере. Все эти запросы передаются на порт с №80 или 8080.
Унифицированный идентификатор ресурсов (URI) состоит из унифицированного уразателя на ресурс и унифицированного имени ресурса (URL и URN)
URI: http:// iitus.bstu.ru/to_schoolleaver/230400
URL: URI: http:// iitus.bstu.ru/
URN: to_schoolleaver/230400
Методы HTTP:
GET – для запроса содержимого ресурса, на который указывает URI, содержащийся в запросе
HEAD – используется для извлечения метаданных или проверки наличия ресурса
POST-передача данных заданному ресурсу, предполагает, что по указанному URI будет производиться обработка передаваемого содержимого.
PUT –использутеcя для передачи данных заданному ресурсу
OPTIONS – используется для определения возможностей HTTP-сервера или определения параметров для конкретного соединения.
DELETE – применяется для удаления ресурса, на который указывает URI.
Коды состояния HTTP
HTTP сервер в ответ на запрос отсылает клиентам коды состояний, в которых он сообщает, успешно был выполнен запрос или нет, представляет собо 3х значное число и описательную часть.
1:
1- информационное сообщение
2- успешное выполнение
3- переадресация
4- ошибка клиента
5- ошибка сервера
Структура HTTP-сообщения:
- стартовая строка
- заголовки
- тело сообщения
Для запросов и ответов стартовые строки различаются
Метод URI HTTP/Версия
HTTP/Версия КодСостояния Пояснения
Структура http-сообщения
ЗАГОЛОВКИ:
Заголовок http –это строка в сообщении, содержащая разделенную двоеточием пару параметр-значение, заголовки должны отделяться от тела сообщения хотя бы одной пустой строкой. Все заголовки делятся на 4 группы:
Основные заголовки – должны включаться в любое сообщение клиента и сервера.
Заголовки запроса – используются только в сообщениях запросов клиента.
Заголовки ответа – используются только в сообщениях ответа сервера.
Заголовки сущности – сопровождают каждую сущность сообщения (описывают характер и свойства передаваемых в сообщении данных)
Content-Type: text/plain; charset=windows-1251
Content-Language: ru
Тело сообщения, если оно есть, должно отделяться пустой строкой
Примеры HTTP-сообщений:
ЗАПРОС:
GET/to_schoolleaver/230400 HTTP/1.1
Host: iitus.bstu.ru
User-Agent: Mozilla/5.0
Accept: text/html
Accept-Language: ru
Connection: Close
ОТВЕТ:
HTTP/1.1 200 OK
Date: Fri, 16 Dec 2011 12:35:00 GTM
Server: Apache
Last-modified: Web, 11 Feb 2009 11:20:59 GTM
Content-Language: ru
Content-Type: text/html; charset=ufl-8
Content-Length: 1234
Connection: close
Пустая строка….
Код запрошенной страницы…
Ответ SMTP-сервера
Сервер посылает код из 3х цифр и поясняющее сообщение этого кода.
1 цифра:
2 – команда успешно выполнена
3 – ожидаются дополнительные данные от клиента
4 – временная ошибка, клиент должен произвести следующую попытку через определенное время.
5 – неустранимая ошибка
Пример SMTP-отправки электронного письма
С: Ожидает соединение
К: Устанавливает соединение с сервером
С: 250 smtp.mail.ru is ready
K: HELLO 192.168.1.1
C: 250 smtp.mail.ru is ready
K: MAIL FROM: [email protected] отправитель
C: 250 [email protected] sender assept
K: PCPT: <[email protected]> получатель
C: 250 [email protected] OK
К: DATA начинает передачу
С: 354 Start mail input, end with ‘ .‘
К: from: [email protected]
C: to:[email protected]
…..
C: 250 OK
K: QUIT
C: 221 stmp.mail.ru closing transmission channel
K: закрывает соединение
ПРОТОКОЛ Telnet – прикладной протокол стека протоколов ТСР-АЙПИ, который позволяет подключаться к удаленному компьютеру (серверу) и устанавливать взаимодействие с этим компьютером через окно консолем. Протокол поддерживает только алфавитно-цифровые терминалы, то есть, мышь и другие устройства ввода не поддерживаются, все команды терминалов, передаваемые с помощью этого протокола должны вводиться в командную строку.
Протокол Телнет использует транспортный протокол ТСР для обеспечения надежной связи между клиентом и сервером, по умолчанию сервер Телнет слушает порт с номером 23. Он может работать в следующих режимах:
1. Полудуплексный режим – считается устаревшим.
2. Посимвольный режим – в этом режиме каждый вводимый символ немедленно передается серверу для обработки, а затем возвращается клиенту для отображения.
3. Построчный – в данном режиме сервером для обработки передаются уже зконченные строки.
4. Локальный (линейный) – в данном режиме обработка символов обсуждается клиентом и сервером и корректируются все недостатки построчного режима.
Работа протокола состоит из следующих этапов:
- Клиент устанавливает ТСР-соединение с сервером
- Вводится имя и пароль пользователя для доступа к терминалу сервера
- Данные, вводимые пользователем передаются на сервер, а поступающие данные отображаются в командной строке клиента
- Завершение ТСР-соединения
Виртуальный терминал (NVT)
Различные компьютеры (операционные системы), могут реагировать на вводимые в командной строке клиента по-разному, поэтому была разработана концепция виртуального терминала. ВТ получает данные вводимые в командной строке клиента, преобразовывает их в специальный универсальный код, передает их серверу, после чего преобразовывает из универсального кода в специализированный код для данного сервера, таким образом, протокол Телнет позволяет подключать любого клиента к любому серверу. Универсальный код имеет представление 95 печатных символ кодировки US-ASCII с кодами с 32 по 126 и 33 управляемых символа – это от 0 до 31 и 127.
Команды Телнет:
Кроме передачи данных, этот протокол предполагает передачу различных команд, которые управляют работой сервера и клиента Телнет.
SE [240] –завершает согласование параметров
NOP [241] – нет операции
DATA-MARK - DM [242] –метка данных
Break – BRK [243] – прерывание
Interrupt Process – IP [244] – прерывание процесса
Abord Output – AO [245] – отмена ввода
Are You There – AYT [246] – проверка связи
Erase Character – EC [247] – удаление предыдущего символа
Erase Line – EL [248] – удаление строки
Go Ahead – GA[249] – ожидание передачи
SB [250] – начало согласование параметров
WILL [251] параметр – указывает на желание сервера исполнять или же подтверждает уже исполняется указанный параметр
WON’T [252] параметр – указывает на отказ начать или продолжить исполнять указанный параметр
DO [253] параметр – запрос на то, чтобы сервер исполнил или подтвердил исполнение указанного параметра
DON’T [254] – требованеи того, чтобы сервер остановил исполнение или же подтвердил то, что данный параметр уже не исполняется.
Interpret as Command –IAC [255] –является байтом данных
В отличие от других прикладных протоколов, таких как HTTp, FTP, команды здесь передаются не текстом, а виде однобайтных последовательностей. Все команды телнет состоят минимум из 2х байтов
[команда]à[IAC]à
Команда, управляющая согласованием параметра состоит из 3х байтов
[Код параметра]à [команда]à[IAC]à
Если ни одна из сторон не инициирует процедуру согласования параметров, то используется набор базовых параметров.
Безопасность в Телнет:
Протокол Телнет не предоставляет никакой защиты, в сеансе все передаваемые данные, передаются в виде простого текста (открытый код), поэтому в настоязщее время, для удаленного доступа применяется протокол SSH, который является безопасной альтернативой протокола Телнет и обеспечивает безопасное соединение, причем путем шифрование передаваемой информации
Клиент Телнет и другие прикладные протоколы:
Не смотря на то, что для выполнения своих основных функций клиент Телнет подключается к порту с номером 23, которые прослушивают сервер телнет, клиент телнет может посылать сообщения и на другие порты ТСР. Это позволяет использховать клиент Телнет для передачи команд,( например, в целях отладки) серверам таких протоколов прикладного уровня, как FTP, HTTP, TCP, SMTP и другим текстоориентированным прикладным протоколам, использующих ТСР в качестве транспортного протокола.
Работа с HTTP через Телнет:
telnet it.bstu.ru 80
get /
…. Html-код запрашиваемой страницы
ЛЕКЦИЯ 11 (04.12.12)
Обработка ошибок
Эта группа задач включает выявление определения и устранения посредством сбоев и отказов в работе сети.
Управление безопасностью
Задачи этой группы включают в себя контроль доступа к ресурсам, сохранность данных при передачи их по сети. Базовыми элементами управления безопасности являются: процедуры аутентификации пользователей, наличие и проверка прав доступа к ресурсам.
Учет работы сети
Задачи этой группы занимаются регистрацией времени пользования различными ресурсами сети.
Модели безопасности
- Модель безопасности на основе сообществ CSM. Данная модель безопасности подразумевает аутентификацию менеджера и агента на основе имени сообщества – своеобразного пароля, передаваемого в сообщениях в открытом виде. Эта модель безопасности неспособна бороться ни с одной из угроз в и, нформационной безопасности SMNP.
- Модель безопасности на основе сторон PSM. Подразумевается что менеджер и агент входят в виртуальное окружение и исполнение, для которого набор допустимых операций ограничен сетевым администратором. В данной модели безопасности также используются протоколы аутентификации и шифрования. Однако, данная модель безопасности показалась многим слишком сложной и запутанной и поэтому не получила широкого распространения.
- Модель безопасности на основе пользователей USM. Подразумевается, что менеджер и агент SMNP действуют от имени некоторого пользователя, идентификатор которого передается в сообщении. Для аутентификации пользователя каждый менеджер и агент имеют общий для всех секретный ключ аутентификации, определяемый на этапе настройки системы управления сетями. Кроме того, данная модель безопасности предполагает шифрование содержимого сообщений и определение своевременности сообщения, с учетом показания часов агентам. Модель на основе пользователей во многом похожа на модель на основе сторон, но она значительно упрощает процесс идентификации пользователей.
Версии протокола SNMP
- SNMPv1
- SNMPv2
- SMNPv2p
- SMNPv2c
- SMNPv2u
3. SNMPv3
На практике сетевые устройства сразу поддерживают несколько версий. Первая версия появилась в 1988 и описана в документе 1157. Позже данная версия протокола подверглась критике за свою модель безопасности на основе сообществ, однако, несмотря на проблемы с безопасностью, данная версия протокола довольно часто применяется. Так как она является самой простой.
SMNPv2p – используется модель безопасности на основе сторон. Кроме безопасности, в данной версии было улучшено быстродействие. Данная версия протокола позволяла менеджерам получать записи о нескольких объектах базы управляющей информации за один запрос. Однако, из-за того, что модель безопасности на основе сторон не получила распространения, данная версия на сегодняшний день не используется.
SMNPv2c – разработчики протокола вернулись к модели на основе сообществ и проблема безопасности осталась нерешенной.
SMNPv2u – используется модель безопасности на основе пользователей
SNMPv3 – поддерживает модель безопасности на основе пользователя, но в отличие от предыдущей – более удачно доработана.
Команды SMNP
Менеджеры, взаимодействуя между собой используют набор команд:
GetRequest – получение от агента информации о каком-либо объекте MIB (базы управляющей информации) по его имени
GetNextRequest – используется для получения от агента значения следующего объекта при последовательном просмотре
GetResponse- используется агентом для передачи менеджеру ответа
SetRequest – используется менеджером для изменения значения какого-либо объекта, с помощью этой команды и происходит управление устройством.
Trap –используется агентом менеджеру уведомляющего сообщения о возникновении события.
GetBulkRequest – используется менеджером для получения от агента сразу нескольких значений за один запрос. Введена с в 2р.
InformRequest - используется менеджерами для обмена информацией об объектах между собой.
SMNPv3-Trap –является улучшенной версии команды Trap, не заменяет просто Trap.
Формат сообщений
Рассмотрим первую версию – самою простую.
Версия | Имя сообщества | Область данных |
В версии протокола указывается текущая версия протокола, для первой версии -0, для второй -1. Менеджеры и агенты должны использовать одну и ту же версию, в противном случае все сообщения должны передаваться через прокси-агета SMNP, который обеспечивает взаимодействие агентов и менеджеров, поддерживающих разные протоколы.
Имя сообщества задается сетевым администратором и представляет собой идентификатор группы устройств, управляемых определенным менеджером. По умолчанию, могут использоваться значения public – только для чтения и private – для группы чтение и запись. Агенты могут входить в состав только одной группы, а менеджеры могут входить в состав нескольких групп, это позволяет им взаимодействовать со множеством объектов.
Область данных содержит один или несколько модулей данных протокола PDU, каждый из которых относится к одному из пяти различных типов PDU, соответствующих командам протокола + PDU. Все типы модулей, кроме Trap PDU имеют одинаковый формат.
Тип PDU |
Идентификатор запроса |
Статус ошибки |
Индекс ошибки |
Идентификатор объекта 1 |
Значение объекта 1 |
Идентификатор объекта 2 |
Значение объекта 2 |
… |
Тип – указывает на тип модуля данных и может принимать следующее значение:
Getrequest-PDU – A016
NextRequest-PDU – A116
Response –A2
Set – A3
Идентификатор запроса – используется для согласования запроса и ответа.
Статус ошибки – указывает на ошибку. В запросах данное поле устанавливается в 0. в ответах, значения отличающиеся от 0 означают следующие ошибки:
1 – слишком большой размер модуля данных
2 – не существует такого имени объекта
3 – неверное значение
4 – объект только для чтения
5 – ошибка общего характера
Индекс ошибки– указывает на тип возникшей ошибки, в случае, если в поле статус ошибки
Идентификатор объекта – содержит идентификатор объекта базы управляющей информации, а поля – значение объекта – содержат значения соответствующих объектов.
Структура Trap-PDU
- Trap-PDU – A4
- Тип объекта – указывает на тип объекта, который сформировал уведомляющее сообщение
- Адрес агента – содержит сетевой адрес агента, являющегося инициатором уведомляющего сообщения.
- Идентификатор сообщения – указывает причину, вызвавшую необходимость в передаче уведомления:
=0 – установление начального состояния объекта
=1 – восстановление начального состояния
=2 – нарушение работы линии связи
=3 – восстановление работы линии связи
=4 – откат в аутентификацию запроса от менеджера
=5 – сосед по протоколу EGP не функционирует
=6 – специфическое сообщение
идентификатор специфического сообщения, формируемое производителем сетевого устройства или ПО
Временная метка – указывает на время формирования управляющего сообщения
Идентификатор объекта
Значение объекта
SMNP – сообщение, в отличие от сообщений других протоколов, не имею заголовков с фиксированными полями, вместо этого, каждое поле сообщения предваряется его типом и размером. Согласно формальному языку ASN.1 и основными правилами кодирования данных-BER (набор правил для кодирования данных описанных на языке ASN.1). В SNMP1 - не совсем соответствует стандарту ASN.1 есть отличие в типах данных.
INTEGER[02]
STRING[04]
NULL[05] –нулевая величина
OID[06]-идентификатор объекта БД
SEQUENCE[30]-упорядоченный набор из одного или нескольких типов
IPADDRESS[40] – сетевой адрес
Counter[41] – счетчик
GAUGE[42]-датчик
TIMETICKS[43]-временные метки
Рассмотрим пример запроса для объекта SysDescr (Системный дескриптор), который имеет идентификатор 1.3.6.1.2.1.1.1.
SEQUENCE | Len=41 | INTEGER | Len=1 | ||||
6С | |||||||
STRING | Len=6 | p | u | b | l | i | C |
А0 | 1С | АЕ | |||||
GetRequest | Len=28 | Integer | Len=4 | Идентификатор запроса | |||
INTEGER | Len=1 | Статус ошибки | INTEGER | Len=1 | Индекс ошибки | ||
0Е | 0С | ||||||
SEQUENCE | Len=14 | SEQUENCE | Len=12 | OID | Len=8 | ||
2В | |||||||
1.3 | |||||||
NULL | Len=0 |
Классификация сетевых атак
Атака представляет собой попытку злоумышленника (хакера) получить доступ к конфиденциальной информации, повредить или уничтожить эту информацию или же каким-либо иным способом подорвать безопасность в информационной сети.
1. Сетевая разведка –как правило, атака предваряется сетевой разведкой, то есть сбором информации о компьютере жертвы, с целью, обнаружить уязвимость безопасности дальнейших атак. Простейшая сетевая разведка производится с помощью «мирной» команды ping и специальных программ для сканирования портов.
Сначала, с помощью команды ping определяется какие адреса присвоены тому или иному домену и какие из этих адресов доступны, затем выполняется сканирование портов, с целью определить какие общеизвестные сетевые службы и приложения запущены на атакуемом компьютере.
2. Анализ сетевого трафика – злоумышленник может использовать специальные программы или устройства, называемые снифферами, которые предназначенные для перехвата и последующего анализа сетевого трафика. Анализ применяется для компьютеру или для сбора информации о компьютере жертвы с целью дальнейших атак или же для кражи конфиденциальной информации
- Атака отказа в обслуживании– имеет своей целью заставить сервер не отвечать на поступающие запросы, за счет превышения допустимых пределов его функционирования. Такой класс атак не подразумевает получение доступа к компьютеру и получения данных от него. Часто для проведения данных атак злоумышленник использует сразу нескольких компьютеров, как правило, без ведома их пользователей. В этом случае имеет место распределенная атака отказа в обслуживании.
Рассмотрим пример ДОС-атаки, в особенностях протокола ТСР. Злоумышленник организует массовую передачу на ТСР-сервер сегментом SYN, которые инициируют создание нового ТСР-соединения. Получит такие сегменты, сервер выделяет ресурсы для каждого из новых соединений и отправляет ответ с флагами SYN ASK после чего сервер ждет ответа от клиента с флагом ASK, которые не придет. Аналогичным образом продолжают создаваться незавершенные соединения, что приводит к перегрузке сервера. Сервер работает, но в таком состоянии уже не способен отвечать на легальные запросы. Цель атаки достигнута.
- Переполнение буфера –эта атака построена на использовании уязвимостей в программах, которые не правильно работают с памятью и с полученными из вне данными. Такой программе передается слишком большой объем данных, в результате чего эта программа завершается с ошибкой и выдает DUMP памяти, который в последствие позволит злоумышленнику выполнить практически любую программу на атакуемом компьютере.
- Вредоносные программы –этот термин подразумевает три различные вида программ:
- компьютерные вирусы –вредоносная программа, которая внедряется в другие программы для выполнения определенных нежелательных функций на компьютере.
- троянская программа – вредоносная программа, которая выглядит как полезное приложение, но на самом деле выполняет вредоносные действия.
- сетевой червь – это вредоносна программа самостоятельно распространяющаяся через информационные сети.
- Инъекция– это атака, связанная с внедрением сторонних команд или данных в работающую систему, с целью получения доступа к закрытой информации или нарушения работы системы в целом.
· SQL-инъекция– атака, в ходе которой изменяются параметры запросов к БД. В результате такой атаке злоумышленник может изменить или удалить данные.
- Подмена IP-адреса– используя подмену адреса отправителя в заголовке пакета, злоумышленник может обманывать систему безопасности, выдавая себя за пользователя или компьютер, которым он в действительности не является.
- Спам –данный класс атак подразумевает отправку большого количества электронных писем одному и тому же пользователю, что делает невозможной работу с электронной почтой. Подобные письма могут содержать как безвредную информацию, так и различные вредоносные программы.
- Социальная инженерия – основным отличием ее от других классов атак является то, что в данном случае в роле объекта атаки выбирается не компьютер, а его пользователь. Злоумышленник может получить конфиденциальную информацию с помощью обмана пользователей, в результате которого они передают злоумышленнику свои данные доступа к конфиденциальной информации. Представителем данного гласа атак является фишинг – для проведения фишинг-атаки злоумышленник проводит массовую рассылку электронных писем от имени банков, интернет-провайдеров, социальных сетей и других организаций, в которых содержатся уведомления о том, что по какой-либо причине получателю срочно нужно передать или обновить личные данные. И ссылка, похожая на URL оригинальных сайтов. После того, как пользователь попадает на поддельный сайт, который внешне не отличим от оригинального, злоумышленник пытается выудить у пользователя данные доступа к конфиденциальной информации – логины и пароли к определенном сайтам или банковским счетам. Фишинг-атака основана на незнании пользователями простого факта – организации никогда не рассылают писем с просьбами сообщить свои личные данные.
По данным ресурса securelist.com доля спама в мировом почтовом трафике 62,9 %, доля фишинговых писем 0,15%, вредоносные программы в письмах – 3,27%.
Защита от сетевых атак:
- Шифрование –один из способов защиты данных при передачи по незащищенным каналам связи, это способ преобразования открытых данных в закрытых при отправке и обратно – при получении. Сегодня в ИС применяются 2 протокола на основе шифрования SSL-уровень защищенных сокетов и TLS-безопасность транспортного уровня. Приложения, работающие на протоколе НТТР или SSH инкапсулируют свои сообщения в пакеты SSL или TLS (уровень представления данных). Такой подход гарантирует безопасную передачу конфиденциальных данных.
- Межсетевой экран – (брандмауэр),программное или аппаратное средство фильтрации сетевого трафика, поступающего из внешней сети по отношению к локальной сети или персональному компьютеру
ПК ßà Межсетевой экран ßàВнешняя сеть
Программный брандмауэр –представляет сетевое приложение, работающее на ПК или на пограничном устройстве, например – маршрутизаторе.
Аппаратный межсетевой экран – представляет собой отдельный сетевой элемент.
Межсетевой экран позволяет настраивать фильтры, отвечающие за пропуск сетевого трафика по следующим критериям:
- IP-адрес – межсетевой экран позволяет задать IP-адрес узла сети, либо определенный диапазон адресов, тем самым, запретив получать от них пакеты данных или же наоборот – разрешит доступ только с данных IP-адресов.
- Доменное имя – межсетевой экран позволяет разрешить или запретить получение данных для определенных сетевых узлов по их доменным именам.
- Порт – межсетевой экран позволяет запретить доступ к нежелательным сетевым приложениям, либо наоборот – разрешить доступ только им.
- Протокол – межсетевой экран может быть настроен на пропуск данных только какого-либо одного протокола, либо запретить доступ с его использованием.
Так же могут применять и дру.Э
гие фильтры, специфичные для конкретной информационной сети.
- Прокси-сервер – это программное средство, которое выполняет функции посредника между клиентом и сервером, предполагается, что клиент принадлежит внутренней защищаемой сети, а сервер – внешней – потенциально опасной сети.
Клиент ßà Прокси-сервер ßà Сервер
Внешняя сеть
Подобно межсетевому экрану, прокси-сервер может выполнять контроль процесса обмена данными между клиентом и сервером. Для работы в информационной сети прокси-сервером по клиентского компьютера должно быть настроено таким образом, чтобы у него не было возможности установить прямое соединение с сервером, минуя прокси-сервер.
Следует отметить, что прокси-серверы часто применяются для организации доступа в сети Интернет из локальной сети в локальную сеть предприятия или организации.
ВИРТУАЛЬНЫЕ ЧАСТНЫЕ СЕТИ
· VPN
Виртуальная частная сеть - обобщенное название технологий, позволяющих создать один или несколько защищенных каналов связи поверх общедоступной незащищенной сети, например сети Интернет.
В зависимости от того, кто реализует сети VPN, они разделяются на 2 вида:
· Поддерживаемая клиентом виртуальная частная сеть
ß---------------------------Защищенный канал--------------------------------------------à
Локальная сеть1----------------Общедоступная сеть-----------------Локальная сеть2
Защищенный канал
/----------------------------\
Локальная сеть1 ○ общедоступная сеть○локальная сеть 2
Туннелированние
Виртуальные частные сети изолируют свои каналы связи, используя технику туннелированния – это нестандартный (отличный от эталонной модели ОСИ порядок) способ инкапсуляции данных некоторого протокола двух сетевых узлов или объединяемых сетей в пакеты протокола транзитной сети и передача этих данных через транзитную сеть. В процессе туннелированния участвуют три протокола:
- протокол – пассажир;
- протокол инкапсуляции;
- транспортный протокол.
Туннельный протокол соединения типа «точка-точка» РРТР – протокол, разработанный компанией Майкрософт, используемый для установления защищенного соединения между двумя узлами сети. Является расширением протокола канального уровня глобальных сетей РРР и использует механизмы аутентификации, сжатия и шифрования этого протокола.
Для шифрования данных в протоколах РРТР используется метод MPPE (Метод шифрования соединения типа точка-точка)
Следует отметить, что можно передавать данные и в открытом виде. Для аутентификации пользователей в процессе передачи в протоколе РРТР могут применяться следующие протоколы:
- РАР – предусматривает отправку серверу имени пользователя и пароля в открытом виде.
- CHAP- предусматривает следующий алгоритм действий: при установлении туннелированного соединения сервер высылает ключ, состоящий из случайной последовательности символов. Клиент шифрует с помощью алгоритма MD5 полученный ключ и свой пароль, после чего отправляет серверу полученный результат и имя пользователя, сервер, зная пароль и высланный ключ проделывает те же самые операции, что и клиент, если результаты совпадут, аутентификация прошла успешно.
- MS-CHAP – протокол, разработанный компанией Майкрософт и предусматривающий взаимную аутентификацию, аналогичную протоколу СНАР, при которой и клиент и сервер должны доказать, что они знают пароль пользователя. Сначала сервер требует от клиента доказательств знания пароля, затем клиент требует доказательств от сервера. Если серверу не удалось доказать. Что ему известен пароль пользователя, то клиент разрывает тоннелиронное соединение.
- ЕАР – использует устройства системы безопасности, такие как смарткарты, генераторы коды доступа, криптокалькуляторы.
- MS-CHAPv2
- EAP-TLS
Протокол РРТР инкапсулирует кадр РРР следующим образом:
Система предотвращения вторжений – комплекс программных и аппаратных средств. Предназначенных не только для выявления сетевых атак, но и для защиты от них. Системы предотвращения способны обнаруживать и блокировать подозрительные процессы, а так же разрывать или блокировать сетевые соединения, по которым идет атака.
Система предотвращения вторжений на уровне хоста стали неотъемлемой частью систем сетевой безопасности и, кроме того, отдельные элементы таких систем стали использоваться антивирусными приложениями в борьбе с вредоносными программами.
Передача данных в ТСР
Клиент Сервер
Отправка данных, АСК=0 à
ß Подтверждение данных, АСК=1
Клиент Сервер
Отправка данных, АСК=0 ОШИБКА!!! à
Повторная отправка данных, АСК=0 à
ß Подтверждение данных, АСК=1
Лекция №10.
Протоколы прикладного уровня TCP/IP
Протоколом прикладного уровня называется протокол верхнего уровня эталонной модели, который обеспечивает взаимодействие различных сетевых приложений. Прикладные протоколы стека протоколов ТСР как правило, работают на транспортных протоколах ТСР или UDP.
1. Протокол передачи файлов FTP
Это протокол прикладного уровня стека протоколов ТСР, предназначенный для передачи файлов с помощью транспортного протокола ТСР. Для передачи с помощью FTP используется сервер и клиент, каждый из которых состоит из нескольких процессов. Сервер состоит из процесса интерпретации команд и передачи данных. Клиент состоит из пользовательского интерфейса, интерпретатора команд и процесса передачи данных.
Кроме того, между двумя этими процессами устанавливаются 2 соединения: командное соединение (на сервере – порт 21) и соединение для передачи данных ( на сервере – порт 20). Сервер когда запускается связывает с собой 2 эти порта.
Интерпретатор – интерпретирует пользовательские команды в команды FTP, выполняет команды и управляет процессом передачи данных. Команды передаются только по командному соединению
Основные команды FTP:
- USER имя_пользователя – идентифицирует пользователя, пытающегося получить доступ к файлам
- PASS пароль – отсылает пароль пользователя на сервер
- QUIT – закрывает командное соединение.
- PORT h1, h2, h3, h4, p1, p2 – устанавливает номер порта соединения для передачи данных.
h1-4 – байты IP адреса 4 версии
p1,p2 – байты порта.
- PETR имя_каталога/имя файла – получает файл из процесса передачи данных FTP-сервера
- STOR имя_каталога/имя_файла – отправляет файл в процесс передачи данных
- DELE имя_каталога/имя_файла – удаляет файлы на ftp-се<