Smtp аутентификация (rfc 2554) на примере почтового сервера mail pochta ru



Скачать 194.76 Kb.
Дата26.07.2014
Размер194.76 Kb.
ТипДокументы
SMTP аутентификация (RFC 2554) на примере почтового сервера mail.pochta.ru

Введение
Показано определение расширения SMTP сервиса [ESMTP], в соответствии с которым SMTP клиенты могут указать серверу механизм аутентификации и выполнить аутентификационный протокольный обмен (аутентификация SMTP клиента).
Аутентификационное расширение службы
Название расширения SMTP службы "Authentication" ("Аутентификация").

Значение ключевого слова EHLO, ассоциированное с данным расширением - "AUTH".

Ключевое слово AUTH команды EHLO содержит в качестве параметра список поддерживаемых SASL механизмов разделенных пробелами.

Определена новая SMTP команда - "AUTH".

Добавлен опциональный параметр, использующий ключевое слово "AUTH" в команде MAIL FROM, и увеличена максимальная длина строки команды MAIL FROM до 500 символов.
Команда AUTH
Синтаксис:
AUTH mechanism

[initial-response]
Аргументы:

mechanism - строка идентифицирующая SASL-описание (название) механизма аутентификации;
initial-response - опциональный base64-кодированный ответ сервера.

Ограничения:

После успешного выполнения команды AUTH выполнить её в данном сеансе повторно уже нельзя. После успешного завершения команды AUTH сервер ДОЛЖЕН отклонять любые дальнейшие команды AUTH с кодом ответа 503.
Команда AUTH недопустима в процессе выполнения mail-транзакции.

Подробное обсуждение:
Команда AUTH сообщает серверу механизм аутентификации. Если сервер поддерживает запрашиваемый механизм аутентификации, то он выполняет аутентификационный протокольный обмен, для того чтобы установить подлинность и идентифицировать пользователя. Опционально сервер также договаривается об уровне безопасности. В случае если запрашиваемый механизм аутентификации не поддерживается, сервер отклоняет команду с кодом ответа 504.
Аутентификационный протокольный обмен состоит из серии запросов сервера и ответов клиента зависящих от механизма аутентификации. При получении команды аутентификации от клиента, сервер отправляет клиенту ответ с кодом 334 (ответ о готовности) и текстовой частью содержащей BASE64-закодированную строку. Ответ клиента состоит из BASE64-закодированной строки. Если клиент желает отменить аутентификационный обмен, он должен послать строку с единственным символом "*". Если сервер получает такой ответ, он ДОЛЖЕН отменить команду аутентификации AUTH и выдать ответ с кодом 501.
В случае если сервер не может декодировать BASE64-аргумент, он отклоняет команду AUTH с кодом ответа 501. Если сервер отклоняет аутентификационные данные, то он отклоняяет команду AUTH с кодом ответа 535.
При успешном завершении клиентом аутентификационного обмена SMTP сервер отвечает кодом ответа 235.

В случае неудачного выполнения команды AUTH сервер ДОЛЖЕН вести себя так же, как если бы клиент и не посылал команду AUTH.
BASE64-кодированная строка может быть произвольной длины. Клиенты и сервера ДОЛЖНЫ обрабатывать запросы и ответы, которые могут быть настолько длинными, насколько позволяет поддерживаемый аутентификационный механизм, независимо от ограничений на длину строки у клиента и сервера, которые могут быть в других частях их протоколов реализации.

Рассмотрим аутентификацию клиента SMTP на примере почтового SMTP сервера mail.pochta.ru:
WEB интерфейс почтового сервера по адресу www.pochta.ru:



Соглашения, используемые в примерах
"C:" и "S:" обозначают строки отправляемые клиентом и сервером.
Для примера использованы два почтовых ящика на этом домене:

1) cb9it@pisem.net – ящик, с которого отправлено сообщение,

2) aki_test@pochta.ru – ящик, на который отправлено сообщение.

Действия:

Пуск->Выполнить->cmd

