Прокси-сервер, называемый иногда шлюзом прикладного уровня (application gateway), представляет собой специализированное приложение, обеспечивающее связь между внутренними защищенными сетями и внешним миром (Интернет) с помощью Интернет-протоколов. Вообще говоря, прокси работают с программами, основанными на протоколе TCP/IP. Обычно прокси-серверы запускают не-сколько программ (прокси), которые могут быть защищенными и доверительными. Это специализированные программы, и каждый поддерживаемый протокол должен обладать собственной службой прокси или обрабатываться общим прокси. Прокси может быть также и прозрачной программой, создаваемой для передачи пакетов в любой данный порт через границы сети.Прокси (proxy) действует по команде клиента или пользователя для доступа к услугам сети и защищает каждую сторону от прямого равноправного (pear-to-pear) соединения. Клиенты устанавливают соединения, выполняя три стадии организации соединения с прокси-сервером. После этого прокси устанавливает соединение с удаленным сервером. Прокси-сервер высылает данные, которые поступили к нему от клиента, на искомый сервер, а также пересылает данные, полученные от искомого сервера, клиенту. Строго говоря, прокси-сервер является как сервером, так и клиентом. Он является сервером в отношении своего клиента и клиентом в отношении искомого сервера.Этапы организации соединения через прокси требуют различные уровни аутентификации или доверия программному обеспечению, которое будет использовано для установки соединений. Далее приводится пример типов соединений, которые устанавливаются с помощью прокси для связи внутренней сети с Интернетом:1. Пользователь производит запрос служб Интернета, таких как HTTP, FTP, Telnet.2. Программные средства пользователя направляют запросы службам Интернета в соответствии с политикой безопасности.3. Прокси обеспечивают соединения, функционируя в качестве шлюзов для удаленных служб.4. Прокси организовывают связь, необходимую для установки соединения с внешней системой, защищая системы, находящиеся за брандмауэром так, что для внешних систем они оказываются невидимыми.5. Весь трафик, маршрутизируемый между внутренним пользователем и внешними системами, обрабатывается посредством прокси-шлюзов. Обычно прокси-сервер работает на двустороннем барьерном хосте или шлюзе и поддерживает один или более Интернет протоколов (см. рис. 12). Барьерными, или бастионными, хостами (bastion hosts) являются укрепленные системы, сконфигурированные для работы с Интернетом. Двусторонний шлюз состоит из хост-системы с двумя сетевыми интерфейсами: один интерфейс для внутренней защищенной сети и один для внешней сети. Эти хосты запрещают прямой трафик между сетями и могут использоваться для функций регистрации и аудита проходящего через них тра-фика. Хост не выполняет маршрутизацию пакетов между двумя соединенными сетями, поскольку перенаправление IP пакетов невозможно. Двусторонний шлюз полностью блокирует IP-трафик между внешней и внутренней сетью. Прокси-серверы в шлюзе обеспечивают службы и возможность соединения с Интернетом. Во избежание случайной пересылки IP-трафика может оказаться очень полезным явный запрет возможности перенаправления IP-пакетов.В качестве примера простой конфигурации двустороннего шлюза можно привести использование прокси-служб для электронной почты. Служба брандмауэра принимает всю электронную почту, адресуемую внутренним пользователям, и пересылает ее внутренним системам или централизованному внутреннему почтовому серверу. Для конечного пользователя такой тип соединения является прозрачным. Соединение выглядит так, как будто оно является прямым соединением между внутренней системой пользователя и внешней системой.
Рис. Двусторонний хост (бастионный) с прокси-службами.Поскольку данные передаются между внутренним клиентом и бастионным хостом, информация о внутреннем IP-адресе клиента, а также некоторая информация о протоколе защищаются от широкого вещания в Интернете. Изучая некоторые особенности пакетов – включая установки по умолчанию для поля Time to Live (TTL – время жизни), размера окна и опций TCP – можно определить операционную систему клиента. Для определения действий, которые можно осуществить в отношении системы клиента, злоумышленник может использовать технологию идентификации операционной системы клиента, известную под названием passive fingerprinting ("пассивное снятие отпечатков (пальцев)").Эти типы служб/серверов обеспечивают функциональность внутренних и внешних пользователей, находясь с внешней стороны сетевого периметра. На рис. 13 показаны несколько серверов, размещенных с внешней стороны защищенной сети.В идеале, для адресации одной прокси-службы мог бы использоваться один бастионный хост – это так называемый принцип разделения безопасности. На бастионных хостах не следует размещать учетные записи пользователей, компиляторы или ненужные программы. Кроме этого необходимо заблокировать и неиспользуемые службы; следует разрешить только те службы, которые предлагает прокси-сервер – тогда в случае дискредитации барьера или службы повреждена будет только одна служба. Это, однако, не всегда возможно. К сожалению, объединение всех прокси в одном бастионном хосте в результате удачной атаки может привести к образованию одной точки сбоя.Кроме классических вспомогательных протоколов (прокси-протоколов), таких как Telnet, FTP, электронной почты и новостей, организациям может понадобиться обеспечение доступа к web (HTTP), широковещание, распределенные протоколы для музыки, видео/аудио, конференций, доступа к базам данных, совместного использования файлов и т.п. В результате это приведет к увеличению нагрузки администраторов сетевой безопасности – им придется вести сражение за поддержку систем на самом современном уровне и добиваться удовлетворительных откликов кли-ентов/пользователей от возможностей существующих служб.