Select language:
+7 (499) 500-14-94
Проекты

Брандмауэр «БиблиоКербер» для защиты электронных ресурсов библиотеки

 
15 июля 2015

Брандмауэр «БиблиоКербер» для защиты электронных ресурсов библиотеки

 

«БиблиоКербер» — межсетевой экран хранилища оцифрованных книг и документов. Реализованная в виде веб-приложения система призвана вести статистику использования и контролировать доступ к оцифрованным книгам и документам второй по величине фондов библиотеки России. «БиблиоКербер» совместим с сетью электронных библиотек Vivaldi в части просмотра документов.

 

Структура БиблиоКербер

 

  1. Подсистема программного интерфейса. Доступ клиентов к документам организован в виде веб-сервиса, работающего по протоколу HTTP, а взаимодействие с сервисом осуществляется по защищённому протоколу HTTPS.
  2. Подсистема библиографических описаний. Для каждого идентификатора документа подсистема получает библиографическое описание из источника, настроенного для системы. Подсистема имеет возможность кешировать библиографические записи локально для обеспечения высокого быстродействия и сокращения нагрузки на смежные системы.
  3. Подсистема доступа к полным текстам обеспечивает работу с электронными документами в PDF. Реализованы следующие функции работы с документами.
    • Получение информации о документе (количество страниц).
    • Получение размеров страниц документа.
    • Получение содержимого текстовой подложки документа.
    • Получение списка слов на странице с координатами слов на странице.
    • Растеризация страницы с заданным dpi. Обеспечена возможность наложения водяного знака при растеризации страницы.
    • Извлечение страницы из документа в виде отдельного PDF-файла.
  4. Подсистема статистики. Каждый запрос со всеми параметрами заносится в базу данных статистики доступа к документам. Фиксируется идентификатор клиента, выполняющего запрос. Ежедневно выполняется расчёт агрегированной статистики, чтобы интерфейс отображения статистики работал с высокой производительностью. Интерфейс просмотра статистики позволяет выбрать период, для которого выводятся основные показатели статистики: сколько документов было открыто; сколько страниц было просмотрено и сколько распечатано. В интерфейсе можно включить фильтр по идентификаторам клиентов либо по идентификаторам документов. Выводится график по выбранному параметру за каждый день выбранного периода, и выводятся все показатели доступа в разрезе по клиентам и документам.

 

Схема работы БиблиоКербер

 

Схема работы БиблиоКербер

 

Подсистема программного интерфейса предоставляет возможность клиентам подключаться и выполнять запросы к документам библиотеки. Для выполнения запросов система обращается к подсистемам хранилища документов и хранилища библиографических описаний. Система разработана с учётом требований методики разделения кода и низкой связности компонентов. Все обращения клиентов передаются в подсистему статистики для занесения информации в базу данных.

 

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

 

Административный интерфейс и аутентификация

 

Административный интерфейс БиблиоКербер является web-ориентированным и содержит следующие разделы.

  • Раздел управления клиентами представляет собой список клиентов. Каждый клиент характеризуется следующими данными:
    • название;
    • идентификатор;
    • API-ключ;
    • признак включённости.
  • Раздел статистики.

 

Доступ в административный интерфейс осуществляется посредством федеративной аутентификации на базе протокола WS-Federation Passive Requestor Profile. Система выдачи документов в терминологии протокола WS-Federation выступает в качестве Relying Party.

 

Основные характеристики

 

БиблиоКербер работает на следующем оборудовании:

  • процессор 4 х 2.5 GHz 64-bit processor;
  • оперативная память 8 Gb;
  • дисковое пространство 1 Tb;
  • скорость доступа к сетевым ресурсам 1 Gbps.

 

БиблиоКербер работает в программном окружении:

  • Windows Server 2008 R2;
  • Microsoft SQL Server 2008 R2;
  • Microsoft Internet Information Services 7.5.

 

Релизы

 

БиблиоКербер был создан в январе 2013 года. С момента разработки были выпущены три релиза программы. Библиокербер внедрен в Российской национальной библиотеке.

 

Релиз 1.0

 

  • В релизе, вышедшем в декабре 2014 года, реализован базовый API для работы с документами. Система обладала следующими функциями.
    • Получение информации о количестве страниц документа.
    • Получение библиографического описания документа в формате MODS.
    • Получение информации о размерах страниц документа.
    • Получение изображения страницы документа.
    • Полнотекстовый поиск по документу.
  • Аутентификация вызывающей стороны к сервису реализована с помощью специальных API-ключей. Ключи выдаются администратором сервиса.
  • Все события обращения к страницам документа сохраняются в базе данных. В дальнейшем они используются для просмотра статистики доступа к документам. Статистика доступна за любой промежуток времени в разрезе по документам, коллекциям или читальным залам.

 

Релиз 2.0

 

  • В январе 2015 года в API был добавлен метод Download, который отдает исходный PDF, но только для тех документов, которые открыты. Добавлен водяной знак с названием библиотеки. Также добавлена возможность отключения отображения водяного знака через конфигурацию.

 

Релиз 3.0

 

  • В релизе 3.0 (июнь 2015 года) был доработан метод получения PDF-файла на предмет получения не всего файла, а только его части. С такого-то по такой-то байт. Параметры заменены на стандартный заголовок Range. Пример заголовка: Range: bytes = 0-10.
  • Добавлен метод в API для получения признака защищённости документа. При обращении к методам для работы с документами информация об этом сохраняется в таблице DocumentEvent базы данных.
  • Удалены все 32-битные зависимости из сервера для того, чтобы сервер мог занимать всю доступную память сервера, а не только 4 Гб.