Изъяны программных посредников

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

Имя узла: localhost


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

С:\> nc -v -n 192.168.51.129 23
(UNKNOWN)[192.168.51.129] 23 (?) open
Eagle Secure Gateway.
Hostname:

1. Введите localhost.
2. Введите известное имя пользователя и пароль (или попробуйте с нескольких попыток их подобрать).
3. Если процесс аутентификации успешно завершился, значит, вы получили локальный доступ на брандмауэре.
4. Воспользуйтесь одним из средств генерации переполнения локального буфера (например, утилитой rdist) или любой другой аналогичной программой, чтобы получить привилегии администратора.

Контрмеры: защита от использования имени localhost


Предотвращение


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

Неавторизованный внешний доступ к программному посреднику


Такой подход наиболее пригоден для доступа к брандмауэрам, реализующим прозрачные функции, однако мы довольно часто сталкиваемся с его использованием. Администратор может уделить самое пристальное внимание обеспечению безопасности брандмауэра и установить строгие правила доступа, однако в то же время забыть о необходимости блокирования доступа извне. В этом случае сразу же возникнет два типа опасности: (1) взломщик может воспользоваться proxy-сервером для атак на всевозможные узлы Internet, активно применяя изъяны сценариев CG1 и различные методы мошенничества в Web, и (2) с помощью средств Web злоумышленник сможет получить доступ к вашей интрасети. Нам приходилось встречать подобным образом сконфигурированные брандмауэры и каждый раз мы могли получить доступ ко всей корпоративной интрасети.
Дня того чтобы узнать, уязвим ли ваш брандмауэр для такой атаки, измените в броузере параметры proxy-сервера так, чтобы они указывали на подозрительный (т.е. проверяемый) брандмауэр. В броузере Netscape для этого выполните следующие действия.
1. Выберите команду Edit>Preferences.
2. Выделите поддеревья Advanced и Proxies.
3. Щелкните на кнопке Manual Proxy Configuration.
4. Щелкните на кнопке View.
5. Добавьте адрес тестируемого брандмауэра в соответствующий список адресов HTTP и выберите порт, находящийся в состоянии прослушивания. (Обычно 80, 81. 8000 или 8080, однако реальные номера могут значительно варьироваться. Для определения корректного порта воспользуйтесь утилитой шпар или другим аналогичным средством.)
6. Введите в броузере адрес своего любимого Web-узла и следите за информацией, появляющейся в строке состояния.
Если в строке состояния отобразится адрес proxy-сервера, а затем на экране появится Web-стрпница, то, очевидно, вы имеете дело с неавторизованным proxy-сервером.
Если у вас имеется IP-адрес внутреннего Web-узла (не важно, маршрутизируется он или нет), то аналогичным образом можно попытаться получить доступ и к нему. Иногда этот внутренний IP-адрес можно встретить во время просмотра исходного кода HTTP. Зачастую Web-дизайнеры помещают имена узлов и IP-адреса в атрибуте HREF дескрипторов Web-страниц.

Контрмеры: защита от неавторизованного внешнего доступа к программному посреднику


Предотвращение


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