Протоколи поштового зв'язку аналіз порівняння. Поштові протоколи smtp, pop3 та imap. Що таке SMTP

Протокол SMTP

SMTP(Англ. Simple Mail Transfer Protocol-- простий протокол передачі пошти) -- це мережевий протокол, призначений передачі електронної поштиу мережах TCP/IP.

SMTP використовується для надсилання пошти від користувачів до серверів та між серверами для подальшого пересилання до одержувача. Для отримання пошти поштовий клієнт повинен використовувати протоколи POP3 або IMAP.

Дані передаються за допомогою TCP, при цьому зазвичай використовується порт 25 або 587. При надсиланні повідомлень між серверами зазвичай використовується порт 25.

Щоб доставити повідомлення до адресата, необхідно надіслати його поштовому серверу домену, в якому знаходиться адресат. Для цього зазвичай використовується запис типу MX (англ. Mail eXchange- Обмін поштою) системи DNS. Якщо MX запис відсутній, то для тих самих цілей може бути використаний запис типу A. Деякі сучасні реалізації SMTP-серверів (наприклад, Exim) для визначення сервера, який обслуговує пошту в домені адресата, також можуть задіяти запис SRV (RFC 2782).

Сервер SMTP-- це кінцевий автомат із внутрішнім станом. Клієнт передає на сервер рядок команда<пробел>параметри<перевод строки>. Сервер відповідає на кожну команду рядком, що містить код відповіді та текстове повідомлення, відокремлене пробілом. Код відповіді - число від 100 до 999, подане у вигляді рядка, що трактується так:

  • · 2ХХ - команда успішно виконана
  • · 3XX - очікуються додаткові дані від клієнта
  • · 4ХХ - тимчасова помилка, клієнт повинен зробити наступну спробу через деякий час
  • · 5ХХ - непереборна помилка

Текстова частина відповіді має довідковий характер і призначений для людини, а не програми.

Безпека SMTP та спам

Спочатку SMTP не підтримував єдиної схеми авторизації. Внаслідок цього спам став практично нерозв'язною проблемою, тому що було неможливо визначити, хто насправді є відправником повідомлення - фактично можна надіслати листа від імені будь-якої людини. В даний час намагаються вирішити цю проблему за допомогою специфікацій SPF, Sender ID, Yahoo Domain Keys. Єдиної специфікації зараз немає.

Протокол POP3

POP3(Англ. Post Office Protocol Version 3-- протокол поштового відділення, версія 3) -- це мережевий протокол, який використовується отримання повідомлень електронної пошти з сервера. Зазвичай використовується у парі з протоколом SMTP.

Рис. 10. Схема "Клієнт-сервер за протоколом POP3"

Опис протоколу РОРЗ

Розглянемо подану на Рис. 10. схему "Клієнт-сервер за протоколом POP3". Конструкція протоколу РОРЗ забезпечує можливість користувачеві звернутися до свого поштового сервера і вилучити пошту, що накопичилася для нього. Користувач може отримати доступ до сервера РОР з будь-якої точки доступу до Інтернету. При цьому він повинен запустити спеціальний поштовий агент (UA), який працює за протоколом РОРЗ, та налаштувати його для роботи зі своїм поштовим сервером. Отже, на чолі моделі POP знаходиться окремий персональний комп'ютер, що працює виключно клієнтом поштової системи (сервера). Підкреслимо також, що повідомлення доставляються клієнту за протоколом POP, а посилаються, як і раніше, за допомогою SMTP. Тобто на комп'ютері користувача існують два окремі агенти-інтерфейси до поштової системи – доставки (POP) та відправки (SMTP). Розробники протоколу РОРЗ називає таку ситуацію "роздільні агенти" (split UA). Концепція окремих агентів коротко обговорюється у специфікації РОРЗ.

У протоколі РОРЗ обумовлено три стадії процесу отримання пошти: авторизація, транзакція та оновлення. Після того, як сервер та клієнт РОРЗ встановили з'єднання, починається стадія авторизації. На стадії авторизації клієнт ідентифікує себе сервера. Якщо авторизація пройшла успішно, сервер відкриває поштову скриньку клієнта та починається стадія транзакції. У ній клієнт або запитує сервера інформацію (наприклад, список поштових повідомлень), або просить його зробити певну дію (наприклад, видати поштове повідомлення). Зрештою, на стадії оновлення сеанс зв'язку закінчується. Далі перераховані команди протоколу РОРЗ, обов'язкові для що працює в Інтернет реалізації мінімальної конфігурації.

Команди протоколу POP версії 3 (для мінімальної конфігурації)

USER Ідентифікує користувача із зазначеним ім'ям

PASS Вказує пароль для пари клієнт-сервер

QUIT Закриває з'єднання TCP

STAT Сервер повертає кількість повідомлень у поштовій скриньці плюс розмір поштової скриньки

LIST Сервер повертає ідентифікатор повідомлень разом із розмірами повідомлень (параметром команди може бути ідентифікатор повідомлення)

RETR Виймає повідомлення з поштової скриньки (потрібно вказувати аргумент-ідентифікатор повідомлення)

DELE Відзначає повідомлення для видалення (потрібен вказувати аргумент - ідентифікатор повідомлення)

NOOP Сервер повертає позитивну відповідь, але не робить жодних дій

LAST Сервер повертає найбільший номер повідомлення з тих, яких раніше вже зверталися

RSET Скасує видалення повідомлення, зазначеного раніше командою DELE

