Створити сервіс передачі великих файлів. Захищений обмін файлами через канали Internet

26
Листопад 2014

Реалізація безпечного файлообміну за допомогою систем керованої передачі файлів. Частина 1

Передумови

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

Ситуація, що склалася, призвела до збільшення попиту на продукти, призначені для управління і контролю всього процесу файлообміну (Managed File Transfer, MFT).

Причини відмови від традиційних рішень

Протягом тривалого часу використання FTPта поштового серверів (наприклад, Microsoft Exchange) дозволяло частково вирішувати завдання файлообміну. Файли пересилалися електронною поштою, завантажувалися на сервер на визначений часабо зовсім не віддалялися звідти. Однак більшість компаній все ще не можуть знайти відповідне рішення для задоволення таких вимог:

  • Організація повністю безпечного та авторизованого обміну файлами з будь-якого типу використовуваних пристроїв (персональних, мобільних та ін.) та розташування користувача системи.
  • Забезпечення користувачів доступним рішенням із дружнім інтерфейсом, зрозумілим на інтуїтивному рівні, без додаткового навчання.
  • Використання альтернатив традиційним рішенням (електронна пошта, FTP), які дозволять реалізувати централізовану передачу файлів, а також гарантувати їхню конфіденційність та контролювати процес обміну.
  • Виконання пунктів:
    • Відповідність локальним нормативним вимогам,
    • Конфіденційність інформації, що передається,
    • Проставлення ЕП на документах, що передаються,
    • Шифрування файлів, що відправляються,
    • Комплексне відстеження інформації про всі передані файли та операції скачування,
    • Аудит та адміністрування використовуваної системи.

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

Використання сервера електронної пошти

Електронна пошта - відповідна технологія для обміну листами та вкладеннями обмеженого розміру (документ, «легковажна» картинка…). Але це рішення не дозволяє здійснювати передачу великих файлів. Максимальний розмірвкладення зазвичай суворо обмежений і варіюється в межах декількох мегабайт: наприклад, ліміт вкладення, що відправляється, через публічний сервер Googleскладає 25 МБ/лист, а корпоративного Microsoft Exchange - ~5-30 МБ/лист. Крім цього, існує й інша проблема: лист може бути не доставлений одержувачу через те, що обмеження на розмір повідомлення на поштових серверах відправника та одержувача різні.

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

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

Малюнок 1

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

ВикористанняFTP-сервера

Коли електронна пошта не справляється з пересиланням файлів великого розміру у зв'язку з введеними в компанії обмеженнями, компанія може використовувати додаткове рішення - FTP-сервер.

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

Як приклад простої атаки, можна розглянути індексацію FTP за допомогою пошукової системи Google, завдяки якій можна отримати різні конфіденційні документи компанії, викладені на сервері (приклад на рис).


Малюнок 2

У 2007 році було опубліковано інформацію (ru-board.com), згідно з якою зловмисникам вдалося отримати доступ до FTP-сервера компанії Elcomsoft. Після чого вся інформація стала доступною в Інтернеті, включаючи конфіденційні файли (користувацькі дані, особисті дані співробітників компанії, фотографії та ін). Більш того, було виявлено «свіжі» версії програм IDA Pro 5.1 та Bitrix 6.0. Як було заявлено, злому сервера не було. Причиною стала можливість використання неавторизованого віддаленого комп'ютера.

У 2010 році компанія «Дальнозв'язок» допустила великий витік даних своїх клієнтів зі свого публічного FTP-сервера.

Ще чимало існує подібних прикладів, що змушує все-таки задуматися про захист файлів, що передаються.

Використання зовнішніх файлообмінників

Незважаючи на наявність FTP-сервера, його розгортання та подальше адміністрування у компанії може виявитися досить витратними. Це нарівні з відсутністю регламентованих правил призвело до того, що в деяких компаніях досі використовуються загальнодоступні файлообмінники як передачі великого розміру файлів. Такий метод передачі файлів і тим більше конфіденційних документів однозначно призводить до великого ризику витоку важливої ​​інформації (рис) і не може відповідати належним чином необхідним заходам безпеки.

Малюнок 3

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

При таких способах обміну інформацією необхідно використовувати парольний захист. Однак такі питання все ще залишаються без відповіді:

  • Як налаштовувати парольну політику?
  • Як керувати користувачами та їх правами?
  • Як контролювати процес обміну та здійснювати аудит операцій?
  • Як організувати групову передачу файлів?

Всі ці проблеми загальнодоступний файлообмінник не зможе вирішити.

ПросистемахManaged File Transfer(MFT)

Керована передача файлів(англ. Managed File Transfer, MFT) - програмне рішення, реалізований для спрощення завдань передачі файлів з одного комп'ютера на інший за допомогою мережі (наприклад, Інтернет).

MFT покриває цілий спектр завдань, а саме: автоматизація передачі даних, безпечний та авторизований обмін даними, забезпечення конфіденційності інформації, що передається, забезпечення цілісності файлів, управління користувачами та групами користувачів, простий інтерфейс управління, підтримка різних методіваутентифікації, інтеграція з існуючими інформаційними системами(ІВ).

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

  • Шифрування файлів, що відправляються;
  • Проставлення ЕП на документах, що передаються;
  • Журналування та аудит виконаних операцій та входів до системи;
  • Адміністрація системи;
  • Можливість інтеграції з різними ІС за допомогою API;
  • Можливість аутентифікації на основі LDAP, AD, Web SSO, X.509 та ін.

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

Висновки

Збільшення кількості файлів, що передаються різних типівта розмірів поступово призводить до необхідності використання спеціалізованих технологічних продуктів для вирішення задачі безпечного управлінняфайлообміном, які забезпечать зниження ризиків витоку конфіденційної чи іншої важливої ​​інформації компанії. Використання традиційних рішень, таких як електронна пошта або FTP, більше не дозволяють належним чином задовольнити всі вимоги безпеки, а використання сторонніх файлообмінників може призвести до серйозних для компанії наслідків. Системи MFT є ефективним інструментом для вирішення завдання файлообміну та задовольняють більшу частину потреб сучасної організації. На сьогоднішньому ринку існують різні програмні продукти, які мають широкі функціональними можливостямита які можна вибрати, виходячи з потреб компанії.

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

