Как получить версию OpenSSL в установке Tomcat 6

11058
Ziba Leah

Прочитав статью об ошибке безопасности Heartbleed, я понял, что рекомендуется проверять версию OpenSSL, которую использует Apache Tomcat.

Статья содержит это предложение:

Какую версию OpenSSL использует Tomcat?

Эта информация регистрируется AprLifecycleListener при запуске Tomcat. Например,

10-Apr-2014 19:25:28.801 INFO [main] org.apache.catalina.core.AprLifecycleListener.init Loaded APR based Apache Tomcat Native library 1.1.30 using APR version 1.4.8. 10-Apr-2014 19:25:28.804 INFO [main] org.apache.catalina.core.AprLifecycleListener.init APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true]. 10-Apr-2014 19:25:29.955 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized (OpenSSL 1.0.1g 7 Apr 2014) 

Я провел пару часов в поисках, но не могу найти эту информацию в журналах Tomcat. Есть ли другое место, где я должен посмотреть? Есть ли другой способ выяснить это?

Я использую Tomcat 6 в Windows Server 2003. Я пытался изменить уровень журнала на Info, а затем на Debugкаждый раз при перезапуске веб-сервера, но безрезультатно.

1
Вы уверены, что используете https-разъем? that guy from over there 10 лет назад 0
Как я могу это проверить? Я совершенно новичок в мире Tomcat, я обычно работаю с IIS Ziba Leah 10 лет назад 0

2 ответа на вопрос

4
SPRBRN

OpenSSL не является частью Tomcat. Это отдельное приложение. Вам не нужен OpenSSL для использования Tomcat. OpenSSL используется для SSL в системах Unix и Linux. Windows имеет собственную реализацию SSL, но вы также можете установить openssl на Windows.

Вы используете SSL для Tomcat? Итак, вы подключаетесь к веб-приложению tomcat, используя что-то вроде https://localhost:8443или у вас есть IIS или Apache между ними? Пример журнала, который вы цитируете, является примером!

Если у вас установлен Openssl, вы можете найти версию, выполнив следующие действия:

  • Нажмите кнопку «Пуск» и введите «cmd» в текстовое поле поиска. Нажмите «Enter», чтобы открыть командную строку Windows.
  • Типа "openssl /?" просмотреть список параметров для утилиты командной строки. Это также показывает правильный синтаксис команды.
  • Введите «openssl version» и нажмите «Enter». Версия OpenSSL отображается в утилите командной строки Windows.

Если команда openssl возвращает ошибку, возможно, она не установлена.

Между ними есть Apache .. Когда я пытаюсь запустить OPENSSL, у меня появляется обычное сообщение "команда не распознана", поэтому, вероятно, оно не установлено .. Ziba Leah 10 лет назад 0
Если вы являетесь системным администратором этого сервера, если вы установили Tomcat, а не OpenSSL, я уверен, что он не установлен. И если вы решите установить его сейчас, у вас будет исправленная версия. Кроме того - если вы хотите проверить наличие уязвимости с разбитым сердцем и если сервер Tomcat доступен через Интернет, вы можете выполнить тест. В противном случае вы можете попробовать скрипт Heartbleed Python локально, если у вас установлен Python. SPRBRN 10 лет назад 1
Если вы используете Apache между ними, Tomcat, вероятно, не подключится через SSL, если вы не используете SSL между Apache и Tomcat, что необычно. Поэтому, если вы хотите использовать SSL, вы, вероятно, захотите настроить это для Apache. Если вы не используете Apache для других приложений (например, веб-приложений PHP), вы можете обойтись без и настроить Tomcat на использование порта 80 вместо 8080. В этом случае вы должны настроить Tomcat для непосредственного использования SSL. SPRBRN 10 лет назад 1
OpenSSL не является частью Tomcat, ** но библиотека OpenSSL включена в бинарные пакеты Tomcat 6 для Windows **, доступные на apache.org. Код библиотеки интегрирован в dll Tomcat, в него не включен openssl.exe. mr.spuratic 10 лет назад 1
2
mr.spuratic

Существует несколько распространенных режимов развертывания Tomcat в MS-Windows, если включен HTTPS:

  1. Tomcat работает за IIS, OpenSSL не используется
  2. Tomcat работает за Apache, OpenSSL используется Apache
  3. Автономный сервер Tomcat с соединителем JSSE (Java SSL), OpenSSL не используется
  4. Автономный сервер Tomcat с разъемом APR, используется OpenSSL

Если у вас есть автономный сервер Tomcat, вы можете определить, какой метод HTTPS используется, проверив конфигурацию протокола соединителя . Apache предоставил бинарные файлы Tomcat 6.0 по умолчанию, включая APR (и, следовательно, OpenSSL), хотя вы, возможно, не используете его (обновите в любом случае!). Кроме того, если у вас установлен OpenSSL отдельно, это не имеет значения с точки зрения Tomcat (хотя он может использоваться вашим Apache или другим веб-сервером).

Если вы используете официальный двоичный файл веб-сервера Apache-2.2 (contrib), номер версии OpenSSL обычно кодируется в имени файла пакета установщика. Для 2.4 есть несколько разных упакованных версий. По крайней мере, один (Apachehaus) документирует версию OpenSSL и предоставляет openssl.exeвозможность для запуска, хотя это может быть не для обычного пользователя, PATHэто в bin/подкаталоге установки Apache.

Если у вас LogLevel «info» или выше, Apache запустит версии mod_ssl и OpenSSL при запуске. Начиная с 6.0.36, Tomcat6 делает то же самое ( ошибка # 53057 ).

Узнать, какие DLL загружен запущенным процессом, Process Explorer очень удобно, к сожалению, хотя кажется, что обычная бинарная ссылка распространения Tomcat OpenSSL (и более) в одну DLL ( tcnative-1.dll), а не легко идентифицируемая (и заменяемая) libssl.dll/ libcrypto.dll(или аналогичная) ) как соглашение о * nix системах. (Этот анализ будет работать на Apachehaus Apache httpd.)

Тогда довольно примитивный, но надежный способ - использовать find(или строки, если они у вас уже есть) из cmdкомандной строки:

cd \Program Files\apache-tomcat\bin find "OpenSSL" tcnative-1.dll [...] TLSv1 part of OpenSSL 1.0.1d 5 Feb 2013 SSLv3 part of OpenSSL 1.0.1d 5 Feb 2013 SSLv2 part of OpenSSL 1.0.1d 5 Feb 2013 DTLSv1 part of OpenSSL 1.0.1d 5 Feb 2013 

Process Explorer сообщит вам местоположение tcnative-1.dllзапущенного процесса tomcat6, если вы не можете его легко найти.

Чтобы подвести итог:

  • проверьте, netstat -abn -p TCPчто прослушивает 443 (или какой порт HTTPS вы используете)
  • проверьте свой соединитель, чтобы узнать, предоставляет ли Tomcat протокол SSL и каким образом
  • проверьте версию своего веб-сервера и конфигурацию HTTPS

Похожие вопросы