2017-05-10 9 views
2

인증서를 암호화하려고 Let 's Encrypt로 Apache와 함께 호스팅되는 https://warsoftheheroes.eu/ 사이트가 있습니다. 나는이 설정 파일에 변경해야합니까Apache SSL : "구식 키 교환 (RSA)"

<IfDefine SSL> 
<IfDefine SSL_DEFAULT_VHOST> 
<IfModule ssl_module> 
Listen 443 

<VirtualHost _default_:443> 
    ServerName localhost 
    Include /etc/apache2/vhosts.d/default_vhost.include 
    ErrorLog /var/log/apache2/ssl_error_log 
    <IfModule log_config_module> 
      TransferLog /var/log/apache2/ssl_access_log 
    </IfModule> 
    SSLEngine on 
    SSLProtocol ALL -SSLv2 -SSLv3 
    SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256: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-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128:AES256:HIGH:!RC4:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK 
    SSLHonorCipherOrder On 
    SSLCertificateFile /home/wof/ssl/fullchain1.pem 
    SSLCertificateKeyFile /home/wof/ssl/privkey1.pem 
    <FilesMatch "\.(cgi|shtml|phtml|php)$"> 
      SSLOptions +StdEnvVars 
    </FilesMatch> 
    <Directory "/var/www/localhost/cgi-bin"> 
      SSLOptions +StdEnvVars 
    </Directory> 
    <IfModule setenvif_module> 
      BrowserMatch ".*MSIE.*" \ 
        nokeepalive ssl-unclean-shutdown \ 
        downgrade-1.0 force-response-1.0 
    </IfModule> 
    <IfModule log_config_module> 
      CustomLog /var/log/apache2/ssl_request_log \ 
        "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" 
    </IfModule> 
</VirtualHost> 
</IfModule> 
</IfDefine> 
</IfDefine> 

# vim: ts=4 filetype=apache 

이 없애 :

Obsolete Connection Settings 

The connection to this site uses a strong protocol (TLS 1.2), an obsolete key exchange (RSA), and a strong cipher (AES_128_GCM). 

여기 내 아파치 SSL 구성입니다 : - 개발자 도구에서 크롬/크롬 브라우저에서> 보안 나는이 메시지가 표시 이 구식 키 교환?

+0

서버가 ECDHE 기반 암호 체계를 선택하지 않는 것 같습니다. 어떤 버전의 아파치와 openssl을 사용하고 있습니까? –

+1

