[Sysadmins] Ввод логина-пароля для доступа к сайту неизвестных пользователю

Nikolay A. Fetisov naf на naf.net.ru
Ср Окт 27 21:54:58 UTC 2010


В Срд, 27/10/2010 в 19:49 +0300, Dank Bagryantsev пишет:
> ...
> Ситуация осложняется тем, что у меня нет физического доступа к
> ноутбукам пользователей и они находятся в разных странах....

Итого, переформулируя/уточняя постановку задачи:
есть организация X, использующая N платных веб-сервисов.
С этими сервисами работают M сотрудников, которым, соответственно,
передаются логины/пароли. Пароли к сервисам выдаются на организацию,
одну и ту же учётную запись используют одновременно несколько
сотрудников. Причём сотрудники работают удалённо и контролировать
их невозможно. 
Поступающие вместе с счетами на оплату данные по числу входов,
запросов, и т.п., даже с указаниями точного времени и IP пользователя,
не позволяют понять, кто именно из сотрудников и что именно использовал.
Как следствие, при подписывании счетов у руководства возникают смутные
подозрения и большое желание ввести учёт и контроль. Так?

> ...
> >> Пока у меня мысли, чтобы установить какую-то промежуточную вещь между
> >> пользователями и сайтами. ....

... с помощью которой такой учёт и можно было бы проводить. Т.е., VPN от
пользователя до контролируемой машины, и уже с неё / через неё -
обращение к сайтам.

В зависимости от того, что это за сайты, как с ними работают
пользователи и т.п. - это действительно может быть или терминал-сервер,
или прокси-сервер. Или и то, и другое - своё для разных сайтов.

Терминал-сервер будет универсальнее в организации доступа к сайтам - 
но потребует больше трафика и может вызвать проблемы, например, при
необходимости печати или передачи файлов.
Прокси-сервер потребует разбора систем авторизации для каждого из
сайтов, написания фильтров под них (и изменения этих фильтров при
изменениях на сайтах), и дополнительные проблемы в случае использования
сайтами SSL.

> ....
> Идея с nginx заманчивая. Случайно нет примера реализации?

Готовых рецептов по изменению содержания _запросов_, увы, не скажу.
По-идее, можно смотреть в сторону встроенного Perl, в обработчике
делать замену (подмену) паролей в запросе, далее передачу запроса на
веб-сервер, и возврат полученного ответа клиенту.

>  ... Но да, если сайт доступен только по HTTPS, то этот способ скорее
> всего не подойдет.

По размышлению - а почему нет? По-моему, в proxy_pass можно использовать
запросы через https:// . А для nginx сделать свой самоподписанный
сертификат. Да, это чистый вариант man-in-the-middle, и браузер клиента
таким сертификатом будет сильно недоволен, но в данном случае вполне
достаточно проинструктировать пользователей принять эту подделку.


-- 
С уважением,
Николай Фетисов




Подробная информация о списке рассылки Sysadmins