Отправка файлов на другой компьютер с. Защищенный обмен файлами по каналам Internet

30.01.2019

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

В пути и по прибытии

Если ваши намерения ограничиваются защитой файлов в процессе их передачи по каналам Internet, вам необходима технология безопасной транспортировки. Один из вариантов состоит в использовании Web-узла, способного принимать пересылаемые на него файлы и обеспечивающего возможность безопасной загрузки таких файлов. Для организации защищенной транспортировки файлов на Web-узел можно создать 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-узлах или на файловом сервере.

Для обеспечения автоматической проверки подлинности сертификата разработчики клиентов электронной почты и 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]

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 Then 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 For Binary Access Write As #intFile "принимаем первую порцию данных vtData = Inet1.GetChunk(1024, icByteArray) Do While LenB(CStr(vtData)) > 0 Put #intFile, vtData "следующая порция данных vtData = Inet1.GetChunk(1024, icByteArray) UpdateStatus Seek(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 и давайте посмотрим, какую информацию мы можем еще получать, используя его.

Константа Значение Описание
icNone 0 Информация о состоянии не доступна
icResolvingHost 1 Поиск IP адреса сервера
icHostResolved 2 IP адрес сервера найден
icConnecting 3 Соединение с сервером
icConnected 4 Соединился с сервером
icRequesting 5 Запрос информации с сервера
icRequestSent 6 Запрос на сервер успешно отправлен
icReceivingResponse 7 Получение ответа от сервера
icResponseReceived 8 Ответ от сервера был успешно принят
icDisconnecting 9 Отключение от сервера
icDisconnected 10 Отключение от сервера выполнено
icError 11 Произошла ошибка во время сеанса связи с сервером
icResponseCompleted 12 Запрос выполнен, все данные получены

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

Заключение

В этой статье я рассказал Вам, как можно использовать Ваш любимый язык программирования для передачи файлов в сети Интернет. Однако, я описал только использование HTTP протокола, который, в отличие от другого FTP протокола обладает большей гибкостью в использовании. Но это уже совсем другая история.

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 являются эффективным инструментом для решения задачи файлообмена и удовлетворяют большую часть потребностей современной организации. На сегодняшнем рынке существуют различные программные продукты, которые обладают широкими функциональными возможностями и которые можно выбрать, исходя из нужд компании.

Вопрос оперативной передачи данных большого объема конкретному адресату нередко ставит в тупик начинающих пользователей глобальной сети, в помощь которым мы подготовили небольшую шпаргалку с описанием наиболее доступных методов транспортировки увесистых файлов

Завсегдатаи портала 3DNews наверняка успели заметить, насколько часто в заметках рубрики Software мы стали акцентировать внимание на решении практических задач, которые то и дело встают как перед начинающими, так и перед умудренными жизненным опытом интернет-пользователями. В качестве яркого примера можно привести недавние публикации про средства для конспирации в чатах , методы сохранения инкогнито в Сети и сокрытия активности в торрент-сетях , секреты веб-поиска и многие другие. Интерес к подобного рода материалам обусловлен не только актуальностью рассматриваемых в них вопросов, но и востребованностью у читателей, отражающейся в статических отчетах и количестве оставляемых к статьям комментариев. Именно по этой причине мы решили дополнить опубликованные ранее обзоры шпаргалкой, описывающей способы адресной пересылки файлов огромного размера через Интернет. Гигантомания давно уже правит бал в глобальной сети, и знание простых и доступных всем и вся техник оперативной передачи данных большого объема от одного пользователя к другому определенно не будет лишним.

Итак, предположим, у нас имеется увесистый файл размером этак несколько гигабайт (дистрибутив, ISO-образ какой-либо системы, фильм, напичканная видеороликами и графикой презентация, архив с комплектом фотографий любимой тещи - не суть важно), и потребовалось во что бы то ни стало подручными средствами перекинуть его конкретному адресату через витиеватые дебри Всемирной сети. При таких размерах электронная почта - не самый лучший вариант для транспортировки данных, и следует брать на вооружение иной инструментарий. Какой именно?

