3.3. Архитектурные средства обеспечения безопасности

Используемый для разработки Arta Synergy язык и платформа программирования Java разрабатывалась с учётом требований к безопасности. Вот несколько примеров этого:

Несомненно, никакая другая технология программирования на сегодняшний день не обеспечивает аналогичной степени информационной безопасности[1]

Платформа Arta Synergy реализована с использованием подхода к проектированию ИС, называемого «трехслойная архитектура» (3 tier architechture) согласно спецификации Java Enterprise Edition[2] версии 6 (JEE6). В такой архитектуре клиентское приложение (в нашем случае, основное веб-приложение Arta Synergy, мобильные клиенты и Arta Synergy Desktop Client) не имеет прямого доступа к хранилищу данных (СУБД либо другому хранилищу), а взаимодействует со слоем бизнес-логики, который и определяет, какие данные передавать и получать. Это исключает, например, возможность атаки типа «инъекция SQL» и ей подобных. В стандартной поставке Arta Synergy SQL-сервер (MySQL) разрешены только локальные подключения от сервера приложений (JBoss), что ликвидирует ещё один источник потенциальных проблем с безопасностью.

Основной способ взаимодействия пользователей с платформой Arta Synergy — использование главного веб-приложения Synergy, а её настройка осуществляется через Конфигуратор и Административное приложение, также работающие через Web. Эти веб-приложения реализованы с использованием технологии Google Web Toolkit (GWT) — технологии написания Rich Internet Applications, преобразовывающей некоторое подмножество языка Java в клиентский JavaScript-код. Для обмена данными с сервером этот код использует генерируемые при компиляции методы RPC (GWT-RPC). Технология GWT позволяет контролировать и защищаться от таких проблем веб-приложений, как:

Кроме этого, при проектировании платформы в разрезе доступа пользователей к данным был применён подход «всё, что явно не разрешено, то запрещено». В общем случае, доступ пользователя к данным экземпляра системы определяется совокупностью следующих вещей:

Это, а также наборы разрешений, называемые «ролями» и место их применения (например, каталог хранилища файлов) определяют конкретные наборы данных системы, которые доступны пользователю.

Немаловажным свойством платформы Arta Synergy, применяющимся при её проектировании, является журналирование всех действий пользователей и взаимодействующих с платформой внешних систем, что позволяет проводить аудиты безопасности и, кроме того, разрешать проблемы вида «кто, когда и каким образом просмотрел/добавил/изменил/удалил какие-либо данные».