Кто-нибудь знает команду, чтобы определить, установлены ли OpenSSL и mod_ssl на Apache2?
Как определить, установлены ли OpenSSL и mod_ssl на Apache2
Ответ 1
Если у вас установлен PHP на вашем сервере, вы можете создать php файл, разрешить его имя phpinfo.php и добавить этот <?php echo phpinfo();?>
и открыть файл в вашем браузере, это отображает информацию о вашей системной среде, чтобы быстро найдите информацию о ваших загруженных модулях Apache, найдите "Загруженные модули" на полученной странице.
Ответ 2
Если у вас установлен PHP на вашем сервере, вы можете выполнить его во время выполнения, используя extension_loaded" funciontion. Точно так же:
<?php
if (!extension_loaded('openssl')) {
// no openssl extension loaded.
}
?>
Ответ 3
Обычно, когда вы компилируете сервер apache2 (или устанавливаете его с помощью объектов пакета), вы можете проверить любую директиву, доступную для использования, нажав эту команду:
~# $(which httpd) -L | grep SSL # on RHEL/CentOS/Fedora
~# $(which apache2) -L | grep SSL # on Ubuntu/Debian
Если вы не видите директивы SSL *, это означает, что у вас нет apache2 с компиляцией mod_ssl.
Надеется, что это поможет;)
Ответ 4
Установленная по умолчанию установка 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
Ответ 5
Используйте следующие команды.
$ 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)
Ответ 6
Если вы просто запустили openssl
в своем терминале, он должен представить оболочку openSSL. Мой первый ключ к пониманию того, что у меня не было mode_ssl
, было, когда я получил следующую ошибку после добавления SSLEngine on
в свой файл virtualhost:
Invalid command 'SSLEngine', perhaps misspelled or defined by a module not included in the server configuration
В centos мне просто нужно было установить его через yum install mod_ssl
Ответ 7
Чтобы определить 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
Ответ 8
Используя Apache 2, вы можете увидеть, какие модули в настоящее время загружены демоном HTTP, выполнив следующую команду:
apache2ctl -M
Параметр -M
- это действительно просто параметр, переданный в httpd.
apache2ctl является интерфейсом Apache HyperText Transfer Protocol (HTTP). Это разработанный, чтобы помочь администратору управлять работой демона 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.
Ответ 9
К счастью, большинство вариантов Linux имеют OpenSSL "из коробки".
Чтобы проверить установку:
openssl version
Ответ: OpenSSL 1.0.1t 3 May 2016
Примечание: версия OpenSSL 1.0.1 до 1.0.1f (включительно)
уязвимы для ошибок OpenSSL Heartbleed.
Версии 1.0.1g и выше фиксированы.
Дополнительная информация по установке:
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
Ответ 10
Вы должны установить этот Apache mod, 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.8c mod_perl/2.0.2 Perl/v5.8.8
Ответ 11
Просто загляните в 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
Ответ 12
Включите mod_ssl в httpd.conf и перезапустите apache. Вы увидите информацию openssl в error.log, как показано ниже
[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'
Ответ 13
Чтобы найти ssl version
- Перейдите в папку Apache bin в командной строке
- Введите эти команды "версия openssl"
Ответ 14
В моем случае я получил информацию:
-
найдите, где находятся журналы apache, и перейдите туда, в моем случае:
cd /var/log/apache2
-
найти, в котором может быть найдена информация о журналах:
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 ...