Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пример пояснительной записки.doc
Скачиваний:
14
Добавлен:
23.05.2015
Размер:
596.99 Кб
Скачать

2.2. Выбор Proxy сервера

В качестве proxy был выбран proxy-сервер «Squid», который является свободным, кроссплатформенным программным обеспечением, имеет высокую скорость работы и относительно простое конфигурирование.

Squid (англ. squid — «кальмар») — программный пакет, реализующий функцию кэширующего прокси-сервера для протоколов HTTP, FTP и (в случае соответствующих настроек) HTTPS. Разработан сообществом как программа с открытым исходным кодом (распространяется в соответствии с GNU GPL). Все запросы выполняет как один неблокируемый процесс ввода/вывода.

Сервер Squid — это высокопроизводительный кэширующий прокси, ориентированный прежде всего на работу с пользователями, которые занимаются активным серфингом в Интернете. Squid поддерживает работу пользователей с такими протоколами, как FTP, HTTP, HTTPS и GOPHER. В отличие от других подобных проектов, прокси-сервер Squid обладает интересной особенностью — выполнение запросов пользователей реализовано в нем как один большой неблокируемый процесс ввода-вывода, что обеспечивает более высокую производительность сервера в целом. Поскольку сервер Squid является кэширующим прокси, он поддерживает широкие возможности по построению иерархической структуры связи кэш-серверов на основе протоколов ICP/UDP (Internet Cache Protocol), HTCP/TCP и multicast. Такая система позволяет получить высокую производительность и оптимизировать пропускную способность канала в Интернет. Кэш сервера разделяется на виртуальный, который находится в оперативной памяти компьютера, и обычный, который хранится на жестком диске.

Наиболее часто используемые объекты хранятся в оперативной памяти, что ускоряет процесс их отсылки клиентам. Также в виртуальной памяти хранится большая часть запросов DNS. Squid в полной мере поддерживает SSL (HTTPS), что обеспечивает конфиденциальность передаваемой пользователями информации и приватность их работы в Интернете. Также нельзя обойти вниманием широкие возможности по аутентификации пользователей на основе различных методик: NCSA, LDAP, MSNT, NTLM, PAM, SMB, SASL и др.

Все дополнительные программы для аутентификации пользователей идут в комплекте с основным ядром программы. Как видно из перечисленных методик, Squid поддерживает авторизацию пользователей средствами сервисов не только на Linux, но и на Windows-платформе (MSNT и NTLMv1).

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

2.3. Разработка структуры системы

Система защиты данных строится на базе FTP-сервера.

В качестве серверной части программного обеспечения будем использовать FileZilla Server.[6]

FileZilla Server представляет собой FTP-сервер с поддержкой SSL-шифрования и расширенным администрированием. Он обеспечивает создание анонимного либо парольного (для отдельных пользователей или групп, что особенно важно в рамках решаемой задачи) доступа к данным и позволяет управлять правами доступа для файлов и каталогов, а также ограничивать доступ по IP-адресам. Предусмотрено введение ограничений на доступ к FTP-серверу в целом, либо для каждого пользователя по отдельности, а также ограничение общего количества подключений и максимальной скорости скачивания. Имеется поддержка сжатия передаваемых данных (MODE Z), а для обмена важными файлами может использоваться 128-битное SSL-шифрование. В реальном времени ведется подробная статистика активности на FTP-сервере, по которой несложно контролировать имевшие место подключения, что позволит всегда быть в курсе того, что конкретно делали на сервере подключившиеся к нему пользователи. Возможно удаленное администрирование.

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

В качестве криптографического модуля используется консольная реализация архиватора 7-Zip[7]. Это свободный файловый архиватор с высокой степенью сжатия данных. Поддерживает несколько алгоритмов сжатия и множество форматов данных, включая собственный формат 7z c высокоэффективным алгоритмом сжатия LZMA. Программа разрабатывается с 1999 года и является бесплатной, а также имеет открытый исходный код, большая часть которого свободно распространяется на условиях лицензии GNU LGPL.

В нем реализован симметричный алгоритм блочного шифрования AES-256 (Advanced Encryption Standard), принятый в качестве стандарта шифрования правительством США по результатам конкурса AES. Этот алгоритм хорошо проанализирован и сейчас широко используется, как это было с его предшественником DES. Национальный институт стандартов и технологий США (National Institute of Standards and Technology, NIST) опубликовал спецификацию AES 26 ноября 2001 года после пятилетнего периода, в ходе которого были созданы и оценены 15 кандидатур. 26 мая 2002 года AES был объявлен стандартом шифрования. По состоянию на 2009 год AES является одним из самых распространённых алгоритмов симметричного шифрования.[8]

Система защиты файлов работает следующим образом (Рис.6). В клиентский модуль передается логин и пароль для аутентификации клиента на сервере, а так же, секретный ключ для шифрования файла.

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

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

Рис.6. Структурная схема системы защиты данных