А нужен ли банкам Linux? Как правильно запустить банк-клиент iBank 2::Журнал СА 11.2009
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Наука и технологии
Подписка
Где купить
Авторам
Рекламодателям
Архив номеров
Контакты
   

  Опросы
  Статьи

Электронный документооборот  

5 способов повысить безопасность электронной подписи

Область применения технологий электронной подписи с каждым годом расширяется. Все больше задач

 Читать далее...

Рынок труда  

Системные администраторы по-прежнему востребованы и незаменимы

Системные администраторы, практически, есть везде. Порой их не видно и не слышно,

 Читать далее...

Учебные центры  

Карьерные мечты нужно воплощать! А мы поможем

Школа Bell Integrator открывает свои двери для всех, кто хочет освоить перспективную

 Читать далее...

Гость номера  

Дмитрий Галов: «Нельзя сказать, что люди становятся доверчивее, скорее эволюционирует ландшафт киберугроз»

Использование мобильных устройств растет. А вместе с ними быстро растет количество мобильных

 Читать далее...

Прошу слова  

Твердая рука в бархатной перчатке: принципы soft skills

Лауреат Нобелевской премии, специалист по рынку труда, профессор Лондонской школы экономики Кристофер

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 9926
Комментарии: 0
Потоковая обработка данных

 Читать далее...

19.03.2018г.
Просмотров: 8136
Комментарии: 0
Релевантный поиск с использованием Elasticsearch и Solr

 Читать далее...

19.03.2018г.
Просмотров: 8240
Комментарии: 0
Конкурентное программирование на SCALA

 Читать далее...

19.03.2018г.
Просмотров: 5220
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 5903
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

Друзья сайта  

 А нужен ли банкам Linux? Как правильно запустить банк-клиент iBank 2

Архив номеров / 2009 / Выпуск №11 (84) / А нужен ли банкам Linux? Как правильно запустить банк-клиент iBank 2

Рубрика: Администрирование /  Продукты и решения

 ВЛАДИМИР ЗАКЛЯКОВ, инженер, экономист, советник налоговой службы 2-го ранга

А нужен ли банкам Linux?
Как правильно запустить банк-клиент iBank 2

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

Чтобы быть хорошим человеком, следует совершать благие дела постоянно. Так и с программным обеспечением: создав кросс-платформенный продукт, важно не только его выпустить в свет, но и поддерживать. Так о чём же будет статья? О жизни и о банковских технологиях.

Сегодня многие бухгалтеры идут в ногу со временем и предпочитают работать с корпоративными банковскими счетами удалённо в режиме on-line. Технологии позволяют в течение банковского дня совершать операции по счёту, а также видеть их историю и знать остаток 24 часа в сутки 7 дней в неделю без участия сотрудников банка. Несомненно, это плюс, но есть ли единые пользовательские стандарты в этой сфере? Увы, нет, и виной тому безопасность. Из-за конкуренции банки не доверяют друг другу, не видят смысла договариваться, и поэтому техническое исполнение от одного банка к другому сильно варьируется. Подчас используются не только разные программные продукты, но и аппаратные.

Видно, что проблема находится за пределами интересов конкретных банков, поэтому решение её будет извне, либо централизованно через изменения в законодательстве, то есть придёт «сверху», либо жизнь со временем расставит всё на свои места, то есть «снизу».

Возможно, попытку в решении проблемы «снизу» предприняла фирма «БИФИТ» [1], основное направление деятельности которой – разработка, внедрение и сопровождение программного обеспечения для электронного банкинга – системы iBank 2. Этот коммерческий продукт предлагается для продажи банкам, а те в свою очередь, купив этот продукт, делают выбор за своих клиентов. Не знаю, то ли случайно, то ли подумав на будущее, в качестве основы системы iBank 2 была выбрана среда Java. Использование Java позволило создать кросс-платформенное приложение, не привязанное к операционной системе на стороне клиента, но в то же время породило ряд проблем, связанных с поддержкой.

С одной стороны, клиентам не навязывается выбор ОС Windows, Linux или Solaris, с другой – поддержка ни одной платформы не осуществляется на должном уровне.

Если бы не один случай из жизни, возможно, не было бы этой статьи. В одной фирме до поры до времени использовался Java-клиент для ОС Windows, но случилось так, что сначала в стране были майские праздники, а в фирме вынужденные отпуска, потом смена кадров, а уже в июне выяснилось, что система перестала работать.

