SSLv3 POODLE 취약점 (CVE-2014-3566)을 패치 / 해결 방법은 어떻게합니까?


157

BEAST 공격Heartbleed 버그 후에 SSL / TLS의 POODLE 이라는 새로운 취약점에 대해 들었습니다 . 악용되지 않도록 어떻게 보호합니까?

  • 서버 나 클라이언트 만 영향을 받습니까?
  • 이 OpenSSL / GnuTLS는 구체적입니까?
  • 어떤 종류의 서비스가 영향을 받습니까? HTTPS 또는 IMAPS, SMTPS, OpenVPN 등 만?

이 취약점을 피하는 방법에 대한 예를 보여주세요.


2
자세한 내용은 여기에서 찾을 수 있습니다 SSL3 "푸들"취약점
Braiam

1
@Braiam 그래, 나는 훌륭한 토마스를 다시 안다! 그러나 이는 매우 암호화 지향적 인 Q & A입니다. AU에 관한이 Q & A는 실용적이고 우분투 지향 정보를 제공하기위한 것입니다. :-)
gertvdijk

10
응? "패치를 설치하지 않으면 Níðhöggr가 비장을 삼킬 것"보다 더 실용적인 해결책을 어떻게 기대하십니까?
Braiam

2
@Braiam 우선 : 패치가 없습니다 (내 답변 읽기). Thomas는 DIY-Ubuntu 웹 서버 호스팅이 아닌 어플라이언스를 언급하고 있다고 생각합니다. 로드 밸런서와 같은 어플라이언스는 일반적으로 기본 설정 변경을위한 펌웨어 업데이트를 제공하거나이를 구성 할 수있는 기능을 제공합니다. 그러나 우분투에서는 모든 것이 사용자 / 관리자에게 달려 있습니다.
gertvdijk

실제로 공급 업체는 모든 SSLv3 관련 코드를 비활성화 / 제거 할 수 있으므로 아무것도 만질 필요가 없습니다.
Braiam

답변:


209

배경 정보

SSL은 인터넷의 전송 수준을 보호하도록 설계되었습니다. '웹'(일명 HTTP)의 경우이를 HTTPS로 알고 있지만 다른 응용 프로그램 프로토콜에도 사용됩니다. SSLv2는 가장 널리 사용되는 전송 보안 프로토콜 이었지만 얼마 지나지 않아 안전하지 않은 것으로 밝혀졌습니다. 후임 SSLv3 및 TLSv1이 현재 널리 지원됩니다. TLSv1.1 및 TLSv1.2는 최신 버전이며 많은 지원을 받고 있습니다. 2014 년에 출시 된 모든 웹 브라우저가이를 지원하는 것은 아닙니다.

Google 엔지니어의 최근 발견에 따르면 SSLv3은 더 이상 사용되지 않아야합니다 (예 : SSLv2는 오래 전에 사용되지 않음). 사이트 / 서비스에 연결할 수없는 클라이언트는 매우 제한적일 수 있습니다. CloudFlare 방문자의 0.09 % 미만이 여전히 SSLv3에 의존 한다고 발표 했습니다.

간단한 해결책 : SSLv3을 비활성화하십시오.

우분투는 어떤 업데이트를 제공합니까?

예, SCSV 기능이 추가 된 usn-2385-1 을 통해 SSLv3를 비활성화하지 않기 때문에 문제를 완전히 완화 하지 않으며 연결의 양쪽이 패치 된 경우에만 패치가 작동합니다. 패키지 관리자의 정기적 인 보안 업데이트를 통해받을 수 있습니다.

그래서, 여전히 당신은 (그것을 구성의)은 SSLv3를 해제하는 조치를 직접 수행해야합니다. 향후 버전의 클라이언트 / 브라우저는 SSLv3을 사용하지 않도록 설정합니다. 예를 들어 Firefox 34가 그렇게합니다.

구현 수준의 Ubuntu에서 기본적으로 SSLv3을 완전히 비활성화하면 HTTPS 이외의 SSL 사용에 대해서도 취약하지 않을 수 있습니다. 관리자가 그렇게하지 않을 것이라고 가정 하고이 SCSV 패치 만 적용됩니다.

usn-2385-1을 통한 OpenSSL의 SCSV 업데이트로 문제가 완화되지 않는 이유는 무엇입니까?

실제로 그러한 질문을 멈추고 몇 단락을 건너 뛰고 SSLv3을 비활성화하십시오. 그러나 당신이 확신하지 않으면 여기에 간다.