У дорозі та після прибуття

Якщо ваші наміри обмежуються захистом файлів у процесі їх передачі каналами Internet, вам потрібна технологія безпечного транспортування. Один з варіантів полягає у використанні Web-вузла, здатного приймати файли, що пересилаються на нього, і забезпечує можливість безпечного завантаження таких файлів. Для організації захищеного транспортування файлів на веб-сайт можна створити веб-сторінку, оснащену засобами Secure Sockets Layer (SSL), на якій розміщується елемент керування ActiveX або сценарій Javascript. Наприклад, можна скористатися елементом управління AspUpload від компанії Persitis Software; розробники стверджують, що це «найсучасніший з наявних на ринку засобів управління транспортуванням файлів на центральні вузли». Ще один варіант – використовувати сценарій Free ASP Upload, який не потребує застосування бінарного компонента. Для забезпечення додаткового захисту можна навіть захистити паролями як Web-сторінку, так і асоційований з нею каталог для розміщення матеріалів, що надійшли на вузол. Що ж до завантаження файлів з Web-вузла, достатньо подбати про те, щоб відповідний Web-сервер забезпечував з'єднання із застосуванням засобів SSL, принаймні для URL, який використовується для завантаження файлів.

Альтернативний варіант - використання FTP-сервера, що забезпечує передачу даних по протоколу FTP Secure. По суті, FTPS - це протокол FTP, який виконується за захищеним з'єднанням SSL. Можливість використання протоколу FTPS передбачена у багатьох популярних клієнтів FTP, але, на жаль, вона не реалізована у службі FTP Service корпорації Microsoft. Тому вам доведеться задіяти додаток сервера FTP, що забезпечує таку можливість (наприклад, популярний продукт WFTPD). Не плутайте FTPS із протоколом SSH File Transfer Protocol. SFTP - це протокол передачі файлів, виконуваний поверх оболонки Secure Shell (SSH); крім того, його можна використовувати для передачі файлів. Втім, потрібно мати на увазі, що SFTP несумісний із традиційним протоколом FTP, так що поряд із захищеним сервером оболонки (скажімо, із сервером, що надається SSH Communications Security), знадобиться спеціальний клієнт SFTP (це може бути клієнт, що входить до пакету PuTTY Telnet/ Secure Shell або WinSCP із графічним інтерфейсом).

Крім того, безпечну передачу файлів можна організувати на базі приватних віртуальних мереж VPN. Платформи Windows Server забезпечують сумісність із технологією VPNза допомогою RRAS. Однак це не гарантує сумісності з VPN-рішеннями ваших партнерів. Якщо такої сумісності немає, можна скористатися одним із поширених рішень, наприклад засобом Open-VPN з відкритим вихідним кодом. Воно поширюється безкоштовно і виконується на цілій низці платформ, включаючи Windows, Linux, BSD та Macintosh OS X. Додаткові відомості про інтеграцію OpenVPN можна знайти у статті «Працюємо з OpenVPN» ( ).

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

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

Якщо ж вам потрібні додаткові коштизахисту даних у процесі їх передачі по каналах електронної пошти, розгляньте можливість використання протоколів SMTP Secure (SMTPS) та POP3 Secure (POP3S). По суті, SMTPS та POP3S – це звичайні протоколи SMTP та POP3, що виконуються з використанням захищеного з'єднання SSL. Microsoft Exchange ServerЯк і більшість поштових клієнтів, включаючи Microsoft Outlook, забезпечує можливість використання протоколів SMTPS та POP3S. Потрібно мати на увазі, що навіть у тих випадках, коли для обміну файлами між поштовим клієнтом та поштовим сервером використовується протокол SMTPS, зберігається можливість того, що поштовий сервер доставлятиме пошту кінцевому адресату через звичайне незахищене з'єднання SMTP.

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

Засоби стиснення файлів

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

Один із найбільш популярних методів створення архівів стислих файлів – метод zip-компресії; його підтримують майже всі архіватори. І один із найпоширеніших на сьогодні засобів zip-компресії - додаток WinZip. Його можна використовувати як автономну програму, вбудувати в Windows Explorer для полегшення доступу, а також за допомогою WinZip Companion for Outlook інтегрувати цей продукт з клієнтом Outlook. WinZip, як і багато інших оснащених засобами zip архіваторизабезпечує можливість шифрування за методом Zip 2.0 Encryption. Але треба сказати, що захист файлів за допомогою цього методу недостатньо надійний. Найбільш прийнятний варіант шифрування реалізований у продукті WinZip 9.0. Як показано на екрані 1, нині WinZip підтримує специфікацію Advanced Encryption Standard (AES), де використовуються 128-розрядні або 256-розрядні ключі шифрування. AES – відносно нова технологія, але її вже вважають промисловим стандартом.

Екран 1. WinZip підтримує специфікацію AES

Я не можу сказати точно, скільки архіваторів забезпечує застосування стійких алгоритмів шифрування засобами AES, і обмежуся згадкою однієї такої програми; це розроблений компанією BAxBEx Software виріб bxAutoZip. Воно здатне взаємодіяти з програмою шифрування CryptoMite фірми BAxBEx та може вбудовуватись у Outlook. Якщо WinZip дозволяє шифрувати дані лише засобами Zip 2.0 і AES, CryptoMite забезпечує можливість використання інших засобів шифрування, включаючи популярні алгоритми Twofish і Blowfish, Cast 256, Gost, Mars і SCOP.