Telnet open smtp.pochta.ru 2525 // 2525 – резервный порт сервера.
1 S: 220 smtp.pochta.ru ESMTP (v86470)

2 C: EHLO cb9it.pisem.net

3 S: 250-smtp1.pochta.ru Hello itut-gw.sut.ru [85.142.44.10]

4 S: 250-SIZE 15728640

5 S: 250-8BITMIME

6 S: 250-PIPELINING

7 S: 250-AUTH PLAIN LOGIN CRAM-MD5

8 S: 250-STARTTLS

9 S: 250 HELP

10 C: AUTH FOOBAR

11 S: 504 FOOBAR authentication mechanism not supported

12 C: AUTH LOGIN

13 S: 334 VXNlcm5hbWU6

14 C: Y2I5aXRAcGlzZW0ubmV0

15 S: 334 UGFzc3dvcmQ6

16 C: eHSyMjF4cXIyMQ==

17 S: 235 Authentication succeeded

18 C: MAIL FROM:

19 S: 250 OK

20 C: RCPT TO:

21 S: 250 Accepted

22 C: DATA

23 S: 354 Enter message, ending with "." on a line by itself

24 C: Low Data Transfer... That is the TEST SMTP.pochta.ru server

25 C: ////////////////

26 C: .


27 S: 250 OK id=1IV00W-000MUg-0w

28 C: quit

29 S: 221 smtp1.pochta.ru closing connection

Проверяем:


Результат достигнут – письмо отправлено.
Теперь рассмотрим поподробнее диалог между клиентом и сервером:


строки

Содержимое строки

Коментарии

1

220 smtp.pochta.ru ESMTP (v86470)

Сервер представился

2

EHLO cb9it.pisem.net

Клиент представился

3-9

250-smtp1.pochta.ru Hello itut-gw.sut.ru [85.142.44.10]

250-SIZE 15728640

250-8BITMIME

250-PIPELINING

250-AUTH PLAIN LOGIN CRAM-MD5

250-STARTTLS

250 HELP


Сервер среагировал на представление с клиентом и выводит список доступных действий. После слова AUTH сервер перечисляет доступные методы аутентификации.

10

AUTH FOOBAR

Попытаемся пройти процедуру аутентификации по методу, который сервер не поддерживает.

11

504 FOOBAR authentication mechanism not supported

Отказ сервера и возвращение его к исходному состоянию, до попытки аутентификации.

12

AUTH LOGIN

Запуск процедуры аутентификации.

13

334 VXNlcm5hbWU6

334 – ожидание ввода данных

VXNlcm5hbWU6 – закодированный в Base-64 запрос Username:



14

Y2I5aXRAcGlzZW0ubmV0

Ответ пользователя на запрос Username: кодом Base-64 cb9it@pisem.net

15

334 UGFzc3dvcmQ6

Сервер удачно раскодировал логин и запросил пароль кодом Base-64 Password:

16

eHSyMjF4cXIyMQ==

Ответ пользователя на запрос пароля кодом Base-64

17

235 Authentication succeeded

Авторизация прошла успешно.

18-29

250 OK

RCPT TO:

250 Accepted

DATA


354 Enter message, ending with "." on a line by itself

Low Data Transfer... That is the TEST SMTP.pochta.ru server

////////////////

.

250 OK id=1IV00W-000MUg-0w



quit

221 smtp1.pochta.ru closing connection



Указание отправителя, адресата, создание и отправление письма. Выход.


Существуют различные методы аутентификации. Основная цель этих методов одна и та же – передать информацию «Логин» и «Пароль» на сервер для сравнения с существующими, меняются только способы приема –передачи данных (синтаксис).

Вывод:

При огромном выборе бесплатных mail серверов не на каждом из них собственный SMTP сервер поддерживает процедуру аутентификации. Наличие SMTP аутентификации на почтовом сервере вводит дополнительный уровень безопасности к sendmail. Таковым почтовым сервером является и mail.pochta.ru. Адрес его WEB интерфейса www.pochta.ru.

Коды популярных ошибок, требующих объяснения:
432 Требуется передача пароля

