Порядок установки инфраструктуры открытых ключей на базе EJBCA

Тут я просто приведу перечень действий, необходимых для установки opensource PKI EJBCA на CentOS 6.0 в связке с MySQL, в которой хранится ключевая информация и сертификаты. Все это писалось около двух лет назад, поэтому обращайте внимание на версии указанных пакетов, которые, вероятно, за это время обновились. Но в том виде, в котором здесь описано — все прекрасно работает :)

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

1.  Устанавливаем  OpenJDK
#yum install java-1.6.0-openjdk-devel

2. Устанавливаем MySQL
# yum install mysql  mysql-server  mysql-connector-odbc

3. Загружаем сервер приложений (Jboss 5.1)
#wget -c http://freefr.dl.sourceforge.net/project/jboss/JBoss/JBoss-5.1.0.GA/jboss-5.1.0.GA-jdk6.zip

4. Загружаем Apache Ant
#wget-c  http://www.sai.msu.su/apache/ant/binaries/apache-ant-1.8.2-bin.zip

5. Загружаем EJBCA
#wget-c  http://sourceforge.net/projects/ejbca/files/ejbca4/ejbca_4_0_3/ejbca_4_0_3.zip

6. Устанавливаем Jboss в каталог /usr/local
#jar  -xvf  jboss-5.1.0.GA-jdk6.zip

7. Изменяем права на директорию bin Jboss:
# chmod -R 754 /usr/local/jboss-5.1.0.GA/bin

8. Устанавливаем Ant в /usr/local
#unzip apache-ant-1.8.2-bin.zip

9. Устанавливаем системные переменные в файле /etc/bashrc.
vi .bashrc
export ANT_HOME=/usr/local/apache-ant-1.8.2/
export JBOSS_HOME=/usr/local/jboss-5.1.0.GA/
export PATH=$PATH:$JBOSS_HOME/bin:$ANT_HOME/bin
source .bashrc

10. Распаковываем EJBCA в /usr/src
#unzip  ejbca_4_0_3.zip

12. Запускаем MySQL  и проверяем, слушается ли порт 3306:
/etc/init.d/mysqld start
netstat -ant | grep 3306
tcp        0      0 0.0.0.0:3306            0.0.0.0:*                LISTEN

13. Создаем базу данных и учетную запись пользователя:
mysql> CREATE DATABASE ejbca;
mysql> CREATE USER ‘username’@’localhost’ IDENTIFIED BY ‘userpassword’;
mysql> GRANT ALL PRIVILEGES ON ejbca.* TO ‘ejbca’@’%’ WITH GRANT OPTION;
mysql> flush privileges;
mysql> exit

14. Создаем таблицы mySQL:
mysql -u username -p ejbca < /usr/src/ejbca_4_0_3/doc/sql-scripts/create-tables-ejbca4-mysql.sql

15. В каталоге /usr/ejbca_4_0_3/conf находится ряд шаблонов конфигурационных файлов, отдельный файл отвечает за свой участок настройки. Чтобы файл (и соответственно заложенная возможность) стали доступны для работы, следует его переименовать убрав суффикс .sample.

Для возможности использования БД MySQL необходимо в файле database.conf определить следующие настройки:

database.name=mysql
datasource.mapping=mySQL
database.url=jdbc:mysql://127.0.0.1:3306/ejbca
database.driver=com.mysql.jdbc.Driver
database.username=username
database.password=userpassword

Далее вносим необходимые до начала установки ejbca изменения в соответствующие файлы кофнигурации:
Install.properties
В этом файле все может быть оставлено по умолчанию. Нужно только изменить параметры ca.name и ca.dn, определив для них нужные значения.
Ejbca.properties
Здесь нужно задать путь к домашнему каталогу сервера приложений:
appserver.home=/usr/local/jboss-5.1.0.GA
web.properties
Здесь нужно поменять значение пароля на ключевой контейнер суперадмина, строка superadmin.password=password

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

16. В каталог /usr/local/jboss-5.1.0.GA/server/default/lib помещаем JDBC-дравер. (jar-файл).
Находится в zip-архиве Connector/J 5.1.18, который берем с Mysql.com.

