Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline SEr  
#1 Оставлено : 28 августа 2011 г. 14:48:17(UTC)
SEr

Статус: Новичок

Группы: Участники
Зарегистрирован: 28.08.2011(UTC)
Сообщений: 8
Мужчина
Откуда: Russia, Moscow

Здравствуйте.

Есть задача настроить работу веб-сайта через КриптоПро CSP на сервере Ubuntu под Apache. Самый легкий способ, как я понял, является использование TRUSTED TLS в качестве модуля mod_ssl под Апач. Но заказчик хочет, чтобы это было сделано через JTLS и судя по документации это возможно только через Apache Tomcat. Так в процессе настройки появилось несколько вопросов:

1) Подходит ли вообще такая конфигурация (КриптоПро CSP + JCP + JTLS + Tomcat) для шифрования данных между пользователями и веб-сайтом?

2) JTLS подразумевает ли замену стандартного ssl и шифрование будет осуществляться через 443 порт (т.е. так же как и через модуль TRUSTED TLS)?

3) При попытке добавления (не из под root) нового хранилища или настройки ДСЧ, появляется ошибка: Error code:4103, Operation is not permitted.. Значит ли это что не хватает прав доступа на выполнение данной команды? Т.е. правильно ли я понимаю, что всю конфигурацию нужно делать под root пользователем.

4) Можно ли в этом случае использовать двухстороннюю аутентификацию? Если да, то на стороне клиента что должно быть установлено?

Заранее благодарю за ответы и любые советы. Сам с КриптоПро знаком недавно, прочитал документацию, faq сайта и информацию с форума, но остались несколько непонятных моментов, которые хотел бы решить. Возможно что-то где то упустил.
Offline rozhkov  
#2 Оставлено : 29 августа 2011 г. 14:05:49(UTC)
rozhkov

Статус: Активный участник

Группы: Участники
Зарегистрирован: 25.01.2011(UTC)
Сообщений: 589
Откуда: Крипто-Про

1. В этом случае Вам КриптоПро CSP не надо, JCP+JTLS+TomCat достаточно.
2. Да. По какому порту будет идти соединение Вы определяете в конфигах самого TomCat.
3. Вполне возможно, более подробно по этому поводу Вы можете посмотреть в логах самой системы, для Ubuntu - /var/log/auth.log
4. Да, можно, в этом случае на стороне клиента должен быть установлен и приобретен КриптоПро CSP и должен быть сертификат клиента, если будет односторонняя аутентификация, то на стороне клиента КриптоПро CSP также должен быть установлен, но приобретать его нужно.

Подробнее по настройке КриптоПро JCP+JTLS+TomCat посмотрите тут
Offline SEr  
#3 Оставлено : 12 сентября 2011 г. 3:44:18(UTC)
SEr

Статус: Новичок

Группы: Участники
Зарегистрирован: 28.08.2011(UTC)
Сообщений: 8
Мужчина
Откуда: Russia, Moscow

Огромное спасибо за ответ, помогли!

Сейчас появилось еще два вопроса.
1) Работаю через SSH. Пытаюсь проверить конфигурацию командой:
Код:
java -cp ./samples.jar ComLine.CheckConfFull


Но появляется ошибка, что нет поддержки ИКСов:
Код:

12.09.2011 1:32:15 ComLine.CheckConfFull checkJCP
INFO: ***Check JCP key pair generation and writing to store
12.09.2011 1:32:15 ru.CryptoPro.JCP.tools.z a
INFO: Loading JCP...
12.09.2011 1:32:15 ru.CryptoPro.JCP.tools.z a
INFO: JCP loaded.
java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which rat java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:173)
...
WARNING:
JCP - FAIL

12.09.2011 1:32:15 ComLine.CheckConfFull checkCrypto
INFO: ***Check Crypto key pair generation and writing to store
java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which rat java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:173)
...
12.09.2011 1:32:15 ComLine.CheckConfFull main
WARNING:
Crypto - FAIL

12.09.2011 1:32:15 ComLine.CheckConfFull checkJTLS
INFO: ***Prepare keys
java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which rat java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:173)
...
12.09.2011 1:32:15 ComLine.CheckConfFull main
WARNING:
JTLS - FAIL


Вопрос: Можно ли как-то выполнить эту команду без поддержки графической оболочки?
PS: У меня нет root'а, заказчик предоставил менее ограниченную учетную запись и webmin с поддержкой файлового менеджера, который умеет менять любые права на файлы и каталоги.

