Теоретическое обоснование предметной области
Учитывая вышеперечисленные причины и особенности сетевой защиты и информационной безопасности учебных заведений, наиболее оптимальным вариантом обеспечения фильтрации контента и защиты является создание и внедрение в локальную вычислительную сеть прокси–сервера с функцией кэширования и антивирусной защитой. Существуют несколько вариантов сборки такого прокси-сервера. Рассмотрим их.
Что такое прокси-сервер.
Прокси-сервер — сервер (комплекс программ) в компьютерных сетях, позволяющий клиентам выполнять косвенные запросы к другим сетевым службам. Сначала клиент подключается к прокси-серверу и запрашивает какой-либо ресурс (например, e-mail), расположенный на другом сервере. Затем прокси-сервер либо подключается к указанному серверу и получает ресурс у него, либо возвращает ресурс из собственного кэша (в случаях, если прокси имеет свой кэш). В некоторых случаях запрос клиента или ответ сервера может быть изменён прокси-сервером в определённых целях. Прокси-сервер позволяет защищать компьютер клиента от некоторых сетевых атак и помогает сохранять анонимность клиента.
Клиентский компьютер имеет настройку (конкретной программы или операционной системы), в соответствии с которой все сетевые соединения по некоторому протоколу совершаются не на IP-адрес сервера (ресурса), выделяемый из DNS-имени ресурса, или напрямую заданный, а на IP-адрес (и другой порт) прокси-сервера.
При необходимости обращения к любому ресурсу по этому протоколу, клиентский компьютер открывает сетевое соединение с прокси-сервером (на нужном порту) и совершает обычный запрос, как если бы он обращался непосредственно к ресурсу.
Распознав данные запроса, проверив его корректность и разрешения для клиентского компьютера, прокси-сервер, не разрывая соединения, сам открывает новое сетевое соединение непосредственно с ресурсом и делает тот же самый запрос. Получив данные (или сообщение об ошибке), прокси-сервер передаёт их клиентскому компьютеру.
Таким образом прокси-сервер является полнофункциональным сервером и клиентом для каждого поддерживаемого протокола и имеет полный контроль над всеми деталями реализации этого протокола, имеет возможность применения заданных администратором политик доступа на каждом этапе работы протокола.
Прокси-серверы являются самым популярным способом выхода в Интернет из локальных сетей предприятий и организаций. Этому способствуют следующие обстоятельства:
- Основной используемый в интернете протокол — HTTP, в стандарте которого описана поддержка работы через прокси;
- Поддержка прокси большинством браузеров и операционных систем;
- Контроль доступа и учёт трафика по пользователям;
- Фильтрация трафика (интеграция прокси с антивирусами);
- Прокси-сервер — может работать с минимальными правами на любой ОС с поддержкой сети (стека TCP/IP);
- Многие приложения, использующие собственные специализированные протоколы, могут использовать HTTP как альтернативный транспорт или SOCKS-прокси как универсальный прокси, подходящий для практически любого протокола;
- Отсутствие доступа в Интернет по другим (нестандартным) протоколам может повысить безопасность в корпоративной сети.
Применение прокси-серверов.
Чаще всего прокси-серверы применяются для следующих целей:
- Обеспечение доступа компьютеров локальной сети к сети Интернет.
- Кэширование данных: если часто происходят обращения к одним и тем же внешним ресурсам, то можно держать их копию на прокси-сервере и выдавать по запросу, снижая тем самым нагрузку на канал во внешнюю сеть и ускоряя получение клиентом запрошенной информации.
- Сжатие данных: прокси-сервер загружает информацию из Интернета и передаёт информацию конечному пользователю в сжатом виде. Такие прокси-серверы используются в основном с целью экономии внешнего сетевого трафика клиента или внутреннего — компании, в которой установлен прокси-сервер.
- Защита локальной сети от внешнего доступа: например, можно настроить прокси-сервер так, что локальные компьютеры будут обращаться к внешним ресурсам только через него, а внешние компьютеры не смогут обращаться к локальным вообще (они «видят» только прокси-сервер).
- Ограничение доступа из локальной сети к внешней: например, можно запретить доступ к определённым веб-сайтам, ограничить использование интернета каким-то локальным пользователям, устанавливать квоты на трафик или полосу пропускания, фильтровать рекламу и вирусы.
- Анонимизация доступа к различным ресурсам. Прокси-сервер может скрывать сведения об источнике запроса или пользователе. В таком случае целевой сервер видит лишь информацию о прокси-сервере, например, IP-адрес, но не имеет возможности определить истинный источник запроса. Существуют также искажающие прокси-серверы, которые передают целевому серверу ложную информацию об истинном пользователе.
- Обход ограничений доступа. Прокси-серверы популярны среди пользователей стран, где доступ к некоторым ресурсам ограничен законодательно и фильтруется.
Прокси-сервер, к которому может получить доступ любой пользователь сети интернет, называется открытым.
Виды прокси-серверов
Прозрачный прокси — схема связи, при которой трафик, или его часть, перенаправляется на прокси-сервер неявно (средствами маршрутизатора). При этом клиент может использовать все преимущества прокси-сервера без дополнительных настроек браузера (или другого приложения для работы с интернетом). Пример: route -p add 10.32.5.5 mask 255.255.255.255 10.32.1.14
Обратный прокси — прокси-сервер, который в отличие от прямого, ретранслирует запросы клиентов из внешней сети на один или несколько серверов, логически расположенных во внутренней сети. Часто используется для балансировки сетевой нагрузки между несколькими веб-серверами и повышения их безопасности, играя при этом роль межсетевого экрана на прикладном уровне.
Рассмотрим некоторые решения, которые предлагают различные компании для организации такого прокси-сервера, в данной работе мы рассмотрим 2 прокси-сервера с функцией кэширования.
HandyCache
HandyCache — это локальный кэширующий прокси-сервер для операционной системы Windows. Основная функция программы — экономия входящего трафика и ускорение загрузки веб-страниц, а также блокировка рекламы. Работает с любыми браузерами и программами, загружающими информацию по протоколу HTTP. В версии 1.0 RC2 (1.0.0.103 unstable) добавлена работа с FTP (без возможности использования внешнего прокси).
HandyCache — проприетарная программа с закрытым кодом. Распространяется бесплатно для некоммерческого использования. Для коммерческого нужно будет купить лицензии. В связи с наличием нескольких ограничений в бесплатной версии HandyCache относится к классу условно бесплатного ПО.