У протоколі РОРЗ визначено кілька команд, але на них дається лише дві відповіді: +ОК (позитивний, аналогічний повідомленню-підтвердження АСK) та -ERR (негативний, аналогічний повідомленню "не підтверджено" NAK). Обидві відповіді підтверджують, що звернення до сервера відбулося і він взагалі відповідає на команди. Як правило, за кожною відповіддю слідує його змістовний словесний опис. У RFC 1225 є зразки кількох типових сеансів РОРЗ. Зараз ми розглянемо кілька з них, що дозволить вловити послідовність команд в обміні між сервером та клієнтом.

Після того, як програма встановила TCP-з'єднання з портом протоколу РОРЗ (офіційний номер 110), необхідно надіслати команду USER з ім'ям користувача як параметр. Якщо відповідь сервера буде +ОК, потрібно надіслати команду PASS із паролем цього користувача:

CLIENT: USER kcope ERVER: +ОК CLIENT: PASS secret SERVER: +ОК kcope"s maildrop has 2 messages (320 octets) (У поштовій скриньці kcope є 2 повідомлення (320 байтів) ...)

Транзакції РОРЗ

Команда STAT повертає кількість повідомлень та кількість байтів у повідомленнях:

SERVER: +ОК 2320

Команда LIST (без параметра) повертає список повідомлень у поштовій скриньці та їх розміри:

Команда NOOP не повертає жодної корисної інформації, крім позитивного відповіді сервера. Однак позитивна відповідь означає, що сервер перебуває у поєднанні з клієнтом і чекає на запити:

Наведені нижче приклади показують, як сервер POP3 виконує дії. Наприклад, команда RETR отримує повідомлення із зазначеним номером і поміщає його в буфер місцевого UA:

CLIENT: RETR 1 SERVER: +OK 120 octets SERVER: (РОРЗ-сервер надсилає повідомлення повністю) SERVER: . . . . . .

Команда DELE відзначає повідомлення, яке потрібно видалити:

SERVER: +OK message 1 deleted ... (повідомлення 1 видалено) CLIENT: DELE 2 SERVER: -ERR message 2 already deleted повідомлення 2 вже видалено)

Команда RSET знімає мітки видалення з усіх зазначених раніше повідомлень:

(у поштовій скриньці 2 повідомлення (320 байтів))

Як і слід очікувати, команда QUIT закриває з'єднання з сервером:

CLIENT: QUIT SERVER: +OK розваги POP3 server signing off CLIENT: QUIT SERVER: +OK розваги POP3 server signing off (maildrop empty)

Зверніть увагу на те, що зазначені для видалення повідомлення насправді не видаляються доти, доки не видано команду QUIT і не почалася стадія оновлення. Будь-якої миті протягом сеансу клієнт має можливість видати команду RSET, і всі зазначені для видалення повідомлення будуть відновлені.

Протокол IMAP

IMAP(Англ. Internet Message Access Protocol) - Інтернет-протокол прикладного рівня для доступу до електронної пошти.

IMAP надає користувачеві багато можливостей для роботи з поштовими скриньками, що знаходяться на центральному сервері. Поштова програма, що використовує цей протокол, отримує доступ до сховища кореспонденції на сервері так, начебто ця кореспонденція розташована на комп'ютері одержувача. Електронними листами можна маніпулювати з комп'ютера користувача (клієнта) без необхідності постійного пересилання з сервера та назад файлів з повним змістом листів.

Переваги у порівнянні з POP

IMAP був розроблений для заміни простішого протоколу POP3 і має наступні переваги в порівнянні з останнім:

  • · Листи зберігаються на сервері, а не на клієнті. Можливий доступ до однієї поштової скриньки з різних клієнтів. Підтримується також одночаснийдоступ кількох клієнтів. У протоколі є механізми, за допомогою яких клієнт може бути проінформований про зміни, зроблені іншими клієнтами.
  • · Підтримка кількох поштових скриньок (або папок). Клієнт може створювати, видаляти та перейменовувати поштові скриньки на сервері, а також переміщувати листи з однієї поштової скриньки до іншої.
  • · Можливе створення спільних папок, до яких можуть мати кілька користувачів.
  • · Інформація про стан листів зберігається на сервері та доступна всім клієнтам. Листи можуть бути позначені як прочитані, важливі тощо.
  • · Підтримка пошуку на сервері. Немає необхідності завантажувати з сервера безліч повідомлень, щоб знайти одне потрібне.
  • · Підтримка онлайн-роботи. Клієнт може підтримувати з сервером постійне з'єднання, при цьому сервер реально інформує клієнта про зміни в поштових скриньках, у тому числі про нові листи.
  • · Передбачено механізм розширення можливостей протоколу.

SMTP (англ. Simple Mail Transfer Protocol - простий протокол передачі пошти) - це широко використовуваний мережевий протокол, призначений передачі електронної пошти мережах TCP/IP.

SMTP вперше був описаний в RFC 821 (1982); останнє оновлення в RFC 5321 (2008) включає розширення, що масштабується, - ESMTP (англ. Extended SMTP). В даний час під "протоколом SMTP", як правило, мають на увазі і його розширення. Протокол SMTP призначений передачі вихідної пошти з використанням порту TCP 25.

