Ungültiger Befehl 'SSLOpenSSLConfCmd', möglicherweise falsch geschrieben oder von einem Modul definiert, das nicht in der Serverkonfiguration enthalten ist

10

Wie jeder andere Administrator arbeite ich an der Logjam- Korrektur .

Ich habe auf Apache 2.4.12 aktualisiert und öffne SL 1.0.2a auf meiner Centos 6.6-Box.

Wenn ich Apache starte, wird folgende Fehlermeldung angezeigt:

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

Hier ist meine Apache Build Info:

Server version: Apache/2.4.12 (Unix)
Server built:   Jun  8 2015 22:04:38
Server's Module Magic Number: 20120211:41
Server loaded:  APR 1.4.5, APR-UTIL 1.3.12
Compiled using: APR 1.4.5, APR-UTIL 1.3.12
Architecture:   64-bit
Server MPM:     worker
  threaded:     yes (fixed thread count)
    forked:     yes (variable process count)
Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/opt/installs/apache/2_4_12"
 -D SUEXEC_BIN="/opt/installs/apache/2_4_12/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"    

mod_ssl ist in meiner httpd.conf enthalten:

LoadModule ssl_module modules/mod_ssl.so

Was vermisse ich?

Ryanlraines
quelle
1
Die Website schwachedh.org/sysadmin hatte (hat zum jetzigen Zeitpunkt noch) Tippfehler / Ungenauigkeiten vor: serverfault.com/questions/706014/…
austinian

Antworten:

3

Das SSLOpenSSLConfCmd ist erst später unter httpd 2.4.8 verfügbar.

Sie können jedoch weiterhin Ihre eigenen DH-Parameter in früheren Versionen generieren und verwenden, wie hier ausführlich erläutert :

Wenn Sie Apache mit LibreSSL oder Apache 2.4.7 und OpenSSL 0.9.8a oder höher verwenden, können Sie die zuvor generierten DHparams an das Ende Ihrer Zertifikatdatei anhängen. Die Dokumentation dazu finden Sie hier und unten:

Benutzerdefinierte DH-Parameter und ein EC-Kurvenname für kurzlebige Schlüssel können auch am Ende der ersten mit SSLCertificateFile konfigurierten Datei hinzugefügt werden. Dies wird in Version 2.4.7 oder höher unterstützt. Solche Parameter können mit den Befehlen openssl dhparam und openssl ecparam generiert werden. Die Parameter können unverändert am Ende der ersten Zertifikatdatei hinzugefügt werden. Für benutzerdefinierte Parameter kann nur die erste Datei verwendet werden, da diese unabhängig vom Typ des Authentifizierungsalgorithmus angewendet werden.

Verwenden Sie einfach cat, um die Datei dhparams.pem an Ihre Zertifikatdatei anzuhängen:

cat dhparams.pem >> cert.pem
Dario Seidl
quelle
0

Pro Apache-Dokument - Der Satz verfügbarer SSLOpenSSLConfCmdBefehle hängt von der OpenSSL-Version (erforderlich) ab, für die verwendet wird mod_ssl(mindestens Version 1.0.2 ist erforderlich). Eine Liste der unterstützten Befehlsnamen finden Sie im Abschnitt Unterstützte Konfigurationsdateibefehle auf der Handbuchseite SSL_CONF_cmd (3) für OpenSSL.

Überprüfen Sie die Befehle, mit denen Sie arbeiten SSLOpenSSLConfCmd

Chetangb
quelle
Ich konnte nirgendwo in den Dokumenten von openssl.org einen Verweis auf den Befehl 'SSLOpenSSLConfCmd' finden.
Ryanlraines
Möglicherweise verwenden Sie SSLOpenSSLConfCmd Befehlsname Befehlswert in Ihrer httpd.conf oder Ihrer benutzerdefinierten conf-Datei (conf.d / *) httpd.apache.org/docs/trunk/mod/mod_ssl.html
chetangb
0

SSLOpenSSLConfCmd-Direktive verfügbar in httpd 2.4.8 (das nicht veröffentlicht wurde) und höher, wenn OpenSSL 1.0.2 oder höher verwendet wird.

Änderungen mit Apache 2.4.8 (nicht veröffentlicht) ... mod_ssl: Unterstützung für OpenSSL-Konfigurationsbefehle durch Einführung der Direktive SSLOpenSSLConfCmd hinzufügen. [Stephen Henson, Kaspar Brand] ...

APR erstellen