Данный ответ на AUTH команду говорит о том, что пользователю необходимо перейти к выбранному механизму аутентификации. Обычно используется механизм аутентификации PLAIN.
534 Механизм аутентификации слишком слаб

Данный ответ на AUTH команду сообщает, что выбранный механизм аутентификации слабее, чем допустимый политикой сервера для пользователя.
538 Требуется шифрование для запрошенного механизма аутен­тификации

Данный ответ на AUTH команду сообщает, что выбранный механизм аутентификации может быть использован, когда основное SMTP соединение является зашифрованным.
454 Временный отказ аутентификации

Данный ответ на AUTH команду говорит о том, что аутентификация не удалась в результате временный отказ сервера.
530 Требуется аутентификация

Данный ответ может быть получен на любую команду кроме AUTH, EHLO, HELO, NOOP, RSET, или QUIT. Он означает, что политика сервера требует аутентификации для выполнения запрошенной операции.
Авториза́ция — процесс, а также результат процесса проверки необходимых параметров и предоставление определённых полномочий лицу или группе лиц (прав доступа) на выполнение некоторых действий в различных системах с ограниченным доступом.
Идентификация (лат. identifico — отождествлять):


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

  • Под идентификацией также иногда понимается аутентификация — процесс подтверждения подлинности пользователя.


Аутентифика́ция (англ. Authentication) или подтверждение подлинности — процедура проверки соответствия субъекта и того, за кого он пытается себя выдать, с помощью некой уникальной информации, в простейшем случае — с помощью имени и пароля.

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



Base64

Base64 буквально означает — позиционная система счисления с основанием 64. Здесь 64 — это наибольшая степень двойки (26), которая может быть представлена с использованием печатных символов ASCII. Эта система широко используется в электронной почте для представления бинарных файлов в тексте письма. Все широко известные варианты, известные под названием Base64, используют символы A-Z, a-z и 0-9, что составляет 62 знака, для остальных двух знаков в разных системах используются различные символы.

В формате электронной почты MIME base64 — это схема, по которой произвольная последовательность байт преобразуется в последовательность печатных ASCII символов. Это определяет MIME как транспортное кодирование содержимого для использования в электронной почте. Используются только символы латинского алфавита в верхнем и нижнем регистре — символы (A—Z, a—z), цифры (0—9), и символы «+» и «/», с символом «=» в качестве специального кода суффикса.

Полная спецификация этой формы base64 содержится в RFC 1421 и RFC 2045. Эта схема используется для кодирования последовательности октетов (байт). Это соответствует определению файлов почти во всех системах. Результирующие закодированные по base64 данные имеют длину, большую оригинальной в соотношении 4:3, и напоминают по виду случайные символы.

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



ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

и её символы, на которые указывают индексы, помещаются в выходную строку. Если кодируются только один или два байта, используются только первые два или три символа строки и выходная строка дополняется двумя или одним символами «=». Это предотвращает добавление дополнительных битов к восстановленным данным. Процесс повторяется над оставшимися входными данными


\

Таблица ASCII


ASCII (American Standard Code for Information Interchange)


 Dec

 Hex

 Char

  

 Dec

 Hex

 Char

  

 Dec

 Hex

 Char

  

 Dec

 Hex

 Char

0

0

NUL




32

20

 (sp)

 

64

40

@

 

96

60