2) И еще один вопрос, - куда нужно прописывать настройки коннектора? В файл server.xml (конфигурации Tomcat) или куда-то еще?
Offline SEr  
#4 Оставлено : 12 сентября 2011 г. 23:18:30(UTC)
SEr

Статус: Новичок

Группы: Участники
Зарегистрирован: 28.08.2011(UTC)
Сообщений: 8
Мужчина
Откуда: Russia, Moscow

Вопросы сняты, разобрался. Спасибо.
Offline SEr  
#5 Оставлено : 13 сентября 2011 г. 19:04:34(UTC)
SEr

Статус: Новичок

Группы: Участники
Зарегистрирован: 28.08.2011(UTC)
Сообщений: 8
Мужчина
Откуда: Russia, Moscow

Настроил все в точности так, как написано в инструкции тут (для односторонней аутентификации), но теперь на последнем шаге тестирования, когда с клиентской машины пытаюсь выполнить команду:
Код:
csptest -tlsc -port 80 -server MY_SERVER_IP -v -nocheck
вылазит ошибка:
Код:
CSP (Type:75) v3.6.5359 KC1 Release Ver:3.6.6497 OS:Windows CPU:IA32 FastCode:RE
ADY,DISABLED (CContextG28147EncryptECB; CContextG28147DecryptECB; CContextG28147
EncryptCBC; CContextG28147DecryptCBC; CContextG28147G
csptest -tlsc -port 80 -server MY_SERVER_IP -v -nocheck
12 algorithms supported:
[0] 0x660e
[1] 0x6610
[2] 1.2.840.113549.3.4 (rc4)
[3] 1.2.840.113549.3.7 (3des)
[4] 1.3.14.3.2.7 (des)
[5] 1.2.840.113549.2.5 (md5)
[6] 1.3.14.3.2.26 (sha1)
[7] 1.2.840.113549.1.1.1 (RSA)
[8] 1.2.840.113549.1.9.16.3.5 (ESDH)
[9] 0xae06
[10] 1.2.840.10040.4.1 (DSA)
[11] 0x2203
Cipher strengths: 256..256
Supported protocols: 0xa0
Try call SetCredentialsAttributes, 0018FC4C
ClientHello: RecordLayer: TLS, Len: 94
Cipher Suites: (00 80) (00 32) (00 2f) (00 35) (00 05) (c0 0a) (c0 13) (c0 14) (
c0 09) (00 0a) (00 38) (00 13) (01 04) (00 00)
99 bytes of handshake data sent
7 bytes of handshake data received
**** Error 0x80090326 returned by InitializeSecurityContext (2)
An error occurred in running the program.
.\WebClient.c:409:Error performing handshake.
Error number 0x80090326 (2148074278).
Получено непредвиденное сообщение или оно имеет неправильный формат.

Total: SYS: 0,094 sec USR: 0,078 sec UTC: 0,412 sec
[ErrorCode: 0x80090326]


Помогите пожалуйста разобраться. Все перепробовал, не понимаю в какую сторону копать.
Вложение(я):
server.xml (3kb) загружен 15 раз(а).

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
Offline miser  
#6 Оставлено : 14 сентября 2011 г. 1:22:57(UTC)
miser

Статус: Активный участник

Группы: Участники
Зарегистрирован: 14.03.2011(UTC)
Сообщений: 153
Мужчина
Откуда: Санкт-Петербург

Сказал «Спасибо»: 1 раз
Поблагодарили: 7 раз в 5 постах
Попробуйте добавить следующий параметр при запуске сервера
Цитата:
По ходу дела выяснилось, что не существует способа программно включить поддержку SSL3_CK_GVO.
Эта опция включается исключительно при старте JVM: -Djavax.net.ssl.supportGVO=true
Offline SEr  
#7 Оставлено : 14 сентября 2011 г. 17:56:31(UTC)
SEr

Статус: Новичок

Группы: Участники
Зарегистрирован: 28.08.2011(UTC)
Сообщений: 8
Мужчина
Откуда: Russia, Moscow

Спасибо за подсказку, попробовал, но, к сожалению, после запуска сервера tomcat с данным параметром ничего не изменилось. Та же самая ошибка.

- Причем, если я пытаюсь зайти на 80 порт через браузер Firefox, то он каждый раз мне предлагает скачать файл с разным именем, например +eG21bOc-1.part (с тем же размером - 7 байт, что и в сообщении об ошибке через csptest). Если заходить через IE, то выдается пустая "белая" страница.
- Попробовал также изменить пароль на хранилище и выполнить csptest, но к порту уже не удается конспектироваться после этого, в т.ч. через csptest: Error connecting to server (это я просто в качестве проверки решил сделать, т.е. ошибка не в этом).
- Есть подозрения, что что-то напутал с сертификатом, вот как я делал, поправьте пожалуйста если что-то не так:
1) На сервере ubuntu в панели управления JCP создал новый контейнер, в параметрах выставил "ключ обмена, "аутентификация сервера" и пароль "123". Сохранил в base64.
2) Зашел на http://www.cryptopro.ru/certsrv/certrqxt.asp, ввел сгенерированный ключ и получил 2 ссылки: на сертификат и на цепочку.
3) Вернулся в панель JCP, выбрал ранее созданный контейнер и нажал "Добавить" сертификат. Подтвердил замену самовыданного сертификата на сертефикат от cryptopro.
4) Создал хранилище сертификатов с паролем "123", затем выделил сертефикат в "хранилище контейнеров", нажал "Копировать" и скопировал сертификат в созданное хранилище сертификатов.
5) Полученный сертификат от cryptopro на 2-ом шаге, запустил на клиентской машине (под windows) и установил в хранилище "Доверенные корневые центры сертификации".
6) На клиентской машине выполняю csptest -tlsc -port 80 -server MY_SERVER_IP -v -nocheck и получаю описанную выше ошибку .\WebClient.c:409:Error performing handshake.
7) На серверной машине выполнить csptest -tlsc -port 80 -v -nocheck не получается, т.к. почему-то в unix поставке нет опции -tlsc и некоторых других.

