Lệnh 'SSLOpenSSLConfCmd' không hợp lệ, có thể bị sai chính tả hoặc được xác định bởi một mô-đun không có trong cấu hình máy chủ


10

Giống như mọi quản trị viên khác, tôi đang làm việc thông qua bản sửa lỗi Logjam .

Tôi đã nâng cấp lên Apache 2.4.12 và openssl 1.0.2a trên hộp 6.6 của tôi.

Khi tôi bắt đầu apache, tôi thấy thông báo lỗi này được trả về:

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

Đây là thông tin xây dựng apache của tôi:

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 được bao gồm trong httpd.conf của tôi:

LoadModule ssl_module modules/mod_ssl.so

Tôi đang thiếu gì?


1
Trang web fradh.org/sysadmin đã có (tiếp tục có văn bản này) lỗi chính tả / không chính xác trước: serverfault.com/questions/706014/
Lỗi

Câu trả lời:


3

Các SSLOpenSSLConfCmd chỉ có sẵn trên httpd 2.4.8 sau đó.

Tuy nhiên, bạn vẫn có thể tạo và sử dụng thông số DH của riêng mình trên các phiên bản trước đó, như được giải thích tại đây :

Nếu bạn đang sử dụng Apache với LibreSSL hoặc Apache 2.4.7 và OpenSSL 0.9.8a trở lên, bạn có thể nối các DHparams mà bạn đã tạo trước đó vào cuối tệp chứng chỉ của mình. Các tài liệu cho đó là ở đây và dưới đây:

Các tham số DH tùy chỉnh và tên đường cong EC cho các khóa phù du, cũng có thể được thêm vào cuối tệp đầu tiên được định cấu hình bằng SSLCertertFile. Điều này được hỗ trợ trong phiên bản 2.4.7 trở lên. Các tham số như vậy có thể được tạo bằng các lệnh openssl dhparam và openssl ecparam. Các tham số có thể được thêm vào nguyên trạng vào cuối tệp chứng chỉ đầu tiên. Chỉ tệp đầu tiên có thể được sử dụng cho các tham số tùy chỉnh, vì chúng được áp dụng độc lập với loại thuật toán xác thực.

Chỉ cần sử dụng con mèo để nối dhparams.pem vào tệp chứng chỉ của bạn:

cat dhparams.pem >> cert.pem

0

Theo tài liệu Apache - Tập hợp các SSLOpenSSLConfCmdlệnh khả dụng tùy thuộc vào phiên bản OpenSSL (cần) được sử dụng cho mod_ssl(ít nhất là phiên bản 1.0.2 là bắt buộc). Để biết danh sách các tên lệnh được hỗ trợ, hãy xem phần Các lệnh của tệp cấu hình được hỗ trợ trong trang hướng dẫn SSL_CONF_cmd (3) cho OpenSSL.

Xác nhận các lệnh bạn đang sử dụng với SSLOpenSSLConfCmd


Tôi không thể tìm thấy bất kỳ tài liệu tham khảo nào về lệnh 'SSLOpenSSLConfCmd' ở bất cứ đâu trên các tài liệu của openssl.org.
ryanlraines

bạn có thể đang sử dụng SSLOpenSSLConfCmd tên lệnh-giá trị trong httpd.conf hoặc tệp conf tùy chỉnh của bạn (conf.d / *) httpd.apache.org/docs/trunk/mod/mod_ssl.html
chetangb

0

Chỉ thị SSLOpenSSLConfCmd có sẵn trong httpd 2.4.8 (không được phát hành) và sau đó, nếu sử dụng OpenSSL 1.0.2 trở lên.

Thay đổi với Apache 2.4.8 (không được phát hành) ... mod_ssl: Thêm hỗ trợ cho các lệnh cấu hình OpenSSL bằng cách giới thiệu chỉ thị SSLOpenSSLConfCmd. [Stephen Henson, Thương hiệu Kaspar] ...

Xây dựng APR

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

Xây dựng 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

Xây dựng 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
...

Kiểm tra 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

Kiểm tra cài đặt apache

# ./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

Cài đặt máy chủ ảo

# 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 webmaster@example.com
   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>

Kết quả kiểm tra

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.