POODLE은 CBC 암호를 사용하는 SSLv3이 손상되었음을 보여 주므로 SCSV를 구현해도 변경되지 않습니다. SCSV는 일반적인 경우에 필요한 MITM (Man-in-the-Middle) 공격으로 필요에 따라 일부 TLS 프로토콜에서 하위 TLS / SSL 프로토콜로 다운 그레이드하지 않도록합니다.

TLS를 전혀 제공하지 않고 SSLv3 만 제공하는 일부 서버에 액세스해야하는 경우 브라우저는 실제로 선택할 수 없으며 SSLv3을 사용하여 서버와 통신해야합니다. 그러면 다운 그레이드 공격없이 취약합니다.

당신은 (낙담하는) 너무 TLSv1의 +와 SSLv3에 제공 일부 서버에 액세스 할 수 있고 당신이 당신의 연결이 공격자에 의해 SSLv3에 다운 그레이드되지 않습니다해야 할 경우 모두 서버와 클라이언트는이 SCSV 패치가 필요합니다.

이 문제를 완전히 완화하기 위해 SSLv3를 사용하지 않도록 설정하면 충분하며 다운 그레이드되지 않을 것입니다. 그리고 SSLv3 전용 서버와 통신 할 수 없습니다.

좋아, SSLv3을 어떻게 비활성화합니까?

응용 프로그램 별 섹션에서 아래를 참조하십시오 : Firefox, Chrome, Apache, Nginx 및 Postfix는 현재 다루고 있습니다.

서버 나 클라이언트 만 영향을 받습니까?

다운 그레이드 공격으로 인해 TLSv1 / TLSv1.1 / TLS1.2를 모두 수행 할 수있는 경우에도 서버와 클라이언트 모두 SSLv3을 허용하는 경우 취약점이 존재합니다.

서버 관리자는 이제 사용자 보안을 위해 SSLv3을 비활성화 해야합니다.

사용자로, 당신은 당신의 브라우저에서 SSLv3에를 비활성화해야합니다 지금 계속하고 SSLv3을 지원하는 웹 사이트를 방문 할 때 자신을 보호 할 수 있습니다.

이 OpenSSL / GnuTLS / 브라우저와 관련이 있습니까?

아니요. 구현 버그가 아닌 프로토콜 (디자인) 버그입니다. 즉, 이전 SSLv3의 디자인을 변경하지 않는 한 실제로 패치 할 수 없습니다.

그리고 네, 새로운 OpenSSL 보안 릴리스 가 있지만 아래에서 읽으십시오 ( 그러나 X, Y, Z! 이유로 SSLv3 지원이 정말로 필요 합니다).

네트워크 (방화벽) 수준에서 SSLv3를 종료 할 수 있습니까?

아마도 요 추가 생각과 작업을 위해 이것을 별도의 블로그 게시물에 넣었습니다. 사용할 수있는 마법 iptables규칙이있을 수 있습니다!

내 블로그 게시물 : POODLE에 iptables를 사용하여 네트워크에서 SSLv3을 중단하는 방법은 무엇입니까?

HTTPS 만 또는 IMAP / SMTP / OpenVPN 및 SSL을 지원하는 다른 프로토콜과 관련이 있습니까?

연구원들에 의해 보여지는 바와 같이, 현재의 공격 벡터는 피해자의 머신에서 실행되는 자바 스크립트를 사용하여 서버로 전송되는 평문을 제어하는 ​​작업을한다. 이 벡터는 브라우저를 사용하지 않는 비 HTTPS 시나리오에는 적용되지 않습니다.

또한 일반적으로 SSL 클라이언트에서는 세션을 SSLv3으로 다운 그레이드 할 수 없지만 (핸드 셰이크 기능에서 볼 수있는 TLSv1 + 사용) 브라우저는 이전 버전과 매우 호환되기를 원합니다. 평문 제어와 HTTP 헤더가 구축되는 특정 방식의 조합으로 인해이를 활용할 수 있습니다.

결론 : HTTPS에 대한 해제 SSLv3에 지금 , 비활성화 SSLv3에 다음 서비스 창에서 다른 서비스.

영향은 무엇입니까? 서버 인증서를 해지하고 다시 생성해야합니까? (하트 블리드와 마찬가지로)

