Как определить, установлены ли OpenSSL и mod ssl на apache2

кто-нибудь знает команду, чтобы определить, установлены ли OpenSSL и mod_ssl на apache2?

13 ответов


Если на вашем сервере установлен PHP, вы можете создать php-файл, назовем его phpinfo.php и добавьте это <?php echo phpinfo();?>, и откройте файл в браузере, это показывает информацию о вашей системной среде, чтобы быстро найти информацию о загруженных модулях Apache, найдите "загруженные модули" на результирующей странице.


Если на вашем сервере установлен PHP, вы можете проверить его во время выполнения, используя"extension_loaded" funciontion. Вот так:

<?php
if (!extension_loaded('openssl')) {
    // no openssl extension loaded.
}
?>

обычно, когда вы компилируете свой сервер apache2 (или устанавливаете его с помощью packages facility stuff), вы можете проверить любую директиву, которая доступна для использования, нажав эту команду:

~# $(which httpd) -L | grep SSL # on RHEL/CentOS/Fedora
~# $(which apache2) -L | grep SSL # on Ubuntu/Debian

Если вы не видите никакой директивы SSL*, это означает, что у вас нет apache2 с скомпилированным mod_ssl.

надеется, что это помогает ;)


установка Apache по умолчанию настроена для отправки этой информации на сервер строка заголовка. Вы можете просмотреть это для любого сервера с помощью команды curl.

$ curl --head http://localhost/
HTTP/1.1 200 OK
Date: Fri, 04 Sep 2009 08:14:03 GMT
Server: Apache/2.2.8 (Unix) mod_ssl/2.2.8 OpenSSL/0.9.8a DAV/2 PHP/5.2.6 SVN/1.5.4 proxy_html/3.0.0

используйте следующие команды.

$ openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013 (or similar output)

для RHEL / CentOS / Fedora:

$ httpd -t -D DUMP_MODULES | grep ssl
ssl_module (shared)

Для Ubuntu / Debian

$ apache2 -t -D DUMP_MODULES | grep ssl
ssl_module (shared)

для SUSE

$ httpd2 -t -D DUMP_MODUELS | grep ssl
ssl_module (shared)

если вы просто запустите openssl в вашем терминале он должен представить оболочку openSSL. Мой первый ключ к пониманию того, что у меня нет mode_ssl было, когда я получил следующую ошибку после добавления SSLEngine on в моем файле хост:

Invalid command 'SSLEngine', perhaps misspelled or defined by a module not included in the server configuration

в centos мне просто пришлось установить его через yum install mod_ssl


определить в OpenSSL & ssl_module

# rpm -qa | grep openssl
openssl-libs-1.0.1e-42.el7.9.x86_64
openssl-1.0.1e-42.el7.9.x86_64
openssl098e-0.9.8e-29.el7.centos.2.x86_64
openssl-devel-1.0.1e-42.el7.9.x86_64

расширением mod_ssl

# httpd -M | grep ssl

или

# rpm -qa | grep ssl

используя Apache 2, Вы можете увидеть, какие модули в настоящее время загружаются демоном HTTP, выполнив следующую команду:

apache2ctl -M

на -M опция действительно просто параметр, переданный в httpd.

apache2ctl является передним концом протокола передачи гипертекста Apache (сервер http. Это разработан, чтобы помочь администратору контролировать функционирование демона Apache apache2.

   NOTE: The default Debian configuration requires the environment variables APACHE_RUN_USER,
   APACHE_RUN_GROUP, and APACHE_PID_FILE to be set in /etc/apache2/envvars.

   The apache2ctl script returns a 0 exit value on success, and >0 if an error  occurs.   For
   more details, view the comments in the script.

К счастью, большинство вкусов Linux имеют OpenSSL "из коробки".

для проверки установки:

openssl version
Ответ:
OpenSSL 1.0.1t 3 May 2016

Примечание: версия OpenSSL 1.0.1 - 1.0.1 f (включительно)
уязвимы для ошибки OpenSSL Heartbleed.
Версии 1.0.1 g и выше являются фиксированными.

дополнительные установки info:

Ubuntu / Debian
dpkg -l | grep -i openssl
Ответ:
ii libcrypt-openssl-random-perl 0.04-2+b1 amd64 module to access the OpenSSL pseudo-random number generator
ii libcurl3:amd64 7.38.0-4+deb8u5 amd64 easy-to-use client-side URL transfer library (OpenSSL flavour)
ii libgnutls-openssl27:amd64 3.3.8-6+deb8u4 amd64 GNU TLS library - OpenSSL wrapper
ii openssl 1.0.1t-1+deb8u6 amd64 Secure Sockets Layer toolkit - cryptographic utility
ii python-ndg-httpsclient 0.3.2-1 all enhanced HTTPS support for httplib and urllib2 using PyOpenSSL
ii python-openssl 0.14-1 all Python 2 wrapper around the OpenSSL library
ii ssl-cert 1.0.35 all simple debconf wrapper for OpenSSL

Да, OpenSSL установлен!

чтобы установить OpenSSL если у вас его нет, попробуйте:

Debian / Ubuntu:
sudo apt-get install openssl

RedHat / CentOS:
yum install openssl


вы должны установить этот мод Apache,http://httpd.apache.org/docs/2.0/mod/mod_info.html, это в основном дает вам исчерпание модов, которые вы используете, и настроек Apache. У меня это позволило на моем Apache и это дает мне эту информацию на мой сайт

версия сервера: Apache / 2.2.3 (Debian) mod_jk / 1.2.18 PHP/5.2.0-8+etch13 mod_ssl / 2.2.3 OpenSSL/0.9.8 c mod_perl/2.0.2 Perl / v5.8.8


только в ssl_engine.log в свой каталог журналов Apache, где вы должны найти что-то вроде:

[ssl:info] [pid 5963:tid 139718276048640] AH01876: mod_ssl/2.4.9 compiled against Server: Apache/2.4.9, Library: OpenSSL/1.0.1h

включить mod_ssl в httpd.conf и перезапустите apache. Вы увидите информацию openssl по ошибке.войти как ниже

[Fri Mar 23 15:13:38.448268 2018] [mpm_worker:notice] [pid 8891:tid 1] AH00292: Apache/2.4.29 (Unix) OpenSSL/1.0.2n configured -- resuming normal operations
[Fri Mar 23 15:13:38.448502 2018] [core:notice] [pid 8891:tid 1] AH00094: Command line: '/opt/apps/apache64/2.4.29/bin/httpd'

в моем случае это, как я получил информацию:

  • найдите, где находятся журналы apache, и перейдите туда, в моем случае:

    cd /var/log/apache2

  • найдите в каком журнале openssl можно найти информацию:

    grep -i apache.*openssl *_log

    e.g. error_log ...

  • чтобы получить свежую информацию, перезапустите Apache, например,

    rcapache2 restart # or service apache2 restart

  • проверить последние записи в журнале, например,

    /var/log/apache2 # tail error_log

    [Thu Jun 09 07:42:24 2016] [notice] Apache/... (Linux/...) mod_ssl/2.2.22 OpenSSL/1.0.1t ...