Сложно определить дату и точную причину, почему это произошло: то ли в банке что-то поменяли, то ли клиент обновил у себя OpenOffice (и, как следствие, обновилась Java), то ли установили очередное исправление на операционную систему... Но загруженное Java-приложение от банка после выбора файла ключей на стороне клиента начало переводить компьютер в состояние BSOD с перезагрузкой.

Долгая переписка с технической поддержкой банка затянулась на месяцы. Поставьте то, попробуйте это, пришлите вывод msinfo32, а за одно и файлы minidump-а..., а в конце очередной ответ «... причина перезагрузки пока неизвестна».

Первые несколько дней простоя в работе бухгалтерии привели к тому, что проблема через руководство вернулась в технический отдел, где было принято решение: пока не будет устранена проблема с Windows, «пересадить» несговорчивую бухгалтерию вместе с неработающим банк-клиентом iBank 2 под Linux. Учитывая, что практика запуска клиента iBank 2 в фирме ранее имелась, а запуск других приложений вроде «1С» под Linux не раз обсуждался на форумах и страницах журнала, долго ждать не пришлось. В почте быстро нашлось письмо от бывшего ИнвестСберБанка (сейчас ОТП-Банк) с инструкциями по установке и файлом криптобиблиотеки libibank2agava.so. Переустановка операционной системы и профильного программного обеспечения в отделе бухгалтерии из непосильной задачи стала делом техники.

Установка банк-клиента iBank 2 под Linux (32-бит)

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

Присланная ранее инструкция была неточной и неполной, поэтому привожу полную последовательность действий по запуску iBank 2-клиента под Linux со своими комментариями. В качестве рабочего дистрибутива был выбран уже использующийся на фирме Linux Fedora 11 (i386).

Для работы клиента требуется браузер с поддержкой Java. В качестве браузера мы выбрали используемый по умолчанию Firefox 3.5, а поддержку Java можно выполнить несколькими способами [1]. Наиболее простой и быстрый – это установка пакета java-1.6.0-openjdk-plugin через:

# rpm -ihv java-1.6.0-openjdk-plugin-1.6.0.0-22.b16.fc11.i586.rpm java-1.6.0-openjdk-1.6.0.0-22.b16.fc11.i586.rpm

или:

# yum install java-1.6.0-openjdk-plugin

Но, увы, почему-то работать с этой версией банк-клиент не хочет. При первом же обращении в ОТП-Банк за помощью там предложили проверить версию на сайте Java.com, а после озвучивания увиденного (см. рис. 1) настоятельно посоветовали использовать версию Java от Sun Microsystems.

Альтернативная версия Java не работает с банк-клиентом

Рисунок 1. Альтернативная версия Java не работает с банк-клиентом

В связи с этим пришлось удалить установленный пакет командой:

# yum remove java-1.6.0-openjdk-plugin

или:

# rpm -ihv java-1.6.0-openjdk-plugin-1.6.0.0-22.b16.fc11.i586.rpm

Уточнить имя пакета можно с помощью команды:

# rpm -qa|grep java

Далее заходим на сайт Java.com [3] или [4] и скачиваем последнюю версию Java Runtime Environment (Linux RPM, самораспаковывающийся файл). В то время, когда писалась статья, это был файл jre-6u16-linux-i586-rpm.bin. Инструкцию по загрузке и установке исполнительной среды Java в Linux можно найти в [5].

Скачанному bash-файлу необходимо передать управление либо как:

#chmod +x jre-6u16-linux-i586-rpm.bin

#./jre-6u16-linux-i586-rpm.bin

либо:

#sh jre-6u16-linux-i586-rpm.bin

На консоли будет отображено лицензионное соглашение, которое следует прочитать, пролистав до самого конца. Для чтения следующей строки нажимайте клавишу «пробел». Чтобы завершить установку, после прочтения вам придётся подтвердить соглашение, набрав yes и нажав . В рабочей директории будет создан rpm-файл, после чего будет запущена его установка.

Do you agree to the above license terms? [yes or no] yes

Unpacking...

Checksumming...

Extracting...

UnZipSFX 5.50 of 17 February 2002, by Info-ZIP

(Zip-Bugs@lists.wku.edu).

  inflating: jre-6u16-linux-i586.rpm

Подготовка...     ################################## [100%]

   1:jre                    ######################## [100%]

Unpacking JAR files...

    rt.jar...

    jsse.jar...

    charsets.jar...

    localedata.jar...

    plugin.jar...

    javaws.jar...

    deploy.jar...


Done.                                         

После установки среды Java необходимо установить модуль для браузера, то есть создать мягкую ссылку в директории, где браузер ищет плагины на соответствующий модуль Java.