아니요,이를 위해 인증서를 교체 할 필요가 없습니다. 이 취약점은 세션 데이터에서 일반 텍스트 복구를 제공하며 비밀 키 (세션 키 또는 인증서 키)에 대한 액세스를 제공하지 않습니다.

공격자는 세션 하이재킹 을 수행하기 위해 세션 쿠키와 같은 일반 텍스트 헤더 만 훔칠 수 있습니다. 추가적인 제약은 완전한 (활성) MitM 공격 이 필요하다는 것입니다 .

SSL 구성을 개선하기 위해 일반적으로 수행 할 수있는 다른 작업이 있습니까?

사용자는 브라우저에서 SSLv3을 비활성화하는 것 외에도 실제로는 아닙니다. 항상 최신 보안 업데이트를 설치하십시오.

서버의 경우 Mozilla의 TLS 서버 안내서를 따르십시오 . 그리고와 시험 퀄리스 (Qualys) 'SSL 연구소 시험 . 귀하의 사이트에서 A + 등급을 얻는 것은 그리 어렵지 않습니다. 패키지를 업데이트하고 Mozilla 가이드에서 권장 사항을 구현하십시오.

그러나 정말로 X, Y, Z 이유로 SSLv3 지원이 정말로 필요합니다! 이제 뭐?

SSLv3 대체 보호라고하는 TLSv1 가능 클라이언트의 다운 그레이드 공격을 우회하는 패치가 있습니다. 또한 TLSv1 +의 보안도 향상시킬 것입니다 (다운 그레이드 공격은 더 어렵거나 불가능합니다). Ubuntu 보안 권고 usn-2385-1 의 최신 OpenSSL 버전에서 백 포트로 제공됩니다 .

큰 문제 : 클라이언트와 서버 모두 작동하려면이 패치가 필요합니다. 따라서 클라이언트와 서버를 모두 업데이트하는 동안 어쨌든 TLSv1 +로 업그레이드해야한다고 생각합니다.

그러나 지금은 네트워크에서 SSLv3을 폐기하십시오. 보안 표준을 업그레이드하고 SSLv3을 버립니다.

프로토콜 다운 그레이드 공격을 제거하기위한 SCSV 지원에 대해 들었습니다. 필요합니까?

이상한 이유로 SSLv3이 실제로 필요한 경우에만 TLSv1 +의 보안이 향상되므로 설치하는 것이 좋습니다. Ubuntu는 usn-2385-1 에서이 기능에 대한 업데이트를 제공합니다 . 패키지 관리자의 정기적 인 보안 업데이트를 통해받을 수 있습니다.

개인 호스팅 사이트 (예 : 인트라넷 / 오프라인)에 대한 테스트 취약점

서버가 SSLv3을 지원하는 것만으로 취약합니다. 여기 몇 가지 옵션이 있습니다.

  • OpenSSL s_client로 :

    openssl s_client -connect <server>:<port> -ssl3
    

    연결에 성공하면 sslv3이 활성화됩니다. 실패하면 비활성화됩니다. 실패하면 다음과 같이 표시됩니다.

    error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
    
  • 사용 nmap:

    nmap --script ssl-enum-ciphers -p 443 myhostname.tld
    

    ' SSLv3: No supported ciphers found'를 출력해야합니다 . 호스트 이름 / 포트를 조정하십시오.

  • 사용 cipherscan . 바이너리를 복제 / 다운로드하여 실행하십시오 :

    ./cipherscan myhostname.tld
    

    '프로토콜'열 아래에 SSLv3이있는 항목을 나열 해서는 안됩니다 .


Firefox 브라우저

열기 about:config, 발견 security.tls.version.min과에 값을 설정합니다 1. 그런 다음 브라우저를 다시 시작하여 열린 SSL 연결을 끊으십시오.

버전 34 이상의 Firefox는 기본적으로 SSLv3을 비활성화하므로 조치 ( source )가 필요하지 않습니다 . 그러나 글을 쓰는 시점에서 33 개가 방금 릴리스되었고 11 월 25 일에 34 개가 설정되었습니다.


구글 크롬 (리눅스)

/usr/share/applications/google-chrome.desktop예를 들어 파일 편집

sudo nano /usr/share/applications/google-chrome.desktop

편집 모든 라인 으로 시작 Exec=포함을 --ssl-version-min=tls1.

예를 들어 같은 라인

Exec=/usr/bin/google-chrome-stable %U

된다

Exec=/usr/bin/google-chrome-stable --ssl-version-min=tls1 %U

