Apache 2.2.16에서 Logjam 완화 시도

Apache 2.2.16에서 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

내 appache 세부 정보는 다음과 같습니다

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

로부터아파치 문서, SSLOpenSSLConfCmd버전 2.4.8에 옵션이 추가되었습니다.

호환성: OpenSSL 1.0.2 이상을 사용하는 경우 httpd 2.4.8 이상에서 사용 가능

이 옵션을 사용해야 하는 경우 최신 버전의 Apache로 업데이트해야 합니다.

답변2

또한 apache 2.2.22(debian 7) qualys SSL Labs 테스트에 따라 문제가 있는 암호를 하나씩 제거했습니다.https://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

Apachet 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

관련 정보