Страница 1 из 1

Акселератор БМ с авторизацией в дереве

СообщениеДобавлено: 28 фев 2007, 15:19
Мещеряков Андрей
Доброе время суток обратившим внимание! Появилась потребность выставить силами бордюра наружу один из серверов с приватным адресом для доступа из Инета. Имеется большое желание сделать оный доступ закрытым при помощи авторизации в дереве. Как это сделать?

СообщениеДобавлено: 28 фев 2007, 16:03
Alex-M
Авторизации чем? Клиентом или Java SSL? Если второе - всё просто.
Делаете акселератор, в его свойствах чекаете "Enable authentication...".
В пункте "Authentication context" чекаете "Authenticate only ... restricted page", ну и собссно настройки Java апплета делаете.
В Аксесс Рулях делаете соотв. правила доступа к страницам (с использованием масок * и ? если надо).
В пакетных фильтрах делаете правило для HTTP и HTTPS на соотв. адрес.
Вроде всё. Отладка по необходимости.

ЗЫ - с клиентом не делал, не скажу - но по идее также, только надо вместо Жабы настраивать (в Рулях и в пакетных фильтрах) соотв. порты для доступа Клиента и КлиентТраста к серверу.

СообщениеДобавлено: 01 мар 2007, 21:24
Мещеряков Андрей
Я бы не сказал, что все так просто :)
1. Сделал внешний интерфейс из public both
(В доке писано, что прокси слушает только privat & both, а public - нет)
2. Создал акселератор с именем = адресу приватного сервера.
3. В настройках авторизации пришлось поменять порт для SSL с 443 на 444, иначе туда лезет апач из сервера администрирования.
4. Потребовал в закладке акселератора требовать авторизацию
5. Включил SSL аудентификацию и назначил ей сертификат из дерева.
6. Специальных правил не создавал. Какого типа оно должно быть?

ЗЫ: пробовал :) Если стучаться в проксу изнутри без отмычки SSO - загружается жабный апплет и просит представиться. Снаружи - шиш :lol:

СообщениеДобавлено: 02 мар 2007, 14:15
Владимир Горяев

СообщениеДобавлено: 02 мар 2007, 16:43
Alex-M
Разжевываю...
1. Неверно, надо оставить как было - внешний = паблик; внутренний = приват (т.к. Вы делаете акселератор, а не прокси - аксель как раз таки слушает на паблик интерфейсе. Кроме того в доке написано не совсем верно - многие прокси слушают любой интерфейс, на котором им указано слушать. В частности GenTCP прекрасно работает "навыверт", если указать ему слушать на внешнем интерфейсе)
2. Тоже неверно. Надо делать аксель с именем = FQDN имени сервера-оригинатора для нормальной работы механизма авторизации. Т.е., если имя выставляемого сервера www.mydomain.ru, то ровно тоже самое надо писать в имя акселя: "www.mydomain.ru".
3. Лучше было бы именно Апачу указать на каком адресе слушать (на внутреннем, ибо 1 - секурнее, 2 - по-умолчанию он слушает на всех адресах). Либо добавить ко внешнему интерфейсу секондари-адрес и именно на него повесить аксель (а лучше и то и другое, особенно, если у Вас на Бордюрном ящике много сервисов навешано).
4. Ок.
5. Ок.
6. Если снаружи нужен доступ ко всему веб-серверу (а не к какой-то его части), тогда пишем что-то типа "Action = Allow; Access Type = URL; Source = Any <это откуда снаружи разрешён доступ, если нужно ограничить по адресам/именам - сюда>; Destination = http://www.yourdomain.com*/* <*>"
Если надо открыть доступ только к части веб-сервера - пишем пару правил - вначале Allow на нужные веб-ссылки, напр. "Action = Allow; Access Type = URL; Source = Any; Destination = http://www.yourdomain.com/public-folder/* <тут перечисляем папки и файлы, к которым разрешён доступ>" и затем ниже его Deny на всё остальное, напр. "Action = Deny; Access Type = URL; Source = Any; Destination = *://*www.yourdomain.com*/*"
* - по использованию wildcards см. TID-10056952.

ЗЫ - а в пакетных фильтрах исключения писали на нужный внешний адрес/порт? ;-)

СообщениеДобавлено: 02 мар 2007, 20:14
Мещеряков Андрей
1. Уже сделал.
2. Сделаю. Одно время он назывался как ххх.ууу.zzz.aaa . Поскольку прокси у меня сидит в домене провайдера, ресолв внутренних серверов забит у него в hosts.
3. Апач просто выгрузил. Сервисов навешано не то что бы много... но не работает именно бордюр :)
6. Если
"Action = Allow; Access Type = URL; Source = Any ....Destination = http://www.yourdomain.com*/*
- то по какому критерию будет идти авторизация? Я же разрешил все всем? Или лыжи не едут? У меня есть три группы доступа в Инет, типа Action = Allow; Access Type = URL; Source = <Groups> ....Destination = <Any> (в предельном случае) - почему они не катят?

И что самое интересное, бордюр при попытке стукнуться в него снаружи даже не предлагает авторизироваться. Он или пускает всех без разбору (убрана галка "авторизироваться") или просто не открывает страницу авторизации. ВМ 3.8sp4 NW6.0sp5+postfix[/quote]

СообщениеДобавлено: 02 мар 2007, 22:29
Alex-M
6. Именно так я не делал (авторизация по группам), но по идее именно так и надо - в Source писать группы. В Destination в Вашем случае, наверно, надо писать Any (я это не пробовал, мне надо было просто прикрыть часть веб-структуры - т.е. один и тот же сервер, но часть доступна паблику, а часть - нет).
Хотя - у Вас на этом же ящике просто прокси есть? Через который юзеры в Инет ходят. Если есть - возникает закономерный вопрос, как Бордюр будет различать правила для доступа изнутри-наружу и снаружи-вовнутрь? Ведь список правил один, без разделения по проксям-сервисам. Поэтому, ИМХО, наверно логичнее написать правило на конкретный УРЛ с использованием wildcards и поставить его выше правила для выхода наружу.

Насчёт отсутствия окна авторизации - вспоминается мне, когда я это хозяйство отлаживал, что проблема была именно в имени акселя... Кажись... По крайней мере симптомы были очень похожи. Но давно было - не помню.
То, что я написал - снято по состоянию на сегодня. Авторизация как таковая не требуется, просто идёт разграничение одного и того же сервера на паблик-часть и остальное.

СообщениеДобавлено: 03 мар 2007, 21:43
Мещеряков Андрей
Огромадное спасибо. Заработало.

СообщениеДобавлено: 14 мар 2007, 21:21
Мещеряков Андрей
ГХМ! :) А если сделать акселератор FTP, как оно будет выглядеть?

СообщениеДобавлено: 15 мар 2007, 16:23
Alex-M
А ровно также. Создаём аксель; указываем адрес/порт сервера-оригинатора; указываем адрес/порт интерфейса, на котором аксель будет слушать; создаём правило доступа к ресурсу типа "FTP proxy"; создаём исключение для пакетных фильтров на соотв. адрес. Всё.
Только авторизации не будет никакой, окромя собссно ФТП юзер/пассворд. Разве что по адресу...

СообщениеДобавлено: 16 мар 2007, 16:11
Alex-M
Вчерась ошибся чуток. Поправка - пункт создаём правило доступа к ресурсу типа "FTP proxy" вычёркиваем, ибо "FTP proxy" к акселям не относятся, плюс, FTP-аксель вааще под правила не подпадает, ибо там нету пункта "авторизация"...

СообщениеДобавлено: 16 мар 2007, 20:02
Мещеряков Андрей
:D