Засобами розпакування zip-файлів оснащені вже практично всі комп'ютерні системиПроте не всі zip-додатки забезпечують сумісність з різними алгоритмами шифрування. Тому, перед тим як відправляти зашифровані файли, треба переконатися, що zip-додаток одержувача «розуміє» обраний алгоритм.

При шифруванні файлів за допомогою zip-застосунків використовуються захисні паролі. Для дешифрації архівного файлу його одержувач також має скористатися відповідним паролем. Необхідно виявляти обережність при виборі методу доставки пароля. Ймовірно, найбільш безпечні методидоставки пароля - по телефону, факсом або через кур'єра. Можна вибрати будь-який з них, але в жодному разі не слід передавати пароль електронною поштою у вигляді звичайного тексту; у цьому випадку різко зростає небезпека того, що доступ до зашифрованого файлу отримає користувач, який не має на те повноважень.

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

Pretty Good Privacy

Ще один дуже популярний метод шифрування можна реалізувати за допомогою програми Pretty Good Privacy. PGP справила справжній фурор, коли Філ Ціммерман вперше безкоштовно опублікував її в Internet у 1991 р. У 1996 р. PGP стала комерційним продуктом, а потім у 1997 р. права на неї були куплені фірмою Network Associates (NAI). У 2002 році цю технологію придбала у NAI молода компанія PGP Corporation.

Після цього PGP Corporation продала комерційну версію PGP, яка функціонує в середовищі Windowsта Mac OS X. Поточна версія PGP 9.0, в якій реалізовано засоби шифрування окремих файлів та шифрування всього вмісту диска, може бути вбудована в AOL Instant Messenger (AIM). Крім того, PGP 9.0 інтегрується з такими виробами як Outlook, Microsoft Entourage, Lotus Notes, Qualcomm Eudora, Mozilla Thunderbirdта Apple Mail.

У PGP застосовується система шифрування з відкритим ключем, що передбачає генерування пари ключів шифрування. відкритого ключата секретного ключа. Ці два ключі математично взаємопов'язані в такий спосіб, що зашифровані з допомогою відкритого ключа дані може бути дешифровані лише з допомогою секретного ключа. Користувач PGP генерує пару "відкритий ключ - секретний ключ", після чого публікує відкритий ключ у загальнодоступному каталозі ключів або на Web-вузлі. Секретний ключ, зрозуміло, ніде не публікується та зберігається в секреті; ним користується лише його власник. При розшифровці даних за допомогою секретного ключа потрібен пароль, але при шифруванні даних за допомогою відкритого ключа це не передбачено, оскільки відкритими ключами можуть користуватися всі бажаючі.

Для простоти застосування PGP її розробники реалізували функцію автоматичного опитування загальнодоступних каталогів ключів. Ця функція дозволяє, ввівши в рядок пошуку поштову адресу того чи іншого користувача, знаходити його відкритий ключ. PGP надає можливість автоматичного зчитування відкритих ключів, які можна для простоти доступу зберігати локально на своїй системі у спеціальній «зв'язці ключів» (keyring) на базі файлів. Опитуючи каталог відкритих ключів, PGP дозволяє завжди тримати у «зв'язці» їх самі останні версії. Якщо користувач змінює свій відкритий ключ, ви можете отримати доступ до оновленого ключа в будь-який момент, коли вам потрібно.

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

Системі PGP довіряють багато хто, оскільки вона давно вже завоювала у галузі репутацію надійної технології для захисту інформації. Але як би там не було, якщо ви вирішили використовувати PGP або інший метод шифрування даних за допомогою відкритих ключів, пам'ятайте, що одержувачі ваших файлів теж повинні мати в своєму розпорядженні сумісною системоюшифрування. Одна з переваг системи PGP при використанні електронної пошти як канал передачі даних полягає в тому, що вона підтримує власну модель шифрування, а також технології X.509 і S/MIME, про які я розповім далі.

Крім того, слід зазначити ще один момент. Незалежно від того, чи планується використовувати PGP, WinZip або іншу систему шифрування, якщо ви хочете на додаток до шифрування приєднаних файлів зашифрувати вміст власне повідомлення, потрібно записати повідомлення в окремий файл і також зашифрувати його. За бажанням, цей файл з повідомленням можна розмістити в архіві разом з іншими файлами або приєднати його як файл-вкладення.

PKI

Інфраструктура відкритих ключів (Public Key Infrastructure, PKI) є унікальною, проте принцип її дії в чомусь нагадує принцип дії PGP. PKI передбачає використання пари ключів – відкритого та секретного. Для зашифрування даних, що надсилаються одержувачу, відправники застосовують його відкритий ключ; після того, як дані доставляються одержувачу, він розшифровує їх за допомогою свого секретного ключа.

Екран 2. Перегляд вмісту сертифіката

Одна істотна відмінність полягає в тому, що PKI відкритий ключ зазвичай зберігається у форматі даних, відомому як сертифікат. Сертифікати можуть містити набагато більше інформації, ніж стандартні ключі. Наприклад, сертифікати зазвичай містять дату закінчення терміну дії, тому ми знаємо, коли сертифікат і асоційований з ним ключ уже не будуть дійсними. Крім того, сертифікат може містити ім'я, адресу, номер телефону власника ключа та інші дані. На екрані 2 представлений вміст сертифіката в тому вигляді, як він відображається у вікні програми Microsoft Internet Explorer(IE) або Outlook. Певною мірою вміст сертифіката залежить від цього, які саме дані бажає розмістити у ньому власник.

Як і PGP, PKI дозволяє формувати "ланцюжки довіри", в яких сертифікати можуть бути підписані за допомогою сертифікатів інших користувачів. Більш того, з'явилися центри, що засвідчують Certificate Authorities (CA). Це зодягнені довірою незалежні організації, які не лише видають власні сертифікати, а й підписують інші сертифікати, гарантуючи тим самим їхню справжність. Як і у випадку з PGP та пов'язаними з цією системою серверами ключів, сертифікати можуть публікуватися на загальнодоступних або приватних серверах сертифікатів або на серверах LDAP, пересилатися електронною поштою і навіть розміщуватися на веб-сайтах або на файловому сервері.

