15-0 Работа с proxy серверами
Эта глава содержит все необходимые сведения о принципах работы proxy серверов в межсетевом экране Aker. Особенности каждого proxy сервера обсуждаются в следующих главах.
15-1 Введение
Что такое proxy сервера?
Proxy сервера - это специальные программы, которые запускаются на межсетевых экранах и используются в качестве связующего звена между внутренней сетью организации и внешними серверами. Механизм их действия прост: они ждут запроса из внутренней сети, передают этот запрос удаленному серверу во внешней сети и посылают ответ обратно внутреннему клиенту.
Чаще всего proxy сервера используются всеми клиентами одной подсети, и благодаря своему стратегическому положению обычно обеспечивают кэширующие функции для некоторых сервисов. Более того, так как proxy сервера работают на уровне конкретного протокола, для каждого сервиса необходимы различные proxy сервера.
Традиционные proxy сервера
Чтобы хост мог воспользоваться сервисами, поддерживаемыми proxy, он должен знать об их существовании, т.е. должен знать, что вместо соединения с удаленным сервером, ему следует связаться с proxy и послать ему свой запрос.
Многие клиенты умеют работать через proxy сервера (например, большинство существующих броузеров). Чтобы воспользоваться функциональными возможностями proxy, необходимо только настроить программу для работы с ними. Однако не все клиенты могуть работать таким образом. В этих обстоятельствах единственное решение - заменить TCP/IP стек во всех хостах-клиентах, чтобы все соединения прозрачно пересылались на proxy.
Этот подход сопряжен с определенными трудностми, не говоря уже о сложности модификации всех хостов-клиентов; иногда просто не существует способа модификации поддержки TCP/IP , что не дает возможности клиентам этих платформ использовать proxy сервера.
Приведенная ниже схема иллюстрирует основной процесс работы традиционного proxy сервера:
Прозрачные proxy сервера
Aker представляет новую концепцию межсетевого экрана, использующего прозрачные proxy сервера. Их можно использовать без какой-либо модификации клиентов и серверов, поскольку ни один из них не должен знать о существовании proxy сервера.
Механизм их действия достаточно прост: всякий раз, когда межсетевой экран решает, что соединение должно поддерживаться через прозрачные proxy, он переадресует это соединение соответствующему proxy. Установив соединение с клиентом, proxy открывает новое соединение с удаленным сервером и направляет запросы клиента этому серверу.
Огромное преимущество подобной организации работы заключаетя в возможности создать дополнительную защиту для конкретных сервисов, не проводя модификации клиентов и серверов и не нарушая гибкости. Кроме того, прозрачные proxy сервера можно использовать как для внутренних, так и для внешних запросов.
Прозрачные proxy и контексты
Межсетевой экран Aker представляет новую разработку, связанную с прозрачными proxy - контексты. Для их понимания проанализируем сначала структуру сети, где они могут использоваться:
Предположим, что межсетевой экран Aker соединен с тремя различными сетями А, В и С, и пусть сети А и В принадлежат двум отделениям одной и той же компании, а сеть С представляет Интернет. Предположим, что для сетей А и В существует общий SMTP сервер, служащий для приема и отправки электронной почты. Схематически ситуация изображена на рисунке:
Теперь предположим, что необходимо настроить межсетевой экран для пререадресации всех SMTP соединений к SMTP proxy, чтобы обеспечить лучшую защиту и более строгий контроль всего трафика.
Важно иметь возможность отдельно описывать правила для соединений из сетей В и С к сети А. Когда сеть В посылает e-mail в А, она использует SMTP сервер как relay, между тем, для сети С это не разрешено. Желательно, кроме того, ограничить максимальный размер сообщений, приходящих из сети С, чтобы избежать атак типа "отказ в обслуживании", основанных на недостатке дискового пространства, но в то же время не ограничивать размер сообщений, приходящих от сети В.
Для реализации таких конфигураций были созданы контексты. Контексты - это набор настроек для прозрачных proxy, необходимых для реализации различных правил обмена.
В последнем примере можно было бы создать два контекста: один для использования в соединениях из В в А, а другой - из С в А.
Proxy в межсетевом экране Aker
Межсетевой экран Aker поддерживает прозрачные proxy сервера для сервисов Telnet и SMTP и непрозрачные proxy сервера для сервисов, доступных через WWW броузер (FTP, Gopher, HTTP и HTTPS). Для использования непрозрачных proxy серверов необходим клиент, поддерживающий работу через proxy. К таким клиентам относятся Netscape Navigator(Tm) и Internet Explorer (Tm).
Прозрачные proxy можно использовать для контроля доступа снаружи к внутренним сетям и наоборот. Непрозрачные proxy могут использовать только хосты внутренней сети.
Причина выбора непрозрачных proxy для WWW сервисов связана с тем, что их можно использовать для особого вида аутентификации, называемой Proxy Authentication, которая работает только если броузеры настроены для работы через proxy. При такой аутентификации броузер сразу же в начале сеанса запрашивает пароль пользователя и использует его, пока не закроется броузер. Альтернативой этой форме аутентификации остается только доменная аутентификация (Domain Autentication), при которой при обращении к новому WWW адресу у пользователя будет запрашиваться новый пароль.
Аутентификаторы межсетевого экрана Aker
Аутентификацию пользователя в межсетевом экране Aker поддерживают WWW и Telnet proxy, что означает, что их можно настроить так, чтобы установление соединений пользователям разрешалось бы только при условии, что пользователь идентифицирует себя для межсетевого экрана при помощи имени и пароля.
При такой процедуре аутентификации межсетевому экрану необходимо проверять правильность имен и паролей. Для одних программ требуется регистрация всех пользователей в базе данных межсетевого экрана, для других нужно, чтобы пользователи были зарегистрированными пользователями на хосте, на котором запускается межсетевой экран. Оба способа не позволяют использовать базу данных пользователей, как правило присутствующую в локальной сети.
В межсетевом экране Aker выбрано наиболее универсальное и простое решение: вместо регистрации пользователей непосредственно в межсетевом экране, их подлинность проверяется на серверах локальных сетей, либо под управлением Unix, либо Windows NT.
Для того что бы межсетевой экран знал, где находится информация, необходимая для аутентификации пользователей, и имел возможность обеспечить защищенную связь с этими хостами, была создана концепция аутентификаторов. Аутентификаторами являются хосты под управлением Unix или Windows NT, на которых запускается агент аутентификации. Эта программа распространяется в комплекте с межсетевым экраном Aker, и ее основное назначение - обеспечить взаимодействие между межсетевым экраном и удаленной базой данных.
Для использования межсетевым экраном Aker базы данных на удаленном сервере вы должны выполнить следующие действия:
- Установить и настроить агента аутентификации на хосте, где находится пользовательская база данных (эта процедура будет описана в разделах Инсталляция агента аутентификации в Unix и Инсталляция агента аутентификации в Windows NT).
- Зарегистрировать объект типа аутентификатор с адресом хоста, на котором установлен агент, и с правильным паролем доступа (информация о регистрации объектов изложена в главе 5 Регистрация объектов).
- Указать межсетевому экрану, что он должен использовать аутентикатор, зарегистрированный на 2 этапе, для проведения аутентификации пользователя (эта процедура будет описана в главе 16 Настройка параметров аутентификации).
15-2 Инсталляция агента аутентификации в Unix
Для установки агента аутентификации необходимо смонтировать диск с Aker Firewall 3.01 на хосте, в котором должен быть инсталлирован агент, или скопировать содержимое каталога с записанным там агентом из CD в какой-либо временный каталог на этом хосте (это можно сделать с помощью FTP или NFS, если в данном хосте нет CD-ROM дисковода.
После монтирования CD или копирования файла в любой каталог, необходимо перенести бинарные коды агента в выбранный каталог на хосте назначения. Для этой цели рекомендуется использовать каталог /usr/local/bin, но можно выбрать и любой другой. Для копирования агента запустите следующую команду:
#/installation_directory/agent/plataform/aginst
Где installation directory означает каталог, в котором содержатся файл дистрибутива, platform означает выбранную вами платформу. Например, для установки агента на платформе FreeBSD и с CD, смонтированным в каталог /cdrom, следует ввести с клавиатуры команду: #/cdrom/agent/FreeBSD/aginst
Символ # обозначает приглашение интерпретатора shell, если вы являетесь пользователем root. Не набирайте его как часть команды
Инсталляционная программа копирует выполняемый файл (fwagaut) в директорию /usr/local/bin, а конфигурационный файл (fwagaut.cfg) в директорию /etc. После окончания инсталляции необходимо записать в этот файл необходимые настройки, как написано в следующем разделе.
Если вы ответили "Yes" на вопрос инсталляционной программы о том, хотите ли вы автоматически стартовать агента аутентификации при каждой загрузке. в файле инициализации будет сделана соответствующая запись. Название этого инийиализационного файла зависит типа UNIX системы.
Синтаксис файла конфигурации для агента аутентификации
После копирования установленного агента в выбранный каталог необходимо создать файл конфигурации с адресами межсетевых экранов, которые могут использовать этот файл, и с паролями каждого из них. Файл имеет текстовый формат и может быть создан любым редактором.
Файл конфигурации для агента аутентификации должен иметь права доступа, позволяющие читать или изменять его только пользователю root. Для этого можно использовать команду chmod со следующим синтаксом: #chmod 600 имя_файла.
Формат файла следующий:
- IP адрес межсетевого экрана Aker, использующего агента, один или более пробелов или символов табуляции, пароль доступа, который применяется межсетевым экраном для соединения.
- Строки, начинающиеся с символа #, а также пустые строки игнорируются.
Пример файла конфигурации приведен ниже:
# Configuration file for the Aker Firewall 3.01 authentication agent
#
# Syntax: Firewall IP address and access password (in each line)
#
# The password must not have spaces and must have up to 31 characters
#
# Lines beginning with the '#' character are considered comments
# Blank lines are allowed
10.0.0.1 password_test
10.2.2.2 123password321
По умолчанию используется файл конфигурации /etc/fwagaut.cfg, однако, можно использовать другие название и директорию, указав их агенту при старте. Более подробно это описано в следующем разделе.
Запуск агента аутентификации
При запуске агента аутентификации можно использовать следующие параметры:
fwagaut [-?] [-c FILE_NAME] [-s <0-7] [-q]
Где:
-? показывает данное сообщение
-c указывает имя файла конфигурации
-s указывает syslog facility сообщений аутентификатора
0 = local0, 1 = local1, ...
-q не показывать никаких сообщений на запуске
Предположим, что агент установлен в каталог /usr/local/bin, а файл конфигурации создан с именем /usr/local/etc/fwagaut.cfg. В этом случае для запуска агента нужно набрать команду:
/usr/local/bin/fwagaut -c /usr/local/etc/fwagaut.cfg
Если используется файл конфигурации по умолчанию, не нужно использовать опцию -с, а сразу набрать команду:
/usr/local/bin/fwagaut
Агент аутентификации должен запускаться пользователем root.
Если в конфигурационном файле сделаны какие-либо модификации, необходимо заново инициализировать агента, если он запущен. Чтобы это сделать, выполните следующую команду:
#kill -1 pid
Гдe pid - номер процесса агента аутентификации. Для выяснения этого номера можно использовать команду
#ps -ax | grep fwagaut на BSD системах, или
#ps -ef | grep fwagaut на SystemV системах.
Агент аутентификации слушает запросы на порту 1021/TCP. Во время работы агента не должно быть других приложений, использующих этот порт.
Если желательно стартовать агента аутентификации при каждом перезапуске хоста, необходимую строку можно вставлять в любые файлы инициализации. Имена этих файлов зависят от типа Unix системы. За более подробной информацией обращайтесь к руководству по Unix.
15-3 Установка агента аутентификации в Windows NT
Установка агента аутентификации в Windows NT очень проста. Для этого нужно смонтировать CD диск Aker Firewall 3.01 на хосте назначения или скопировать содержимое каталога с инсталлированным агентом из CD в какой-либо временный каталог в этом хосте.
Затем надо нажать меню Start, выделить в нем оцию Run и ввести с клавиатуры в поле Open следующую команду: D:\agent\NT\install (если CD диск смонтирован на устройство, отличное от D, замените D соответствующей буквой).
Программа сначала откроет окно, в котором следует подтвердить необходимость инсталляции. Для этого на вопрос о продолжении инсталляции надо ответить Yes. В этом случае появится следующее окно:
Окно параметров инсталляции агента для Windows NT
В поле Simultaneous firewalls нужно ввести число межсетевых экранов, которые будут одновременно использовать аутентификатор (это число отлично от 1 только в случае, если число межсетевых экранов в сети, которые используют для аутентификации одного и того же агента, больше 1).
Опция Start agent automatically on boot позволяет автоматически запускать агента при каждом перезапуске хоста. Если эта опция установлена, агент должен запускаться вручную.
После заполнения всех значений необходимо нажать кнопку Next. Процедура инсталляции включает следующие действия: создание каталога с файлами агента и именем fwntaa, создание группы под названием Aker Firewall с опциями для настройки и удаления агента, и создание сервиса, называемого Aker Firewall Authentication agent. Этот сервис является обычным сервисом Windows NT, его можно остановить или запустить через Control Panal , опция сервисы.
Агент аутентификации слушает запросы на порту 1021/TCP. Во время работы агента не должно быть других приложений, использующих этот порт.
Настройка агента аутентификации для NT
После инсталляции агента необходимо продолжить его настройку. Она позволяет зарегистрировать все межсетевые экраны, которые будут использовать агент, а также определить сообщения, генерируемые агентом при работе. В отличие от агента аутентификации для Unix, эти настройки выполняются с помощью отдельной программы.
Для доступа к программе намтройки необходимо нажать меню Start, выбрать группу Aker Firewall, а затем внутри группы выделить опцию Configure authentication agent. После выполнения этих действий откроется следующее окно:
Это окно содержит все опции для настройки агента. В верхней части окна размещаются опции, позволяющие выбрать тип сообщений, генерируемых агентом, и куда они должны посылаться.
Поле Output определяет, куда будут посылаться сообщения: в Event Viewer системы Windows NT и/или в файл. В случае файла его имя нужно ввести в поле File. Под этими полями размещены несколько опций для описания сообщений. Для генерации определенного типа сообщения нужно, чтобы соответствующая опция была установлена.
Можно посылать сообщения в файл и в Event Viewer одновременно, для этого достаточно, чтобы были установлены обе опции и определено имя файлв для вывода.
Под списком типов сообщений помещен список адресов межсетевых экранов, имеющих право использовать агента для аутентификации, а также пароли доступа каждого из них.
Чтобы добавить новый сервер, нажмите кнопку Add. Откроется окно, в которое следует ввести IP адрес и пароль межсетевого экрана.
Для изменения пароля зарегистрированного межсетевого экрана, достаточно выделить его адрес и нажать кнопку Edit. Откроется окно с соответствующим полем.
Для удаления межсетевого экрана из списка выделите его адрес и нажмите кнопку Delete.
После проведения модификаций нажмите кнопку OK, которая закрывает окно и сохраняет опции .
При изменении в списка межсетевых экранов при запущенном агенте, необходимо остановить его и запустить снова. Это можно сделать через Control Panel.
Удаление агента аутентификации для NT
Для упрощения процесса удаления агента аутентификации существует утилита, которая делает это автоматически. Для ее запуска нажмите меню Start, выделите группу Aker Firewall, и в этой группе опцию Remove authentication agent. Откроется следующее окно:
Для удаления агента нажмите кнопку Yes, для отмены удаления - кнопку No.
Важные замечания по работе агента для NT
Следует остановиться на двух важных моментах, связанных с правильным функционированием агента аутентификации для Windows NT:
- Необходимо, чтобы все пользователи, которые будут аутентифицироваться, имели полномочие Log on Locally на сервере, на котором запущен агент. Для проверки выполните следующие шаги:
- Запустите User Manager for Domain. В нем выберите меню Policies и выделите опцию User Rights.
- Выберите опцию Log on locally и добавьте все группы или пользователей, которые будут проходить аутентификацию. Для упрощения процедуры можно использовать группу Everyone.
- Опция User must change password at next logon не должна быть установлена, в противном случае пользователь не сможет пройти аутентификацию