# ./configure --host=x86_64-redhat-linux-gnu --build=x86_64-redhat-linux-gnu --prefix=/opt/apr-1.5.2 --with-devrandom=/dev/urandom

Erstellen Sie APR-UTIL

# ./configure --prefix=/opt/apr-util-1.5.4 --with-ldap --with-crypto --with-openssl=/opt/openssl-1.0.2a --with-apr=/opt/apr-1.5.2

Erstellen Sie Apache

# ./configure --prefix=/opt/httpd-2.4.12 --enable-mpms-shared=all --with-pcre --enable-mods-shared=all --enable-ssl --with-ssl=/opt/openssl-1.0.2a --with-apr=/opt/apr-1.5.2 --with-apr-util=/opt/apr-util-1.5.4 --enable-session-crypto
...
configure:
  setting INCLUDES to "-I."
  adding "-I$(top_srcdir)/os/$(OS_DIR)" to INCLUDES
  adding "-I$(top_srcdir)/include" to INCLUDES
  adding "-I/opt/apr-1.5.2/include/apr-1" to INCLUDES
  adding "-I/opt/apr-util-1.5.4/include/apr-1" to INCLUDES
  adding "-I/opt/openssl-1.0.2a/include" to INCLUDES
...

Überprüfen Sie mod_ssl.so

# ldd mod_ssl.so | grep ssl
        libssl.so.1.0.0 => /opt/openssl-1.0.2a/lib/libssl.so.1.0.0 (0x00007f6f3c6bd000)
        libcrypto.so.1.0.0 => /opt/openssl-1.0.2a/lib/libcrypto.so.1.0.0 (0x00007f6f3c287000)

# strings mod_ssl.so | grep SSLOpenSSLConfCmd
SSLOpenSSLConfCmd
AH02407: "SSLOpenSSLConfCmd %s %s" failed for %s
AH02556: "SSLOpenSSLConfCmd %s %s" applied to %s

Überprüfen Sie die Apache-Einstellungen

# ./httpd -v
Server version: Apache/2.4.12 (Unix)
Server built:   Mar 27 2016 16:29:30

# ./httpd -V
Server version: Apache/2.4.12 (Unix)
Server built:   Mar 27 2016 16:29:30
Server's Module Magic Number: 20120211:41
Server loaded:  APR 1.5.2, APR-UTIL 1.5.4
Compiled using: APR 1.5.2, APR-UTIL 1.5.4
Architecture:   64-bit
Server MPM:     event
  threaded:     yes (fixed thread count)
    forked:     yes (variable process count)
Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/opt/httpd-2.4.12"
 -D SUEXEC_BIN="/opt/httpd-2.4.12/bin/suexec"
 -D DEFAULT_PIDLOG="logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

# /opt/httpd-2.4.12/bin/apachectl -t
Syntax OK

Einstellungen für virtuelle Hosts

# conf/extra/httpd-ssl.conf
Listen 443
SSLOpenSSLConfCmd DHParameters /etc/pki/httpd/dhparams_2048.pem
SSLCipherSuite kEECDH+AES128:kEECDH:kEDH:-3DES:kRSA+AES128:kEDH+3DES:DES-CBC3-SHA:!RC4:!aNULL:!eNULL:!MD5:!EXPORT:!LOW:!SEED:!CAMELLIA:!IDEA:!PSK:!SRP:!SSLv2
SSLHonorCipherOrder on
SSLPassPhraseDialog  builtin
SSLSessionCache "shmcb:/opt/httpd-2.4.12/logs/ssl_scache(512000)"
SSLSessionCacheTimeout  300
SSLProtocol All -SSLv2 -SSLv3

<VirtualHost _default_:443>

   DocumentRoot "/opt/httpd-2.4.12/htdocs"
   ServerName ssllabs.example.com:443
   ServerAdmin [email protected]
   ErrorLog "/opt/httpd-2.4.12/logs/error_log"
   TransferLog "/opt/httpd-2.4.12/logs/access_log"

   SSLEngine on
   SSLCertificateFile /etc/pki/httpd/server.pem
   SSLCertificateKeyFile /etc/pki/httpd/server.key

   <FilesMatch "\.(cgi|shtml|phtml|php)$">
       SSLOptions +StdEnvVars
   </FilesMatch>
   <Directory "/opt/httpd-2.4.12/cgi-bin">
       SSLOptions +StdEnvVars
   </Directory>

   BrowserMatch "MSIE [2-5]" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
   CustomLog "/opt/httpd-2.4.12/logs/ssl_request_log" "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>

Testergebnis

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

ALex_hha
quelle