그런 다음 브라우저를 완전히 닫아야합니다 (Chrome 앱이 브라우저를 백그라운드에서 활성 상태로 유지할 수 있습니다!).

참고 :이 .desktop런처 파일을 덮어 쓰면서 모든 Google 크롬 패키지 업데이트를 반복해야 할 수도 있습니다. SSLv3가 기본적으로 사용 중지 된 Chrome 또는 Chromium 브라우저는 아직 작성 시점에 발표되지 않았습니다.


아파치 HTTPD 서버

현재 SSLv3을 허용하는 Apache 웹 서버를 실행중인 경우 Apache 구성을 편집해야합니다. 데비안 및 우분투 시스템에서 파일은 /etc/apache2/mods-available/ssl.conf 입니다. CentOS 및 Fedora에서 파일은 /etc/httpd/conf.d/ssl.conf 입니다. 다른 SSL 지시문을 사용하여 Apache 구성에 다음 행을 추가해야합니다.

SSLProtocol All -SSLv2 -SSLv3

SSLv2 및 SSLv3을 제외한 모든 프로토콜이 허용됩니다.

그 동안 Mozilla의 TLS 서버 안내서 에 설명 된대로 웹 서버의 암호 구성을 개선하는 것이 좋습니다. 예를 들어 추가하십시오.

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-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
SSLHonorCipherOrder     on
SSLCompression          off
# Read up on HSTS before you enable it (recommended)
# Header add Strict-Transport-Security "max-age=15768000"

그런 다음 새 구성이 올바른지 확인하십시오 (오타가없는 등).

sudo apache2ctl configtest

예를 들어 서버를 다시 시작하십시오.

sudo service apache2 restart

CentOS 및 Fedora에서 :

systemctl restart httpd

추가 정보 : Apache 문서

사이트를 공개적으로 사용할 수있는 경우 Qualys의 SSL Labs 도구를 사용하여 테스트하십시오 .


Nginx 서버

Nginx를 실행하는 경우 다른 SSL 지시문 중 구성에 다음 행을 포함하십시오.

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

그 동안 Mozilla의 TLS 서버 안내서 에 설명 된대로 웹 서버의 암호 구성을 개선하는 것이 좋습니다. 예를 들어 추가하십시오.

ssl_ciphers '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-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';
ssl_prefer_server_ciphers on;
# Read up on HSTS before you enable it (recommended)
# add_header Strict-Transport-Security max-age=15768000;

예를 들어 서버를 다시 시작하십시오.

sudo service nginx restart

참조 : Nginx 문서

사이트를 공개적으로 사용할 수있는 경우 Qualys의 SSL Labs 도구를 사용하여 테스트하십시오 .


Lighttpd 웹 서버

Lighttpd 버전> 1.4.28은 SSLv2 및 v3을 비활성화하는 구성 옵션을 지원합니다. 1.4.28 이전의 Lighttpd 릴리스에서는 SSLv2 만 비활성화 할 수 있습니다. Ubuntu 12.04 LTS 및 이전 버전은 최상의 lighttpd v1.4.28에 설치되므로 해당 배포판에 대한 간단한 수정 사항을 사용할 수 없습니다. 따라서이 수정은 12.04보다 큰 Ubuntu 버전에만 사용해야합니다.

Ubuntu 버전 12.04 또는 Debian 6의 경우 업데이트 된 lighttpd 패키지는 openSUSE 저장소에서 사용할 수 있습니다. http://download.opensuse.org/repositories/server:/http/Debian_6.0

이 패키지는 데비안 6 (squeeze) 용이지만 12.04 (정확)에서도 작동합니다

지시문 /etc/lighttpd/lighttpd.conf뒤에 다음 줄을 추가하도록 편집하십시오.ssl.engine = "enable"

ssl.use-sslv2          = "disable"
ssl.use-sslv3          = "disable"

그런 다음 a sudo service lighttpd restart를 사용 하여 lighttpd 서비스를 다시 시작하고 이전 섹션에 설명 된대로 ssl3 핸드 셰이크 테스트를 수행하여 변경이 성공적으로 구현되었는지 확인해야합니다.

http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_SSL 에서 가져 왔습니다 .


접미사 SMTP

'기회 SSL'(암호화 정책이 적용되지 않고 평범한 것도 허용됨)의 경우 아무것도 변경할 필요가 없습니다. SSLv2조차 일반보다 낫기 때문에 서버를 보호해야하는 경우 어쨌든 '필수 SSL'모드를 사용해야합니다.