17. JBoss, в ходе компиляции ejbca выкидывает ошибку о том, что не может разрешить имя сервера на котором установлен (в данном случае ejbca-uc) в адрес. Для устранения ошибки нужно добавить соответствующие строки в файл etc/hosts (127.0.0.1 ejbca-uc)

18. Документация ejbca требует, чтобы БД (порт 3306) была доступна для внешних подключений извне (не только с localhost). Поэтому iptables должен разрешать доступ к tcp 3306.

19. Из каталога ejbca (в данном случае ejbca_4_0_3/)  выполняем #ant bootstrap.
Команда запускает сборку (компиляцию) ejbca и загружает его на сервер приложений.

20. Стартуем jboss:
run.sh

21. Из каталога ejbca (в данном случае ejbca_4_0_3/)  выполняем #ant install.  На этом этапе генерируются ключи и сертификаты, необходимые для функционирования УЦ и его администрирования.

22. Останавливаем сервер приложений:
Ctrl+с в окне с запущенным JBoss

23. Из каталога ejbca выполняем #ant deploy.

После этого ejbca считается установленным на сервер приложений и готовым к работе. Для старта сервиса необходимо выполнить команду run.sh (СУБД при этом должна быть запущена. Если нет, то /etc/init.d/mysqld start).
После того как сервер приложений загрузился, становятся доступны:
по порту 8080 (http) – клиентский интерфейс ejbca;
по порту 8443 (https) – интерфейс администратора ejbca.
Для подключения к административной консоли необходимо иметь сертификат администратора. Сертификат формируется во время ant install и помещается в каталог подкаталог p12 домашнего каталога ejbca.

Безопасность сервера приложений JBoss.
JBoss имеет две консоли, через которых возможно управление сервером приложений:
— JMX-console;
— Administration console.
По умолчанию, консоль JMX доступна по 8080 порту, логин/пароль не требуются.
Administrative console предустановленна с дефолтными именем admin и паролем admin.

Чтобы как-то закрыть эти уязвимости, нужно, по крайней мере, включить аутентификацию на JMX а также изменить пароль административной консоли. Для этого:
— в файле jboss-web.xml  (в JBoss 5.1 – в каталоге jboss-5.1.0.GA/server/default/deploy/jmx-console.war/WEB-INF) раскомментировать секцию <security-domain>java:/jaas/jmx-console</security-domain>.
— в файле web.xml (лежит в той же директории, что и предыдущий файл) раскомментировать секцию <security-constraint>.
— в файле jmx-console-users.properties  (/jboss-5.1.0.GA/server/default/conf/props/) задать аутентификационные данные: username=password. Эти username и password теперь будут запрошены системой при входе и в JMX консоль и в консоль Administration.

Чтобы прикрутить русский язык на клиентский интерфейс, нужно обратиться к странице Administration оффсайта ejbca и почитать как это сделать. НО, чтобы кириллица отображалась по-человечески, нужно во всех jsp-файлах, которые отображаются первой строкой записать следующее:
<%@ page language=»java» contentType=»text/html; charset=utf-8″ pageEncoding=»utf-8″%>
Ну, или , что-то другое, указывающее на использование utf-кодировки.

После модификации любой jsp-страницы нужно заново выполнить ant deploy, и, тем самым, загрузить страницу в JBoss.


Не забывайте оставлять комментарии, если пост был вам полезен!
Опубликовано в Сети
3 comments on “Порядок установки инфраструктуры открытых ключей на базе EJBCA
  1. Deweyhaw:

    If you have a desire to learn how to earn from $ 500 per day and work only for yourself, then write to us at email: admin@makemoneyonline.universalxyzdom.xyz

  2. Antoniopug:

    Открылся новый магазин все по 50 рублей, например определенный товар стоит 5000 рублей или 7000 рублей то у нас вы можете найти его всего за 50 рублей: http://shop-50-rubley.xyz
    магазин ежедневно пополняется, к концу недели будет очень богатый ассортимент.

  3. viagra cheap
    viagra 50 mg
    viagra sale ebay

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Заодно посмотрите мои фоты в моем профиле вконтакте. Любые вопросы по существу статей можете задать там же.

Hostenko — лучший WordPress-хостинг