스택 오버플로는 프로그래밍 및 개발 관련 질문을위한 사이트입니다. 이 질문은 프로그래밍이나 개발이 아니기 때문에 주제와는 거리가 먼 것처럼 보입니다. 도움말 센터에서 [여기에서 내가 질문 할 수있는 항목은 무엇입니까?] (http://stackoverflow.com/help/on-topic)를 참조하십시오. 아마도 [Super User] (http://superuser.com/) 나 [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/)가 더 나은 곳이 될 것입니다. 또한 [Dev Ops에 대한 질문은 어디에 게시합니까?] (http://meta.stackexchange.com/q/134306) – jww

+1

Google에서 내 질문 (apache, stackexchange)을 요청할 때 Google을 통해 검색 할 때 대부분의 결과 stackoverflow를 지적했다. 나는 놀랐지 만 나는 다수를 쫓아 갔다. –

답변

1

SSLLabs test에 따르면 서버 구성에서이 암호를 구성한 것처럼 보이더라도 사이트에서 ECDHE 암호를 지원하지 않습니다. OpenSSL 1.0.1에서 TLS 1.2를 지원하고 ECDHE를 지원하지 않기 때문에 ECC (그리고 ECDHE)에 대한 지원없이 컴파일 된 OpenSSL 버전이 있다고 생각합니다. .

이전 버전의 RHEL (및 CentOS도 마찬가지입니다)과 Fedora는 특허 지원을 위해 ECC 지원이 제거 된 상태로 제공되므로 영향을받는 시스템 중 하나를 사용하고 있는지 확인할 수 있습니다. openssl ciphers -V의 출력은 지원되는 암호를 제공하며 ECDHE가 지원되는지 확인해야합니다.

+0

문제는 openssl이/bindit USE 플래그 (Gentoo)로 컴파일되었습니다. 나를 올바른 방향으로 가리켜 주셔서 감사합니다. –

1

이전에 실수를해서 죄송합니다. 몇 가지를 섞어서. 당신이 볼 수 있듯이

nmap --script ssl-enum-ciphers -p 443 warsoftheheroes.eu 

Starting Nmap 7.40 (https://nmap.org) at 2017-05-10 17:23 CEST 
Nmap scan report for warsoftheheroes.eu (81.163.204.80) 
Host is up (0.051s latency). 
rDNS record for 81.163.204.80: pppoe-static-a-80.interblock.pl 
PORT STATE SERVICE 
443/tcp open https 
| ssl-enum-ciphers: 
| TLSv1.0: 
|  ciphers: 
|  TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 2048) - A 
|  TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A 
|  TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A 
|  TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A 
|  TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (dh 2048) - A 
|  TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (rsa 2048) - A 
|  TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (dh 2048) - A 
|  TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (rsa 2048) - A 
|  compressors: 
|  NULL 
|  cipher preference: server 
| TLSv1.1: 
|  ciphers: 
|  TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 2048) - A 
|  TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A 
|  TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A 
|  TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A 
|  TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (dh 2048) - A 
|  TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (rsa 2048) - A 
|  TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (dh 2048) - A 
|  TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (rsa 2048) - A 
|  compressors: 
|  NULL 
|  cipher preference: server 
| TLSv1.2: 
|  ciphers: 
|  TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (dh 2048) - A 
|  TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (dh 2048) - A 
|  TLS_RSA_WITH_AES_128_GCM_SHA256 (rsa 2048) - A 
|  TLS_RSA_WITH_AES_256_GCM_SHA384 (rsa 2048) - A 
|  TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (dh 2048) - A 
|  TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 2048) - A 
|  TLS_RSA_WITH_AES_128_CBC_SHA256 (rsa 2048) - A 
|  TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A 
|  TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (dh 2048) - A 
|  TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A 
|  TLS_RSA_WITH_AES_256_CBC_SHA256 (rsa 2048) - A 
|  TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A 
|  TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (dh 2048) - A 
|  TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (rsa 2048) - A 
|  TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (dh 2048) - A 
|  TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (rsa 2048) - A 
|  compressors: 
|  NULL 
|  cipher preference: server 
|_ least strength: A 

, TLSv1.2에 대한 세 번째 옵션은 TLS_RSA_WITH_AES_128_GCM_SHA256입니다 '의 일부입니다 :

이 무슨 암호가 서버에 그들이 선호하는 어떤 순서로 지원을 참조하는 방법입니다 AES128 '을 활성화하십시오.

Steffen Ullrich는 아마도 ECDHE 지원이 누락되었다고 생각할 것입니다. RSA Key Exchange를 사용하는 암호는 아마도 세 번째 위치에 있습니다. ECDHE 암호가 지원된다면 ECDHE 암호가 선호 될 것이라고 생각합니다.

+1

* "따라서 귀하의 경우 RSA가 키 교환 방법으로 선호됩니다."* - 이것은 잘못되었습니다. 'ECDHE-RSA-AES128-GCM-SHA256'과 같은 첫 번째 항목은 인증을 위해 RSA를 사용하지만 키 교환을 위해서는 ECDHE를 사용합니다. 인증 (Au = ...)과 키 교환 (Kx = ...)을 보여주는'openssl ciphers -V'를보십시오. –

+0

예, SSLCipherSuite에서 모든 RSA 항목을 제거했지만 변경된 사항은 없습니다. 메시지는 여전히 있습니다. –