У той час, як електронні поштові сервери та інші агенти пересилання повідомлень використовують SMTP для надсилання та отримання поштових повідомлень, що працюють на користувальницькому рівні клієнтські поштові програми зазвичай використовують SMTP тільки для надсилання повідомлень на поштовий сервер для ретрансляції. Для отримання повідомлень клієнтські програми зазвичай використовують або POP (Post Office Protocol - протокол поштового відділення), або IMAP (Internet Message Access Protocol), або пропрієтарні протоколи (такі як Microsoft Exchange і Lotus Notes/Domino) для доступу до облікової запису своєї поштової скриньки на сервері.

POP3

POP3 (Post Office Protocol Version 3 - протокол поштового відділення, версія 3) - стандартний Інтернет-протокол прикладного рівня, що використовується клієнтами електронної пошти для отримання пошти з віддаленого сервера по TCP/IP-з'єднанню.

Стандартний порт РОP3 – 110.

POP та IMAP (Internet Message Access Protocol) – найпоширеніші Інтернет-протоколи для вилучення пошти. Практично всі сучасні клієнти та сервери електронної пошти підтримують обидва стандарти. Протокол POP був розроблений у кількох версіях, нинішнім стандартом є третя версія (POP3). Більшість постачальників послуг електронної пошти (наприклад, Hotmail, Gmail та Yahoo! Mail) також підтримують IMAP та POP3. Попередні версії протоколу (POP, POP2) застаріли.

Альтернативним протоколом для збирання повідомлень із поштового сервера є IMAP.

IMAP

IMAP (англ. Internet Message Access Protocol) – протокол прикладного рівня для доступу до електронної пошти.

Базується на транспортному протоколі TCP та використовує порт 143.

IMAP надає користувачеві великі можливості для роботи з поштовими скриньками на центральному сервері. Поштова програма, що використовує цей протокол, отримує доступ до сховища кореспонденції на сервері так, начебто ця кореспонденція розташована на комп'ютері одержувача. Електронними листами можна маніпулювати з комп'ютера користувача (клієнта) без постійного пересилання з сервера та назад файлів з повним змістом листів.

У вік сучасних технологій у наше повсякденне життя увійшло спілкування через електронну пошту. Якщо раніше для передачі графічної інформації використовували факси, то зараз це досить рідко.

У цьому відео пропоную розібратися в роботі електронної пошти, а точніше у налаштуванні та роботі протоколів SMTP, POP3 та IMAP, завдяки яким ми можемо обмінюватися електронними повідомленнями.

Абревіатура SMTP розшифровується як Simple Mail Transfer Protocol або спрощений протокол передачі пошти та його основним завданням є надсилання повідомлень. Але для нормальної роботи з електронною поштою ми повинні окрім відправлення пошти, ще її і отримувати! А ці завдання беруть він протоколи POP3 (Post Office Protocol 3) чи поштовий протокол версії 3 і IMAP (Interactive Mail Access Protocol) чи протокол інтерактивного доступу до електронної пошти.

Так ось головною метою даного відео буде розібратися, в чому відмінності між цими двома протоколами, і який краще використовувати в роботі.

Для тестування я використовуватиму безкоштовний поштовий клієнт Thunderbird від компанії Mozilla. При необхідності ви можете завантажити його за посиланням, яке я дам у додаткових матеріалах до цього відео на офіційному сайті Центру Навчання IT. https://www.mozilla.org/ru/thunderbird/

Запустимо поштовий клієнт і додамо 2 поштові скриньки, які я спеціально створив для тестування протоколів POP3() та IMAP(). Для підключення скриньок заходимо в (Меню \ Установки \ Параметри облікового запису \ Дії для облікового запису \ Додати обліковий запис пошти \ Вводимо ім'я \ Адреса електронної пошти \ Пароль \ Продовжити)

Видається повідомлення «Thunderbird не вдалося знайти налаштування для вашого облікового запису пошти) тому нам потрібно буде виконати більш тонкі налаштування.

Для початку потрібно вибрати протокол вхідної пошти, вибираємо POP3, так як ящик створив спеціально для тестування даного протоколу.

Ім'я сервера - якщо у вас пошта на mail.ru, то швидше за все зможе правильно підставити ім'я сервера .com. А взагалі, дані налаштування ви можете знайти на сайті поштового сервісу, на якому у вас зареєстрована скринька та, як правило, це pop3. та доменне ім'я поштового сервісу.

Тиснемо "Перетестувати" і поштовий клієнт успішно достукався до сервера і автоматично виставив потрібні налаштування для роботи. Тут ми можемо побачити, що протокол POP3 працює на 110 порту, SMTP на 25. Тиснемо «Готово» і аналогічним чином налаштовуємо ще одну поштову скриньку (), але як протокол вхідної пошти вкажемо IMAP з портом 143.

Тож у чому різниця між протоколом POP3 і IMAP?

Якщо ми зайдемо до поштової скриньки test-imap до папки «Вхідні», то у нас відразу з'являються листи, які знаходяться в даній поштовій скриньці на сервері. Аналогічно тому, якби ми зайшли безпосередньо на сервер через веб-інтерфейс. На поштовій скриньці test-pop3 нічого немає, оскільки робота через протокол POP3 йде за запитом, тобто. потрібно дати команду "Отримати пошту".

Так ось основна відмінність між протоколами POP3 та IMAP полягає в тому, що за протоколом IMAP йде постійний зв'язок з поштовою північчю, а POP3 працює на запит отримання пошти.

Для того, щоб наочніше зрозуміти, як все це працює, зімітуємо роботу співробітника з поштою:

Створимо папку «Клієнти» для можливості сортувати листи з різних груп;

Відправимо з ящика test-pop3 3 тестові листи на test-imap

