Я пытаюсь следовать инструкциям, размещеннымздесьдля устранения уязвимости logjam, однако я продолжаю получать следующую ошибку от appache:
Syntax error on line 18 of /etc/apache2/sites-enabled/000-default:
Invalid command 'SSLOpenSSLConfCmd', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
Когда я добавляю в конфигурацию следующую строку:
SSLOpenSSLConfCmd DHParameters /etc/ssl/certs/dhparams.pem
Мои данные по аппаш:
Server version: Apache/2.2.16 (Debian)
Server built: Oct 16 2014 10:27:58
Server's Module Magic Number: 20051115:24
Server loaded: APR 1.4.2, APR-Util 1.3.9
Compiled using: APR 1.4.2, APR-Util 1.3.9
Architecture: 32-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-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 APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT="/etc/apache2"
-D SUEXEC_BIN="/usr/lib/apache2/suexec"
-D DEFAULT_PIDLOG="/var/run/apache2.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="/var/run/apache2/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="mime.types"
-D SERVER_CONFIG_FILE="apache2.conf"
Я искал, но не смог найти способ решить эту проблему.
решение1
ИзДокументация Apache, SSLOpenSSLConfCmd
опция была добавлена в версии 2.4.8:
Совместимость: Доступно в httpd 2.4.8 и более поздних версиях, если используется OpenSSL 1.0.2 или более поздней версии.
Если вам необходимо использовать эту опцию, вам потребуется обновить Apache до более поздней версии.
решение2
также apache 2.2.22 (debian 7) Я также удалил проблемные шифры один за другим, согласно тесту qualys ssl labshttps://www.ssllabs.com/ssltest/index.htmlтеперь все проходит, только WinXP / IE6 несовместимы
Шифр, который я в итоге использовал:
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-DSS-AES128-SHA256:DHE-DSS-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!DHE-RSA-AES128-GCM-SHA256:!DHE-RSA-AES256-GCM-SHA384:!DHE-RSA-AES128-SHA256:!DHE-RSA-AES256-SHA:!DHE-RSA-AES128-SHA:!DHE-RSA-AES256-SHA256:!DHE-RSA-CAMELLIA128-SHA:!DHE-RSA-CAMELLIA256-SHA
это основано на рекомендации отhttps://weakdh.org/sysadmin.htmlно удалив dh-шифры, которые тест пометил как проблемные
решение3
Параметр конфигурации "SSLOpenSSLConfCmd" не работает для Apache 2.2, и он не предоставляет аналогичных параметров конфигурации для этого. Хотя есть обходной путь для Apache 2.2, пока не выйдет официальный патч:https://bitbucket.org/snippets/wneessen/grb8
решение4
Я избегаю заторов на сервере Apache 2.4, но с OpenSSL 1.0.1 использую это
SSLProtocol -all +TLSv1 +TLSv1 +TLSv1.1 +TLSv1.2
SSLCipherSuite ECDH+AESGCM:ECDH+AES256:ECDH+AES128:ECDH+3DES:RSA+AES:RSA+3DES:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!ADH:!AECDH:!MD5:!DSS:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
Затем я создаю dhparams
openssl dhparam -out dhparams.pem 2048
chmod 600 dhparams.pem
и добавить в сертификат
cat /etc/ssl/certs/dhparams.pem >> /etc/ssl/certs/serverhttp.crt
перезагрузить апач
apachectl -k graceful
И проверьте это с помощью инструмента в этомсайт или с nmap
nmap --script ssl-enum-ciphers -p 443 yourserver |grep weak