home

Удаленный доступ к ресурсам с авторизацией по IP-адресам с помощью проксирования

Многие ресурсы, которые библиотека покупает, используют авторизацию (предоставление доступа) по IP-адресу. К некоторым из них можно получить доступ из интернета путем регистрации пользователя или по более сложным схемам с использованием федеративной авторизации. Из-за слабой развитости российского рынка многие полезные пользователям системы, тем не менее, осуществляют авторизацию только на основе IP-адресов.

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

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

Принцип работы прокси-сервера[править]

Идея очень простая: пользователь получит доступ к сайтам если они будут исходить с IP-адресов организации. Значит надо все запросы от пользователя, находящегося у себя дома, отправлять не напрямую на сайт ресурса, а через организацию.

proxy-server.draw.io.png

ПО, которое на стороне организации обеспечивает передачу запросов на внешние сайты, называется прокси-сервером.

Авторизация[править]

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

Это означает, что прокси-сервер должен уметь проверять логин с паролем по какой-то базе данных, причем эта база данных хранится в самой организации. Эта задача и есть самая сложная в этой схеме: обеспечить проверку учетных данных пользователей. Обычно прокси-сервер настраивается на LDAP-сервер организации, но возможны варианты.

При такой схеме сразу решается еще одна проблема: логин и пароль пользователя авторизует его для всех ресурсов и не надо знать (раздавать и вводить) логин с паролем для каждого ресурса в отдельности.

Механизмы реализации проксирования[править]

Получили распространения два механизма проскирования.

Web-прокси[править]

cisco_webvpn_home.png

Достаточно редко-встречающийся механизм, реализуемый такими продуктами как EZproxy (для библиотек) и Cisco WebVPN (в корпоративном секторе). Внешне выглядит так: пользователь ничего не настраивает, а заходит на сайт, вводит в нем логин и пароль и переходит на страницу, на которой указан список ресурсов. При клике по ресурсу прокси-сервер запрашивает страницу, но возвращая ее пользователю переписывает имя удаленного сайта на свое собственное, т.е. если у удаленного сайта запрашивается страница http://www.scopus.com/page.html, а у прокси-сервера сайт http://proxy.example.com, то пользователю возвращается страница якобы находящаяся по адресу http://proxy.example.com/page.html.

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

Плюсы Web-прокси[править]

Работает прямо в браузере, пользователю на своей стороне не требуется ничего устанавливать или настраивать.

Недостатки Web-прокси[править]

Основные проблемы связаны с тем, что ни удаленный ресурс ни браузер не подозревают о проксировании, а сам прокси-сервер фактически использует хакерский метод. В начале 2000-ых годов, когда JavaScript активно не применялся в целях навигации и управления интерфейсом, этот метод не доставлял существенных проблем. Но чем новее сайт, тем больше шансов, что средствами JavaScript сайт решит подгрузить какой-то ресурс обратившись напрямую на себя (а не через прокси) и этот запрос завершится ошибкой из-за ограничений безопасности браузера.

Были проверены несколько электронных библиотек, из которых КиберЛенинка, IPRBooks, Национальная электронная библиотека, ELiS WebApps, SCOPUS и даже Google оказались несовместимы с Cisco WebVPN. В Лань, Книгафонд, Университетская библиотека онлайн книги напротив, открыть удалось.

Ниже приводится открытие IPRBooks через Cisco WebVPN и ошибка Flash Player при попытке открыть книгу. Ошибка связана с тем, что прокси подменил название сайта и работает по адресу vpn.psu.ru, в то время как Flash Player пытается загрузить книгу с www.iprbookshop.ru и у него срабатывает защита от загрузки контента с постороннего домена.

cisco_webvpn_home.png

cisco_webvpn_iprbooks.png

cisco_webvpn_iprbooks_flasherror.png


HTTP-прокси[править]

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

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

Плюсы HTTP-прокси[править]

Это встроенный механизм в браузеры с хорошей совместимость с удаленными ресурсами.

Недостатки HTTP-прокси[править]

  1. Настройка прокси-сервера в браузере для пользователя заметно более обременительна.
  2. Если не принять специальных мер, через прокси-сервер пойдет трафик всех браузеров, но проксирование всего трафика пользователя может быть слишком затратной для организации в плане закупки интернет-канала.

При этом надо иметь в виду, что если в Windows установить прокси-сервер в системе (через настройки Internet Explorer), то этот прокси-сервер подхватится такими браузерами как Google Chrome и Mozilla Firefox.

Выпуск организацией собственной программы с проксированием ресурсов[править]

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

Решение здесь достаточно очевидное: надо взять один из браузеров с открытым исходным кодом и чуть-чуть переписать его, зашив в его настройки прокси-сервер организации.

В таком случае надо будет просто пользователя попросить поставить браузер (программу) организации, ввести в нее один раз логин с паролем и использовать именно ее для доступа к удаленным ресурсам.

Плюсы от создания собственного браузера[править]

  1. Простая настройка: пользователь устанавливает программу и один раз вводит логин с паролем.
  2. Возможность сбора статистики по посещению пользователем подписных ресурсов.
  3. В программу браузера можно встроить дополнительный и полезный для пользователя функционал.

Недостатки собственного браузера[править]

  1. Необходимо поддерживать одну или несколько (если браузер выпускается не только под Windows) программ.
  2. Если используется не системный браузер, его следует обновлять для устранения проблем безопасности.

Функционал браузера организации[править]

Если прокси-сервер авторизует пользователя из централизованной (для организации) системы авторизации, то эти учетные данные могут подходить и к другим сайтам организации, таким как электронная информационная образовательная среда (ЭИОС), сайт расписания занятий и т.д. и в браузер можно добавить эти сайты и автоматически авторизовать пользователя при первом обращении из программы.

Тогда продвигать браузер можно не просто как систему доступа к удаленным библиотекам, но делать упор на других функциональных возможностях.

В конечном счете, проект браузера может перерасти в сложную программу, решающую большое количество задач вуза.

Пример браузера организации[править]

Чтобы на практике продемонстрировать возможность создания браузера организации, реализован браузер для Пермского государственного национального исследовательского университета. Браузер отображает сайты и реализацию встраивания электронной библиотеки ELiS с помощью технологии ELiS WebApps.

PsuBrowserExample.png

С точки зрения преподавателей и деканатов браузер решает важную задачу: проксирует запросы из интернета в систему управления вузом (ЭИОС). В этой системе размещаются УМК, ведется успеваемость по больно-рейтинговой системе и решаются другие задачи преподавателей и административных работников, поэтому возможность подключения к ней из интернета является актуальной задачей для многих. Браузер не является единственным способом подключения из интернета к корпоративной сети, но он существенно проще в установке и настройке альтернативного VPN-подключения.

psu_browser_etis.png

Домашней страницей браузера является список электронных библиотек:

psu_browser_startpage2.jpg

Для поиска применяется Google Custom Search Engine, который выступает бесплатной и доступной заменой федеративного поиска. Этот поисковый движок настроен на поиск: в электронной библиотеке университета, PDF-файлов на сайтах вуза и в некоторых легальных библиотеках с доступным контентом.

Конечно, такой поисковый механизм не участвует в поиске по внешним ЭБС, но, зато, способен находить статьи, размещенные на многочисленных сайтах вуза.

psu_browser_search.png

Статистика[править]

Разработка собственного браузера позволяет перехватывать события скачивания файлов и учитывать скачивания в своей статистике.

Если же собственную систему учета статистики разрабатывать не хочется, можно на домашней странице установить любой из онлайн-счетчиков посетителей и, по крайней мере, фиксировать число запусков браузера.