'필수 SSL'모드가 이미 구성 되어있는 경우 인바운드 연결에 대한 smtpd_tls_mandatory_protocols 설정과 아웃 바운드 연결에 대한 smtp_tls_mandatory_protocols 설정을 추가 / 변경하십시오 .

smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3
smtp_tls_mandatory_protocols=!SSLv2,!SSLv3

선택적으로, 기회 적 암호화에 대해 SSLv3을 사용하지 않으려면 (위에서 설명한대로 불필요하더라도) 다음과 같이하십시오.

smtpd_tls_protocols=!SSLv2,!SSLv3
smtp_tls_protocols=!SSLv2,!SSLv3

Postfix를 다시 시작하십시오.

sudo service postfix restart

메일을 보내다

(익명 사용자에 의한 확인되지 않은, Sendmail에 익숙하지 않습니다. 확인하십시오.)

이 옵션은 LOCAL_CONFIG귀하 의 섹션 에서 구성됩니다sendmail.mc

LOCAL_CONFIG
O CipherList=HIGH
O ServerSSLOptions=+SSL_OP_NO_SSLv2 +SSL_OP_NO_SSLv3 +SSL_OP_CIPHER_SERVER_PREFERENCE
O ClientSSLOptions=+SSL_OP_NO_SSLv2 +SSL_OP_NO_SSLv3

비둘기장

Dovecot v2.1 +에서 다음 /etc/dovecot/local.conf(또는의 새 파일)에 다음을 추가하십시오 /etc/dovecot/conf.d.

ssl_protocols = !SSLv2 !SSLv3

Dovecot을 다시 시작하십시오.

sudo service dovecot restart

이전 버전의 경우 소스 코드패치해야합니다 .


택배 -imap (imapd-ssl)

Courier-imap은 Ubuntu 12.04 및 기타에서 기본적으로 SSLv3을 허용합니다. TLS를 강제로 사용하지 않도록 설정하고 STARTTLS를 사용해야합니다. /etc/courier/imapd-ssl다음 변경 사항을 반영하도록 구성 파일을 편집하십시오.

IMAPDSSLSTART=NO
IMAPDSTARTTLS=YES
IMAP_TLS_REQUIRED=1
TLS_PROTOCOL=TLS1
TLS_STARTTLS_PROTOCOL=TLS1
TLS_CIPHER_LIST="<take those from the Mozilla TLS Server guide!>"

HAProxy 서버

SSL은 HAProxy> = 1.5에서 지원됩니다.

/etc/haproxy.cfg파일을 편집하고 bind줄을 찾으십시오 . 추가 no-sslv3. 예를 들면 다음과 같습니다.

bind :443 ssl crt <crt> ciphers <ciphers> no-sslv3

참조 : HAProxy 설명서


OpenVPN

영향을받지 않는 것으로 나타납니다 ( source ).

OpenVPN은 TLSv1.0 또는 (> = 2.3.3) 선택적으로 TLSv1.2를 사용하므로 POODLE의 영향을받지 않습니다.


인형

Puppet은 HTTPS를 통한 SSL을 사용하지만 '브라우저'클라이언트는 사용하지 않으며 표시된 공격 벡터에 취약하지 않은 Puppet 에이전트 만 사용합니다. 그러나 SSLv3 만 비활성화하는 것이 가장 좋습니다.

내 추천은 stephenrjohnson / puppetmodule Puppet 모듈 을 사용하여 얼마 전에 SSLv3를 죽인 Puppet 마스터를 설정하는 것 입니다.


7
이 답변은 취약점이 공개 된 후에 매우 빠르게 만들어졌습니다. 여전히 오류가있을 수 있습니다-항상 그렇듯이 편집 / 개선하십시오.
gertvdijk

1
Nginx 설정은 ssl_protocols 지시어 뒤에 콜론이 없어야합니다
Michelle

1
좋아, Firefox의 경우 이것이 일어나고 있다고 생각 합니다 .
fuglede

4
이 Mozilla 보안 블로그 게시물 은 환경 설정을 수동으로 조정 하는 대신 이 애드온을 설치 하도록 제안 합니다.
legoscia

1
@muru 방화벽 수준에서 SSLv3를 죽이기 시작합니다. blog.g3rt.nl/take-down-sslv3-using-iptables.html
gertvdijk

4