У ящику test-imap: один лист перемістимо до папки «Клієнти»; на друге відповімо; третє залишимо не прочитаним.

У ящику test-pop3 відповімо на отриманий лист і перемістимо його до папки «Клієнти»

Тепер подивимося через веб-інтерфейс, що ми маємо на сервері з поштовою скринькою test-imap. Як ви бачите, тут все так само, як і в поштовому клієнті (є всі вхідні листи і навіть ті, які ми не встигли прочитати, так само помічені, як не прочитані; в папці надіслані, присутні листи, які ми надсилали; в папці Trash видалені, і навіть створилася папка Клієнти і там є лист, який ми туди перемістили). Тобто. все, що ми робили через поштовий клієнт Thunderbird, про дублювалося на сервері.

А що ж у ящику test-pop3? Лише листи в папці вхідні, які надходили на поштовий сервер. Жодних листів у «Відправлених», у «Кошику» і немає папки «Клієнти». Навіть лист, який ми переміщували в папку «Клієнти», також залишився на місці. Все це говорить про те, що POP3 працює тільки для отримання пошти, без будь-якого зворотного зв'язку.

Який висновок на основі проведених експериментів ми можемо зробити? Якщо ви працюєте з поштою з одного комп'ютера через поштовий клієнт, то вам підійде протокол POP3. Якщо ви працюєте з однією поштовою скринькою на різних пристроях (робочий комп'ютер, домашній комп'ютер, мобільний телефон), то протокол IMAP, оскільки при внесенні змін на будь-якому пристрої вони з'являться на всіх пристроях.

Плюс, коли комп'ютер зламався, ми можемо додати обліковий запис пошти на іншому комп'ютері та продовжувати працювати, як ні в чому не бувало, вся напрацьована інформація буде актуальною.

Особисто я використовую POP3, щоб не займати місце на сервері, так як працюю з особистою поштою тільки з домашнього комп'ютера. А на випадок виходу з ладу жорсткого дискау мене налаштований дзеркальний RAID та синхронізація у хмару Acronis.

До речі, якщо вам цікаво, можу записати відеоурок з підключення вашої корпоративної пошти до веб-інтерфейсу mail.ru або яндекс.пошта. Насправді це дуже зручно, тому що зазвичай користувачі звикли до роботи з поштою на цих сайтах і їм важко перейти на роботу в поштовому клієнті або іншому веб-інтерфейсі. А завдяки такій можливості вони зможуть працювати з корпоративною поштою у звичному середовищі.

В Інтернеті для доставки електронної пошти машина-джерело встановлює TCP-з'єднання з портом 25 машин приймача. Цей порт прослуховується поштовим демоном, і їхнє спілкування відбувається за допомогою протоколу SMTP (Simple Mail Transfer Protocol – простий протокол електронної пошти). Цей демон приймає вхідні з'єднання та копіює повідомлення з них у відповідні поштові скриньки. Якщо листа неможливо доставити, відправнику надсилається повідомлення про помилку, що містить першу частину цього листа.

MTA (Mail Transfer Agent)- Агент передачі пошти - є основним компонентом системи передачі пошти Internet, який представляє даний мережевий комп'ютер для мережевої системи електронної пошти. Зазвичай користувачі працюють не з MTA, а з програмою MUA (Mail User Agent)- Клієнтом електронної пошти. Схематично принцип взаємодії показаний малюнку.

Протокол SMTP є простим протоколом ASCII. Встановивши ТСР-з'єднання з портом 25. машина, що передає, виступає в ролі клієнта, чекає запиту приймаючої машини, що працює в режимі сервера. Сервер починає діалог з того, що посилає текстовий рядок, що містить його ідентифікатор і повідомляє про його готовність (або неготовність) до прийому пошти. Якщо сервер не готовий, клієнт розриває з'єднання та продовжує спробу пізніше.

Якщо сервер готовий приймати пошту, клієнт оголошує, від кого надійшла пошта та кому вона призначається. Якщо одержувач пошти існує, сервер дає клієнту добро на надсилання повідомлення. Потім клієнт надсилає повідомлення. А сервер підтверджує його отримання. Контрольні суми не перевіряються, оскільки протокол ТСР забезпечує надійний байтовий потік. Якщо відправник має ще пошту. Вона також вирушає. Після передачі пошти в обох напрямках з'єднання розривається.

Найпростіший приклад SMTP-сесії С: - Клієнт, S: - сервер