`

1

1

SOH




33

21

!

 

65

41

A

 

97

61

a

2

2

STX




34

22

"

 

66

42

B

 

98

62

b

3

3

ETX




35

23

#

 

67

43

C

 

99

63

c

4

4

EOT




36

24

$

 

68

44

D

 

100

64

d

5

5

ENQ




37

25

%

 

69

45

E

 

101

65

e

6

6

ACK




38

26

&

 

70

46

F

 

102

66

f

7

7

BEL




39

27

'

 

71

47

G

 

103

67

g

8

8

BS




40

28

(

 

72

48

H

 

104

68

h

9

9

TAB




41

29

)

 

73

49

I

 

105

69

i

10

A

LF




42

2A

*

 

74

4A

J

 

106

6A

j

11

B

VT




43

2B

+

 

75

4B

K

 

107

6B

k

12

C

FF




44

2C

,

 

76

4C

L

 

108

6C

l

13

D

CR




45

2D

-

 

77

4D

M

 

109

6D

m

14

E

SO




46

2E

.

 

78

4E

N

 

110

6E

n

15

F

SI




47

2F

/

 

79

4F

O

 

111

6F

o

16

10

DLE




48

30

0

 

80

50

P

 

112

70

p

17

11

DC1




49

31

1

 

81

51

Q

 

113

71

q

18

12

DC2




50

32

2

 

82

52

R

 

114

72

r

19

13

DC3




51

33

3

 

83

53

S

 

115

73

s

20

14

DC4




52

34

4

 

84

54

T

 

116

74

t

21

15

NAK




53

35

5

 

85

55

U

 

117

75

u

22

16

SYN




54

36

6

 

86

56

V

 

118

76

v

23

17

ETB




55

37

7

 

87

57

W

 

119

77

w

24

18

CAN




56

38

8

 

88

58

X

 

120

78

x

25

19

EM




57

39

9

 

89

59

Y

 

121

79

y

26

1A

SUB




58

3A

:

 

90

5A

Z

 

122

7A

z

27

1B

ESC




59

3B

;

 

91

5B

[

 

123

7B

{

28

1C

FS




60

3C

<

 

92

5C

\

 

124

7C

|

29

1D

GS




61

3D

=

 

93

5D

]

 

125

7D

}

30

1E

RS




62

3E

>

 

94

5E

^

 

126

7E

~

31

1F

US




63

3F

?

 

95

5F

_

 

127

7F

DEL
Назначение специализированных символов

Форматирование

BS
Backspace (Возврат на один символ). Указывает на движение механизма печати или курсора дисплея назад на одну позицию.
 
HT
Horizontal Tabulation (Горизонтальное Табулирование). Указывает на движение механизма печати или курсора дисплея до следующей предписанной 'позиции табуляции'.

LF
Line Feed (Перевод строки). Указывает на движение механизма печати или курсора дисплея к началу следующей строки (на одну строку вниз). 

VT
Vertical Tabulation (Вертикальное Табулирование). Указывает на движение механизма печати или курсора дисплея к следующей группе строк.

FF
Form Feed (Перевод страницы). Указывает на движение механизма печати или курсора дисплея к исходной позиции следующей страницы, формы или экрана.

CR
Carriage Return (Перевод каретки). Указывает на движение механизма печати или курсора дисплея к исходной (крайней левой) позиции текущей строки.


Передача данных

SOH
Start of Heading (Начало Заголовка). Используется для указания начала заголовка, который может содержать информацию о маршрутизации или адрес.

STX
Start of Text (Начало Текста). Указывает на начало текста и одновременно на конец заголовка.

ETX
End of Text (Конец Текста). Используется при завершении текста, который был начат с символа STX.

ENQ
Enquiry (Запрос). Запрос идентификационных данных (типа "Кто Вы?") от удаленной станции. 

ACK
Acknowledge (Подтверждение). Приемное устройство передает этот символ отправителю в качестве подтверждения успешного приема данных. 

NAK
Negative Acknowledgement (Неподтверждение). Приемное устройство передает этот символ отправителю в случае отрицания (неудачи) приема данных.

SYN
Synchronous/Idle (Синхронизация). Используется в синхронизированных системах передачи. В моменты отсутствия передачи данных система непрерывно посылает символы SYN для обеспечения синхронизации.

ETB
End of Transmission Block (Конец Блока Передачи). Указывает на конец блока данных для коммуникационных целей. Используется для разбиения на отдельные блоки больших объемов данных.

 

Разделительные знаки при передаче информации



FS
File Separator (Разделитель файлов).

GS
Group Separator (Разделитель групп).

RS
Record Separtator (Разделитель записей).

US
Unit Separator (Разделитель элементов).

 

Другие символы



NUL
Null. (No character - нет данных). Используется для передачи в случае отсутствия данных.

BEL
Bell (Звонок). Используется для управления устройствами сигнализации.

SO
Shift Out. Указывает, что все последующие кодовые комбинации должны интерпретироваться согласно внешнему набору символов до прихода символа SI.

SI
Shift In. Указывает, что последующие кодовые комбинации должны интерпретироваться согласно стандартному набору символов.

DLE
Data Link Escape (Переключение). Изменение значения идущих следом символов. Используется для дополнительного контроля или для передачи произвольной комбинации бит.

DC1, DC2, DC3, DC4
Device Controls (Контроль Устройства). Символы для управления вспомогательными устройствами (специальными функциями).

CAN
Cancel (Отмена). Указывает, что данные, который предшествовали этому символу в сообщении или блоке, должны игнорироваться (обычно в случае обнаружения ошибки).

EM
End of Medium (Конец Носителя). Указывает на физический конец ленты или другого носителя информации

SUB
Substitute (Заместитель). Используется для подмены ошибочного или недопустимого символа.

ESC
Escape (Расширение). Используется для расширения кода, указывая на то, что последующий символ имеет альтернативное значение.

(sp)
Space (Пробел). Непечатаемый символ для разделения слов или перемещения механизма печати или курсора дисплея вперед на одну позицию.

DEL
Delete (Удаление). Используется для удаления (стирания) предыдущего знака в сообщении

 

Похожие:

Smtp аутентификация (rfc 2554) на примере почтового сервера mail pochta ru iconСистемный администратор / Технический специалист
Бд застрахованных. Администрирование Mysql-сервера (ms 2008Server), сервера имён (ms 2003Server), почтового сервера (MDaemon), парка...
Smtp аутентификация (rfc 2554) на примере почтового сервера mail pochta ru iconНастройка почтового сервера
Сервер Apache является свободным по, поэтому доступна к скачиванию полная версия сервера на официальном сайте. Для данной курсовой...
Smtp аутентификация (rfc 2554) на примере почтового сервера mail pochta ru iconИнструкция администратора сервера (web-, файл-, почтового и др.)
На должность администратора сервера I категории назначается лицо, имеющее высшее профессиональное
Smtp аутентификация (rfc 2554) на примере почтового сервера mail pochta ru iconРуководство по установке и настройке почтового сервера
После установки биллинга в диалоговом окне на предложение «Настроить почтовый сервер?» ответить утвердительно
Smtp аутентификация (rfc 2554) на примере почтового сервера mail pochta ru iconИменами на одном почтовом сервере, б два ящика с одинаковыми паролями
Из приведённого ниже списка выберите почтовые ящики с одинаковыми доменными именами почтового сервера
Smtp аутентификация (rfc 2554) на примере почтового сервера mail pochta ru iconИнструкция по настройке web-сервера Apache и сервера приложений Tomcat Версия 4 3
Данный документ описывает этап процесса установки и настройки сервиса “Интернет-клиент” системы bs-client, а именно последовательность...
Smtp аутентификация (rfc 2554) на примере почтового сервера mail pochta ru iconУстановка сервера Mysql
Распаковываем архив с установочным файлом, устанавливаем его на компьютер где будет храниться база данных. После установки сервера...
Smtp аутентификация (rfc 2554) на примере почтового сервера mail pochta ru iconОсновы сетевых информационных технологий
Базовые технологии обработки запросов в архитектурах файл-сервера и клиент-сервера
Smtp аутентификация (rfc 2554) на примере почтового сервера mail pochta ru iconРоссия избрана в руководящие органы Всемирного почтового союза
По результатам голосования на XXV всемирном почтовом конгрессе Россия вошла в состав Административного Совета и Совета почтовой эксплуатации...
Smtp аутентификация (rfc 2554) на примере почтового сервера mail pochta ru iconКонфигурация сервера Exchange 2000 для работы с почтой интернет
В данной инструкции мы попытаемся описать стандартный порядок действий и некоторые правила настройки сервера Exchange 2000 для организации...
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org