Обратите внимание, что следует именно сделать ссылку, а не копировать файл. Копирование приведёт к сбою и аварийному завершению работы браузера при каждой попытке загрузки и запуска Java-апплетов [6].

Опытным путём было установлено, что ссылку можно создать в домашней директории каждого пользователя (~/.mozilla/plugins), например:

$ ln -s /usr/java/jre1.6.0_16/plugin/i386/ns7/libjavaplugin_oji.so /home/buh/.mozilla/plugins/libjavaplugin_oji.so

или согласно руководству пользователя централизованно в директории /usr/lib/firefox-3.5b4/plugins. Если поддиректории plugins у вас нет, то создайте её командой:

# mkdir /usr/lib/firefox-3.5b4/plugins

Директория /usr/lib/firefox-3.5b4 должна у вас уже быть. При необходимости внесите коррективы, указав используемую вами версию браузера. Затем создайте ссылку:

# ln -s /usr/java/jre1.6.0_16/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/firefox-3.5b4/plugins/libjavaplugin_oji.so

После установки модуля перезапустите браузер, зайдите на сайт Java.сom и проверьте версию. В случае успеха вы увидите примерно следующую картинку (см. рис. 2).

Проверка установки Java, установлена последняя рекомендованная версия

Рисунок 2. Проверка установки Java, установлена последняя рекомендованная версия

Замечание: если вам по каким-то причинам необходимо использовать пакет OpenJDK, идущий по умолчанию с операционной системой и удалённый нами в начале этого раздела, то рекомендую использовать alternatives. (Идёт в составе пакета chkconfig.) Данная программа была создана на основе идеи аналогичной утилиты из дистрибутива Debian и позволяет иметь несколько различных версий одного и того же программного обеспечения, помогая быстро и удобно переключаться между ними с помощью ссылок. Подробнее, как это можно сделать, написано в [2].

После того как вы увидели надпись «У вас установлена рекомендованная версия Java» (cм. рис. 2), с помощью браузера заходим на страницу банка https://ibank.isb.ru/iBank2 или https://ibank.tfbank.ru или https://212.57.108.118:444 (адрес получен 1 октября 2009 года от поддержки ТФ-Банка) и щёлкаем по изображению человечка «Обслуживание юридических лиц».

Далее у вас, скорее всего, откроется окно предупреждения безопасности с вопросом, доверяете ли вы загружаемому Java-апплету или нет. Жмём Run. В результате загрузки и запуска апплета должно появиться сообщение о том, что у вас не установлена криптобиблиотека (см. рис. 3).

Сообщение о том, что не установлено сертифицированное криптосредство

Рисунок 3. Сообщение о том, что не установлено сертифицированное криптосредство

Установка криптобиблиотеки

Далее вам следует обратиться в банк (или фирму «Бифит») и получить от него файл libibank2agava.so (размер файла 83105 байт). Что интересно, поисковая система Google среди первого десятка ссылок нашла этот файл в сети по адресу: ftp://ftp.masterbank.ru/pub/IBank2/crp/linux-i586/libibank2agava.so.

На поверку файл оказался идентичным, такой же файл был получен и от ИнвестСберБанка, ОТП-Банка и Банка торгового финансирования.

Файл следует скопировать в домашнюю директорию пользователя (определено опытным путём) либо в директорию /lib или любую другую, указанную в переменной, как рекомендуется банком:

java.library.path = /usr/java/jre1.6.0_16/lib/i386/client:/usr/java/jre1.6.0_16/lib/i386:/usr/lib/firefox-3.5b4:

    /usr/lib/firefox-3.5b4/plugins:/usr/lib/firefox-3.5b4:/usr/java/packages/lib/i386:/lib:/usr/lib

Значение переменной java.library.path можно узнать с помощью Java-консоли.

Замечание: для того чтобы попасть в Java-консоль, следует выполнить любую из команд:

$/usr/java/jre1.6.0_16/bin/ControlPanel

или:

$/usr/java/jre1.6.0_16/bin/jcontrol

В появившемся окне (см. рис. 4) следует выбрать вкладку Advanced, а параметр Java console установить в Show console.

Включение показа Java-консоли

Рисунок 4. Включение показа Java-консоли

После загрузки любого Java-апплета вы увидите окно Java-консоли (см. рис. 5), где будет выводиться отладочная информация. Нажав на клавиатуре , выбрав пункт s dump system and deployment properties, вы сможете увидеть все переменные и настройки.

Java-консоль

Рисунок 5. Java-консоль

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

Окно выбора ключа шифрования, вход в систему интернет-банкинга

Рисунок 6. Окно выбора ключа шифрования, вход в систему интернет-банкинга