우분투 특정 있지만 위해 당신이 설정할 수 있습니다 Node.js를의 푸들 vulnerablity를 해결하기 위해되지 않을 수 있습니다 secureOptionsrequire('constants').SSL_OP_NO_SSLv3당신이 HTTPS 또는 TLS 서버를 만들 때.

추가 정보는 https://gist.github.com/3rd-Eden/715522f6950044da45d8 을 참조 하십시오


1
IMO는 Node / Python / Ruby 또는 이와 유사한 것을 HTTP (S)에 노출시키지 않아야합니다. 아파치 / Nginx와 같은 그것의 앞에 괜찮은 HTTPd를 넣어 / ...
gertvdijk

예, 직접 노출해서는 안됩니다. tcp 계층 HTTP에서는 언어가 좋지 않지만 소켓을 수행하는 데 어려움이 있습니다. nginx가 소켓에서 읽도록하십시오. :-)
jrg

4
이것은 다운 투표권이 없었습니다. http 서버를 호스팅하는 것 외에도 tls가 사용되는 경우가 많이 있습니다.
psanford

@gertvdijk & jrg Node.js는 언어가 아닙니다. 확장 가능한 네트워크 응용 프로그램을 구축하기위한 프레임 워크입니다. 그리고 Node.js를 Apache 서버 뒤에 놓아야한다고 말하면서 (그리고 "decent"라고도 함) 이미 무슨 말을하고 있는지 전혀 모른다는 것을 이미 알 수 있습니다. 그들이 tpc / http에 좋지 않다고 말하는 것은 분명히 개인적인 편견입니다. 이해가 안되는 유치한 투표 기술 대신 주제를 유지하십시오.
3rdEden

@ 3rdEden 글쎄, 아마도 내 말은 약간 일반화되었지만 여기에 내가 만들고 싶은 몇 가지 메모가 있습니다. 1) 나는 공감하지 않았다. 2) 나의 의견은 온화한 'IMO'였다. 3) 아마도 보안에 대한 나의 배경일지도 모른다. 생산. (시연 목적이 아닌 한). 4) 귀하의 게시물이 일반적인 Ask Ubuntu 방문자의 질문에 대한 '답변'인 방법을 모르겠습니다. Node.js 배포의 특정 사례에 매우 구체적입니다.
gertvdijk

0

택배의 "수정"은 tls 1.1 및 tls 1.2를 비활성화합니다. tls 1.1 이상으로 택배를 운영하는 방법은 없습니다. 서버의 PCI 스캔에서 다음 권장 사항이 다시 나타날 수 있습니다.

지원되는 경우 TLS 1.1 또는 TLS 1.2 만 사용하도록 SSL / TLS 서버를 구성하십시오. 블록 암호를 사용하지 않는 암호 제품군 만 지원하도록 SSL / TLS 서버를 구성하십시오.


-1

POODLE 취약점은 프로토콜 자체의 설계 결함이며 구현 버그가 아니기 때문에 패치가 없습니다. 이를 완화하는 유일한 방법은 아파치 서버에서 SSLv3을 비활성화하는 것입니다. 아래 줄을 ssl.conf에 추가하고 아파치 다시 시작하십시오.

SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"

1
대부분의 사람들이 RSA 인증서를 가지고 있으므로 RC4 및 비 기능적 ECDSA를 포함하는 경우 -1입니다. 서버를 올바르게 구성하는 방법을 읽으십시오. wiki.mozilla.org/Security/Server_Side_TLS
gertvdijk

2
@gertvdijk RC4에 대해 동의하지만 ECDSA 제품군을 포함시키는 것이 아프지 않습니다. RSA 인증서 만 있으면 무해하며 나중에 ECDSA 인증서를 받으면 구성을 수정하지 않아도됩니다.
Matt Nordhoff

@MattNordhoff 충분하지만, 의미하는 바는 규칙적인 RSA 인증서 기반 구성을 위해 많은 암호가 남아 있지 않다는 것입니다. 대부분의 브라우저에서 작동하지만 호환성 문제가 발생할 수 있습니다.
gertvdijk

이 목록에서 RC4를 확실히 제거하십시오. 안전하지 않습니다. 가능하면 나머지를 유지하십시오. 3DES는 약하지만 호환성을 위해 특정 위치에서 설정했습니다. 나는 그것이 약하기 때문에 그것을 싫어하지만 적어도 실제로 깨지지 않았습니다 ...
Brian Knoblauch
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.