Посмотрите пожалуйста, все ли правильно я делаю. Если что-то не так, поправьте пожалуйста или дайте наводку где копать.

PS: Тесты ComLine/CheckConf и ComLine/CheckConfFull проходят без ошибок.
PS2: CSP v3.6 установлена на клиенте. На сервере она тоже установлена, но не используется для серверных задач.

Отредактировано пользователем 14 сентября 2011 г. 18:24:48(UTC)  | Причина: Не указана

Offline rozhkov  
#8 Оставлено : 14 сентября 2011 г. 20:10:14(UTC)
rozhkov

Статус: Активный участник

Группы: Участники
Зарегистрирован: 25.01.2011(UTC)
Сообщений: 589
Откуда: Крипто-Про

1. В Linucx csptestf, там опция -tlsc.
2. Экспортные ограничение сняли?

csptest -tlsc -port 80 -server MY_SERVER_IP -v -v -nocheck так будет больше информации

Отредактировано пользователем 14 сентября 2011 г. 20:11:13(UTC)  | Причина: Не указана

Offline SEr  
#9 Оставлено : 14 сентября 2011 г. 22:00:13(UTC)
SEr

Статус: Новичок

Группы: Участники
Зарегистрирован: 28.08.2011(UTC)
Сообщений: 8
Мужчина
Откуда: Russia, Moscow

1) Спасибо, вот результат выполнения команды csptest на клиентской машине (удаленно):
Код:
csptest -tlsc -port 80 -server MY_SERVER_IP -v -v -nocheck
12 algorithms supported:
[0] 0x660e
[1] 0x6610
[2] 1.2.840.113549.3.4 (rc4)
[3] 1.2.840.113549.3.7 (3des)
[4] 1.3.14.3.2.7 (des)
[5] 1.2.840.113549.2.5 (md5)
[6] 1.3.14.3.2.26 (sha1)
[7] 1.2.840.113549.1.1.1 (RSA)
[8] 1.2.840.113549.1.9.16.3.5 (ESDH)
[9] 0xae06
[10] 1.2.840.10040.4.1 (DSA)
[11] 0x2203
Cipher strengths: 256..256
Supported protocols: 0xa0
Try call SetCredentialsAttributes, 0018FC4C
ClientHello: RecordLayer: TLS, Len: 94
Cipher Suites: (00 80) (00 32) (00 2f) (00 35) (00 05) (c0 0a) (c0 13) (c0 14) (
c0 09) (00 0a) (00 38) (00 13) (01 04) (00 00)
99 bytes of handshake data sent
0000  16 03 01 00 5e 01 00 00:5a 03 01 4e 70 b1 a7 3a  ....^...Z..Np..:
0010  b7 f7 38 34 2a 1d e7 4e:a4 ae 00 58 24 bb 7d 81  ..84*..N...X$.}.
0020  ec 73 18 56 94 d8 fa d8:03 17 ea 00 00 1c 00 81  .s.V............
0030  00 80 00 32 00 2f 00 35:00 05 00 0a c0 13 c0 14  ...2./.5........
0040  c0 09 c0 0a 00 38 00 13:00 04 01 00 00 15 ff 01  .....8..........
0050  00 01 00 00 0a 00 06 00:04 00 17 00 18 00 0b 00  ................
0060  02 01 00                                         ...