Читательская аудитория с ходу предложит воспользоваться присутствующими практически на любом компьютере мессенджерами, поддерживающими функцию передачи файлов. Мысль здравая, тем более что многие IM-клиенты (та же Miranda IM линейки 0.9.х, например) позволяют копировать объекты размером свыше 4 Гбайт и даже поддерживают докачку, а у пресловутого Skype, если верить описанию на сайте разработчиков, и вовсе нет ограничений по объему транслируемых данных. Проведенный нами эксперимент показал, что для таких целей лучше всего подходит "Скайп", оснащенный функцией автоматического возобновления процесса копирования при обрывах соединения, с завидным постоянством возникающих при передаче больших файлов через службы мгновенного обмена сообщениями.


В обновленной "Миранде" реализован механизм докачки файлов в случае обрыва соединения

Кто-то из проникшихся идеей данной заметки товарищей поспешит порекомендовать сетевые хранилища, от обилия которых голова может пойти кругом. Тоже вариант. Однако стоит учитывать, что многие файлообменники вроде Rapidshare и Megaupload заставляют мириться с многочисленными ограничениями копируемых на сервер данных и частенько доводят до белого каления конечных пользователей раздражающими рекламными баннерами, блокирующими работу сервиса таймерами и предложениями отправить дорогостоящие SMS для ускорения скачивания файлов. Минусов хватает, и чтобы поменьше с ними сталкиваться, имеет смысл использовать не полупиратские службы типа "рапидшары", а более толковые и цивилизованные решения, к примеру, "Яндекс.Народ" . Последний хорош не только неограниченным дисковым пространством, но и умением манипулировать объектами размером до 5 Гбайт и защищать данные паролем. При этом файлы всякий раз проверяются антивирусом Dr.Web и хранятся не менее трех месяцев. Время хранения можно продлевать сколько угодно раз, или оно продлевается автоматически, если файл скачивают.


Третий способ пересылки крупных файлов предполагает использование специализированных веб-сервисов, обеспечивающих организацию канала передачи данных между двумя компьютерами и функционирующих в окне любого браузера. Подобного рода программных решений представлено в Сети - мама не горюй. Из наиболее достойных можем отметить проекты PipeBytes и iSendr . Пользоваться ими проще простого: указываем объект для пересылки, получаем на руки уникальную ссылку, технично пересылаем ее посредством той же "аськи" удаленному пользователю и дожидаемся начала копирования данных в режиме реального времени. Никаких надоедливых регистраций аккаунтов при этом не требуется. Агитировать в пользу того или иного инструментария не будем. Скажем только, что iSendr помимо всего прочего позволяет раздавать файлы сразу нескольким пользователям (до пяти человек) и в целях исключения перехвата информации злоумышленниками осуществляет шифрование транслируемых данных по алгоритму AES с длиной ключа 128 бит.



Повествуя о способах транспортировки массивных файлов через Интернет, нельзя обойти стороной инструментарий для обмена данными по протоколу BitTorrent, вряд ли нуждающемуся в представлении публике. Подавляющее большинство торрент-клиентов могут работать без трекера (веб-сервера, осуществляющего координацию клиентов BitTorrent), и их смело можно использовать для прямого обмена файлами между двумя компьютерами, у одного из которых обязательно должен быть выделенный IP-адрес. Это первое "но", есть и второе: для организации соединения потребуется выполнить ряд несложных, но обязательных операций, достаточно доходчиво изложенных на этой странице блога Ильи Матвеева из Нижнего Новгорода. Следуя представленной инструкции, даже неискушенным юзерам не составит труда организовать раздачу данных одному или нескольким пользователям.


Кто найдет в себе силы разобраться с хитростями и нюансами практического применения торрентов, тот без проблем сможет наладить у себя на локальной машине HTTP- или FTP-сервер, возможностей которого с лихвой хватит для пересылки тех или иных данных конкретному адресату. Для развертывания HTTP-сервера сгодится не требующая инсталляции и состоящая всего из одного исполняемого файла размером 560 кбайт Windows-утилита HFS (HTTP File Server) . С организацией FTP помогут справиться здравый смысл и программный продукт