S: (очікує з'єднання)

C: (Підключається до порту 25 сервера)

S:220 mail.company.tld ESMTP CommuniGate Pro 5.1.4i is glad to see you!

S:250 domain name should be qualified

S:250 Ця адреса електронної пошти приховується від різних спамерських пошукових роботів. Щоб побачити її потрібно активувати java-script. sender accepted

S:250 Ця адреса електронної пошти приховується від різних спамерських пошукових роботів. Щоб побачити її потрібно активувати java-script. ok

S:550 Ця адреса електронної пошти приховується від різних спамерських пошукових роботів. Щоб побачити її потрібно активувати java-script. unknown user account

S:354 Enter mail, end with "." on a line by itself

S:250 769947 message accepted for delivery

S:221 mail.company.tld CommuniGate Pro SMTP closing connection

S: (закриває з'єднання)

В результаті такої сесії листа буде доставлено адресату Ця адреса електронної пошти приховується від різних спамерських пошукових роботів. Щоб побачити її потрібно активувати java-script. але не буде доставлено адресату Ця електронна адреса захищена від спам-ботів. Щоб побачити її потрібно активувати java-script , тому що такої адреси не існує.

Деякі команди SMTP

HELO (SP) (string) (CRLF)

Ідентифікує SMTP-сервер відправника, відкриває сеанс (SP) пробіл

Завершує SMTP-сеанс.

MAIL (SP) FROM: (reverse-path) (CRLF)

Вказує адресу відправника.

RCPT (SP) TO: (forward-path) (CRLF)

Вказує адресу одержувача.

Вказує на початок повідомлення. Для закінчення повідомлення вказується (CRLF).

VRFY (SP) (string) (CRLF)

перевіряє існування одержувача.

EXPN (SP) (string) (CRLF)

порожня операція

сервер та клієнт змінюються ролями після відповіді сервера 200 OK

скидання сесії у вихідний стан

інформація про підтримувані команди

Через проблеми зі спамом, майже всі сучасні сервери ігнорують команди VRFY і EXPN, як такі, що розкривають інформацію про користувача.

Для вирішення деяких проблем. Було розроблено розширений протокол SMTP, ESMTP. Клієнти, які бажають використовувати його, повинні розпочинати сесію зв'язку з посилки вітання EHLO замість HELO. Якщо команда не приймається сервером, сервер підтримує лише звичайний протокол SMTP і клієнту слід працювати у звичайному режимі. Якщо EHLO прийнято, значить, встановлена ​​сесія ESMTP і можлива робота з новими параметрами та командами.

Post Office Protocol Version 3- Протокол поштового відділення, версія 3 - це мережевий протокол, який використовується поштовим клієнтом для отримання повідомлень електронної пошти з сервера. Зазвичай використовується у парі з протоколом SMTP.

Попередні версії протоколу (POP, POP2) застаріли. Альтернативним протоколом для збирання повідомлень із поштового сервера є IMAP. За замовчуванням використовує TCP-порт 110. Існують реалізації POP3-серверів, що підтримують TLS та SSL.


Після встановлення з'єднання протокол РОР3 проходить три послідовні стани

  • 1. Авторизація клієнт проходить процедуру аутентифікації
  • 2. Транзакція клієнт отримує інформацію про стан поштової скриньки, приймає та видаляє пошту.
  • 3. Оновлення сервер видаляє вибрані листи та закриває з'єднання.

Незважаючи на те, що протокол РОР3 дійсно підтримує можливість отримання одного або декількох листів та залишення їх на сервері, більшість програм обробки електронної пошти просто скачують усі листи та спустошують поштову скриньку на сервері.

Приклад сесії

S:<Сервер ожидает входящих соединений на порту 110>

C:<подключается к серверу>

S: +OK POP3 server ready< Этот адрес e-mail защищен от спам-ботов. Чтобы увидеть его, у Вас должен быть включен Java-Script >

C: APOP mrose

S:<сервер передает сообщение 1>

S: +OK message 1 deleted

S:<сервер передает сообщение 2>

S: +OK message 2 deleted

S: +OK dewey POP3 server signing off (maildrop empty)

C:<закрывает соединение>

S:<продолжает ждать входящие соединения>

Користувачеві, який має один обліковий запис в одного провайдера і завжди з'єднується з провайдером з однієї і тієї ж машини, достатньо протоколу РОР3. Цей протокол використовується повсюдно завдяки його простоті та надійності. Але багато користувачів мають один обліковий запис у навчальному закладі або на роботі, але вони хочуть мати до неї доступ і з дому, і з місця роботи (навчання), і під час відрядження ті з різних місць. Хоча протокол РОР3 дозволяє дозволити таку ситуацію. Але проблема в тому, що при такому використанні електронної пошти вся кореспонденція користувача дуже швидко пошириться випадковими машинами, з яких він отримував доступ в Інтернет, і деякі з цих комп'ютерів можуть взагалі не належати користувач.

Ця незручність призвела до створення альтернативного протоколу для отримання пошти, IMAP.

IMAP (англ. Internet Message Access Protocol)- Інтернет-протокол прикладного рівня для доступу до електронної пошти.

IMAP надає користувачеві багато можливостей для роботи з поштовими скриньками, що знаходяться на центральному сервері. Поштова програма, що використовує цей протокол, отримує доступ до сховища кореспонденції на сервері так, начебто ця кореспонденція розташована на комп'ютері одержувача. Електронними листами можна маніпулювати з комп'ютера користувача (клієнта) без необхідності постійного пересилання з сервера та назад файлів з повним змістом листів.

IMAP був розроблений для заміни простішого протоколу POP3 і має наступні переваги в порівнянні з останнім:

  • 4. Листи зберігаються на сервері, а не клієнта. Можливий доступ до однієї поштової скриньки з різних клієнтів. Також підтримується одночасний доступ кількох клієнтів. У протоколі є механізми, за допомогою яких клієнт може бути проінформований про зміни, зроблені іншими клієнтами.
  • 5. Підтримка кількох поштових скриньок (або папок). Клієнт може створювати, видаляти та перейменовувати поштові скриньки на сервері, а також переміщувати листи з однієї поштової скриньки до іншої.
  • 6. Можливе створення спільних папок, до яких можуть мати доступ кілька користувачів.
  • 7. Інформація про стан листів зберігається на сервері та доступна всім клієнтам. Листи можуть бути позначені як прочитані, важливі тощо.
  • 8. Підтримка пошуку на сервері. Немає необхідності завантажувати з сервера безліч повідомлень, щоб знайти одне потрібне.
  • 9. Підтримка онлайн-роботи. Клієнт може підтримувати з сервером постійне з'єднання, при цьому сервер реально інформує клієнта про зміни в поштових скриньках, у тому числі про нові листи.
  • 10. Передбачено механізм розширення повноважень протоколу.

Поточна версія протоколу має позначення IMAP4rev1 (IMAP, версія 4, ревізія 1). Протокол підтримує передачу пароля користувача у зашифрованому вигляді. Крім того, IMAP-трафік можна зашифрувати за допомогою SSL.

3. Зведена таблиця за поштовими клієнтами та серверами для різних ОС


4. Найбільш відомі WEB-клієнти роботи з поштою

Eudora Mail- Клієнт електронної пошти, який з'явився ще на зорі Інтернету, коли електронна пошта була чи не єдиним засобом спілкування.

Evolution- графічна клієнтська програма керування електронною поштою, контактами та часом для платформи Linux. Розроблена та підтримується фірмою Novell. Містить календар, систему планування часом, адресну книгу, підтримує всі найпоширеніші поштові протоколи IMAP, POP, SMTP.

Fidolook- клієнт електронної пошти, який є додатком, що вбудовується до Outlook Express зі складу пакету Internet Explorer. Істотно розширює такі можливості Outlook Express, як цитування повідомлень, шаблони повідомлень, настроювання заголовків повідомлення, можливості роботи з папками новин, імпорт та експорт повідомлень.

Foxmail!- Безкоштовна програма для роботи з електронною поштою для Windows. Розробляється китайською корпорацією TenCent. Підтримує протоколи SMTP, POP3 та RSS. Основні можливості:

  • o відправлення листів без участі SMTP-сервера (комп'ютер користувача виступає у ролі SMTP-сервера);
  • o можливість встановлення пароля на обліковий запис;
  • o налаштування прийому пошти з кількох E-mail адрес в один аккаунт;
  • o сортувальник листів на основі фільтрів;
  • o створення та редагування шаблонів нових листів;
  • o робота з диспетчером листів (управління повідомленнями на сервері);
  • o можливість шифрування повідомлень;
  • o зручна адресна книга, інтегрована в інтерфейс;
  • o RSS-агрегатор.

KMail- клієнт електронної пошти, поширений на операційні системисімейства * nix. Підтримує SMTP, POP3, IMAP, локальні поштові скриньки, а також існує підтримка, антивірусів, антиспаму, фільтрів користувача.

M2- Внутрішня назва поштового та новинного клієнта, вбудованого в браузер Opera та офіційно званого Opera Mail. Його інтерфейс відрізняється від інших поштових клієнтів з метою забезпечення кращої інтеграції з Opera, а також є фільтр спаму, підтримка POP3 та IMAP, груп новин, RSS і Atom стрічок.

MailMan- поштовий клієнт для мобільних пристроїв та телефонів, є java додатком. Основні можливості:

  • o робота з файловою системою (збереження, додавання вкладень файлів будь-яких форматів, робота з адресною книгою, збереження історії завантажень на диск в.txt, програвання заданої мелодії);
  • o можливість роботи з кодуванням та транслітом;
  • o перегляд html, wml, pda та xml-подібних сторінок у вигляді тексту без посилань та зображень з можливістю налаштування шрифту;
  • o безліч параметрів і гнучка настройка;
  • o програма поширюється безкоштовно.

Microsoft Outlook- комп'ютерна програма-органайзер з функціями поштового клієнта, що входить до пакету офісних програм Microsoft Office. Основні можливості:

  • o є повноцінним Організатором, що надає функції календаря, планувальника завдань, записника та менеджера контактів;
  • o дозволяє відстежувати роботу з документами Microsoft Office для автоматичного складання щоденника роботи;
  • o може використовуватися як окрема програма, так і виступати в ролі клієнта для поштового сервера Microsoft Exchange Server, що надає додаткові функції для спільної роботи користувачів однієї організації: спільні поштові скриньки, папки завдань, календарі, конференції, планування та резервування часу спільних зустрічей, погодження документів.

Mozilla Thunderbird- безкоштовна, вільно розповсюджувана програма для роботи з електронною поштою та групами новин. Є складовою проекту Mozilla. Підтримує протоколи SMTP, POP3, IMAP, NNTP, RSS, працює у Windows, Mac OS X і Linux, причому набір можливостей та розташування елементів керування на всіх платформах однакові.

Outlook Express- програма для роботи з електронною поштою та групами новин, що постачається у складі ОС Windows, починаючи з Windows 95 OSR 2.5, а також разом із браузером Internet Explorer, починаючи з версії 4.0. Нова версія Outlook Express, включена до складу Windows Vista разом з Internet Explorer 7.0, називається Windows Mail. Назва Outlook Express передбачає, що ця програма є полегшеною версією Microsoft Outlook і, на відміну від Outlook Express, не має функцій для роботи з групами новин.

The Bat!- умовно-безкоштовна програма для роботи з електронною поштою для Windows. Розробляється молдавською компанією RitLabs. Підтримує протоколи SMTP, POP3, IMAP, має досить розвинену систему фільтрації повідомлень та підтримує велику кількість кириличних кодувань. Існують дві версії програми: Home та Professional. У версії Professional є можливість перевірки орфографії, шифрації повідомлень та біометричної автентифікації.

6. Налаштування безпеки у поштових системах: TLS, SSL, цифровий підпис, сертифікат. Поняття СПАМ

TLS (англ. Transport Layer Security) - криптографічний протокол, що забезпечує безпечну передачу даних між користувачами в Інтернеті.

TLS-протокол заснований на Netscape SSL-протоколі версії 3.0 і складається з двох частин - TLS Record Protocol та TLS Handshake Protocol. Відмінність між SSL 3.0 і TLS 1.0 незначні, тому в тексті термін «SSL» буде ставитися до них обох. Більшість сучасних браузерів підтримує цей протокол. TLS Working Group, заснована 1996 року, продовжує працювати над протоколом.

SSL, використовуючи криптографію, надає можливості автентифікації та безпечної передачі даних через Інтернет. Часто відбувається лише автентифікація сервера, тоді як клієнт залишається неавтентифікованим. Для взаємної аутентифікації кожна сторона має підтримувати інфраструктуру відкритого ключа (PKI), яка дозволяє захистити клієнт-серверні програми від перехоплення повідомлень, редагування існуючих повідомлень та створення підроблених.

SSL включає три основні фази:

  • o Діалог між сторонами, метою якого є вибір алгоритму шифрування
  • o Обмін ключами на основі криптосистем з відкритим ключем або автентифікація на основі сертифікатів.
  • o Передача даних, що шифруються за допомогою симетричних алгоритмів шифрування

У першій фазі клієнт та сервер обговорюють вибір криптографічного алгоритму для подальшого використання. У даній версії протоколу доступні такі алгоритми:

  • o Для обміну ключами та перевірки їх справжності застосовуються комбінації алгоритмів: RSA (асиметричний шифр), Diffie-Hellman (безпечний обмін ключами), DSA (алгоритм цифрового підпису) та алгоритми технології Fortezza.
  • o Для симетричного шифрування: RC2, RC4, IDEA, DES, Triple DES або AES;
  • o Для хеш-функцій: MD5 або SHA.

SSL (англ. Secure Sockets Layer - протокол захищених сокетів) - криптографічний протокол, що забезпечує безпечну передачу даних через Інтернет. За його використання створюється захищене з'єднання між клієнтом і сервером. SSL спочатку розроблений компанією Netscape Communications, в даний час прийнятий IETF як стандарт. Підтримується популярними браузерами.

Використовує шифрування з відкритим ключем для підтвердження справжності передавача та одержувача. Підтримує надійність передачі даних за рахунок використання коригувальних кодів та безпечних хеш-функцій.

SSL складається із двох рівнів. На нижньому рівні багаторівневого транспортного протоколу (наприклад TCP) він є протоколом запису і використовується для інкапсуляції (тобто формування пакета) різних протоколів. Для кожного інкапсульованого протоколу він забезпечує умови, за яких сервер і клієнт можуть підтверджувати один одному свою справжність, виконувати алгоритми шифрування і обмін криптографічними ключами, перш ніж протокол прикладної програми почне передавати і отримувати дані.

Для доступу до сторінок, захищених протоколом SSL, URL замість звичайного префікса (schema) http, як правило, застосовується префікс https (порт 443), що вказує на те, що буде використовуватися SSL з'єднання. Оскільки операції шифрування/розшифрування вимагають багато обчислювальних ресурсів, щоб знизити навантаження на веб-сервери, використовують апаратні SSL-прискорювачі.

Для роботи SSL потрібно, щоб на сервері був SSL-сертифікат.

Електронний цифровий підпис (ЕЦП) – реквізит електронного документа, призначений для посвідчення джерела даних та захисту даного електронного документа від підробки.

Цифровий підпис забезпечує:

  • o Посвідчення джерела документа. Залежно від деталей визначення документа може бути підписано такі поля, як «автор», «внесені зміни», «мітка часу» тощо.
  • o Захист від змін документа. При будь-якій випадковій або навмисній зміні документа (або підпису) зміниться хеш, отже, підпис стане недійсним.
  • o Неможливість відмовитися від авторства. Так як створити коректний підпис можна лише, знаючи закритий ключ, а він відомий лише власнику, то власник не може відмовитись від свого підпису під документом.

Можливі такі загрози цифровому підпису:

  • o Зловмисник може спробувати підробити підпис для вибраного ним документа.
  • o Зловмисник може спробувати підібрати документ до цього підпису, щоб підпис до нього підходив.
  • o Зловмисник може спробувати підробити підпис для будь-якого документа.

При використанні надійної хеш-функції, обчислювально складно створити підроблений документ з таким же хеш, як у справжнього. Однак, ці загрози можуть реалізуватися через слабкості конкретних алгоритмів хешування, підпису, або помилок у їх реалізації.

Тим не менш, можливі ще такі загрози системам цифрового підпису:

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

Сертифікат (сертифікат відкритого ключа, сертифікат ЕЦП) – цифровий або паперовий документ, що підтверджує відповідність між відкритим ключем та інформацією, що ідентифікує власника ключа. Містить інформацію про власника ключа, відомості про відкритий ключ, його призначення та область застосування, назву центру сертифікації тощо.

Відкритий ключ може бути використаний для організації захищеного каналу зв'язку з власником двома способами:

  • o для перевірки підпису власника (автентифікація)
  • o для шифрування даних, що посилаються (конфіденційність)

Існує дві моделі організації інфраструктури сертифікатів: централізована (PKI) та децентралізована (PGP). У централізованій моделі є кореневі центри сертифікації, підписи яких зобов'язаний довіряти кожен користувач. У децентралізованій моделі кожен користувач самостійно вибирає, яким сертифікатам він довіряє і якою мірою.

Спам (англ. spam) - повідомлення, що масово розсилаються людям, які не виявили бажання їх отримувати. Насамперед термін «спам» відноситься до електронних листів.

Способи боротьби зі спамом

  • o Превентивні методи
  • o Найнадійніший спосіб боротьби зі спамом - не дозволити спамерам дізнатися електронну адресу. Це важке завдання, але деякі запобіжні заходи можна вжити.
  • o На жаль, навіть такі суворі заходи не дають повної гарантії того, що спамер не впізнає електронну адресу. Методи збору адрес включають використання вірусів з метою полювання на контакт-листами користувачів. Віруси експлуатують вади у відомих поштових програмах та надсилають адреси з контакт-листа зловмиснику або самостійно надсилають на ці адреси копії небажаних листів.
  • o Автоматична фільтрація
  • o Існує програмне забезпечення (ПЗ) для автоматичного визначення спаму (т. зв. фільтри). Вона може бути призначена для кінцевих користувачів або для використання на серверах. Це програмне забезпечення використовує два основних підходи.
  • o Перший у тому, що аналізується зміст листи і робиться висновок, це спам чи ні. Якщо лист класифіковано як спам, він може бути помічений, переміщений в іншу папку або навіть видалено. Таке програмне забезпечення може працювати як на сервері, так і на комп'ютері клієнта. При такому підході ви не бачите відфільтрованого спаму, але продовжуєте повністю або частково нести витрати, пов'язані з його прийомом, так як антиспамне ПЗ у будь-якому випадку отримує кожен спамерський лист (витрачаючи ваші гроші), а потім вирішує, показувати його чи ні. З іншого боку, якщо програмне забезпечення працює на сервері, ви не несете витрат з копіювання його на свій комп'ютер.
  • o Другий підхід у тому, щоб, застосовуючи різні методи, пізнати відправника як спамеру, не заглядаючи у текст листа. Це може працювати тільки на сервері, який безпосередньо приймає листи. При такому підході можна зменшити витрати - гроші витрачаються тільки на спілкування зі спамерськими поштовими програмами (тобто на відмови приймати листи) та звернення до інших серверів (якщо такі необхідні) під час перевірки. Виграш, однак, не такий великий, як можна було б очікувати. Якщо одержувач відмовляється прийняти лист, спамерська програма намагається обійти захист та надіслати його іншим способом. Кожну таку спробу доводиться відображати окремо, що збільшує навантаження на сервер.

Методи автоматичної фільтрації

Програми автоматичної фільтрації використовують статистичний аналіз змісту листа для прийняття рішення, чи є спамом. Найбільшого успіху вдалося досягти за допомогою алгоритмів, що базуються на теоремі Байєса. Для цих методів потрібно «навчання» фільтрів, т. е. потрібно використовувати розсортовані вручну листи виявлення статистичних особливостей нормальних листів і спаму.

Неавтоматична фільтрація

Багато програм та поштових сервісів в Павутині дозволяють користувачеві задавати власні фільтри. Такі фільтри можуть складатися зі слів або, рідше, регулярних виразів, залежно від наявності або відсутності яких повідомлення потрапляє або не потрапляє у скриньку. Однак така фільтрація трудомістка і негнучка, крім того, вимагає від користувача певного ступеня знайомства з комп'ютерами. З іншого боку, вона дозволяє ефективно відсіяти частину спаму, і користувач знає, які повідомлення будуть відсіяні і чому.

Чорні списки. До чорних списків заносяться IP-адреси комп'ютерів, про які відомо, що з них ведеться розсилання спаму. Також широко використовуються списки комп'ютерів, які можна використовувати для розсилки - "відкриті релеї" і "відкриті проксі", а також - списки "діалапів" - клієнтських адрес, на яких не може бути поштових серверів. Можна використовувати локальний список або список, який підтримується кимось. Завдяки простоті реалізації, поширення отримали чорні списки, запит до яких здійснюється через службу DNS. Вони дістали назву DNSBL (DNS Black List). Нині цей метод дуже ефективний. Спамери знаходять нові комп'ютери для своїх цілей швидше, ніж їх встигають заносити до чорних списків. Крім того, кілька комп'ютерів, що відправляють спам, можуть скомпрометувати весь поштовий домен або підсіти, і тисячі законослухняних користувачів на невизначений час будуть позбавлені можливості надсилати пошту серверам, що використовують чорний список.

Авторизація поштових серверів. Були запропоновані різні способи для підтвердження того, що комп'ютер, який надсилає лист, дійсно має на це право (Sender ID, SPF, Caller ID, Yahoo DomainKeys, MessageLevel), але вони поки що не набули широкого поширення. Крім того, ці технології обмежують деякі поширені види функціональності поштових серверів: неможливо автоматично перенаправляти кореспонденцію з одного поштового сервера на інший (SMTP Forwarding).

Серед провайдерів поширена політика, згідно з якою клієнтам дозволяється встановлювати з'єднання SMTP тільки з серверами провайдера. У цьому випадку неможливо використовувати деякі з механізмів авторизації.

Сірі списки Метод сірих списків заснований на тому, що «поведінка» програмного забезпечення, призначеного для розсилки спаму, відрізняється від поведінки звичайних поштових серверів, а саме, спамерські програми не намагаються повторно надіслати листа при виникненні тимчасової помилки, як цього вимагає протокол SMTP. Точніше, намагаючись обійти захист, при подальших спробах вони використовують інший релей, іншу зворотну адресу тощо, тому це виглядають для сторони, що приймає, як спроби відправлення різних листів.