Для забезпечення автоматичної перевіркиавтентичності сертифіката розробники клієнтів електронної пошти та Web-браузерів зазвичай оснащують свої програми засобами взаємодії з серверами центрів сертифікації. У ході цього процесу ви також зможете отримати інформацію про відкликання сертифіката з тих чи інших причин і, відповідно, зробити висновок, що даному сертифікату не можна більше довіряти. Зрозуміло, за послуги центрів сертифікації з надання та завірення сертифікатів іноді доводиться платити; Ціни можуть бути різними в залежності від обраного центру сертифікації. Одні організації надають клієнтам безкоштовні персональні сертифікати електронною поштою, інші беруть за цю значну винагороду.

В основі PKI лежить специфікація X.509 (похідна від специфікації LDAP X). Тому сертифікати, видані одним центром (включаючи сертифікати, які ви генеруєте для себе), зазвичай можна використовувати на цілій низці платформ. Потрібно лише, щоб ці платформи були сумісні зі стандартом X.509. Ви можете генерувати сертифікати за допомогою будь-якого з наявних інструментальних засобів, таких як OpenSSL.

Якщо ваша організація використовує службу Microsoft Certificate Services, ви можете запросити сертифікат за допомогою цієї служби. У середах Windows Server 2003 та Windows 2000 Server даний процесповинен протікати приблизно однаково. Слід відкрити Web-сторінку сервера сертифікатів (зазвичай вона розміщується за адресою http://servername/CertSrv), потім вибрати пункт Request a Certificate. На наступній сторінці потрібно вибрати елемент User certificate request і дотримуватися вказівок Web-майстра до завершення процесу. Якщо служба сертифікатів налаштована таким чином, що для видачі сертифіката потрібна санкція адміністратора, система сповістить вас про це спеціальним повідомленням, і вам доведеться чекати на рішення адміністратора. В інших випадках ви врешті-решт побачите гіперпосилання, яке дозволить встановити сертифікат.

Деякі незалежні центри сертифікації, такі як Thwate та InstantSSL компанії Comodo Group, пропонують користувачам безкоштовні персональні поштові сертифікати; це найпростіший спосіб отримання сертифікатів. Крім того, такі сертифікати вже будуть підписані інстанцією, що видала їх, що полегшить перевірку їх справжності.

Коли справа доходить до використання PKI з метою надсилання зашифрованих даних за допомогою програми обробки електронної пошти, у справу входить специфікація Secure MIME (S/MIME). Outlook, Mozilla Thunderbird та Apple Mail - ось лише кілька прикладів поштових додатків, що дозволяють задіяти цей протокол. Щоб надіслати адресату зашифроване поштове повідомлення (що включає або не включає приєднані файли), необхідно мати доступ до відкритого ключа адресата.

Для отримання відкритого ключа іншого користувача можна переглянути дані про ключі на сервері LDAP (якщо тільки ключ публікується за допомогою протоколу LDAP). Інший варіант: можна попросити цю людину направити вам повідомлення з цифровим підписом; як правило, при доставці адресату підписаного повідомлення, оснащені засобами S/MIME, поштові клієнти приєднують копію відкритого ключа. А можна просто попросити особа, яка вас цікавить, надіслати вам повідомлення з приєднаним до нього відкритим ключем. Згодом можна буде зберігати цей відкритий ключ в інтерфейсі керування ключами, який входить до вашого поштового клієнта. Програма Outlook інтегрується з вбудованим у Windows сховищемсертифікатів Certificate Store. За потреби скористатися відкритим ключем він завжди буде під рукою.

Шифрування на основі даних про відправника

Фірма Voltage Security розробила нову технологію- шифрування на основі даних про відправника (identity-based encryption, IBE). Загалом вона аналогічна технології PKI, але має цікаву особливість. Для дешифації повідомлень IBE використовується секретний ключ, але в процесі шифрування звичайний відкритий ключ не застосовується. Як такий ключ IBE передбачає використання поштової адресивідправника. Таким чином, при надсиланні одержувачу зашифрованого повідомлення проблеми отримання його відкритого ключа не виникає. Достатньо мати адресу електронної пошти цієї людини.

Технологія IBE передбачає зберігання секретного ключа одержувача сервера ключів. Отримувач підтверджує свої права доступу до сервера ключів та отримує секретний ключ, за допомогою якого здійснює дешифрацію вмісту повідомлення. Технологію IBE можуть використовувати користувачі Outlook, Outlook Express, Lotus Notes, Pocket PC, а також Research in Motion (RIM) BlackBerry. За словами представників Voltage Security, IBE виконується також на будь-яких поштових системахна базі браузерів під керуванням практично будь-який операційної системи. Цілком ймовірно, що такі універсальні рішення Voltage Security – саме те, що вам потрібно.

Примітно, що технологія IBE застосовується в продуктах FrontBridge Technologies як засіб, що полегшує безпечний обмін зашифрованими. поштовими повідомленнями. Вам, напевно, вже відомо, що у липні 2005 р. компанія FrontBridge була придбана корпорацією Microsoft, яка планує інтегрувати рішення FrontBridge із Exchange; Можливо, вже скоро комбінація цих технологій буде запропонована споживачам як керованої служби. Якщо системи обробки електронної пошти у вашій організації та партнерів базуються на Exchange, стежте за розвитком подій на цій ділянці.

З урахуванням усіх обставин

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

Слід ретельно зважити, скільки файлів ви передаватимете, наскільки великі вони за обсягом, як часто вам доведеться передавати ці файли, хто повинен мати доступ до них і як вони зберігатимуться за місцем отримання. З урахуванням цих факторів ви зможете підібрати оптимальний спосіб передачі файлів.

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

Марк Джозеф Едвардс – старший редактор Windows IT Pro та автор щотижневого поштового бюлетеня Security UPDATE ( http://www.windowsitpro.com/email). [email protected]

Інструкція

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

Якщо ви користуєтеся месседжером – ICQ, Magent, Skype, великий за розміром файл можна переслати через ці програми. Зрозуміло, вам доведеться залишатися на зв'язку з одержувачем протягом досить тривалого часу, адже швидкість передачі залежить як від каналу зв'язку, так і від його швидкості.

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

Починаючи з десятої версії Opera, в браузері є вбудований додаток Opera Unite, що дозволяє передавати файли великих розмірів, міну сервера передач. Зрозуміло, при цьому і у вас, і у адресата має бути подібний браузер. Щоб почати користуватися цією програмою, користувач повинен зареєструватися в діалоговому вікні програми і відкрити доступ до файлу, який він хоче переслати. Щоб не зробити цю інформаціюнадбанням громадськості можете дозволити стрибку тільки після введення заданого вами пароля.

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

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

Інструкція

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

Заархівуйте файли, призначені для надсилання. Для цього виділіть їх усі за допомогою лівої кнопки мишки або за допомогою кнопок shift і ctrl. Завершивши виділення, натисніть на них правою кнопкоюмиші та виберіть з випадаючого меню "Додати до архіву". У налаштуваннях архіватора виберіть вкладку "Додатково", після чого встановіть пароль. Це обмежить третім особам доступ до даних, які містяться в архіві. Дочекайтеся закінчення створення архіву, залежно від обсягу даних та швидкодії вашого комп'ютера, це може тривати тривалий час.

Завантажте архів, отриманий у попередньому кроці, на файлообмінник. Розглянемо цей крок з прикладу сайту ifolder.ru. на головній сторінціправоруч ви побачите розділ сторінки, де ви можете завантажити файл. Натисніть на відповідну кнопку та дислокуйте архів, створений раніше. Натисніть кнопку ОК, після чого дочекайтеся закінчення завантаження. Залежно від швидкості вашого інтернет-з'єднання та розміру архіву це може тривати тривалий час. Після закінчення завантаження ви будете перенаправлені на сторінку з полем для створення пароля. Введіть його, максимізувавши дані, завантажені на сервері. Після цього ви потрапите на сторінку з посиланням на завантаження завантаженого вами файлу. Скопіюйте її.

Створіть новий лист на вашій поштовій скриньці. Вставте в текст листа посилання та пароль на завантаження вашого архіву, а також пароль для доступу до архіву. Після цього введіть поштову скриньку адресата та натисніть кнопку "надіслати".

Відео на тему

Для того, щоб передати вашому знайомому, другу, родичу чи колезі великий файлМожна, звичайно, записати файл на флешку і передати її з кур'єром або поштою. Це буде не дуже зручно, тому простіше скористатися послугами інтернету, до того ж вони абсолютно безкоштовні!

Інструкція

В інтернеті існує багато сервісів, що дозволяють завантажувати та зберігати не тільки невеликі файли, але й дуже великі розміри. Ви завантажуєте свій файл, а адресату надсилаєте лише посилання на цей файл електронною поштою .
Для того, щоб відправити великий файл, можна скористатися сервісами, що надаються Mail.Ru або Yandex.

Перейдіть на адресу www.files.mail.ruабо завантажити файл. Натисніть кнопку «Виберіть файл» або «Завантажте файл», а потім знайдіть на своєму комп'ютері потрібний файлта натисніть «OK». Залежно від швидкості з'єднання з Інтернетом та розміру файлу, через деякий час система повідомить вам про успішне завантаження файлу, і видасть вам унікальне посилання, яке потрібно буде скопіювати та вставити в текст листа електронної пошти . Тепер можна надсилати листа людині, яка повинна отримати від вас великий файл. Перейшовши за посиланням, одержувач зможе завантажити надісланий вами таким чином файл.

Відправлення файлів великого розміру пов'язані з низкою труднощів. Вирішення проблеми залежить від конкретної поштової служби, а на обмеження вкладень впливає розмір поштової скриньки.



Вам знадобиться

  • - браузер;
  • - доступ в Інтернет;
  • - Програма-архіватор.

Інструкція

Отже, що означає допустиме поштове вкладення? Коли ви вирішили відправити файл, більше 10-30 mb, поштовий сервісвидасть попередження - поштове вкладення відповідає обмеженням. Майте на увазі, у кожного сервісу свої обмеження на вкладення, "Mail.ru", наприклад, дозволяє надсилати листи до 30 mb, "Yandex.ru" - 20 mb, а деякі сервіси лише до 10 mb. Отже, при пересиланні файлу на поштову скриньку іншого сервісу він може не дійти до адресата, навіть якщо ваш сервіс повідомив про благополучне відправлення даних.

Вирішити проблему за допомогою файлообмінників. Завантажити файл без реєстрації можна на files.mail.ru, meqaupload.com, openfile.ru, zshare.net. Управління у всіх сервісів цілком зрозуміле, незважаючи на англомовний інтерфейс. Завантажуйте дані об'ємом від 100 до 500 Мб.

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

Якщо вкладення, яке ви бажаєте надіслати, не набагато перевищує гранично допустимі квоти, архівуйте його. Скористайтеся програмою WinRAR, але для початку встановіть її на комп'ютер. Щоб помістити файл до архіву, клацніть по ньому правою кнопкою миші, в контекстному менювиберіть рядок «Додати до архіву та відправити по e-mail». Можете вибрати «Додати до архіву», потім, у меню, вибрати ім'я, або залишити попереднє, формат архіву, метод стиснення, параметри архівації. Кнопка "Огляд" дозволяє зберегти файл у будь-якому місці на комп'ютері.

Якщо ви не хочете довіряти важливу інформаціюсерверу, скористайтеся прямою передачею файлів. Процес полягає в наступному: підготовлений файл завантажується за посиланням, але не з файлообмінника, а з комп'ютера. Під час надсилання даних не закривайте вікно браузера, одержувач зможе завантажити файл, тільки якщо ви самі будете підключені до інтернету. Цей спосіб вимагає встановлення спеціальної програми. Зверніть увагу на Utorrent.

Якщо ви постійно спілкуєтеся з отримувачем, використовуйте безкоштовну службу Windows Live. Сховище захищене паролем, дозволяє обмінюватися даними через Інтернет. Зберігайте файли у загальних мережевих папках. Одержувачу при цьому буде доступне посилання. Щоб переглянути дані, знайдіть на комп'ютері групу «Зв'язки», далі перейдіть у вкладку «Вставка» та знайдіть кнопку «Гіперпосилання».

Відео на тему

Корисна порада

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

Джерела:

  • Ефективний обмін файлами великого розміру у 2017

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

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

Якщо у вас є можливість довго залишати комп'ютер увімкненим, ви можете передати великі файличерез сервіси онлайн-спілкування, такі як ICQ та Skype. При цьому одержувач обов'язково повинен бути присутнім у списку контактів, і в його налаштуваннях повинна бути дозволена функція прийому інформації. Щоб скоротити час, вам достатньо просто "перетягнути" потрібний вам файл у діалогове вікно, в якому відбувається листування. Після того, як ваш співрозмовник дозволить завантаження інформації на свій комп'ютер, розпочнеться передача файлів. Дуже важливо, щоб обидва «пов'язані» між собою комп'ютери залишалися підключеними до інтернету, доки завантаження не закінчиться.

Джерела:

  • як передається інформація

Джерела:

  • як передавати файли через файлообмінники

Internet - одне з найвидатніших відкриттів 20 століття. У розвинених країнах світу більшість людей отримують останню інформацію з цієї мережі. Так навіщо потрібен Internet? Найголовніше призначення цієї мережі – передача інформації від одного комп'ютера до іншого. Сьогодні я хочу розповісти Вам, як можна за допомогою стандартних засобів Visual Basic отримувати та передавати інформацію через Internet.

Трохи теорії

Протоколи та Стандарти

Зв'язок через Internet та обмін даними полегшені розвитком стандартних протоколів зв'язку. Найважливіше в Internet - мова, якою спілкуються всі комп'ютери. Основна мова Internet – це протокол TCP/IP. Цей протокол дозволяє будь-якому комп'ютеру, пов'язаному з Internet бути унікально ідентифікованим і дозволяє будь-якому такому комп'ютеру посилати або отримувати інформацію від будь-якого іншого пов'язаного з Internet комп'ютера.

В основі TCP/IP - концепція, що кожен комп'ютер має унікальну адресу. Ця адреса - 32-розрядний номер, представлений як чотири 8-розрядні компоненти (наприклад, 103.205.67.88). Цей номер називається IP номер. IP номери регулюється всередині Internet системою InterNIC, щоб забезпечити унікальність цього номера.

IP номери, зважаючи на їх складне запам'ятовування, не дозволяють користувачу Internet комфортно працювати, тому була створена спеціальна служба DNS(Domain Name Service), яка транслює 32-розрядний IP номер у спеціальне ім'я. Це ім'я називається ім'ям домену, наприклад IP номер 103.27.56.45 міг би називатися vbnet.ru або prog.ru або ще якось. Тому, коли ви вводите в рядку адреси Вашої програми для роботи в інтернет ім'я сервера, наприклад www.vbnet.ru, це ім'я транслюється в IP адресу і тільки потім Ви потрапляєте на потрібний Вам сервер. Однак ніхто не заважає Вам використовувати IP-адреси замість імені, суть від цього не змінюється. Якщо, звісно, ​​Ви його запам'ятаєте.

Одне з найчастіших використання Internet звернення до файлів, збережених на віддаленому комп'ютері. Стандартний протокол Internet для доступу до файлу - протокол передачі файлів (FTP). Він дозволяє віддаленим користувачам з'єднуватися з комп'ютером та отримувати доступ до файлів, спеціально відкритих для публічного перегляду.

World Wide Web

Web - набір протоколів, що працюють по Internet. В даний час три необхідні технології визначають World Wide Web і здійснюють зв'язок між клієнтом Мережі та сервером Web пов'язаними по TCP/IP мережі.

Перша - протокол стандарту Internet, званий мовою передачі гіпертексту (HTTP), розроблений наприкінці 1980-х. HTTP був спеціально розроблений для забезпечення стандартного шляху перегляду документів на віддаленому комп'ютері, а також для передачі їх від одного комп'ютера до іншого. Друга технологія Web – мова розмітки гіпертексту (HTML). HTML - найчастіше використовуваний формат документа в Web. HTML використовує директиви або спеціальні мітки для визначення форматування документа, залишаючи фактичне форматування клієнту. За розвитком HTML слідкує спеціальна організація W3C. Будь-які зміни або нововведення в HTML повинні затверджуватись цією організацією.

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

Крадіжка через Internet

Коли Ви перебуваєте в мережі Internet, будь-який інший користувач Internet може зв'язатися з Вами. Так от, якщо на Вашому комп'ютері є файли, відкриті Вами спеціально для публічного доступу, то він зможе їх прочитати! На цьому ґрунтуються деякі методи злому домашніх комп'ютерів для отримання паролів та іншої інформації. Уявіть собі, що Ви були такі люб'язні, що відкрили свій диск для інших користувачів (неважливо, чому: може через незнання, а може для друзів) і вийшли в Internet. При виході в мережу Ваш провайдер надав Вам IP адресу. Він, до речі, може бути постійним або різним для кожного сеансу зв'язку. Ну та гаразд, це, в принципі не важливо. Так ось, знаючи IP адресу інших користувачів цього провайдера, обчислити Вашу IP адресу не складно, і якщо ввести цю адресу куди слід, то можна побачити, наприклад, вміст Вашого диска. Тепер заходимо до папку Windows(або як там вона у Вас називається), собі файли. pwl і ось вони всі Ваші паролі. Я не поясню Вам, як все це робиться, хочу тільки сказати, що це цілком реально.

Ха, скажете Ви, кому треба зламувати мій комп'ютер! Відповідаю. Існує сотні користувачів, які постійно сканують мережу Internet у пошуках таких ресурсів. Уявіть собі, що в мережі Internet, в той же час, знаходиться десятки (або тисячі) користувачів Internet з Вашого міста, і всі вони мають IP адресу, яка відрізняється кількома останніми цифрами. Створюється спеціальна програма, яка здійснює простий перебір всіх можливих IP адрес і виводить звіт про, в якому вказує IP адреси з доступними для ресурсів. Залишається тільки собі потрібну інформаціюз таких комп'ютерів. Якщо у Вашого провайдера не знайдеться таких користувачів, ніхто не заважає пошукати їх за іншими можливими IP адресами. Мораль полягає в тому, що не треба відкривати всі файли для інших і взагалі потрібно трохи думати головою, а коли Ваш комп'ютер буде зламаний, то самі розумієте, що може бути: І плакали Ваші гроші:

Internet Transfer Control

Раніше робота з Internet для програмістів на Visual Basic була можлива лише використовуючи безпосередній виклик функцій API. З випуском Visual Basic 5 все змінилося через включення спеціального ActiveX компонента Internet Transfer Control. Internet Transfer Control забезпечує підтримку двох стандартних протоколів FTP та HTTP. Протокол HTTP дозволяє Вам з'єднуватися із серверами world wide web та отримувати доступ до файлів. FTP протокол дозволяє отримувати будь-який вид файлів від сервера FTP Internet, а також посилати їх на такі ж сервери, проте, на відміну від протоколу HTTP, має більше можливостей.

Internet Transfer Control - є інтерфейсом до основний Internet бібліотеці Windows WININET.DLL. Ця DLL – частина Win32 API. Як ви думаєте працює Internet Explorer? Так, так, так, викликаючи функції з цієї самої бібліотеки. А навіщо тоді цей Internet Transfer Control? Так, в принципі і не потрібен, якщо Ви не боїтеся заблукати в темному лісі під назвою WININET.DLL і прапор Вам в руки, якщо це так.

Отримання файлів з Internet за протоколом HTTP

Почнемо, мабуть, із найпростішого - розглянемо отримання файлів із Internet за протоколом HTTP. Існує два методи для отримання файлів: OpenURL і Execute.

Синхронний метод Метод OpenURL використовується для отримання доступу до документа в Internet і поміщає його копію на локальному комп'ютері. URL-адреса, яка передається як параметр для методу OpenURL, може бути будь-яким документом. Все, що Ви повинні визначити - URL документа, який Вам потрібний і тип документа icString ( текстовий файл) або icByteArray ( бінарний файл, для програм та архівів). Спочатку подивимося, як отримати звичайний текстовий файл:

Dim vData As Variant vData = Me.Inet1.OpenURL("http://www.vbnet.ru/default.asp", icString)

Отже, отримано файл. Що ми можемо зробити з ним? Наприклад, зберегти на своєму комп'ютері:

Open "C:\index.htm" For Output As #1 Print #1, vData Close #1

Файл отримано та збережено, тепер його можна подивитися в будь-якій програмі, або написати свою для перегляду. А що? Для цього можна використовувати, наприклад Microsoft Internet Control.

Увага: Метод OpenURL виконується синхронно, тобто. керування у Вашу програму буде передано тільки тоді, коли передача запитуваного файлу буде завершено. Іншими словами, Ваша програма буде нездатна виконуватися доки йде передача файлу і, якщо файл великий, а зв'язок повільний, то Ви можете мати деякі труднощі з використанням цього методу, справа в тому, що Ваша програма виявиться<замороженной>на кілька годин якщо прийнятий файл має значні розміри, та й кому це сподобається? Проте легко, але не дуже добре, але легко.

Після того, як Ви відкрили файл методом OpenURL, Вам стають доступні деякі властивості, які теж можуть бути Вам корисні.

Отже, припустимо, що Ви хочете дізнатися розмір відкритого документа. Для цього використовуйте такий код:

SLenth = Inet1.GetHeader("Content-length")

Увага: Метод GetHeader можна використовувати лише після прийняття заголовка або відкриття документа шляхом OpenURL. Якщо Ви захочете дізнатися, наприклад, розмір ще не відкритого документа, то відбудеться помилка. Тому перед прийомом документа я рекомендую дізнатися його заголовок. Це дозволить Вам визначити розмір документа та контролювати прогрес його прийому.

Якщо Вам потрібно прийняти лише заголовок документа, скористайтеся наступним кодом:

Inet1.Execute , "HEAD" "затримка, поки запит не виконано Do If Not Inet1.StillExecuting The Exit Do DoEvents Loop lLenthFile = CLng(Inet1.GetHeader("Content-length")) s = "Date: " & Inet1.GetHeader ("Date") & vbCrLf s = s & "MIME-version: " & Inet1.GetHeader("MIME-version") & vbCrLf s = s & "Server: " & Inet1.GetHeader("Server") & vbCrLf s = s & "Content-length: " & CStr(lLenthFile) & vbCrLf s = s & "Content-type: " & Inet1.GetHeader("Content-type") & vbCrLf s = s & "Last-modified: " & Inet1.GetHeader("Last-modified") & vbCrLf Me.txtHead.Text = s

Зверніть увагу на змінну lLenthFile, яка дорівнює розміру файлу. Це нам може знадобитися надалі.

Увага: Якщо прийнятий документ не бінарний файл або не HTML документ, а є ASP або іншим документом, що динамічно формується, то прийнятий заголовок може містити спотворену інформацію, наприклад про його розмір. Це пов'язано з тим, що отримати розмір документа, що ще не існує, неможливо.

Асинхронний метод. Щоб виконання програми не переривалося, існує спосіб асинхронної передачі файлів. Давайте розглянемо його докладніше. Для асинхронної роботи є метод Execute.

Execute метод посилає команду на віддалений сервер Internet. Команда може бути запит для отримання, передачі файлу на сервер, видалення, перейменування файлу і т.д. Крім того, сервери HTTP мають набір команд, які дозволяють Вам не тільки отримувати або передавати файли, але також можуть передавати різну інформаціюпро документ, збережений на сервері. Як тільки сервер отримав команду, яка була передана йому Execute методом, він посилає відповідь на Вашу програму, викликаючи StateChanged подію Internet Transfer Control. Подія StateChanged має параметр, який вказує дію, яке віддалений комп'ютерщойно виконав. Як тільки ця подія була викликана, Ви можете вжити будь-яких дій у Вашій програмі. В даний час документовані наступні команди для HTTP серверів: GET – прийом файлу з сервера, HEAD – прийом заголовка, POST – альтернативний метод прийому даних та PUT – передача даних на сервер.

Отже, припустимо, що Ви запросили на сервер файл mydocument.zip. Сервер прийняв Вашу команду та починає повертати Вам дані. Для отримання даних, які були передані на Ваш комп'ютер, Вам необхідно звернутися до методу GetChunk. Але тут не все так просто, справа в тому, що дані передаються не всі відразу, а частинами чи порціями. Зазвичай (за умовчанням) розмір кожної порції даних 1024 байт. Це означає, що, якщо Ви вимагали файл, який має розмір 100 Кб, Ви повинні викликати GetChunk метод приблизно 100 разів, щоб отримати всі необхідні дані. Навіщо це зроблено? Уявіть, що Ваша програма приймає файл розміром 1 Мб, а швидкість Вашого з'єднання з Internet 19200 бод. Це означає, що Ваша програма прийматиме файл приблизно протягом 10 хвилин. Як Ви вважаєте, варто повідомляти користувачеві Вашої програми про те, яка частина файлу вже прийнята і скільки залишилося прийняти? Я думаю, що варте. Більше того, я зробив індикатор прогресу прийому файлу, щоб користувач міг піти та спокійно попити, наприклад каву.

Так, до речі, якщо Ви думаєте, що сервер завжди повинен Вам повернути дані, Ви глибоко помиляєтеся. Якщо Ви захочете видалити файл на сервері і надішлете йому правильну команду, то сервер відразу ж скаже OK і видалити цей файл. А ось даних Ви від нього ніяких тоді не отримаєте, але подія StateChanged відбудеться і параметр State прийме значення icResponseCompleted. Значить, все в нормі, і запит був успішно виконаний.

Фух: Здається, все написав, тепер давайте подивимося на код. Зверніть увагу, що прийом даних ведеться зміну vtData(), що має тип Byte. Це зроблено для того, щоб можна було приймати будь-які типи файлів: текстові та бінарні. З тією ж метою метод GetChunk викликається з параметром icByteArray:

Private Sub Inet1_StateChanged(ByVal State As Integer) Dim vtData() As Byte Dim intFile As Long Select Case State "тут можна обробляти інші події Case icResponseCompleted "12 "відкриваємо файл для запису даних intFile = FreeFile Open Me.txtFileName As #intFile "приймаємо першу порцію даних vtData = Inet1.GetChunk(1024, icByteArray) Do While LenB(CStr(vtData)) > 0 Put #intFile, vtData "наступна порція даних vtData = Inet1.GetChunk(1024, icBy (1) Loop Put #intFile, vtData Close #intFile End Select Me.stb.SimpleText = GetConnectionState(State) End Sub

Ще хочу, щоб Ви подивилися на код процедури UpdateStatus. Вона відповідає за виведення інформації про прогрес прийому файлу. Для цього використовується глобальна змінна lLenthFile, що містить розмір документа на сервері і розмір вже прийнятих даних. Процедура дуже проста і служить тільки для того, щоб записати в рядок стану скільки прийнято даних у відсотках від їх загальної кількості.

Sub UpdateStatus(lRec As Long) Dim i As Long i = lRec * 100 / lLenthFile Me.stb.SimpleText = "Прийнято: " & i & "%" DoEvents End Sub

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

КонстантаЗначенняОпис
icNone0 Інформація про стан не доступна
icResolvingHost1 Пошук IP адреси сервера
icHostResolved2 IP адреса сервера знайдена
icConnecting3 З'єднання з сервером
icConnected4 З'єднався із сервером
icRequesting5 Запит інформації з сервера
icRequestSent6 Запит на сервер успішно надіслано
icReceivingResponse7 Отримання відповіді від сервера
icResponseReceived8 Відповідь від сервера була успішно прийнята
icDisconnecting9 Відключення від сервера
icDisconnected10 Відключення від сервера виконано
icError11 Виникла помилка під час сеансу зв'язку з сервером
icResponseCompleted12 Запит виконано, всі дані отримані

Ну ось ми бачимо 12 різних станів, які можна обробляти. Я наполегливо рекомендую Вам написати спеціальну функцію, яка повертала б за кодом (від 0 до 12) його опис. Крім того, можна зробити підтримку двох або більше мов, на яких будуть виводитись повідомлення. У невеликому прикладі до цієї статті є функція, яка повертає цю інформацію двома мовами: російською та англійською. У реальній програмія пішов би ще далі і перевів би все це у файл ресурсів, так краще, але в прикладі робити це недоцільно. Що ж до коду цієї функції, то я не хочу його тут наводити, тому він досить об'ємний і, в той же час, дуже простий.

Висновок

У цій статті я розповів Вам, як можна використовувати Вашу улюблену мову програмування для передачі файлів у Інтернет. Однак, я описав тільки використання протоколу HTTP, який, на відміну від іншого протоколу FTP, має більшу гнучкість у використанні. Але це вже зовсім інша історія.