7 bytes of handshake data received
0000  15 03 01 00 02 02 28                             ......(

**** Error 0x80090326 returned by InitializeSecurityContext (2)
An error occurred in running the program.
.\WebClient.c:409:Error performing handshake.
Error number 0x80090326 (2148074278).
Получено непредвиденное сообщение или оно имеет неправильный формат.

Total: SYS: 0,094 sec USR: 0,094 sec UTC: 0,427 sec
[ErrorCode: 0x80090326]

И результаты выполнения на серверной машине локально (практически то же самое):
Код:
administrator@Server3:/opt/cprocsp/bin/amd64$ ./csptestf -tlsc -port 80 -v -v -nocheck
CSP (Type:71) v3.6.5359 KC1 Release Ver:3.6.6497 OS:Linux CPU:AMD64 FastCode:NoHardwareSupport.
CSP (Type:75) v3.6.5359 KC1 Release Ver:3.6.6497 OS:Linux CPU:AMD64 FastCode:NoHardwareSupport.
./csptestf -tlsc -port 80 -v -v -nocheck 
5 algorithms supported:
[0] 1.2.643.2.2.21 (ГОСТ 28147-89)
[1] 1.2.643.2.2.3 (ГОСТ Р 34.11/34.10-2001)
[2] 0x801f
[3] 1.2.643.2.2.20 (ГОСТ Р 34.10-94)
[4] 1.2.643.2.2.19 (ГОСТ Р 34.10-2001)
Cipher strengths: 256..256
Supported protocols: 0x80
ClientHello: RecordLayer: TLS, Len: 91
Cipher Suites: (00 80) (00 32) (01 31) (00 00) 
96 bytes of handshake data sent
0000  16 03 01 00 5b 01 00 00:57 03 01 4e 70 ab de 3f  ....[...W..Np..?
0010  f4 30 44 39 d4 3f 6c 20:9c f7 16 fd c8 5d 79 3a  .0D9.?l .....]y:
0020  9d 98 6e f7 e5 11 bb 00:00 00 00 00 00 08 00 81  ..n.............
0030  00 80 00 32 00 31 01 00:00 26 fd e8 00 22 30 20  ...2.1...&..."0 
0040  30 1e 30 08 06 06 2a 85:03 02 02 09 30 08 06 06  0.0...*.....0...
0050  2a 85 03 02 02 16 30 08:06 06 2a 85 03 02 02 17  *.....0...*.....

7 bytes of handshake data received
0000  15 03 01 00 02 02 28                             ......(

**** Error 0xffffffff80090317 returned by InitializeSecurityContext (2)
An error occurred in running the program.
/dailybuilds/mybuild/CSP/samples/csptest/WebClient.c:409:Error performing handshake.
Error number 0x80090317 (2148074263).
The context has expired and can no longer be used.
Total: 
[ErrorCode: 0x80090317]


2) Да, экспортные ограничения снял. Если я правильно понял из документации, для это достаточно было скопировать файлы local_policy.jar и US_export_policy.jar из jce_policy-6.zip в директорию /usr/lib/jvm/java-6-openjdk/jre/lib/security на сервере и перезапустить tomcat.

Пока что еще так и не понял с чем связана проблема :(
Offline miser  
#10 Оставлено : 15 сентября 2011 г. 14:59:51(UTC)
miser

Статус: Активный участник

Группы: Участники
Зарегистрирован: 14.03.2011(UTC)
Сообщений: 153
Мужчина
Откуда: Санкт-Петербург

Сказал «Спасибо»: 1 раз
Поблагодарили: 7 раз в 5 постах
Я бы вам посоветовал поставить на клиентскую машину wireshark. Это снифер TCP протокола. Там вы увидите более детальную информацию о протоколе рукопожатия и передаваемых сертификатах.

То что вы добавили сертификат в хранилище, это не значит, что там появился контейнер с зарытым ключом. Вы, когда получали ключ, система предложила сохранить его на дискету. Там появился каталог с 6 key файлами. Вам надо просто скопировать каталог и его содержимое в путь указанный для HDImage хранилища. После этого панель управления покажет ваш сертификат и его алиас. Этот алиас надо указать в настройках tomcat.
Надеюсь, что tomcat и центр управления запускаются от имени одного и того же пользователя.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.