Если вы включали Java-консоль с отладочной информацией, её можно выключить. Вход в систему и проверку работы апплета можно осуществить с тестовым ключом. Взять его можно, например, тут: https://ibank.isb.ru/iBank2/test.dat, пароль 123123.

Что в итоге?

Дочитав до этих строк, половина из вас наверняка задастся вопросом, почему статья называется «А нужен ли банкам Linux?» А называется она так потому, что получить вышеописанную последовательность действий по установке от ранее упомянутых банков не предоставлялось возможным.

Руководство по установке банк-клиента iBank 2 под Linux пришлось написать самому. Что интересно, на этом проблемы по использованию интернет-банкинга в Linux не закончились, а лишь начались.

Если вы заметили, то был выбран i386-дистрибутив. Жизнь не стоит на месте, почти всё новое «железо» 64-битное. Логично спросить: а как быть, если у вас x86_64-аппаратная платформа и аналогичный дистрибутив Linux? Решений много, но нет ни одного оптимального. Рассмотрим возможные варианты:

1. Установить i386-дистрибутив и не использовать 64-битные возможности операционной системы.

2. Установить x86_64-операционную систему, но i386-сборку браузера Firefox, отказавшись от 64-битных плагинов и некоторых возможностей браузера.

3. Установить nspluginwrapper [8], но он почему-то не желает работать с 32-битными плагинами Java, по крайней мере в файле /etc/sysconfig/nspluginwrapper можно увидеть следующее:

# List of plugins what are excluded from wrapping

# Names of plugins are separated by ":"

export IGNORE_WRAP="libtotem*:libjavaplugin*: gecko-mediaplayer*:mplayerplug-in*:librhythmbox*"

4. Использовать wine или другие эмуляторы.

5. Установить 64-битную версию ОС, браузера и Java, запросив у фирмы «Бифит» 64-битную версию криптобиблиотеки.

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

Именно сейчас ваше мнение может изменить историю. Скажите своё слово на форуме журнала или напрямую фирме «Бифит», что вам ближе именно этот способ использования интернет-банкинга.

Так нужен ли банкам Linux?

Предполагаю, что ОТП Банку не нужен, в подтверждение данного вывода привожу цитату из переписки с технической поддержкой банка:

«Проблема в том, что нет 64-битных Java-плагинов для браузеров. Об этом можно получить информацию на сайте www.java.com. Грубо говоря, даже если будут криптобиблиотеки на 64 бита, то их негде будет использовать».

Это притом что 64-битная версия плагина Java уже стоит на моём компьютере. Выводы сделайте сами. На ваш выбор доступны как OpenJDK, так и Sun-версия. Не говоря уже о том, что можно вспомнить, с чего вообще началась эта история установки интернет-банкинга в Linux. А вашему банку и вашему бизнесу нужен Linux?

Поддержит ли Sun Java?

Просьбу о помощи с установкой Java можно отнести к SUN Microsystems, которым был задан вопрос на сайте Java (http://www.java.com/en/download/support.jsp) в разделе Consumer Java Feedback: «Как заставить работать i386 Java-плагин в браузере x86_64-сборки без замены последнего на i386-версию». Популярность и актуальность данного вопроса определяются числом отзывов (вопросов), так что спешите оставить своё сообщение! Если технология Java настолько перспективна, то резонно спросить: поддержит ли Sun пользователей Java в данном вопросе?

Подождём, посмотрим. Описание проблем и решений по использованию интернет-банкинга в 64-битных сборках Linux так и просится во вторую часть статьи.

Хотите присоединиться – пишите на форум журнала http://www.samag.ru/forum.

  1. Фирма «Бифит» – http://www.bifit.ru.
  2. Установка Java-плагина для Linux Fedora 10 – http://www.mjmwired.net/resources/mjm-fedora-f10.html#java.
  3. Страница загрузки Java под Linux – http://java.com/ru/download/linux_manual.jsp?locale=ru&host=java.com.
  4. Страница загрузки Java – http://java.sun.com/javase/downloads/index.jsp.
  5. Инструкции по загрузке и установке исполнительной среды Java в Linux – http://java.com/ru/download/help/5000010500.xml.
  6. Mozilla Plugin Support on Linux (x86) – http://plugindoc.mozdev.org/linux.html#Java.
  7. Плагин Java для Firefox – http://linuxforum.ru/index.php?s=d5a4997a7b1ac7ab41ed12dfa6a51f68&showtopic=60873&st=0&p=593491&#entry593491.
  8. Nspluginwrapper is an Open Source compatibility plugin – http://gwenole.beauchesne.info/en/projects/nspluginwrapper.

Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru